Not logged in. · Lost password · Register
Forum: Community dokuwiki.org RSS
Move "not maintained anymore" plugins to a separate section ?
Avatar
dinsdale #1
Member since Oct 2016 · 30 posts
Group memberships: Members
Show profile · Link to this post
Subject: Move "not maintained anymore" plugins to a separate section ?
Hi,
although there are really a lot of plugins there also exists an increasing number of extension, which are marked as not being maintained for more than 2 years. At least if these also have no valid compatibility info or are tagged as "broken" for current dokuwiki releases wouldn't it make sense to move these to a "legacy" area ? I think it would give a better view on active ones because there is a fairly high number of extensions, which make Dokuwiki so versatile.
Avatar
turnermm (Moderator) #2
Member since Oct 2009 · 3698 posts · Location: Canada
Group memberships: Global Moderators, Members
Show profile · Link to this post
But many of those plugins that are over 2 years old still work.
Myron Turner
github: https://github.com/turnermm
plugins, templates: http://www.mturner.org/devel
Avatar
dinsdale #3
Member since Oct 2016 · 30 posts
Group memberships: Members
Show profile · Link to this post
Well, I took the "2 years" period just because of the automatic warning in the plugin directory. I also don't want them to be completely removed but separated, because there is a relevant number of extensions where also completely no compatibility info exists and on newer PHP versions it gets more riskier to install such a plugin from my experiences. There are also a lot of real old ones ( > 5 years ) with minimal info or also broken links. Maybe a script could detect these automatically. I think the directory gets bloated and hides active ones as the filtering options are limited.
Avatar
ach (Administrator) #4
Member since May 2006 · 1872 posts · Location: London, UK
Group memberships: Administrators, Members, Super Mods, Wiki Managers
Show profile · Link to this post
I would also like use to be bolder and "remove" old plugins which might cause more harm than good.
I thought we had discussed this a few times but the only reference I could find quickly is on https://github.com/splitbrain/dokuwiki-plugin-pluginrepo/p…

The issue is not finding those plugins to be deleted or doing it, it's agreeing to the rules under which circumstances to do it.
As I wrote in that discussion:
We wouldn't need to remove the whole page of an obsolete plugin, just deleting the plugin header is enough to remove them from the database.

I'd generally like to keep old plugin pages, if only to let users who follow the link from their plugin/extension manager know that the plugin is old or not supported or not available anymore. But I'm very much in favour of removing clearly unusable extension from the plugin/template repository.

Maybe we should come up with a set of guidelines how to remove old extensions (similar to what we have for adoption).
Avatar
rgleason #5
Member since Sep 2016 · 171 posts
Group memberships: Members
Show profile · Link to this post
Subject: Maybe leave the list and have a Current List?
Just create a List of Plugins that work with the current Version.
Then as old ones are updated, they get added.

Then when another version of Dokuwiki comes out, Start a new list.
Avatar
dinsdale #6
Member since Oct 2016 · 30 posts
Group memberships: Members
Show profile · Link to this post
In reply to post #4
That sounds to me as an interesting approach. I think it would be a benefit for all active users to focus on the currently supported extensions or the actively used ones while keeping the old ones for reference. Some maybe still a starting point for an updated approach.

I think, one could gather semi-automatic compatilibility info from the popularity feedback ( if that isn't already the case yet). I don't know how the compatibility info is generated, whether its totally manually done or by popularity feedback. Even if the plugin isn't really supported anymore that shouldn't be a reason not to be working anymore if it shows up in use in an actual DW installation. I suppose popularity feedback also gather infos about the PHP runtime, which could be interesting as the current transistion to PHP7.x is showing.

I don't know whether there exists a Plugin APi Version list, where you could find hints whether there is a breaking change in API behaviour which will render older plugins incompatible. If not such an info exist it woul be probably very helpful for future development.
This post was edited on 2017-02-28, 09:16 by dinsdale.
Avatar
andi (Administrator) #7
User title: splitbrain
Member since May 2006 · 3116 posts · Location: Berlin Germany
Group memberships: Administrators, Members
Show profile · Link to this post
In reply to post #5
Quote by rgleason:
Just create a List of Plugins that work with the current Version.
Then as old ones are updated, they get added.

Then when another version of Dokuwiki comes out, Start a new list.

Are you volunteering to maintain that list? Are you volunteering to check if a plugin works with a new release or not?

Quote by dinsdale:
I think, one could gather semi-automatic compatilibility info from the popularity feedback

This sounds like a more useful approach. Trying to figure out compatibility by seeing if plugins are installed and used in certain DokuWiki releases could work. The installed part is easy to get from the current popularity data. The used part is harder. I might have a syntax plugin installed that for some reason no longer works (that rarely happens btw) but as long as I'm not using that syntax I will never notice that it doesn't work and thus will not uninstall it.

A note on compatibility: most compatibility problems arise in the following areas:

  • plugins are incompatible with newer PHP versions (especially 7.0 and 7.1) - this is unrelated to the DokuWiki version
  • plugins are incompatible with newer (JavaScript) library versions (eg. the new jQuery3 in the recent release)
  • action plugins use an event that no longer exists or provides different data now - we try to avoid that but it happens from time to time
  • plugins are incompatible with other plugins - this affects mostly JavaScript heavy plugins but is not restricted to them
  • plugins rely on DokuWiki internals that changed - mostly more sophisticated plugins are affected (not the mass of the plugins)
  • bit rot ;-)

