Ideas for an UN-official community plugin library

217 views
Skip to first unread message

Mat

unread,
Aug 15, 2020, 4:44:51 AM8/15/20
to TiddlyWiki
Here is are two ideas for a "plugin library" for unofficial things. The first we could start using more or less today. The second would need a little experimenting but is probably even better. Anyone skilled could probably also solve it in a mere few hours.

First idea
We have a shared tiddler containing a list of all plugin URLs and whatever meta data is appropriate. This tiddler is simply circulated on the boards. I.e we have a designated forum thread and anyone adding something to the tiddler posts and update in the thread with the tiddler attached. The tiddler should contain a kind of version ledger (see below) so that you can see which previous version it is based on. Yes, there can be conflicts if two people update the list at the same time BUT I doubt this would be a big deal if it is simple enough to add something again; It is just a single tiddler and the forum posts are sequential so conflicts would be pretty obvious and we always have the record for all events. Versioning could be done like so:

... -- 53 by Mark -- 54 by Mario -- 55 by Mat

so if there is another copy stating

... -- 53 by Mark -- 54 by Mario -- 55 by Tony

then Tony and I will slug it out. Or whoever posted their update last will simply need to adjust and repost.

One could compliment this with a UI type plugin for presenting the list, including a UI for adding or modifying data to the list, but that is another matter - the list is the meat of it.


Second idea
Fellow Siniy-kit recently detailed how to pull data from a Google Sheet into TW. As you know, Google sheets can be made publicly editable. So we could have one such central sheet. The un-official plugin library would be a plugin that pulls from this, i.e converts it into a tiddler. I assume this would even allow filtering when fetching so there could be a TW plugin where you state what type of plugin you're interested in (or their rating, or what author, or... )

This would even allow a custom input form so people can easily add new items to the list by using Google Forms. (Forms is integrated with Sheets for this purpose.) I.e it would be a form asking the contributor to fill in: "Pluging name", "select category", "review" etc. Would have to think through how multiple entries of same plugin would work tho. Maybe not a problem since they are added as rows in the sheet and I can easily think of some ways it could be handled when importing into TW.

...

Personally, I find the Google Sheets idea particularly appealing (but that's also because it'd overall be very interesting to use Google Sheets as a TW backend). In contrast to the curated lists we currently have from a few good hearted community members, this system would not rely on single individuals. This is absolutely critical, as evidenced from curation endevours in the past. For one, curating such a list is a huge task that is typically not sufficiently handled by a single individual and, most importantly: If the owner of the list should stop hosting it, for whatever reason, this proposal would make it super simple for anyone else to make a copy and continue. And the first proposal is really nobody hosting it at all other than the google forum.

Thoughts?

Anyone brave enough to start?


<:-)

TiddlyTweeter

unread,
Aug 15, 2020, 7:48:26 AM8/15/20
to TiddlyWiki
What is it for?

Well, I know we have an information problem of serious scale. Finding stuff you need is an intimidating undertaking.

TW can do so much. But (1) understanding exactly how needs are addressed by (2) tools that (3) are usually difficult to locate is (4) a BLOCK on uptake.

This is not easy for a TW-Naut already. It is much more difficult for a beginner.

To my Question: ARE users more interested in yet more "bits" of things. OR, maybe whole APPLICATIONS???

 I like very much your two practical strategies. They are incremental. Build off what we have already.

IMO its more likely to work & be adopted IF it explicitly targets usage needs, providing sets of stuff by user needs (e.g. "Available Parts For Mathematicians").

My 2 cents
TT

Mat

unread,
Aug 15, 2020, 11:34:25 AM8/15/20
to TiddlyWiki
@TT

I'm talking about the "jar" not about what it is filled with. To where the provided links in the "library list" lead is a totally different matter. It can be to plugins or whole applications - what would you provide links to? :-)

<:-)

Mark S.

