Why plugin library to tw.com but not to any other wiki?

91 views
Skip to first unread message

Mat

unread,
Jul 12, 2019, 4:00:56 PM7/12/19
to TiddlyWikiDev
Is tiddlywiki.com set up in some special way that enables this official plugin library to serve tiddlers from it?

Assuming it is, why can't this be built into native TW so that people can fetch tiddlers from each others wikis?

<:-)

TonyM

unread,
Jul 12, 2019, 8:46:23 PM7/12/19
to TiddlyWikiDev
Mat,

This idea has merit, and it has being discussed previously. The Start to understanding this is https://tiddlywiki.com/#Installing%20a%20plugin%20from%20the%20plugin%20library
I believe others have built their own libraries.

and related information includes
  • The system tag $:/tags/PluginLibrary marks the plugin library
  • WidgetMessage: tm-load-plugin-from-library
 And you can download https://tiddlywiki.com/library/v5.1.11/index.html to see what it looks like inside a plugin library.

One thing that loading plugins does is force a save and reload, which regular tiddlers and bundles often do not. So if the library mechanisium is extended beyond plugins this should make this "import" occur silently on a click. Because of the WidgetMessage: tm-load-plugin-from-library can be used in an action widget we should be able to use it in startup actions and according to other triggers, one trigger that would be great is on a change in date stamp on the library file.

Perhaps we could have tiddler Libraries in addition to plugin libraries.

The corollary is saving or exporting to the library file, I would be nice if on a trigger we can save a filtered list of tiddlers to a named library file, and where a save mechanism is available use that, for example if I could authorise my Wiki on top of tw-reciever (PHP saver) to save to "library name", or at worst resort to the download saver (undesirable).

I as yet do not know how to hack the plugins from library method  as I do the interactive import function, I do not know how to intervene and choose to add a prefix to imported tiddlers and other selective processing. However with a controlled export to a library we can manage around this.

Perhaps some of our team mates can throw some light on this. With a little help we could possibly hack together a solution that may demonstrate its value.

Regards
Tony

TonyM

unread,
Jul 12, 2019, 8:56:30 PM7/12/19
to TiddlyWikiDev
Further ideas

Perhaps a mechanism to save a filtered set of tiddlers from memory or local storage to a filename based on user ID (in the file folder, or on the server) and looking for this file on load/login to restore said tiddlers would help with multiple users working on top of a served wiki. It would add a persistent alternative to local storage, by using actual storage.

If additional export/load files where possible it would be easy to build wikis which;
  • Can interrogate a server for check in and check out status
  •  A master wiki mode where the "owner" could load user tiddlers and selectively incorporate them into the master wiki. 
  • Build a messaging system between multiple Wikis by loading a library of message tiddlers from other users or wikis, and writing responses back to the current users messages library.
Regards
Tony

Mat

unread,
Jul 13, 2019, 6:00:11 AM7/13/19
to TiddlyWikiDev
Tony, thanks for your replies but they certainly "run off". So far I'm really just wondering what is special about tiddlywiki.com that makes the plugin library only enable fetching from there. Is it the server that has some special setting, outside of TW? 

Maybe you have knowledge of this and therefore can, and do, pose the follow up questions?

The background for me asking is because it is many years overdue that we can fetch tiddlers from other wikis (...federation). We seem to have all the pieces in place and yet we don't assemble them even though the gains would be enormous. (Do people not see the potential gains? Should I elabortate? Or why is this route not taken?)


<:-)

PMario

unread,
Jul 13, 2019, 7:14:23 AM7/13/19
to TiddlyWikiDev
On Saturday, July 13, 2019 at 12:00:11 PM UTC+2, Mat wrote:
...
The background for me asking is because it is many years overdue that we can fetch tiddlers from other wikis (...federation). We seem to have all the pieces in place and yet we don't assemble them even though the gains would be enormous. (Do people not see the potential gains? Should I elabortate? Or why is this route not taken?)