Many of these problems will happen on some installation while not happening on others. So even when we get the info from the popularity data that a plugin is used on one particularly DokuWiki version, it doesn't mean it will always work on that version.

Anyway. The repository code is available here: https://github.com/splitbrain/dokuwiki-plugin-pluginrepo I'm looking forward to the pull requests.
Read this if you don't get any useful answers.
Lies dies wenn du keine hilfreichen Antworten bekommst.
Avatar
dinsdale #8
Member since Oct 2016 · 30 posts
Group memberships: Members
Show profile · Link to this post
Hi Andi,

very interesting post!

The used part is harder. I might have a syntax plugin installed that for some reason no longer works (that rarely happens btw) but as long as I'm not using that syntax I will never notice that it doesn't work and thus will not uninstall it.

Wouldn't it be easy to gather the "activated" flag of the plugin list extending the popularity feedback ? At least this could maybe implemented in future releases for easier tracking ( maybe by writing plugin UPPERCASE in the feedback when its activated). That way it would be a bit more reliable that a plugin is potentially active and doesn't break the runtime code. Of course if a syntax plugin is not used at all it won't be detected anyway. But one could maybe add a reliability counter, so if a certain amount of installations uses it it will probably not harm the wiki. And I think that is what count's most. It's really annoying if the wiki isn't accessible anymore after an update or installation and one has to remove the breaking plugin with the shell, without knowing what happened. Another problem could be that the popularity feedback doen't give infos about the installed plugin version, which may be also interesting ( as seen with the gallery plugin ).

Of course it is not perfect and tracking depedencies is nearly impossible it would probably improve the catalogue.

I'm just getting another idea:

Would it be possible create an continous integration environment which simply makes a clean wiki install with an installed plugin and check, if the wiki is acessible. That way one could detect breaking changes directly after the installation process. That could be automated for the plugin directory, so at least each plugin would get tested automatically with a common basic environment. That would be probably not too often the case, so processing load should be manageable hopefully. That' just some spontaneous thought, so there are probably several caveats. I've no real insight into the plugin api, but one could think of extending the plugin API to provide a kind of automated self decription / example page which can be automatically rendered or used in CI to provide a defined testscenario. Basically for syntax plugins this could be a function returning the string to a demo usage containing some options and being renderable. 

As far as I understand there is no kind of "ApiLevel" like on Android e.g., which could maybe also used to detect breaking changes ?

Unfortunately I'm not really into PHP development and I've really limited resources to contribute, but I love Dokuwiki as swiss knife which can get quite complex but still remains (mostly) easy understandable and maintainable. Thank's for that!
This post was edited on 2017-03-02, 14:53 by dinsdale.
Avatar
ryan.chappelle #9
User title: Chilean DW Fan
Member since May 2008 · 216 posts · Location: Temuco, Chile
Group memberships: Local Moderators, Members, Newsletter Team
Show profile · Link to this post
Just create a List of Plugins that work with the current Version.
 Then as old ones are updated, they get added.

 Then when another version of Dokuwiki comes out, Start a new list.