unread,
Aug 15, 2020, 2:11:59 PM8/15/20
to TiddlyWiki
If you're specifically targeting plugins, then why not have a plugin library repository on github? Github allows you to add collaborators (not sure how many). Then people could add a single tiddler to their TW file, and instantly have access to all the plugins that have been made available. This would make it easy to see if Plugin A was right for you, or if Plugin X conflicts with Plugin Z without having to go to a half-dozen websites (which sometimes disappear!).

If the originator of the library disappears, someone else can clone the library and start over. The great thing about a library is that the code is right there -- no orphaned links.

Otherwise, all you have is a listing of plugins, similar to the tiddlymap project. Re Tiddlymap, Dave does accept volunteers to help maintain the project.

The problem with Tiddlymap, or an Unofficial library, is that if something is not prominently listed on TiddlyWiki.com, people won't find it except by accident. That detracts from the energy and enthusiasm that would otherwise be generated. I can't help but notice that the tiddlymap is not mentioned even on the top of this forum, even though reddit and twitter, arguably much less useful, are mentioned.

Mat

unread,
Aug 16, 2020, 2:58:01 AM8/16/20
to TiddlyWiki
Mark S. wrote:
[...] why not have a plugin library repository on github? 
 
Perfect ...if it didn't demand special knowledge to work with it. And, as you note, anyone who wants to add things needs to become a "member" to the repository. And would plugin makers even want to host their plugins there, in someone elses repository? (Would you?)


Otherwise, all you have is a listing of plugins, similar to the tiddlymap project.

IMO it makes a big difference to have access to the list from within your wiki, even if the list contains external links.

 
Re Tiddlymap, Dave does accept volunteers to help maintain the project.

IMO the problem with such individual project is that they are just that, individual projects, even if there were volunteers willing to help. (Has anyone volunteered?) And it still means one has to be a "member" to add to it.

The problem with Tiddlymap, or an Unofficial library, is that if something is not prominently listed on TiddlyWiki.com,

Yeah, huge problem. Without official and prominent endorsement it is very tough to persistently communicate anything to the community. It is/was the same problem for Erwans Community Search which even aggregates new plugins and updates semi-automatically! If nobody hears about it, things die.

But this is also why my suggestion has a practice to announce the updates in one perennial thread. It only takes one message in a thread for it to be brought to attention again.
 
I can't help but notice that the tiddlymap is not mentioned even on the top of this forum, even though reddit and twitter, arguably much less useful, are mentioned.

Good point! @moderators - ?

<:-)

Mat

unread,
Aug 16, 2020, 2:59:12 AM8/16/20
to TiddlyWiki
Coming back from a dinner yesterday, somewhat tiddly, I couldn't resist taking a stab at a prototype. Check out the attachment.

What does strike me is; how big can a tiddler be before it grows the wiki footprint too much? As you see, each new item adds a few fields. If this tiddler had as many items as TiddlyMap, would that be a problem?

<:-)
LibraryTiddler.json

Mat

unread,
Aug 16, 2020, 3:13:29 AM8/16/20
to TiddlyWiki
BTW, another route for an unofficial library is @Jed (!) He has generously offered his server as one node in what can be a real federated system, based on TW technology. Most parts are actually already in place but it is more complex than the ideas I outlined in the OP here so it would demand some focus to put the pieces together. This would be the real solution. People would install a plugin library and it would access his server (and any other) which has either plugins directly hosted or has a list that is updated by roaming reported sites. 

People would still need to find out about the plugin library but if it is the one solution, then I think there will be enough talk about it. Compare it to the talk about e.g his Bob solutions - these are very present because people ask how to solve the problem it targets and people refer to them. There's constant talk about plugins to there'd be constant mention of an unofficial plugin library if there were one.

<:-)

PMario

unread,
Aug 16, 2020, 9:37:37 AM8/16/20
to TiddlyWiki
On Sunday, August 16, 2020 at 8:58:01 AM UTC+2, Mat wrote:
Mark S. wrote:
[...] why not have a plugin library repository on github? 
 
