[TW5] A tool to create and import schools (swarms? Groups? whatever) of tiddlers (move multiple tiddlers between wikis easily)

387 views
Skip to first unread message

Jed Carty

unread,
Jan 9, 2016, 8:54:02 AM1/9/16
to TiddlyWiki
A while ago there was a lot of discussion about making things like mini-plugins that are just for easily moving groups of tiddlers from one wiki to another. Prompted by Mats questions over here I finally got around to making a way to do this.

It has two parts:

First, a purely wkitext tool that lets you give a filter and a name, it then packs all of the tiddlers returned by the filter into a school tiddler with the given name.

Second, after importing a school into your wiki you use the action-import-school widget to take the information contained in the school and unpack it into tiddlers.

Some differences between this and plugins:

There is no version control here
All tiddlers are normal tiddlers, there are no shadow tiddlers created
There is no need to reload your wiki after importing a tiddler school

So far I have found one bug that I can't track down. If you try to make a school on tiddlywiki.com using either the filter '[tag[Messages]] or [tag[Filter Operator]] it gives a too much recursion error. I can't figure out why because I haven't run into other filters that give the same error.

The demo site with the tools is here.

Let me know if you have any suggestions or find any bugs.

David Gifford

unread,
Jan 9, 2016, 10:13:53 AM1/9/16
to TiddlyWiki
Absolutely brilliant. There have been times I really needed something like this. Thanks Jed!

Dave

Mat

unread,
Jan 9, 2016, 11:01:24 AM1/9/16
to TiddlyWiki
@Jed - now this is TERRIFIQUE!

(I'm answering on this here instead of in the other thread of ours.)


Let me know if you have any suggestions

*I'm getting some images popping up in my mind from this with UI ideas etc. Should I draw them?

*Out of curiousity - why is it called Schools? Am I missing something?

<:-)

Jeremy Ruston

unread,
Jan 9, 2016, 11:06:56 AM1/9/16
to tiddl...@googlegroups.com
Hi Jed

Interesting, how would you compare the goals/capabilities/format of:

* Tiddler schools
* plugins
* JSON tiddler files

Best wishes

Jeremy

Sent from my iPad
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+...@googlegroups.com.
To post to this group, send email to tiddl...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/0785091d-7cfc-4a6c-864c-0e756a229ef0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Jed Carty

unread,
Jan 9, 2016, 11:21:02 AM1/9/16
to TiddlyWiki
I have poked it a bit more and it looks like because the way I made it it can't pack more than around 10 tiddler together without an error. I am looking into it.

Other than that it seems to work as expected. I should be able to put something together to make it work.

Jed Carty

unread,
Jan 9, 2016, 11:45:03 AM1/9/16
to TiddlyWiki
@Jeremy,

The way I have been thinking about things is that plugins are a more or less permanent collection of tiddlers where you want consistent behaviour or information. So pretty much how plugins exist now, hopefully with more things like Erics book added.

With the tiddler schools I just want to make a quick and easy way to transfer tiddlers between wikis. So if someone wanted to pull off all the tiddlers the reference tiddlers from tiddlywiki.com into their own wiki they would be able to use the advanced search and get a link that they can drag and drop into their own wiki to import all the tiddlers at the same time. My goal is just to make moving lots of tiddlers easily. My motivation is from things like the interactive fiction thing I made and the SVG graphic tool I am working on where sharing anything requires moving lots of tiddlers from wiki to wiki. The only way what I made is any better than exporting as json is that it doesn't require you to download the json as an intermediate step. I am planning on making the unpacking process remove the school tiddler by default.

As far as json or other formats, I think that they would be used for applications where computer readable formats are important. I don't think that comes up as often. Someone had asked about making a wiki that had the bible split up into verses that were properly labeled and searchable with chapter, verse, etc. Making a json file in the correct form to import into tiddlywiki from that just took a simple perl script. I think that is the main use for json or other formats.

@Mat

Draw ui ideas, if nothing else it is interesting to see what other people are thinking. And schools to fit with schools of fish to go with the tiddler name. I will go with a better name if anyone suggests one.

Mat

