Module listings sortable by date updated, number of downloads or installations
From a Zulip discussion, it would be nice to have a listing of modules (themes, layouts) that shows the most recent updates.
Perhaps a table of modules that is click-sortable by update date; in which case it would also be nice to be able to sort by installation count (or as a proxy, download count) to see what the most-used projects are.
Possible example:

I note that installations isn't shown here, because that field isn't exposed to Views (and would be a bit tricky to implement click-sortably, because there are multiple entries in its corresponding table for each project). But I think it would be more useful than downloads.
I've created a PR that creates a View similar to the above but with a little more functionality. In the current Tugboat, it's at https://pr851-lyg9rsojhdq2hmthcelhwb7fmudlwi1h.tugboat.qa/module-browser. It looks like this:

The implementation is:
- a new View,
project_browser - Installation of the Better Exposed Filters module (which gives immediate results to the filters)
- Some changes to
project_releaseandborgmodules, including a new Views handler to provide the number of installs.
I'm soliciting further input. Some questions that come to mind:
- If this (or something like it) is a good thing, where should it go? Linked from /modules? A separate item in the Add-ons menu?
- Should the table include all projects (not just modules) and then let the user filter by type of project? Or (as in this example) should we have separate pages for modules, themes, layouts? (And possibly also "utilities", which was raised in the 12/2 dev meeting.)
- You'll note that "Installs" is not click-sortable or filterable ("show only modules with at least 3 installs"). That's because there's not a corresponding field in the project table (or one reachable by a relationship). It would be possible, in principle, to add a field to the project node that contains the latest number of installs, which would then make this click-sortable and/or filterable, but that's a bigger change to the
project_releasemodule.
Any other thoughts, suggestions, ideas are welcomed!
Any other thoughts, suggestions, ideas are welcomed
Looks promising! Some quick ideas:
- Add a Reset button.
- Display the number of results.
- Make the filters less complex: remove items per page and the option to change the filter method, just choose the most useful, e.g. "Contains" for description text.
I think it looks good.
I agree with @olafgrabienski's suggestions.
I have a few myself:
- You have a filter for Description, but are displaying Title, and it might be that that will cause confusion about what is being searched for and what is being displayed, so I would either add a Title filter or change the column label from Module to Title (or indicate the disconnect in some other way)
- Unless you're creating separate pages for each project type (module, theme, etc.), either add a filter on project type or display it as a column in the table
- I feel like Tags is an unnecessary column
- How many releases are there per version? I believe there's only 1, so I think instead of "Latest release," the column label should be something more like "Released on" or "Date released"
Can we close this in favour of https://github.com/backdrop-ops/backdropcms.org/issues/442 and consolidate efforts there?
Sure. Closing in favor of https://github.com/backdrop-ops/backdropcms.org/issues/442.