Extend Download button to offer adding plugins
In #3945 @Jermolene proposed including a deletable plugin in the standard distro with guidance for getting started in using TW. I here extend the idea a bit more.
Proposal: Enhance the "download feature" that is presented on tw.com (currently the green button in GettingStarted) to allow the visitor to select additional plugins that the otherwise empty tw comes preinstalled with. As in @Jermolene 's original idea, the added plugins should be deletable just like manually installed plugins.
Here's a rough UI with a two level structure grouping some tiddlers of certain types:

In addition, we could slice and dice among already existing tiddlers/plugins/macros/stylesheets etc to present sub sets of tiddlers as a form of "editions" based on arbitrary contexts such as: "tools for teachers", "authoring tools", "presentational tools", "numbers and statistics" etc.
Mat,
This is an interesting proposal which I am yet to fully understand. Of interest is the related discussion on Local Storage plugin. It seems to me we could do more to build options and save buttons that achieve different things. For example as I requested the local storage plugin could be installed and enabled, but not active, but it would be trivial to to add that plugin and any tiddlers it may set as an exception so unless the user chooses before down load the new wiki would not have the plugin included. I believe it basicaly works this way already, we just have not surfaced it for users.
I think you may have being suggesting that via this mechanism the same wiki can save out multiple editions based on inclusions and exceptions list. In some ways this keeps us all a little more honest by forcing us to keep track of the delta between the standard, tiddlywiki.com or editions of tiddlywiki. If editions were understood as the delta from the empty version if would be easy to understand which can be combined, and which may need intervention because they touch another editions changes. A single wiki (perhaps served) could be loaded with multiple editions especially if we introduce a simple way to package a set of "near line" (not on line, nor offline) tiddlers in a json file that are extracted at wiki edition save time (be that json in a tiddler or at an external link).
I also want us to keep Progressive WebApps in mind. Eg visit tiddlywiki.com and select a journal edition and hay presto you have an app on your phone with an icon and data you own and keep. Ie more than one progressive app could be obtained from one site.
Thanks for your innovative and thoughtful contributions. Tony
A thing worth noting:
These "plugin lists" would be much more responsive to needs that arise than are the current editions. Quality, e.g backward compatibility, is already assured for the plugin components so the slice-and-dicing of the plugin lists can be as nimble as manipulating the tw.com docs.
Hi @twMat just to note the mechanism that we presently use for the "download" buttons saves the wiki with a subset of the current tiddlers (defined with a filter). It is not currently possible to include in the saved wiki any components that are not present in the host wiki.
The upgrade.html page works in the same way; it is actually a wiki with the entire plugin library loaded. The downside is that upgrade.html weighs 15.7MB.
So, right now, we'd have the same problem: a wiki hosting this enhanced download button would have to include the entire plugin library, and so would weigh at least 15.7MB. I think that means that this button would have to live on a special URL like https://tiddlywiki.com/new. (Perhaps it could use the location hash to record the plugin selection, so that one can share/bookmark URLs like https://tiddlywiki.com/new#plugins=tiddlywiki/aws&themes=tiddlywiki/centralised)
There are a couple of ways we could improve things:
- Dynamically load the required plugins. There are no technical obstacles to doing that in this situation (we can just use xmlhttprequest), but we don't currently have that capability
- Include in empty.html a single plugin that makes it easy to get set up the wiki, including loading plugins from the library
- Dynamically load the required plugins. There are no technical obstacles to doing that in this situation (we can just use xmlhttprequest), but we don't currently have that capability
Wouldn't it be better to use fetch() now.
Wouldn't it be better to use fetch() now.
As things stand, the core sticks to ECMAScript 5 (which is now 10 years old!). When post-ES5 features accidentally get merged we get regular complaints from users of old platforms like AndTidWiki and old Firefox. I think it's time that we reviewed this policy but for the moment features like this can go ahead with the existing $tw.utils.http() helper.
... features like this can go ahead with the existing $tw.utils.http() helper.
yea, you are right. I did for get about the existing wrapper.
twMat et al
I note if using the import button if you provide a permalink eg
https://tiddlywiki.com/#Filter%20Operators rather than a filename, it will attempt to import the whole wiki rather than just the tiddler within the permalink. A small modification to the import mechanism or a separate import process should be trivial to create to import a given plugin live as needed. With a press of a button. A Simple list of plugins with their url provided would make it easy to install any plugin from an external source in that list, or open its wiki to read about it, then drag and drop. If you know the plugin you are after it will be very quick.
With the possibility of activating the Local storage plugin on a published wiki you can install and test in place. #3945
Tony