unread,
Jan 9, 2016, 12:26:13 PM1/9/16
to TiddlyWiki
...Follow up to my previous input;

  • I propose to include a note that unpacking (unschooling?) a tiddler that already exists will overwrite the existing one.
  • The list field - is it only for the pupropse of showing the import tiddler list (i.e the button stating Show Import Tiddler List)?
    I'm thinking maybe it could be used instead of the funnyandridiculouslylongseparator, i.e using "title:<tiddlertitle>" to be the separator but that would require that when they're packed, they put that field first in the tiddlers internal display of the fields.
    ...plus it might mean that a tiddler can't contain that textstring?
  • May I humbly ask that the long separator is just a few characters shorter so it doesn't linewrap? Or just a more traditional separator,hehe ;-)
<:-)

Jed Carty

unread,
Jan 9, 2016, 12:59:38 PM1/9/16
to TiddlyWiki
@Mat,

I forgot to include the part about only overwriting tiddlers if an attribute is set in the widget. I will add that.

I am hoping to use the list field to allow the user to selectively unpack the tiddlers in the destination wiki. That is probably a good idea for the tiddler separators, I just put in something that I hope people wouldn't have in their wikis. The problem is that without using more than wikitext I can't do anything to sanitize input to prevent users from accidentally breaking the import.

To get around the error I mentioned I may have to go to javascript anyway. I would like to avoid that because then you wouldn't be able to drop the exporter into a wiki you don't have write access to (like a reference wiki) and selectively pull out content.

Mat

unread,
Jan 9, 2016, 1:08:37 PM1/9/16
to TiddlyWiki
@Jed Carty wrote:
 
schools to fit with schools of fish to go with the tiddler name. I will go with a better name if anyone suggests one.

Aaah, shoal! Which I just learnt can also be called school! Thank you - I had no idea. (I think I even got an additional aspect of Finding Nemo now.) Ok, may I humbly suggest perhaps "tiddler bundles" or packets or some such? Or I fear many non-native Enlighs people will just not understand. Just a suggestion.


[...]I am planning on making the unpacking process remove the school tiddler by default.

  • For such a "quick" version I'd like it if one didn't have to come up with a name for the bun... school. It could perhaps have a default name if none is entered?
  • In the intro to the plugin, may I suggest you state it's a "two part plugin - one for bundling and one for unbundling"

As far as json or other formats, I think that they would be used for applications where computer readable formats are important. I don't think that comes up as often.

Well, for the unbundling part of the plugin it would be good if it could manage JSON and e.g CSV. As noted in another thread, it is unclear how to import non-tiddly data. LibreOffice (and I guess most spreadsheets) have a limited set of output formats where CSV seems to be common. I believe also XML, btw.
Handling something like this woudl open up for extra usefulness of the plugin. Of course, I think this would be a natural feature in the TW import function...



Draw ui ideas, if nothing else it is interesting to see what other people are thinking.

Ok.

<:-)

Mat

unread,
Jan 14, 2016, 8:33:42 AM1/14/16
to tiddl...@googlegroups.com
@Jed - I must say this can become an extremely valuable tool.

Instead of making drawings, I have attempted to modify your creation.

1) I discovered it is possible to drag'n drop tiddler links into the tiddler bundle filter field! I think this is a very nice aspect and feels user friendly. I made that field bigger so it also feels more like a drop area as if it were a "box" into which you put your stuff that you're going to bundle. My CSS could be improved though.

2) I didn't like to see a "missing bundle link" before the bundle was created. So, I've made it so that it becomes visible only on clicking "Create". A tricky part is to get the bundle name editor to show a default name "Tiddler Bundle". I set "Tiddler Bundle" both as a default value and as a placeholder, but it still disappears when I add filter titles in the other field. I want it to show "Tiddler Bundle" always when the user has not set a title (and also if the erases the title). ...Actually, ideally it would show "Tiddler Bundle 2" if there already exists a bundle named "Tiddler Bundle".

3) I added a small garbage can but it is not implemented.


4) I have not really touched the un-bundling part - and one reason is this:

