backdropcms.org icon indicating copy to clipboard operation
backdropcms.org copied to clipboard

Module listings sortable by date updated, number of downloads or installations

Open bugfolder opened this issue 4 years ago • 6 comments

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: modules table

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.

bugfolder avatar Oct 17 '21 18:10 bugfolder

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: sample

bugfolder avatar Dec 03 '21 02:12 bugfolder

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_release and borg modules, including a new Views handler to provide the number of installs.

bugfolder avatar Dec 03 '21 02:12 bugfolder

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_release module.

Any other thoughts, suggestions, ideas are welcomed!

bugfolder avatar Dec 03 '21 02:12 bugfolder

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.

olafgrabienski avatar Dec 03 '21 09:12 olafgrabienski

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"

oadaeh avatar Dec 05 '21 13:12 oadaeh

Can we close this in favour of https://github.com/backdrop-ops/backdropcms.org/issues/442 and consolidate efforts there?

ghost avatar Mar 04 '22 03:03 ghost

Sure. Closing in favor of https://github.com/backdrop-ops/backdropcms.org/issues/442.

bugfolder avatar Dec 12 '24 03:12 bugfolder