Hiu Jeremy,
 

> OK, it sounds like your concerns are with the UI for making plugins, and 
> perhaps with the name “plugins”. I was worried that you were seeing issues 
> with the plugin architecture, since we can improve the UI but it’s tricky 
> to change the architecture at this point.
>

Admittedly, and as anyone can possibly notice, I have yet to publish an 
actual plugin. So far, I have shied away from leveraging the mechanism for 
the purpose of distribution, mostly due to an unaccomplished development / 
node / guthub-workflow to that end on my part.

Interestingly, except Erwan who does rely on that for indexing plugins, I 
don't think I've read any demands so far that asked for this or that this 
or that macro be wrapped up and shipped as a plugin. In the long term, I 
can see that the mechanism does perhaps provide better means to provide for 
any (semi-automated) upgrade procedure via some future tb5 plugin library 
against which to check for updates.

~

Back to simple "bundles" and the context of "let's (allow to) create the 
simplest *plugin* possible": One should be able to not specify a version, 
maybe even plugin-type, and all that jazz and still have a "bundle of 
tiddlers" created / imported.

Following your instructions here 
<http://tiddlywiki.com/dev/#How%20to%20create%20plugins%20in%20the%20browser>, 
I can see that the following won't do to create the simplest of "bundles":

title: bundle
type: application/json

{"tiddlers": {}}

with

title: foo
tags bar

baz

and then in the console:

$tw.utils.repackPlugin("bundle",["foo"]);

There are a number of issues with this:

   1. if I have to declare a *plugin-type*, I'd rather want to use a 
   plugin-type that indicates we're packaging a simple *bundle*, not a 
   plugin
      - in fact, any unrecognized *plugin-type* should possibly be 
      interpreted as that
   2. I do not want to fiddle with any versioning at the very beginning
      - as it proves problematic for importing (the same version)
      - so I need to repack my plugin
            - but then the constituent tiddlers are gone
               - so I need to find a way to start from a wiki with 
               "unpacked" plugin components
                  - too many things to consider
               3. *repackPlugin* should either
      - a) never delete constituent tiddlers
      - which means that you won't be able or even intend to use the 
         "bundle" in the wiki you created it (in the browser)
            - since we still have the constituent tiddlers as real 
            tiddlers, which is fine anyways
            - in that sense, a user could be provided a button that creates 
            a bundle on the fly whenever they want to grab it
               - from whichever constituents they desire
            - b) repack tiddlers that are already part of the bundle as 
      shadows if they don't exist as real tiddlers
      - as, obviously, those initially bundled tiddlers are now gone
         - but then, how to remove one already packed?
            - mhhh, maybe via some option to *repackPlugin*
         
For what it’s worth, I quite like the word “plugins”, closely followed by 
> “bundle”. “Plugin” at least describes what one does with one of these 
> things: they are designed to be plugged into wikis. The trouble with 
> “bundle” is that we need a word that communicates the differences between a 
> plugin (with it’s upgrade logic) and a bundle (without that logic). So 
> right now I’d use “bundle” to describe a JSON file containing a bunch of 
> tiddlers.
>

Exactly, a bundle would be a json file containing a bunch of tiddlers *unpacked 
as shadows*. 

There would possibly be a basic upgrade logic for "bundles" as well, 
namely: skip any version checks entirely. This could be achieved by setting 
an option flag for *repackPlugin* to not set any version, as we're not 
interested (yet) in doing so. Alternatively, a good alternative could be a 
*YYYY-0MM-0DD-0hh-0mm-0ss* version rather than the versioning scheme the 
name of which escapes me atm. But then, again, a set version comes with the 
troubles of not being able to import the same or lower version. And with a 
bundle I possibly don't want any of that. I just want to use that bundle as 
I just grabbed it.

The community is doing a good job exploring UIs for making plugins, and I’m 
> confident that we will evolve better approaches.
>

Surely, I'm very interested in this and I'm sure that trying to (allow 
users to) start from the most basic "bundle" users may indeed eventually 
find themselves wanting to leverage more features / aspects of 
full-blown-plugins, e.g. versioning. But I'd be all fine to have this a 
gradual process, rather than one requiring literacy of all the intricacies 
of versioning, plugin-types, dependences, etc...

Best wishes,

— tb

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/2a9099af-9291-48c4-a8c4-b6ffc1f41ba4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to