I think it would be much better if the tiddlers were stored in json format! Because;

  • There is then no need for a separate un-bundler. It works automatically with the import mechanism that everyone is familiar with. Anybody can directly just grab a bundle!
  • JSON is very much readable.
  • ...and using JSON it means we don't need to introduce the arbitrary format currently implemented.

That first bullet is clearly the biggie and would increase usability tremendously - or what do you say?

Again, thank you for an extremely promising creation. I have said of Tinka that I consider it one of the most important plugins because it opens up for simple end users like myself to make (and share!) other plugins - i.e it is a tool-to-make-tools. Super important. IMO, the Tiddler Bundler is even a step forward in that it makes things super transparent! 

With some further UI tweaks to both the Tiddler Bundler and Tinka, I think they will make perfect complements.


<:-)

Alex Hough

unread,
Jan 14, 2016, 9:16:23 AM1/14/16
to TiddlyWiki
I am following this thread with interest. I am wondering if a set of tiddlers is exported as JSON, then they can be reformed into tiddlers when imported into a new wiki -- either in bulk or as needed.

I've really just discovered dictionary and JSON tiddlers, they open up new possibilities in my mind. Is there a way of "sending" a tiddler into a JSON tiddler? It seems like a natural step in a refactoring / editing process, like the tiddler doesn't need to be chanaged anymore, but no need for "$:/" prefixes. (I find plugin titles very difficult to read when they are packaged)

Alex



On 14 January 2016 at 13:33, Mat <matia...@gmail.com> wrote:
@Jed - I must say this can become an extremely valuable tool.

Instead of making drawings, I have attempted to modify your creation.

1) I discovered it is possible to drag'n drop tiddler links into the tiddler bundle filter field! I think this is a very nice aspect and feels user friendly. I made that field bigger so it also feels more like a drop area and also a "box" into which you put your stuff that you're going to bundle. The CSS could be improved though.

2) I didn't like to see a "missing bundle link" before the bundle was created. So, I've made it so that it becomes visible only on clicking "Create". A tricky part is to get the bundle name editor to show a default name (Tiddler Bundle). I set it as a default value and as a placeholder, but it is still not 100%. 

3) I added a small garbage can but it is not implemented.


4) I have not really touched the un-bundling part - and one reason is this:

I think it would be much better if the tiddlers were stored in json format! Because;

  • There is then no need for a separate un-bundler. It works automatically with the import mechanism that everyone is familiar with. Anybody can directly just grab a bundle!
  • JSON is very much readable.
  • ...and using JSON it means we don't need to introduce the arbitrary format currently implemented.

That first bullet is clearly the biggie and would increase usability tremendously - or what do you say?

Again, thank you for an extremely promising creation. I have said of Tinka that I consider it one of the most important plugins because it opens up for simple end users like myself to make (and share!) other plugins - i.e it is a tool-to-make-tools. Super important. IMO, the Tiddler Bundler is even a step forward in that it makes things super transparent! 

With some further UI tweaks to both the Tiddler Bundler and Tinka, I think they will make perfect complements.


<:-)

--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+...@googlegroups.com.
To post to this group, send email to tiddl...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.

Mat

unread,
Jan 14, 2016, 9:58:20 AM1/14/16
to TiddlyWiki
@Alex

I am following this thread with interest. I am wondering if a set of tiddlers is exported as JSON, then they can be reformed into tiddlers when imported into a new wiki -- either in bulk or as needed.

Yes, exactly. To test it, open two browser tabs, one with tiddlywiki.com and the other with tiddlywiki.com/empty.

From tw.com, either export a single tiddler as json (i.e via the regular tiddler toolbar) or use Export All under the sidebar Tools tab. This creates a json file on your computer. You can peek at it using e.g notepad. To import it into tw.com/empty just drag'n drop. Very smooth. This is why I'd love to see tiddler bundles formatted into plain json - anyone could import it in a snap and it would be soooo easy for really anyone to make "plugins" sort of. This would also be perfect for "content plugins", i.e to share actual content so the receiver can delete or modify freely after. I have some big ideas for this ;-) 

 
I've really just discovered dictionary and JSON tiddlers, they open up new possibilities in my mind. Is there a way of "sending" a tiddler into a JSON tiddler? It seems like a natural step in a refactoring / editing process, like the tiddler doesn't need to be chanaged anymore, but no need for "$:/" prefixes. (I find plugin titles very difficult to read when they are packaged)