While I like the idea in general, there are a number of minor problems with that approach. Andi already mentioned one - someone has to do the work, and keep it up to date. Then there's the fact that we are already supposed to have that, via the "works with" marker in the plugin pages... except that either doesn't really work or is not easily maintainable. I have myself found unable to use the syntax in the pluginrepo page for marking my plugins as compatible with "X version onwards" or with "ALL DW versions" - tried stuff like ">= Angua" or "Angua+" without good results, so that makes an extra burden for me or my users because unless someone is always verifying, there's no programmatic way to know if a plugin works or not.

The idea of keeping an archive of unmaintained plugins makes a good lot of sense mostly because people who have been using those plugins should be able to reach the latest versions, even if they are chronologically old. That's just good software distribution practice. I am opposed to the idea of removing plugins just because they are old. I have seen plugins that might be old but still work without issues, and do what one wants of them. In particular if there are no actual "more modern" alternatives to those plugins, then removing them is more harm than good. I mean, if someone wrote a plugin in 2009 that adds two numbers, why would it ever have to be upgraded? Unless math changes, or unless the core DokuWiki engine changes and no longer uses + to add numbers, or no longer even uses numbers at all, it will work on forever.

Wouldn't it be easy to gather the "activated" flag of the plugin list extending the popularity feedback ?
IMO this has a lot of sense. There are minor gotchas because of using the popularity feedback as a base, which mostly have to do with interpreting the stats and determining what counts as an "active" install, but overall I think the base idea is that if someone went to the extent of installing a plugin, and keeping it activated, it must have been because it works, even if it is only 3 people, or even if those people are still using a DokuWiki (and a version of the plugin) from 2013.

Are you volunteering to maintain that list? Are you volunteering to check if a plugin works with a new release or not?
While I'm not rgleason, I'm interested in knowing if anyone would be interested in setting up or maintaining a live demo site, for I have a live demo set for some old DW versions and their plugins, and I presume the information would be just as valuable as information about a new release, thus worth to pass on if requested to do so.
Chilean DW Fan!
my plugins for DokuWiki
GULIX, my area's LUG
Surviving earthquakes since Feb 2010!
Avatar
ach (Administrator) #10
Member since May 2006 · 1872 posts · Location: London, UK
Group memberships: Administrators, Members, Super Mods, Wiki Managers
Show profile · Link to this post
Quote by ryan.chappelle:
I'm interested in knowing if anyone would be interested in setting up or maintaining a live demo site

Ages ago I set up http://demo.selfthinker.org/ to have a demo site initially just for my plugins and templates. Although I planned to extend that to have some kind of curated "best of" all plugins and templates, I never had the time to even add all of my own stuff.
I still think it's a good idea (although for other reasons than what this thread is about) but just don't have the time.
Avatar
rgleason #11
Member since Sep 2016 · 171 posts
Group memberships: Members
Show profile · Link to this post
Subject: Popularity plugin
Sorry, but I would rather figure out a good way to keep the current plugin list maintained automatically, than to do it manually.

The popularity plugin seems like a good approach.

When I first wanted to add plugins I was very cautious and wanted to know how many people were using a certain plugin with a given version of docuwiki. If this data were available as a page perhaps with users posting to the plugin forumwhen they find a plugin incompatibility when they found that, we would have a better guide for active plugins.

I know my first steps with plugins were assisted by Myron's knowledge and suggestions when I needed to do a specific thing. This was invaluable advice considering the large field of plugins!

I should really have lokked at Popularity again to recall how it works. So Sorry if I missed something.
Avatar
rgleason #12
Member since Sep 2016 · 171 posts
Group memberships: Members
Show profile · Link to this post
https://www.dokuwiki.org/plugins?pluginsort=^c#extension__table

This page is quite useful for a new user considering plugins.
I would like to see it promoted more with a single link in the right place on the website.
If the popularity bar also indicated numbber of users it would increase confidence, particularly if the numer is greater than 5 to 10.

It would be helpful to have a dropdown selection for Docuwiki Version name.

Additionally somehow if possible, it would be great if we could add a list of plugins to see if any others are using the same combination.

This popularity display should solve the new user question, which plugin is safe to install?

Unfortunately I did not find it when I started using docuwiki, bowever I think this page may have improved since then.
How can we make this imcormation more prominent on the website.
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Go to forum
Imprint
This board is powered by the Unclassified NewsBoard software, 20150713-dev, © 2003-2015 by Yves Goergen
Current time: 2017-05-27, 06:36:42 (UTC +02:00)