[...] And would plugin makers even want to host their plugins there, in someone elses repository? (Would you?)

Hi, ... Not really.

I do have 19 plugins and 1 theme in my library link at wikilabs organisation. ... I do take care, that my plugins are compatible with my theme and other prominent plugins eg: relink. BUT I'm not able to maintain compatibility with every other plugin library.

A new organisation "Unite" is coming soon, which will start with 2 plugins. There should be more in the future "in German" as the primary language.

I don't want them to be "language" mixed _and_ may be "author" mixed.

---------------------------

BUT having a curated repository, with a "landing page" that links to different organisations would be OK. ...

To be clear. I want to be in control of my content! I don't want the library config tiddlers to be cloned! I only want a link to the pages, that contain the config tiddlers! It needs to be possible to have 1 and only 1 "source of truth"!

just my thoughts.
mario

Mark S.

unread,
Aug 16, 2020, 9:53:08 AM8/16/20
to TiddlyWiki



Hi, ... Not really.


We would ask first, of course.

So your plugins aren't open source?
 

I don't want them to be "language" mixed _and_ may be "author" mixed.


I was talking about a LIBRARY. The plugins are not activated and can't conflict until someone loads them into their own TW file. If they choose to load 20 at once, that's their risk.

To be clear. I want to be in control of my content! I don't want the library config tiddlers to be cloned! I only want a link to the pages, that contain the config tiddlers! It needs to be possible to have 1 and only 1 "source of truth"!


The problem with 1 source of truth is, as history has shown, is that it is ONE step away from zero

Ste

unread,
Aug 16, 2020, 10:12:21 AM8/16/20
to TiddlyWiki
Off topic but I keep reading this as U.N.Official community plugin library and get half way though thinking 'wow.. Tiddlywiki being used by the UN and they have a plugin library for it!!! That's amazing' before reading the title correctly.

PMario

unread,
Aug 16, 2020, 11:20:08 AM8/16/20
to TiddlyWiki
On Sunday, August 16, 2020 at 3:53:08 PM UTC+2, Mark S. wrote:



Hi, ... Not really.


We would ask first, of course.

So your plugins aren't open source?

Sure they are. ... But being in control and defining an organisational hierarchy in GitHub is a PITA. As far as I can see, the access rights can only be defined per repo and not per "subdirectory". .. And there is no convenient and easy to explore "sub-repo" structure.

I did play around with a tiddlywiki-org organisation at github 3 month ago.  ... As you can see "plugins" is 1 element of it. ... It also contains some basic configuration for 15 teams, that will allow users to create a basic "access" structure. .. But the system at GitHub was designed for Enterprise organisations, where you have 10 admins that have a full time job, doing the maintenance (Just my experience, but I may be missing the simple stuff.).

I did want to mimic something which I had experimented with at GitLab 2 years ago: https://GitLab.com/tiddlywiki.org ... where it is easy and convenient to configure. There is even a youtube playlist, that describes most of the ideas in much more detail. ... 

Down to a prototype of 1 possible Governance Model, that starts as simple as possible and is just a starting point.