Do you mean to convert a tiddler into json format? Interesting - but why? Is it to use it as a dictionary tiddler... but then what would that bring over using the usual field name:value pairs, i.e  for reference?

In some sense, Jeds Tiddler Bundle thing creates almost dictionary tiddlers.

<:-)

Eric Shulman

unread,
Jan 14, 2016, 12:58:17 PM1/14/16
to TiddlyWiki
On Thursday, January 14, 2016 at 6:58:20 AM UTC-8, Mat wrote:
@Alex

I am following this thread with interest. I am wondering if a set of tiddlers is exported as JSON, then they can be reformed into tiddlers when imported into a new wiki -- either in bulk or as needed.

Yes, exactly. To test it, open two browser tabs, one with tiddlywiki.com and the other with tiddlywiki.com/empty.

From tw.com, either export a single tiddler as json (i.e via the regular tiddler toolbar) or use Export All under the sidebar Tools tab. This creates a json file on your computer.

In addition to exporting either a single tiddler or all tiddlers, you can use the $:/AdvancedSearch filter tab to export *selected* tiddlers.  Next to the filter input field are three buttons (two are hidden until you enter some input).  The down-arrow provides a list of pre-defined filters.  The X resets the filter input.  The "half box with up arrow" is the *export* button.  Clicking it gives a popup list of formats, including "JSON file".  Choose a format to export the selected tiddlers to a file.

You can then drop that file onto any open TiddlyWiki and import the tiddlers in the usual way.

By the way... in TWClassic, http://www.tiddlytools.com/#ExportTiddlersPlugin used an export file format that became known as "PureStore", which was just the "store area" portion of the TWC file (i.e., just the tiddler data, without all the TW core run-time code).  Because this format is *identical* to the store area used in full TWClassic files, they are able to be imported directly into another file by using the TWClassic "Backstage" import interface (or my ImportTiddlersPlugin... which was the original importer, even before the TWCore functionality.)

enjoy,
-e

Jed Carty

unread,
Jan 15, 2016, 5:16:11 AM1/15/16
to TiddlyWiki
I made a version that uses javascript for both packing and unpacking. This means that you have to have the plugin in a wiki in order to create a bundle which I don't like, but I couldn't find any way to get around the problems from trying to copy too bundle together too many tiddlers using just wikitext. Here is the new demo.

Mat

unread,
Jan 15, 2016, 9:16:07 AM1/15/16
to tiddl...@googlegroups.com
@Jed - great developments.

Just curious; why is it less desirable that your creation is itself a plugin? I mean, it is still something that the user must install into their TW to use?

I hope it is ok for me to ask without being rude; Is json included in the bit about "not wanting to get into complex parsing rules yet"? I'm guessing it is, right? I was thinking it might not be because it seems to me that the big job in separating the fields is already done in Tiddler Bundles and adding json would merely be a matter of inserting curly braces and commas arond them? (Whaddyamean I've never tried this myself? How can you possibly tell!) I hope it is not rude to ask, I don't mean to push anything if json is in deed "complex parsing rules".

The separator: I see the same problem in letting the user define the separator as it being predefined. Actually even greater risk if user defines it. How about using some exotic, but universally accepted, unicode characters like I believe these are; 🆕 (squared new) or 📰 (newspaper ... looks like a tiddler, doesn't it). It is not likely that anyone uses, say, ten of those in a row and it is easy to locate them visually in a tiddler bundle. BTW, if possible, it would be nice with a double line break before and after the separator line for even visually clearer separation.

Detail: In your demo, in the pre-made test example you include [[What is this?]][[New Tiddler 2]]. I think it was better with Bob etc that are shorter and clearer.

I'm happy you like my interface suggestions. Since you do, I'll clean up some bits that may not be optimally defined or implemented.

Thank you so much for this Jed!

<:-)

Mat

unread,
Jan 15, 2016, 4:17:23 PM1/15/16
to tiddl...@googlegroups.com
It just struck me that tiddler bundling would (eventually) be a nice addition to the Advanced Search feature, in the Filter section. It fits well with the export tiddler(s) concept... even very well, IMO.

