decidim / decidim.org

Decidim.org public landing website. Made with Middleman.
https://decidim.org
GNU Affero General Public License v3.0
8 stars 18 forks source link

Show modules status on modules pages #316

Open Dynnammo opened 2 years ago

Dynnammo commented 2 years ago

Currently, when visiting the modules pages : https://decidim.org/modules/, we see all developed modules throughout time.

However not all are up to the latest versions of Decidim available.

It would be great for each module to show (in a manner that could be discussed), the current status of the module (unmaintained, up to 0.xx)

andreslucena commented 1 year ago

Great idea @Dynnammo

It shouldn't be easy to implement this, by adding a new attribute in the module's definition YAML and then to use that attribute to show it as a label in the site. An example on one of those files: https://github.com/decidim/decidim.org/blob/main/data/modules/access-codes.yml

It would be great for each module to show (in a manner that could be discussed), the current status of the module (unmaintained, up to 0.xx)

IMHO if it isn't updated for a number of versions then it isn't maintained anymore. For instance for decidim the policy that we're following is that we're maintaining the last two minor versions (0.26 and 0.27 currently), and the other versions aren't maintained. What do you think if we follow the same logic for the modules @Dynnammo?

In the future we could also automate this update of compatible versions, by using the Gem::Specification or by checking periodically with rubygems API, although we should also take into account gems that aren't published there (only on GitHub or other platforms).

Dynnammo commented 1 year ago

I think the best way would be to use colors or maybe a tag system showing the latest version available.

As instance, if the module is indeed available in the 2 latest minors, it should have a green badge with latest version on it. If not, recover the latest compatible version with a red color.

Agree with you on the automating part, it would be very troublesome to do it manually. We could start by veryfying the Github latest release, since we already have the link to the development repository

andreslucena commented 1 year ago

We could start by veryfying the Github latest release, since we already have the link to the development repository

We can't use the "Releases" feature in GH as it's not a feature used extensively. For instance: https://github.com/Platoniq/decidim-module-access_codes

They're not using it, and the installation method is using the GH url:

gem "decidim-access_codes", git: "https://github.com/Platoniq/decidim-module-access_codes"

So, I think we would need to install it, as we can't parse the s.add_dependency "decidim-core" string in the gemspec as most of the times that's defined using a constant: https://github.com/Platoniq/decidim-module-access_codes/blob/058a34efd707d951fadf4afe37d46419626c578e/decidim-access_codes.gemspec#L29