When is a plugin too old? (still ok: danielo515 EncryptTiddlerPlugin)

As the core evolves, how should we think about plugins and whether they need updating, assuming the plugin developer is not active here? This is the plugin I’m thinking of today:

https://danielorodriguez.com/TW5-EncryptTiddlerPlugin/

Unless it’s by some pseudonym, I don’t see signs of Danielo here.

The plugin has been around since 2015, but the last active development was 2020, with a brief note added to the website in 2021.

There may be no uniform answer to the question “How old is too old?” — some plugins are simple, others are complex; some changes to the core may matter, while others don’t.

When it comes to encryption, my guess is that more recent versions of the core might be different in ways that interfere with assumptions baked into the plugin…

Any insight?

Did you test the plugin? … Did it work with tiddlywiki.com or latest empty.html?

This plugin only contains 1 .js tiddler: Encrypt Tiddler Plugin — Encrypt single tiddlers, which looks good

It does not modify any ViewTemplates … It “only” adds a new toolbar button.

I did a super short test and it worked for me. … So it should be usable. … BUT you need to make your own tests.

I did test empty.html with the TW5-EncryptTiddlerPlugin as the only plugin … So no promises for your configuration.

2 Likes

Hi @Springer our hardline backwards compatibility policy should ensure that the majority of plugins that have been written for TW5 should still work today; unknowingly breaking an old plugin would generally be considered a bug that should be fixed. The concern is more that quite a few older plugins are now obsolete, with their functionality having been added to the core over the years.

In some software communities the lack of updates of something that still works is usually considered a sign that the software is mature. I can see how that can be misunderstood in a rapid changing environment like JS is.
The plugin still works and does not need any update because the plugin is simple and the functionality from the core that it uses is well encapsulated and the API has been kept stable.
The plugin accomplish one single task the core does not provide, which is a simple UI to access the encrypt functionality, and the core has no reason to implement this because there is a well know mature plugin available.

5 Likes

Great to see you here @danielo515, I hope all is well.

What you say is true; given our backwards compatibility policy, the lack of updates for a mature plugin should be considered a positive.

2 Likes

Of course. TW backwards compatibility is a pretty uber simple, non issue.

Mr @jeremyruston has done his best to look as much backwards as forwards.

I’d say that care is a TW+++.

Of course there are lonesome breaks.
Though there are few and easily fixable.

TT

Hi @danielo515 — thanks for speaking up!

Unfortunately, my level of expertise is not enough to judge whether some revisions to the core would interfere with a plugin such as yours.

For context, just a couple weeks ago I was troubleshooting a site with RSOD javascript errors, and someone pointed out that I was running some outdated and unreliable plugins (which had not been causing trouble, so I was not worried about them… and they were not the actual cause of my RSODs, it turns out). So I’m wondering how to evaluate the viability of plugins over time.

As you can tell from the thread, some very competent folks here pretty quickly verified that your plugin is — as you say — “mature” rather than neglected.

Thanks for your work in filling this important niche!

-Springer

One approach is to search for the functionality you are after or provided in a give plugin, on tiddlywiki.com and talk.tiddlywiki and try and use a native tw5 method. The result is if you cant do it natively then the plugin has not being superseded by core changes and is more likely to still work.

  • I expect plugins are more likely to break or break tiddlywiki once their functions enter the core.

This is part of my argument to avoid javascript solutions in favor of native tw solutions and if you must try and build a solution that may one day go to the core or core plugins.

  • better a solution for all rather than yet another plugin you must install.