I.e the filter result is automatically a link that really is a bundle with all those tiddlers.

And how about this idea; Imagine if tags, were really automatically bundle links! I mean... as it is currently, a tag is merely a label for a set of tiddlers, but why could it not BE the tiddlers in a more physical sense? Transferring groups of tiddlers would be extremely easy. A tag can, of course, also be the title of a tiddler in itself which should not be a problem (if one drags the tiddler link, then it's the tiddler, if one drags the tagpill then it's the bundle. And in the bundle, I the tiddler named the same as the group would constitute the initial content in the bundle. The idea of a tag as a bundle link feels like a very natural extension of the idea that tiddler titles are links.

I think it would be a particularly useful concept when we have the TWederation... or maybe it really could be seen as a part of twederating? It certainly is an infrastructurial aspect for sharing. It would be useful right away; For one thing, bundles as in "light versions of plugins" would be created incidentally and casually! People wouldn't even need to realize they were creating easily transferable sets of tiddlers. Any visitor who wants, say, a copy of the "Filter Operator" docs could get the stuff in literally 2 seconds.


(Edit: I said I would post separately on another idea but I'll let it mature a bit in my head first. Ah, how's that for a change!)


<:-)

Jed Carty

unread,
Jan 15, 2016, 5:31:08 PM1/15/16
to TiddlyWiki
For why I wanted it to be all wikitext: I was just thinking that it would be better if the packaging tool could be imported into a wiki without having to reload. It isn't a big concern but having to install a plugin in order to export tiddlers from an existing wiki doesn't sound like a good situation. For example, if there is a project leader who had a large task list in a central wiki and someone wanted to put only the tasks they are responsible for into a separate wiki they would have to modify (or copy and modify) the original wiki to use the plugin.

And no, it isn't rude to ask. For most of my work with tiddlywiki I just throw together the first thing that comes to mind so I don't always consider alternatives. Questions often help with that.

JSON does have more complex parsing rules than what I have made and would have been a bit difficult to handle using only wikitext, since it is all javascript now json should be just as simple to use as what I am making. One quick reason is that in a normal json format you need to escape certain characters (so : becomes \: to show that it is a literal character instead of a control character), there isn't any reasonable way to do this in wikitext. The format I am using takes advantage of the specific formatting imposed by tiddler fields so the only possible confusion would be in the division between tiddlers. That is why I am using the long strings for those divisions. Since javascript has builtin support for the json format this isn't a problem in when using a javascript widget.

I hope to make a more generic version of what you are talking about with the tags defining bundles. Unfortunately this may either require some significant additions to the import/export mechanism or that there are bundle tiddlers created or updated every time a tag is added to a tiddler.

Hegart Dmishiv

unread,
Jan 21, 2016, 3:11:30 PM1/21/16
to TiddlyWiki
Hi all,

I've been following along with this and the other thread where you've been discussing these bundles of tiddlers. As you may know, I'm only very new to TiddlyWiki, and I'm not a developer, so much of what you've been discussing here has gone way over my head. But I'm not here to ask you to explain it all to me. Instead, I have a simple use-case in mind for importing a swarm / school of tiddlers. Perhaps you can show me how to make it happen within your existing framework. Perhaps my simple idea will prod something loose that might help you further develop your own solution.

In Jed's example, he says "I would like to use the same widget to let you import other file types, like csv files. I don't want to get into anything that requires complex parsing rules yet, but importing from other file types should be able to use the same framework as in the widget."

