GeorgeGeek is someone who uses an iPad to edit wikis offline. Each wiki is topical, and George can share entire wikis with contacts. It is also easy for George to treat each subject as a separate wiki.
Get an Android tablet and do the following, or write a new iPad app that could do the following, or get an iPad developer to modify his or her code for the following:
Create an WikiAsPlugin plugin. Exporting a wiki as a plugin will effectively allow the subwiki to be loaded into the meta wiki without having to restart either a node-js instance nor need to duplicate tiddlers in a current wiki file.
WikiAsPlugin would mainly have an export function. The exported plugin would then replace the currently installed plugin with fresher content. Other functions could be :
George, being a geek, would GIT-version the wiki-as-a-plugin and sychronize it with a node-js instance, etc.
George wants subwikis to be up-to-date in order to plan his activities transversally.
GeorgeGeek will consult the sub-wiki tiddler updated from the meta-wiki file
Create an WikiAsPlugin plugin.
Exporting a wiki as a plugin will effectively allow the subwiki to be loaded into the meta wiki without having to restart either a node-js instance nor need to duplicate tiddlers in a current wiki file.
WikiAsPlugin would mainly have an export function. The exported plugin would then replace the currently installed plugin with fresher content.
- viewing changes to shadow tiddlers
- exporting changes from shadow tiddlers on meta-wiki
- importing changes from meta-wiki into sub-wiki
George, being a geek, would GIT-version the wiki-as-a-plugin and sychronize it with a node-js instance, etc.
As Tinka stands, checking each checkbox is a too troublesome.
Here is a WikiAsPlugin approach:
- George sets up his personal library of plugins
- A button allows the publication of the current library to that plugin library
- Any wiki can include another wiki as a plugin through that library
The drawback would be in same-named toddlers being deleted with the deleting or even disabling of the plugin.
On 7 Nov 2015, at 08:36, Tobias Beer <beert...@gmail.com> wrote:Currently, we are limited in leveraging this by a sophisticated plugin-mechanism that defies a simple "reuse tidbits" approach and forces a "publish a versioned bundle of codebits and supporting tids for distribution".
Currently, we are limited in leveraging this by a sophisticated plugin-mechanism that defies a simple "reuse tidbits" approach and forces a "publish a versioned bundle of codebits and supporting tids for distribution".I’d like to understand the issues you see with the current plugin mechanism. Are you envisaging a specific alternative?
There are currently two ways to “reuse tidbits”: a JSON file or a plugin. The JSON file is just about the simplest thing it could be: a nice simple plain text rendering of the source of a group of tiddlers, and is easy to work with in other tools. The plugin mechanism introduces just enough “sophistication” to satisfy their purpose: to be an *updatable* reusable tidbit.
Is it just that the support for building plugins in the browser is primitive?
PlugOut would be a repository, even on a local filesystem, that would act as a library for Plugins.
--
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 http://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/4f80c990-0b2a-412f-9116-7bdd3c51a2cf%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
What are you currently using as the fields of the plugin tiddler?
The upgrade mechanism relies on the version number being bumped on each revision.
The plugin library is represented as an HTML file that TW loads in an iframe, and then communicates with using window.postMessage().
PlugOut would be a repository, even on a local filesystem, that would act as a library for Plugins.The obstacle here is that Chrome doesn’t let files loaded on a file:// URI perform any xmlhttprequest() to other file:// URIs.
My warning would be that the entire approach to implementing the plugin library was shaped by the browser security restrictions. I’d recommend careful testing before you rely on a browser capability actually working in the right scenarios.
Good luck,
The obstacle here is that Chrome doesn’t let files loaded on a file:// URI perform any xmlhttprequest() to other file:// URIs.
Right now I don't even know the full requirements for that, tbh. (without researching it)
--
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 http://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/c7ad0b42-400a-491b-986d-e96305e6ea6c%40googlegroups.com.
Have you tried adding "--allow-file-access-from-files" to the command used to launch Chrome?
-e
--
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 http://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/7fd00122-e068-4262-ab15-fcbab13def25%40googlegroups.com.
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.
title: bundle
type: application/json
{"tiddlers": {}}
title: foo
tags bar
baz
$tw.utils.repackPlugin("bundle",["foo"]);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.
The community is doing a good job exploring UIs for making plugins, and I’m confident that we will evolve better approaches.
Le 10 nov. 2015 à 07:45, Tobias Beer <beert...@gmail.com> a écrit :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, I can see that the following won't do to create the simplest of "bundles":
title: bundle
type: application/json
{"tiddlers": {}}
withtitle: foo
tags bar
bazand then in the console:$tw.utils.repackPlugin("bundle",["foo"]);There are a number of issues with this:
- 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
- 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
- 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 a topic in the Google Groups "TiddlyWiki" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/tiddlywiki/HrL5owEOJKM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to tiddlywiki+...@googlegroups.com.
To post to this group, send email to tiddl...@googlegroups.com.
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.
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, I can see that the following won't do to create the simplest of "bundles”:
title: bundle
type: application/json
{"tiddlers": {}}
withtitle: foo
tags bar
bazand then in the console:$tw.utils.repackPlugin("bundle",["foo"]);There are a number of issues with this:
- 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
- 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
- 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 tiddlywiki+...@googlegroups.com.
To post to this group, send email to tiddl...@googlegroups.com.
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.
It’s not really “future”; the plugin library and plugin upgrade procedure is already built into the core.
But you already can! If you don’t want to have “all that jazz” then you can publish your tiddlers as a JSON bundle. But if you do want to have the ability to automatically upgrade then you need to use a plugin.
It really seems as though you are saying “plugins are too complicated, there needs to be a simpler alternative”, and yet there already is a simpler alternative available, in the shape of JSON bundles.
I’m not sure what you’re saying here. Are you saying that the following steps don’t work? Or that they are not simple enough?
Please don’t try to to unilaterally change the vocabulary that we have already established. These things are called “plugins” and not “bundles”. Changing the name is a big deal that will affect a lot of the code, and shouldn’t just be done unilaterally in a mailing list post; it’s incredibly confusing.
I think you’re saying that you’d like the “plugin-type” field to default to “plugin”.
I think you’re just not seeing that there are a different types of plugin, and we need to distinguish them because they have different semantics; for example, only one language or theme can be switched in at once.
You don’t have to fiddle with the version at the beginning, but you won’t be able to use the upgrade mechanism effectively until you do.
I don’t think that there is a problem; an incoming plugin with the same version is treated as newer, and is imported.
Again, it seems like you are confusing the current implementation of packing plugins in the browser (which was done in 30 minutes in response to a mailing list request) with the way that plugins are implemented.
But then you are talking about a plugin, not a bundle. If you want the shadow plugin then you need a plugin; that is what they are for. The whole point of them is to give us shadow tiddlers. So trying to find some other way of implementing shadow tiddlers just seems a bit strange.
Again, it seems like you are trying to give JSON bundles the characteristics of plugins. It’s hard to see how we can do that without making them plugins.
If you import a JSON bundle with newer versions of the constituent tiddlers, then your existing ones will be overwritten. Isn’t that precisely the behaviour you’re asking for?
If you look at semver.org you’ll see that your proposal doesn’t in fact conflict; semver allows for version numbers like 1.0.201511050347
I’m not sure what you mean by a “gradual” process? We’ve got JSON bundles, and we’ve got plugins; how could the transition be any more gradual?
On 10 Nov 2015, at 15:33, Tobias Beer <beert...@gmail.com> wrote:
Hi Jeremy,It’s not really “future”; the plugin library and plugin upgrade procedure is already built into the core.Of course, I was referring to me using all that to distribute my own codebits via some pipeline relying on the core plugin mechanism and then perhaps the library mechanism, e.g. as Andreas implemented it for distributing Tinka.But you already can! If you don’t want to have “all that jazz” then you can publish your tiddlers as a JSON bundle. But if you do want to have the ability to automatically upgrade then you need to use a plugin.It really seems as though you are saying “plugins are too complicated, there needs to be a simpler alternative”, and yet there already is a simpler alternative available, in the shape of JSON bundles.I believe you are referring to exporting, not sure. This, to me, is a different approach. Yes, it bundles up tiddlers into json and then unbundles them on import. That's not quite what I'm after with what I called bundles which — just as plugins — would work with shadows. Forgive my ignorance if that was already possible, as I wouldn't know how.I’m not sure what you’re saying here. Are you saying that the following steps don’t work? Or that they are not simple enough?I do get a json tiddler, but the tiddlers it defines don't appear to be created as shadows upon reload.Please don’t try to to unilaterally change the vocabulary that we have already established. These things are called “plugins” and not “bundles”. Changing the name is a big deal that will affect a lot of the code, and shouldn’t just be done unilaterally in a mailing list post; it’s incredibly confusing.Not trying to change the vocabulary, but rather wanting to leverage the load-as-shadows approach for any simple "bundle", that's basically it.I think you’re saying that you’d like the “plugin-type” field to default to “plugin”.Actually, I'd like it to default to nothing / not present at all, meaning: a "bundle" or perhaps a plugin of type "bundle" if it must be.I think you’re just not seeing that there are a different types of plugin, and we need to distinguish them because they have different semantics; for example, only one language or theme can be switched in at once.I understand that. However, a simple bundle would not be tied with any such semantics, as it would be a losely defined, albeit kept together bundle of tiddlers that exist as shadows, combined in a plugin-like json tiddler from which they are created on startup, rather than unpacked upon import.You don’t have to fiddle with the version at the beginning, but you won’t be able to use the upgrade mechanism effectively until you do.As with any plain tiddler, a simple bundle would simply be overwritten, as it knows nothing of either versions or plugin-types and their purposes... it would be agnostic to any of that.I don’t think that there is a problem; an incoming plugin with the same version is treated as newer, and is imported.Again, a "bundle", the way I see it, should behave like a simple tiddler upon upgrading, the only difference being that its constituent tiddlers would be unpacked as shadows, as plugins do.Again, it seems like you are confusing the current implementation of packing plugins in the browser (which was done in 30 minutes in response to a mailing list request) with the way that plugins are implemented.Possibly. Not exactly sure about the differences in detail. At the moment, in this thread I am mostly concerned with how plugins work and how, compared to that, a simple "bundle" mechanism could work that uses the same "create components as shadows on startup" approach and that's mostly it. If existing, this should work the same under node or a browser, independent of how that "bundle" initially was created, e.g. via repackPlugin or some other means, e.g. a js macro wrapper around the core functions that do packaging.But then you are talking about a plugin, not a bundle. If you want the shadow plugin then you need a plugin; that is what they are for. The whole point of them is to give us shadow tiddlers. So trying to find some other way of implementing shadow tiddlers just seems a bit strange.
To me it's not, strange that is, and it's basically the core point the my above considerations. The mechanism of creating shadows is useful in general whereas plugins would be a more sophisticated form of that, as we are facing more sophisticated requirements as compared to the kind of simple "bundles" I described. However, the core tenet of such a bundle would precisely be the shadow mechanism, otherwise we'd be talking export / import which is an essential bit of functionality, albeit less powerful than a bundles of shadows.
Again, it seems like you are trying to give JSON bundles the characteristics of plugins. It’s hard to see how we can do that without making them plugins.Let me ask it this way: Are there JSON bundles right now that are not plugins? If yes, then to create the kind of bundles I considered, we would possibly have to use a plugin-type: bundle, that would basically losen all other restrictions, e.g. versioning.If you import a JSON bundle with newer versions of the constituent tiddlers, then your existing ones will be overwritten. Isn’t that precisely the behaviour you’re asking for?In terms of overwriting, it is indeed. In terms of having shadow tiddlers, it is not.If you look at semver.org you’ll see that your proposal doesn’t in fact conflict; semver allows for version numbers like 1.0.201511050347Good idea. Will have to explore how that can be leveraged. I feel like someone recently mentioned using that already.I’m not sure what you mean by a “gradual” process? We’ve got JSON bundles, and we’ve got plugins; how could the transition be any more gradual?I think it's clear by now: the key is the shadow mechanism. I would want the basic ability to use it via "bundles" that are json tiddlers and possibly nothing but, e.g. no other field requirements. If that makes for bundles be "plugins", I'm all fine with calling them "plugins" ...of type "bundle".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 tiddlywiki+...@googlegroups.com.
To post to this group, send email to tiddl...@googlegroups.com.
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/3a72c359-6b34-4b4b-93e6-cb50bd109460%40googlegroups.com.
I think there’s a lot of confusion here. The core has two features:* “plugins”, which require a type, and can optionally have a version. They contain shadow tiddlers that are switched in when the plugin is loaded* “bundles”, as we’re referring to JSON files containing a bundle of tiddlers that can be exported or imported as a single unit
I think you’re asking for “bundles” to behave like plugins, but for them to somehow not become plugins in the process. That’s the crux of what I’m not understanding.
Is it just the requirement for a “plugin-type” field? You must see that an indicator other than “type:application/json” is needed; otherwise the system would attempt to load all data tiddlers as plugins.
You seem to think that there are vague, unexpected restrictions on how plugins are formed, but I don’t really understand what you’re getting at.
A plugin is a JSON tiddler with the additional field “plugin-type" appropriate content and the shadows packed into the body. How much simpler could it be?
Le 10 nov. 2015 à 18:02, Tobias Beer <beert...@gmail.com> a écrit :
Hi Jeremy,I think there’s a lot of confusion here. The core has two features:* “plugins”, which require a type, and can optionally have a version. They contain shadow tiddlers that are switched in when the plugin is loaded* “bundles”, as we’re referring to JSON files containing a bundle of tiddlers that can be exported or imported as a single unitPossibly, there is some mixing up in terms of ...terms. So far, I have not recognized the term "bundle" as part of the core lingo... which is more or less confirmed by searching for it on TiddlyWiki.com. Of course, I knew plugins that are actually introduced as "bundles of tiddlers" and of JSON tiddlers introduced as data tiddlers.Whatever I was referring to as "bundle" indeed is located in the middle, feature- / constraint-wise.I think you’re asking for “bundles” to behave like plugins, but for them to somehow not become plugins in the process. That’s the crux of what I’m not understanding.Is it just the requirement for a “plugin-type” field? You must see that an indicator other than “type:application/json” is needed; otherwise the system would attempt to load all data tiddlers as plugins.I can see where the confusion was coming from. Certainly, the kind of "bundles" I was referring to were by design of type:application/json, at least in terms of format, which means that they would need to be more than just plain json data tiddlers in order to work the shadow magic, as we don't unpack those the shadow tiddler way.
Introducing another type of tiddler may be a shortcut to actually reducing confusion and to separate whatever such a "bundle" could be called from plugins. The kind of "simple bundle" I had in mind being defined as:
- having the structure of plain json data tiddlers
- implementing the shadow mechanism of plugins
...and that's it. So, unlike "plugins", "themes", or "languages" they would have no special treatment, except, any plugins contained in such a "bundle" would be loaded as plugins, in other words, a plugin in a plugin. Whether such a construct would be called "bundle" is not so much of importance as the desire for that to exist. Clearly, plugins are more than just that / require more than the above to get going.
But yes, like current plugins, one may want a central spot to look at "bundles". So, it would be wise to have them be of a plugin-type:bundle (or any other name) and then show them in a corresponding tab under ControlPanel > Plugins > Bundles.You seem to think that there are vague, unexpected restrictions on how plugins are formed, but I don’t really understand what you’re getting at.Not at all. My suggestions were in no way intended as criticism. Instead, I was wondering how to arrive at the above model+behavior.A plugin is a JSON tiddler with the additional field “plugin-type" appropriate content and the shadows packed into the body. How much simpler could it be?
I would be all fine to introduce plugin-type:bundle, which would loosen up on any requirements that go beyond 1. and 2. above and treat such a bundle as if a regular tiddler, especially upon import, except for the shadow magic.
Bundles could serve a wide range of purposes:* app setups
* complex themes* user preferences
* content bundles, e.g. "help"* etc...Best wishes,— tb--
You received this message because you are subscribed to a topic in the Google Groups "TiddlyWiki" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/tiddlywiki/HrL5owEOJKM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to tiddlywiki+...@googlegroups.com.
To post to this group, send email to tiddl...@googlegroups.com.
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/533fcff5-b41b-4801-84d4-ac055362a5a4%40googlegroups.com.
Possibly, there is some mixing up in terms of ...terms. So far, I have not recognized the term "bundle" as part of the core lingo... which is more or less confirmed by searching for it on TiddlyWiki.com. Of course, I knew plugins that are actually introduced as "bundles of tiddlers" and of JSON tiddlers introduced as data tiddlers.
I can see where the confusion was coming from. Certainly, the kind of "bundles" I was referring to were by design of type:application/json, at least in terms of format, which means that they would need to be more than just plain json data tiddlers in order to work the shadow magic, as we don't unpack those the shadow tiddler way.
Introducing another type of tiddler may be a shortcut to actually reducing confusion and to separate whatever such a "bundle" could be called from plugins. The kind of "simple bundle" I had in mind being defined as:
- having the structure of plain json data tiddlers
- implementing the shadow mechanism of plugins
...and that's it. So, unlike "plugins", "themes", or "languages" they would have no special treatment, except, any plugins contained in such a "bundle" would be loaded as plugins, in other words, a plugin in a plugin. Whether such a construct would be called "bundle" is not so much of importance as the desire for that to exist. Clearly, plugins are more than just that / require more than the above to get going.
But yes, like current plugins, one may want a central spot to look at "bundles". So, it would be wise to have them be of a plugin-type:bundle (or any other name) and then show them in a corresponding tab under ControlPanel > Plugins > Bundles.
You seem to think that there are vague, unexpected restrictions on how plugins are formed, but I don’t really understand what you’re getting at.Not at all. My suggestions were in no way intended as criticism. Instead, I was wondering how to arrive at the above model+behavior.
A plugin is a JSON tiddler with the additional field “plugin-type" appropriate content and the shadows packed into the body. How much simpler could it be?
I would be all fine to introduce plugin-type:bundle, which would loosen up on any requirements that go beyond 1. and 2. above and treat such a bundle as if a regular tiddler, especially upon import, except for the shadow magic.
Bundles could serve a wide range of purposes:* app setups
* complex themes* user preferences
* content bundles, e.g. "help"
* 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 tiddlywiki+...@googlegroups.com.
To post to this group, send email to tiddl...@googlegroups.com.
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/533fcff5-b41b-4801-84d4-ac055362a5a4%40googlegroups.com.
It sounds like « plugout » introduces a new term and would be too confusing. So I will go back to plugin soon.
When I export your "wiki", for example the SiteTitle does not get packaged. Is that by design and if so, what does precisely get exported / "plugged out"?
--
You received this message because you are subscribed to a topic in the Google Groups "TiddlyWiki" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/tiddlywiki/HrL5owEOJKM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to tiddlywiki+...@googlegroups.com.
To post to this group, send email to tiddl...@googlegroups.com.
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/1072ce1d-c938-4f01-a11a-33aaeecad0cf%40googlegroups.com.
OK, so what’s wrong with using a field like “plugin-type” to indicate that the special behaviour of unpacking shadow tiddlers should take place?
What do you mean by “special treatment”? Plugins (where `plugin-type` is “plugin”) have no special behaviour in the wiki store beyond the unpacking of shadow tiddlers. Features like the plugin listing in the control panel aren’t intrinsic to the plugin mechanism; they’re just tiddlers in the control panel.
What special treatment do you think plugins are subject to that you’d like to avoid?
Now that you’re bring even more of the behaviour of plugins to your “bundles” I’m really failing to see the difference between a bundle and a plugin. Surely you are just re-inventing plugins?
But you are saying that the plugin mechanism isn’t suitable for the purpose you have in mind, and yet as a replacement you are suggesting adding all the features of plugins to JSON tiddlers.
A plugin is a JSON tiddler with the additional field “plugin-type" appropriate content and the shadows packed into the body. How much simpler could it be?
But that is exactly what plugins are for! Again and again you are saying that something else is needed and yet you are just describing the existing behaviour of plugins.
Nothing at all. Not sure, perhaps I made such a suggestion by mistake / omission. I think by now we have established that the kind of bundles I described are (/ or at least can be) indeed plugins, of a new type.
Most prominently, version handling, especially upon import.
Other than that (possible / optional) expectations / conventions for the control-panel to show details, etc..
Now that you’re bring even more of the behaviour of plugins to your “bundles” I’m really failing to see the difference between a bundle and a plugin. Surely you are just re-inventing plugins?These are the things I'd want from a "bundle":
- no versioning requirements
- so, no version check on import
See above. There is no “versioning requirement” for plugins. Just that plugins that have a version number can participate in automatic upgrading (clearly some kind of version number is needed for upgrade tracking).
- this is the most important simplification over current plugins
- be able to bundle any tiddlers, including other plugins
- this does not seem to be possible at the moment
- a shadow-plugin won't create any shadows it contains recursively
- no deletion of constituent plugin-tiddler when performing repackPlugin
- the source wiki should stay functional as is
I would not call that reinventing, but rather conventions for a new plugin-type that both has simplification (versioning) and additional capabilities (plugin-bundling).
But you are saying that the plugin mechanism isn’t suitable for the purpose you have in mind, and yet as a replacement you are suggesting adding all the features of plugins to JSON tiddlers.I hope it is clear now that the above mentioned requirements are not met, as of today. At least, there appears to be no existing plugin-type workflow available to cater for either.
A plugin is a JSON tiddler with the additional field “plugin-type" appropriate content and the shadows packed into the body. How much simpler could it be?
But that is exactly what plugins are for! Again and again you are saying that something else is needed and yet you are just describing the existing behaviour of plugins.Currently, we cannot create the kind of bundle (as a plugin) with the requirements listed above, can we?
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 tiddlywiki+...@googlegroups.com.
To post to this group, send email to tiddl...@googlegroups.com.
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/1a6e26f6-0f2a-41de-be30-a364bdfb0de7%40googlegroups.com.
But there is no special version handling on import for plugins that don’t carry a version number. So if for some reason you don’t like the version checking, just don’t include a version number field.
Are you suggesting that there is a requirement for a type of plugin that doesn’t show up in control panel?
That’s the first time you’ve mentioned a requirement for recursive plugins. Why is it important? As it happens, the plugin mechanism could be extended to do it, but I’d really like to understand why - it seems like a horrendously inefficient way of packaging most things.
But that’s barely anything to do with the plugin mechanism! You’re just talking about a very specific improvement/alteration to the repackplugin function.
I hope it is clear now that the above mentioned requirements are not met, as of today. At least, there appears to be no existing plugin-type workflow available to cater for either.
But they are! And have been from the beginning.
I’m sorry, I’ve lost track of what you mean by “above”!