Need user feedback: how do you prefer plugin management in NoteSelf?

91 views
Skip to first unread message

Danielo Rodríguez

unread,
Sep 6, 2016, 6:18:59 PM9/6/16
to TiddlyWiki
Hello fellow friends,

I'm at the edge of taking one of those decisions that requires you to go in one way or another.
Binary operations are very efficient in computer science, but I'm horrible at choosing between two options.

Plugin installation is coming to NoteSelf, there is nothing that can stop it, I will implement it one way or another. That's why I want to know what users or other plugin authors think it's better about it.

I though about two possible implementations:

Plugins being saved along with the rest of the tiddlers

In NoteSelf you can have as many NoteBooks as you want, and you can sync every singe notebook to a different backend if you want. This implementation will save plugins as if they were regular tiddlers. 

Advantages:
  • Plugins will be saved and synced to the server.
  • Plugins will be synced across devices
  • Only the plugins that correspond to that notebook will be loaded
Disadvantages:
  • If you install the same plugin in three notebooks in that device, you will end with three copies of that plugin.
  • Maybe you don't want plugins to be synced across devices ( probably a minor problem)

Plugins being saved to a special shared database
In this implementation plugins are saved to a special database, shared across al the notebooks on that device.
Advantages:
  • Much easier to implement. But this means nothing to the end user
  • Saves space because only one copy of each plugin is saved
  • Plugins are not synced to the server, neither across devices 
Disadvantages:
  • Plugins are not synced across devices. This is both a problem an advantage depending on your use case
  • All the plugins are loaded into memory. You can deactivate them per notebook, but even if they are not executed they will be loaded into memory.
  • Plugins are shared, so if each Notebook has three different plugins and you have three notebooks, you have to deactivate 6 plugins per notebook. Can be tedious. 

Please don't discuss the possible technical implementations, or if it is even possible or not. I want to know what flow would you find better, and what you expect, so I can focus my efforts on that flow.

Thanks for your feedback, attention and help.

Regards

Tobias Beer

unread,
Sep 7, 2016, 1:38:52 AM9/7/16
to tiddl...@googlegroups.com
Hi Danielo,

Start with the first because that is the default way to do it
and if you find the resources to do it, also allow for the second,
because it adds a whole new layer of modularity.

Best wishes,

Tobias.

Mat

unread,
Sep 7, 2016, 2:01:03 AM9/7/16
to TiddlyWiki
[Ok, with the premise that I have little idea if I will use NoteSelf (too early to tell) so I don't quite feel I have the *right* to have an opinion on this.]

I would definitely prefer that a plugin only has to be installed once / in one place that is accessible from within either TW, and any changes are reflected across devices. But I also want to be able to use local plugin settings (=overwritten shadows) that are not spread in the system.

<:-)

Danielo Rodríguez

unread,
Sep 7, 2016, 3:04:15 AM9/7/16
to TiddlyWiki
Hello Mat,

You have all the right to give your opinion because I have asked for it. To be honest, what I want is help taking the decission no matter if the people answering will end using NS or not.

>I would definitely prefer that a plugin only has to be installed once / in one place that is accessible from within either TW, and any changes are reflected across devices.

This definetively fits in the first implementation description. I'm not sure about the second part of your sentence. What do you mean with "accessible from within either TW"? Do you mean across devices or maybe all the Notebooks on that device?

> But I also want to be able to use local plugin settings (=overwritten shadows) that are not spread in the system.

This will happen for both implementations. Overriden shadow tiddlers will not be treated differently from regular tiddlers on any implementation, because at the end they are regular tiddlers. Or do you mean that do don't expect shadow tiddlers to be synced?

Danielo Rodríguez

unread,
Sep 7, 2016, 3:06:23 AM9/7/16
to TiddlyWiki
Hello Tobias,

The first way is the hard one :P
So even if it is the default for TW it is the one that will take more time for me.

You said that you see modularity advantages on the second one. Could you expand on that? The only advantages that I see are the ones that I listed

Mat

unread,
Sep 7, 2016, 6:44:12 AM9/7/16
to TiddlyWiki

>I would definitely prefer that a plugin only has to be installed once / in one place that is accessible from within either TW, and any changes are reflected across devices.

This definetively fits in the first implementation description. I'm not sure about the second part of your sentence. What do you mean with "accessible from within either TW"? Do you mean across devices or maybe all the Notebooks on that device?


I mean that whichever of your two options that you go for, I hope neither will mean that tiddlers are less accessible or harder to (e.g) edit.

 

> But I also want to be able to use local plugin settings (=overwritten shadows) that are not spread in the system.

This will happen for both implementations. Overriden shadow tiddlers will not be treated differently from regular tiddlers on any implementation, because at the end they are regular tiddlers. Or do you mean that do don't expect shadow tiddlers to be synced?


For plugins (as well as any tiddlers) that are common to all TW's there should ideally be one central place. But I will want to make specific settings that only affect the current TW. So, if I overwrite a shadow tiddler then this does not affect other TWs using that plugin.


<:-)

Danielo Rodríguez

unread,
Sep 7, 2016, 10:05:41 AM9/7/16
to TiddlyWiki
 
I mean that whichever of your two options that you go for, I hope neither will mean that tiddlers are less accessible or harder to (e.g) edit.

I feel that you forget that plugins are not editable. You can not edit a tiddler that it's part of a plugin, you shadow it. This means, you create a copy with higher priority. Since you create a regular tiddler for this, they will be as accessible as the rest of them.

 

For plugins (as well as any tiddlers) that are common to all TW's there should ideally be one central place. But I will want to make specific settings that only affect the current TW. So, if I overwrite a shadow tiddler then this does not affect other TWs using that plugin.

As I said, the tiddlers that override the shadow tiddlers are in fact regular tiddlers. Those tiddlers will stick to the Notebook where they were created so no collisions can occur.

Thanks! 

Tobias Beer

unread,
Sep 7, 2016, 2:29:15 PM9/7/16
to TiddlyWiki
Hi Danielo,
 

You said that you see modularity advantages on the second one. Could you expand on that? The only advantages that I see are the ones that I listed


I meant it in a "reuse" tidbits kind of manner where you have plugins that are literally shared across wikis which would otherwise be scattered throughout them in different versions. You could and may even want to deploy a new core version like that.

Best wishes,

Tobias.
Reply all
Reply to author
Forward
0 new messages