Here is where my use-case fits in. I've started studying with Steven Schneider's {{DesignWrite}} Open 2016 classes, as was announced recently here in the forums. He's setting an exercise for next week which will require us to create a swarm of tiddlers. I've already started looking into a simpler way for me to complete this exercise, without having to repeatedly click on the "new here" link and manually generate each tiddler. With judicious use of find & replace, I've turned the comma separated list of 50 words into a single text file with tiddlers (currently separated by two line breaks) which I'd like to import into my wiki. I'm attaching four files, which I created in this order:
  1. The *.ods spreadsheet was created from the original text document where I had replaced the commas with line breaks.
  2. The *.csv file from the *.ods, which again underwent more find & replace passes, in order to create...
  3. The *.odt document from the *.csv, from which I could manually copy/paste each to create individual *.tid files for importing individually, but then...
  4. The *.tids file (that's not a typo, I meant it to be plural). This is a simple text file, just like a regular *.tid file, but containing multiple tiddlers.

As I say, the multiple tiddlers are currently separated by two line breaks, but that could easily be changed (again with the find & replace) to some sort of demarcation like your IDONTKNOWWHATTOMAKETHIS string.


So, the question is, how to import a *.tids file into my TiddlyWiki and then unpack it into individual tiddlers? Food for thought?


Hegart.


green_eggs_and_ham_1.odt
green_eggs_and_ham_1.tids
green_eggs_and_ham_1.csv
green_eggs_and_ham_1.ods

Mat

unread,
Jan 21, 2016, 4:08:34 PM1/21/16
to TiddlyWiki
Hegart,

Hehe - are you asking for help to cheat with your homework??  ;-)

Just kidding. But I'd be surprised if he intended for people to create tiddlers in other ways than the standard one. However, regarding:
 
I've already started looking into a simpler way for me to complete this exercise, without having to repeatedly click on the "new here" link and

- there is a simpler way; add the [[square brackets]] around the words in the list, and you can click on the links instead.

As for your request to use Jeds solution for this... I think you're pretty much asking for the exact thing he explained is "not for now".

...BUT...

...it so happens that I was actually corresponding with Steve the other day - specifically about how to get spreadsheet content into TW! (Yes, that's a coincidence to say the least.)

I recalled that he had previously asked for a ways to import larger amounts of data into a TW and it so happened that I just found a method for this the other day. I wrote it up as a post for TWaddle... which has a lot of new stuff but nothing new published... but I'll make an exception and publish it since it is so spot on: So here ya go:



<:-)

Jed Carty

unread,
Jan 21, 2016, 4:18:51 PM1/21/16
to TiddlyWiki
The tiddler bundles have so far just been for moving things directly from one wiki to another instead of importing an external file. If you added some separator string than what you have would be almost identical to the text field of a tiddler bundle created using the widget I made (my bundles also label the text field).
I haven't done anything to support importing external files yet but using what you have would be a way to have external files. I am not sure if I am going to bother creating a way to import files to the tiddler bundler because that already exists using json.

To create a file you could import using the widget I made you would need to do two things:

1 - Add some separator string between each tiddler listed in your file (I will use IDONTKNOWWHATTOMAKETHIS because I think it is kinda funny)

2 - Create the bundle tiddler data. That is at the top of your file put

title: Some Bundle Title
tags: [[Bundle Tiddler]]
list: list the files here, but this part isn't actually important yet
separator: IDONTKNOWWHATTOMAKETHIS

(the text from your .tids file goes here)

Then give that file a .tid extension and you should be able to import it into a wiki the same as any other .tid file and you could use the tiddler bundle widget to unpack the tiddlers.
For now this may be more trouble than it is worth considering you could create a json file that does the same thing from the spreadsheet.

Hegart Dmishiv

unread,
Jan 21, 2016, 4:59:40 PM1/21/16
to TiddlyWiki
Wow, hey thanks both of you. Your solution using Goggle Docs looks really interesting Mat. However, what happens when a field (such as the text field) contains quotation marks? Will I need to escape them somehow? Won't that break things when I come to importing? I don't really know enough about JSON to understand what I'm doing there.

Your solution Jed, of artificially crafting a tiddler bundle that would be accepted by your action-import-bundle.js widget would probably work for me.

I've just realised a further problem I'd have with this scenario though, and one that isn't as easily overcome. I'm hosting my {{DesignWrite}} TiddlyWiki instance on GitHub, using Danielo's script. This means that once I have imported and unpacked them all, using either Mat's or Jed's solution, I have no way of saving the single HTML file. I'll still need to export/import each one individually to get them up to GitHub.

