Make Download Empty.html More Useful

I came over the new Plugin Combiner from @BurningTreeC
My TiddlyWiki — a non-linear personal web notebook

I like when download a new empty.html, customize my download with most useful plugins. This combiner allow users to do so.

Can such mechanism be added to the very old (albeit very simple and user friendly) download empty.html?

It may make sense to combine different plugins, they depend on each other, like the codemirror stuff. Where they most likely will not work stand alone.

But in my opinion combining plugins that provide different features is a mistake, because they are not independent anymore.

If there is a bug in one “combined” plugin, the whole thing needs to be removed.

The reason for plugins is, that one plugin can do one thing well. So the separation of concerns should be retained, even if different plugins are combined into one export / import file.

That’s the reason, why I did create the bundler-plugin, which allows users to “combine” a set of tiddlers into a bundle. Since plugins are tiddlers, it is possible to “bundle” them together with configuration tiddlers if needed, while retaining their independency.

Since the config tiddlers are standard tiddlers, they can be removed if not needed. For most users is much faster to delete stuff, that is not needed, instead of creating a lot of configs from scratch.

Just my thought.
-m

2 Likes

I agree, one of the strengths and core features of Tiddlywiki is being modular, and in my opinion the plugin system itself is designed around the ideal that each plug is ‘atomic’ and can be arbitrarily interchanged without hurting the ‘core’ tiddlywiki experience. While making a monolithic ‘package’ plugin may be convenient as far as exporting and importing this kind of ‘plugin-packs’ the tradeoff is the modularity is a bit obscured from the end user and makes it a bit harder for them to customize or excise peices of the monolith plugin they don’t need to use.

That being said; I think the idea of an officially supported curated ‘plugin pack’ whether ‘combined plugin’ a ‘bundle’ etc having some kind of ‘core support’ /UX-support that sits ‘on top’ of the existing plugin-system, maybe via sub-plugins or sub-components or something has some merit.

As long as it’s elegant, maybe disabled out of the box, has a clean UI and is backwards compatible; and doesn’t introduce dependency hell anymore than the extent plugin-dependencies and plugin-priority does, I think there could be room for some kind of UI feature that communicates “this group of plugins was curated and intentionally bundled together” and makes it easy to export them like that in a transportable format.

Like maybe an “Edition” tab or subsection of the plugin menu that groups edition-specific/labelled plugins; and mabye even placeholders if the user deleted plugins that were originally part of the edition’s plugins.

I also kinda think that plugin-priority should not be a per-plugin set value but rather something assigned by these ‘edition wrappers’ whatever they look like; plugin-priority doesn’t make a lot of sense to me to be assigned by the plugin devs themselves. If I want to create a sidecar ‘patch’ that modifies an existing plugin and the original author doesn’t have a plugin-priority set I have to either inject one myself (creating a kind of weird ambiguity with the original unmodified plugin) or rename my patch-plugin so the fallback alphabetical priority system places mine over theirs.

Anyway I’m just kind of spitballing here, I’m relatively new to TW and have disproportionately strong opinions for how it should work relative to my time being in the community so I apologize if I come across as brazen. I’d love to hear any veteran TW users’ thoughts on this matter.

-Xyvir

@Xyvir I appreciate your perspective even if it is new. A few points;

The empty.html supposed to be the minimal and smallest available wiki to build on, as a result I dont think it should change, however we wrongly also suggest it as peoples first wiki, which is wrong.

  • I think we should also provide a download link for the external core and empty.html with external core (if not already)

I proposed an alternative standard edition https://standard.tiddlyhost.com/ but this needs upgrading and more feedback from the community. So I feel we should release a standard edition in addition to the empty edition. If you look at the Obtain Plugins tiddler we could add additional plugin libraries that represent your “recommended” plugin sets.

2 Likes

There is a pending draft PR at Github: Introducing bundled sub plugins by Jermolene · Pull Request #8957 · TiddlyWiki/TiddlyWiki5 · GitHub, which will allow developers to create “sub-plugins”. It is mainly meant to be used with plugin translations.

But users will find ways to use it in unexpected ways. So we will see. May be in v5.5.0, which should be the next version.

So if I understand this correctly, this feature allows you to put ‘full’ .json plugin tiddlers inside the directory of a ‘parent’ plugin tiddler? (limited to one level deep?)

that’s pretty neat; and since it sounds like the sub-plugins / tiddlers can be individually disabled or removed as well it helps with the problem of the ‘plugin combiner’ workflow making a big monolith plugin that has to be removed or added all in one big piece.

I’ll keep an eye out on this feature.