From my point of view, before we put a lot of energy into an "un"official plugin library, We should put it into an "Official Community Dot Org" project. (I actually don't know, who owns tiddlywiki.org ... but it also could be tiddly.wiki which imo belongs to TT)

BUT from my point of view, we need a Governance Model first, that defines the basic "rule set" for contributions to the different elements. We need to describe the "decision making" process, so users know about them, so they can be sure what to expect. see: Governance Model

--------------------------------

List of videos, so you know, what I was thinking about:

01 Improve Community Communication - Intro

02 TiddlyWiki Landingpage - proposal

03 Feature Request and Voting Mechanism

04 Using e-mail to request a new feature

05 Governance Model Proposal

06 Use Issues, to contribute to governance model

07 Use merge request, to contribute to governance

08 Consensus Seeking and Repo Structure

09 Request Access to Sub-Groups


Have fun!
mario

PS: I didn't promote the GitLab idea, since I didn't see a convenient way to migrate contributors from GitHub to GitLab.

PPS: tiddlywiki.org.gitlab.io isn't possible anymore. ... But the second video shows, how it was meant ;)

PPPS: I personally think, that GitHub is not mature enough to make the management easy, but if someone can tell me the simple stuff it may be a possibility too.

Mark S.

unread,
Aug 16, 2020, 12:00:47 PM8/16/20
to TiddlyWiki
I might point out that Linux operates this way.

When you install Linux, almost any variety, you also get a package manager. With the package manager you have access to 1000s of different software products. You just search, select, and install the software that you want without having to search the web, download, find dependencies, etc. The versions you get may not be the latest versions, but that's usually OK. If people need the latest, then they go to the original source.

PMario

unread,
Aug 16, 2020, 1:54:18 PM8/16/20
to TiddlyWiki
On Sunday, August 16, 2020 at 6:00:47 PM UTC+2, Mark S. wrote:
I might point out that Linux operates this way.

When you install Linux, almost any variety, you also get a package manager. With the package manager you have access to 1000s of different software products. You just search, select, and install the software that you want without having to search the web, download, find dependencies, etc. The versions you get may not be the latest versions, but that's usually OK. If people need the latest, then they go to the original source.

I think we can't compare "apt" or other installation managers with a public overview of TW plugins. We don't have any security measures built in. None of our packages can be validated. ... So everyone can clone and modify a plugin and republish a potentially evel version with the same name. .. At the moment our users don't have a possibility to validate anything.

That's an other element, which I think about for quite some time. ... At the moment our system is "kind of" OK, because we can trust the community members, that create plugins. ... But if TW grows considerably, we will need to think about some more security too.

With the proposed system, it would be possible to implement a "community review" system. Similar to video 8.

A second measure could be, that we publish a plugin hash overview on the community page. So everyone can check if an installed plugin has the same hash as the one installed in a wiki. The hash validation could be done with a browser plugin. ... But that's probably a completely different thread, which would need contribution from security experts.

just some thoughts
-mario

amreus

unread,
Aug 16, 2020, 5:10:14 PM8/16/20
to TiddlyWiki
Is there a need for namespacing for plugins? 

For example, if 2 plugins both define a css class with the same name, which gets used?  Or if 2 plugins define a macro with the same name, what happens?  Does the last loaded macro take precedence?

If this is an issue it would it need to be addressed sooner rather than later?

Mat

unread,
Aug 16, 2020, 5:15:04 PM8/16/20
to TiddlyWiki
@amreus - while the conversation has admittedly gone off on a tangent, your question is definitely off topic. Pleaes start a new thread instead.

<:-)

amreus

unread,
Aug 16, 2020, 5:23:51 PM8/16/20
to TiddlyWiki
I disagree.  Conflicts are 100% in the realm of library managers and must be considered.

PMario

unread,
Aug 16, 2020, 5:25:25 PM8/16/20
to TiddlyWiki
On Sunday, August 16, 2020 at 11:10:14 PM UTC+2, amreus wrote:
Is there a need for namespacing for plugins? 

Yes. Otherwise you will create conflicts. There is a reason, why plugins have a namespace.

-mario

Mat

unread,
Aug 16, 2020, 5:33:25 PM8/16/20
to TiddlyWiki
amreus wrote:
I disagree.  Conflicts are 100% in the realm of library managers and must be considered.

OK, maybe you're right after all.

<:-)

PMario

unread,
Aug 16, 2020, 6:04:34 PM8/16/20
to TiddlyWiki
Hi,

I did start a (some) new threads. Start at:  Improve Community Communication with a - dot org

have fun!
mario
Reply all
Reply to author
Forward
0 new messages