Oh well, it was worth a try. Perhaps Mat's "wrap 'em in square brackets" idea is best for me here, then I can just export each one as a *.tid, for uploading to GitHub. Either that or somehow parse my existing *.tids file externally, to slice it up into individual *.tid files. I presume I can do that with a BASH script. Off to take a look. Thanks again for the replies.

Matabele

unread,
Jan 22, 2016, 5:14:53 AM1/22/16
to TiddlyWiki
Hi

I'm a little confused about the purposes of these utilities -- what can they do that can't be done with the standard method?

For those who are unaware of the standard method -- this is my usual procedure:
1. Tag each of the tiddlers you wish to export with the tag 'export'
2. Open the Filter tab of Advanced Search
3. Enter the filter expression '[tag[export]]' (this should list the tiddlers you wish to export)
4. Click the little 'Export tiddlers' button next to the filter search box
5. Select 'JSON File'
6. Enter the name of your file, and save
7. Drag the saved file onto your other wiki
8. Import the tiddlers
9. If any of the tiddlers contained plugins, save and refresh

And you're done.

regards

Felix Küppers

unread,
Jan 22, 2016, 5:28:44 AM1/22/16
to tiddl...@googlegroups.com
Hi Matabele,

I agree with you. The standard export method, which is based on JSON tiddlers, is a much cleaner way. I think Jed reinvented the wheel ;) Or maybe we are missing something, I couldn't follow the whole discussion.

-Felix
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+...@googlegroups.com.
To post to this group, send email to tiddl...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.

Felix Küppers

unread,
Jan 22, 2016, 6:38:54 AM1/22/16
to tiddl...@googlegroups.com
Hi Eric

was this "pure store" xml-based then? In the GitHub discussion about a
potential new "tid" format, I thought about simply exporting the tiddler
div of the wiki file. the advantage would be that the format of the html
wiki store and the external (export) format would be completely
identical. Is/Was this the case for TWC as well?

-Felix

Mat

unread,
Jan 22, 2016, 7:23:36 AM1/22/16
to tiddl...@googlegroups.com
Matabele wrote:

1. Tag each of the tiddlers you wish to export with the tag 'export'
2. Open the Filter tab of Advanced Search
3. Enter the filter expression '[tag[export]]' (this should list the tiddlers you wish to export)
4. Click the little 'Export tiddlers' button next to the filter search box
5. Select 'JSON File'
6. Enter the name of your file, and save
7. Drag the saved file onto your other wiki
8. Import the tiddlers
9. If any of the tiddlers contained plugins, save and refresh 

And you're done.


Yeah... but that's quite a few steps (to say the least) and even involving your local storage.

Should visiting users be forced to do this too? Or how would you serve others this .tid file? Tiddler Bundles is much more direct, and as Jed demos here you can even build the bundle on an external TW as it loads. You immediately have the link to drag into your TW.

That said, it would be great if the export mechanism could be modified to also offer "internal export" i.e so that a ".tid" instead simply becomes a single tiddler in the TW. And un-pack it by drag'n dropping it's title link onto the greeny. This would in effect be Tiddler Bundles, I think.

Currently, only(?) plugins allow you to manage multiple tiddlers as one unit. But this should not be limited to plugins because plugins and shadow tiddlers bring along other "features" such as the prevention of deleting tiddlers etc.

This latter aspect of "easy deletion" is particularly important for content tiddlers. It should be easy to import/export normal tiddlers en masse and the tiddlers should, of course, be simple to delete as desired. For instance, I'm working on what I hope will become an official "edition" (gaaah, I have a problem with that term here. Application is just much better!) that consists of a basic infrastructure to deal with particular content - but the whole thing only becomes valuable when it is filled with content... but it requires much content and I plan on providing premade such... but it is crucial that the user can easily delete and manipulate this content, etc. Neither a plugin nor the standard exporting procedure nor drag'n drop one-tiddler-at-a-time are satisfying solutions for this.

Does this clarify a bit? Of course, @Jed might have other opinions on why tiddler bundling is valuable.

<:-)

Eric Shulman

unread,
Jan 22, 2016, 7:34:15 AM1/22/16
to TiddlyWiki
On Friday, January 22, 2016 at 4:23:36 AM UTC-8, Mat wrote:
Currently, only(?) plugins allow you to manage multiple tiddlers as one unit. But this should not be limited to plugins because plugins and shadow tiddlers bring along other "features" such as the prevention of deleting tiddlers etc.