1) Because it's too complicated. ... It has be a "one click" experience.
2) It's not secure ... I would never load plugins, from sources that I don't trust. ... I will trust them, if tiddlywiki.com tells me, that I can load from there.

-m

Jeremy Ruston

unread,
Jul 13, 2019, 7:19:32 AM7/13/19
to tiddly...@googlegroups.com
Hi Mat

Is tiddlywiki.com set up in some special way that enables this official plugin library to serve tiddlers from it?

There is nothing special about tiddlywiki.com, it’s just a static file server. The only wrinkle is that if you’re loading plugins to an HTTPS wiki then the plugin library must be hosted on HTTPS, too.

Assuming it is, why can't this be built into native TW so that people can fetch tiddlers from each others wikis?

The plugin library implementation is pretty generic. Additional plugin libraries can be registered and used just like the official library. The mechanism isn’t restricted to plugins, and can be used to host arbitrary tiddlers.

Best wishes

Jeremy


<:-)

--
You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywikide...@googlegroups.com.
To post to this group, send email to tiddly...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywikidev/7b8b6cf1-f60f-42cd-b935-c029fb883f11%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Mat

unread,
Jul 13, 2019, 8:49:48 AM7/13/19
to tiddly...@googlegroups.com
Thanks for replies, particularly ones that inform how things can be achieved.

Jeremy wrote:
The plugin library implementation is pretty generic. Additional plugin libraries can be registered and used just like the official library. The mechanism isn’t restricted to plugins, and can be used to host arbitrary tiddlers.


1) I track down the key to be this call:

<$action-sendmessage $message="tm-load-plugin-library" url={{!!url}} infoTitlePrefix="$:/temp/RemoteAssetInfo/"/>

(found in $:/core/ui/ControlPanel/Modals/AddPlugins where the message is defined in $:/core/modules/browser-messaging.js)

In addition to the parameters in that call, it appears that there must also be a "connectionTiddler" ... or maybe the context has to be that tiddler.

So why doesn't this work?

<$set name=connectionTiddler value="$:/temp/ServerConnection/https://tiddlywiki.com">
<$tiddler tiddler=<<connectionTiddler>>>
<$button>
<$action-sendmessage
  $message="tm-load-plugin-library"
  url={{!!url}}
  infoTitlePrefix="$:/temp/RemoteAssetInfo/"
/>
{{$:/core/images/chevron-right}}
</$button>
</$tiddler>
</$set>

<<list-links "[prefix[$:/temp/RemoteAssetInfo/]]">>


BTW... I'm almost popping from excitement about this. Could this be it!? Actually accessible, even for me, right in front of my face all this time???

<:-)

TonyM

unread,
Jul 13, 2019, 10:46:58 AM7/13/19
to TiddlyWikiDev
Jeremy,

Can you point us to instructions for creating such a library, and the way to add that library to those available in a wiki?

What format are libraries stored in?

Regards
Tony


On Saturday, July 13, 2019 at 9:19:32 PM UTC+10, Jeremy Ruston wrote:
Hi Mat

Is tiddlywiki.com set up in some special way that enables this official plugin library to serve tiddlers from it?

There is nothing special about tiddlywiki.com, it’s just a static file server. The only wrinkle is that if you’re loading plugins to an HTTPS wiki then the plugin library must be hosted on HTTPS, too.

Assuming it is, why can't this be built into native TW so that people can fetch tiddlers from each others wikis?

The plugin library implementation is pretty generic. Additional plugin libraries can be registered and used just like the official library. The mechanism isn’t restricted to plugins, and can be used to host arbitrary tiddlers.

Best wishes

Jeremy


<:-)

--
You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddly...@googlegroups.com.

TonyM

unread,
Jul 13, 2019, 11:13:48 AM7/13/19
to TiddlyWikiDev
Mat,

I am keen on the issue you raised in the Original thread.

