HC,

This is a very good Question. I think whilst coding can be a science 
sometime it becomes an art. Here are a few thoughts that may guide the 
decision

   - Do the various features of the belong as one logical unit?
      - This seems so when there are dependencies
   - Are the features valuable stand alone?
   - Weather or not to package has a lot to do with the total size of the 
   package, 
      - if small, package then if you can name that package in a way, that 
      the name for the package suggest whats is in the package
   - Increasingly others are looking to bundle via a library, this may be a 
   way of not having to choose;
      - Divide them into standalone components that can work together, 
      bundle them in a library.
      - Design to avoid shared tiddlers etc... however if it is :necessary: 
      you can code checks and balances in each plugin.
   - For basic features try and write your equivalent function such as css 
   rather than depend on a broader solution such as Shiraz
      - When you need a lot of the third party plugin perhaps make it a 
      dependency.
      - Given the broad licensing in many cases you could provide a link to 
      the other parties code or even bundle it with your package (as an option, 
      although a frozen version)
   -  Consider a solution that works but omits a feature unless an 
   additional feature is installed, including whether a third party plugin is 
   installed.
   - You can test for the existence even enable/disable state of plugins 
      and packages
   

Just some thoughts
Tony

On Sunday, May 10, 2020 at 4:17:01 AM UTC+10, HC Haase wrote:
>
> In developing my plugin I can see a couple of features could be usefull as 
> seperate plugins of there own.
>
> I wonder what would  be best practice
>
> 1. To keep everything in one plugin 
>    self contained, easy to install, but only on plugin. However, if 
> functions are copied to another plugin later, this would take more space. 
> It could also complicate things if two plugins edit the same shadow tiddler.
>
> 2. Make a main plugin with dependencies on smaller plugins
>   This would give several different plugins but would be more cumbersome 
> to install and to maintain. And it could be a mess in the future, if by 
> mistake, a plugin update will break a dependency.
>
> And what if you use something from a plugin from someone else? E.g. a 
> background from shiraz. Then you have no control over future updates. Would 
> it then be best to copy the function from the plugin to your own or to make 
> a dependency? 
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/dac2f9eb-72ec-4643-b4a6-6e30511686ac%40googlegroups.com.

Reply via email to