As I previously noted (https://groups.google.com/d/msg/tiddlywiki/iVrv72zWe4g/YOHUBA6DDwAJ), you can use the $:/AdvancedSearch filter tab to select tiddlers and export them to a .JSON file.  You can then drop this file onto any open TW to import the entire "bundle" of tiddlers.

Neither a plugin nor the standard exporting procedure nor drag'n drop one-tiddler-at-a-time are satisfying solutions for this.

How so?  I can easily import a bunch of tiddlers from a single JSON export file.  Suppose I also tag those tiddlers (before exporting) so that they are easy to find later on.  I can then quickly delete all those tagged tiddlers using a button like this:
<$button>
   delete tagged tiddlers
   <$action-deletetiddler $filter="[tag[someTag]]"/>
</$button>

-e

Jed Carty

unread,
Jan 22, 2016, 7:41:33 AM1/22/16
to TiddlyWiki
The reason to make this is so that you don't need to use your local file system. Yes, there are other ways to move large numbers of tiddlers if you save them as a json file, but with this you don't need to do that.

So you could say 'import this link into your wiki to add all the tiddlers related to lists' on a reference site then the person could import them in one action without having to download anything and without having to reload their wiki like with a plugin.

Mat

unread,
Jan 22, 2016, 8:02:38 AM1/22/16
to TiddlyWiki
Eric wrote:

As I previously noted (https://groups.google.com/d/msg/tiddlywiki/iVrv72zWe4g/YOHUBA6DDwAJ), you can use the $:/AdvancedSearch filter tab to select tiddlers and export them to a .JSON file.  You can then drop this file onto any open TW to import the entire "bundle" of tiddlers.

Ok of course, but I meant manage multiple tiddlers as one unit internally. Exporting them is really then managing a file

 
Neither a plugin nor the standard exporting procedure nor drag'n drop one-tiddler-at-a-time are satisfying solutions for this.

How so?

For one thing, you might not be allowed to download or store files. Or it might just be a hassle, like on a phone. I'm actually dont' even know how I would do this on a phone.

And, a comparable example; imagine if we came up with a browser and the equivalent of the iStore or the FF browser addon store...  but to install an addon in our browser, people had to install each plugin as if they were stand-alone programs. Download, locate where it was dowloaded, click to extract/run, etc. That would be a definite "in-elegance" and people would likely choose another browser... :-/

<:-)

Felix Küppers

unread,
Jan 22, 2016, 8:04:57 AM1/22/16
to tiddl...@googlegroups.com
Hi Jed,

> The reason to make this is so that you don't need to use your local
> file system.
Thanks for the explanation, I get the intention now (also thanks @Mat
for the explanation). I like the idea of exporting without using the
file system, this should be supported by the core, although using JSON
instead of the big delimiter string you use as a hack to separate
tiddlers ;)

-Felix

BJ

unread,
Jan 22, 2016, 9:59:33 AM1/22/16
to TiddlyWiki
Another possibility for copying tiddlers between  tiddlywikis is to use tiddlyclip - dock to one tw then go to another. Without selecting any text right click and select 'tip' from the context menu, type in the name of a tag. All tiddlers with that tag will be copied into the other tiddlywiki

all the best

BJ

Mat

unread,
Jan 22, 2016, 11:34:20 AM1/22/16
to TiddlyWiki
BJ wrote:
Another possibility for copying tiddlers between  tiddlywikis is to use tiddlyclip - dock to one tw then go to another. Without selecting any text right click and select 'tip' from the context menu, type in the name of a tag. All tiddlers with that tag will be copied into the other tiddlywiki


Great thinking! This might make it possible for me to start using tiddlyclip then which has not been working for me as I typically use multiple TWs and both Chrome and FF!

...

BTW, another clarifying argument as to why the standard export/import feature is not sufficient; It should be clear that the existing plugin download mechanism is much better as it is than if it were to involve the external file manager.


<:-)
Reply all
Reply to author
Forward
0 new messages