I do apologize for "running off". Initially I was just providing you with information you may not have, but because I am exploring this and related technologies. I suppose I want to put it out there. However I get the distinct feeling I am been ignored to some extent. I suppose it is hard for people to understand my insight and skills, when I can't speak javascript and tiddlywiki internals yet.

If it is any relief you have sent me down a very productive path.

I can already fetch tiddlers from other wikis with import - rather than specify a local file, you provide a url to a wiki, url to a json etc... you then receive the import prompt and have to select the tiddlers. I have even customised the import process in the past for selective imports based on search/selection parameters. I am working at simplifying this, maybe even making it silent. Once done that is is only a matter of cataloguing what is available at what location.

I recently discovered some seriously useful hacks in relation to saving out of tiddlywiki, perhaps to build and import the aforementioned libraries, but I will not run off again.

The key targets of mine;
  • Multi-user version of single file wikis (Requires a reliable check in an check out for serial editing)
  • My own federation processes I would love to understand what went before but I have not found any clear descriptions of the state of play.
  • If I can federate single file wikis then I am on a winner because we can build a large network of federated wikis, more than with server only.
There are opportunities hidden between what is known, My attempt to engage others, results in a lot of "can't be done messages" but my IT and systems skills are telling me that "we can". It looks like my destiny is to do it myself, its just taking longer than if people could understand my ideas, and jump on the band wagon.

Regards
Tony

Mat

unread,
Jul 13, 2019, 1:17:25 PM7/13/19
to TiddlyWikiDev
Tony, I hear you.

However I get the distinct feeling I am been ignored to some extent.

It is tough because nobody here has the right to expect anything from anybody. And, obviously, everyone is doing what they feel is the best thing to do.

 
I suppose it is hard for people to understand my insight and skills, when I can't speak javascript and tiddlywiki internals yet.

Same boat, brother. My impression is that the two of us are visionaries. I believe we are valuable for open ended projects like this but our crazy ideas come at a rate than is possible to implement and we don't speak the same language, or even don't quite have the same world view, as the more hard core techies. When the vision cannot be communicated or when there are simply opposing visions... then we understandably get frustrated. For the particular issue (TWederation) I'm prepared to struggle pretty hard because the rewards will be tremendous. I already have struggled with this for a long time, repeatedly making a fool of myself with stupid questions - some actually stupid and some only seemingly stupid because the other part has another frame of mind.

 
I recently discovered some seriously useful hacks in relation to saving out of tiddlywiki, perhaps to build and import the aforementioned libraries, but I will not run off again.

Oh, please do - but just start a new thread :-) What happens otherwise is that the original question drowns and there's a risk that people who have direct answers and are willing to answer simply don't.
 
 
There are opportunities hidden between what is known, My attempt to engage others, results in a lot of "can't be done messages" but my IT and systems skills are telling me that "we can". It looks like my destiny is to do it myself, its just taking longer than if people could understand my ideas, and jump on the band wagon.

Well, let's butt our heads against this one together then.

<:-)

Mat

unread,
Jul 13, 2019, 5:42:07 PM7/13/19
to tiddly...@googlegroups.com
To follow up on my question about the call to tm-load-plugin-library as defined in $:/core/modules/browser-messaging.js

It appears to me that using this call, the source side does need a special setup after all with a special library file such as:

https://tiddlywiki.com/library/v5.1.11/index.html that contains a special "assetList"

...so to show items like this:  $:/temp/RemoteAssetInfo/https://tiddlywiki.com/library/v5.1.19/index.html/$:/plugins/tiddlywiki/async

If this is the case, could the messaging widget be generalized to not demand anything special on the source side?

Thank you!

<:-)

Jeremy Ruston

unread,
Jul 14, 2019, 11:22:58 AM7/14/19
to tiddly...@googlegroups.com
Just to point to the rest of this discussion over at:


Best wishes

Jeremy

--
You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywikide...@googlegroups.com.
To post to this group, send email to tiddly...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
Reply all
Reply to author
Forward
0 new messages