as noted in this issue and on this comment, im opening a issue to discuss the implementation of similar module functionality.

it would work as a method of listing other similar functionality wise modules, and not replacing the deprecated module functionality or in core functionality.

yet i have to say that all these features should work closely together, because they are very related.

example use case #1: admin sidebar
- admin and navigate are similar modules, and both have or will have a D7 port
- supernav is deprecated
- navigate also explicitly replaces supernav
- admin could also in part replace supernav
- admin and navigate could also replace admin_dashboard
- none of them are part of D7 core

example use case #2: dashboard
- managesite is superseded by a D7 core feature, the dashboard
- total_control has a D7 version, it is not part of D7 core
- both are similar modules, but total_control is more powerful/complex, more suited for advanced users (uses panels and ctools)
- udashboard is deprecated
- both could replace udashboard, although none explicitly does
- none of them are part of D7 core

example use case #3: top menu/toolbar
- toolbar is a backport to D6 of the D6 core module, Toolbar, with some additional functionalities. has no D7 version.
- admin_menu has a D7 version, which also emulates the Toolbar design, but it is not part of D7 core
- simplemenu also has a D7 version
- all 3 are similar modules, but none are really the same - admin_menu populates automatically, without giving control which menus are taken, but provides a fully cascading menu; toolbar allows creating custom menus, but aren't cascading; simplemenu is similar to admin_menu, but populates different cascading menus, more aimed at publishers
- none are deprecated
- admin_menu easily replaces simple_menu, but not toolbar directly - you would have to create custom menu entries with the menu module first
- D6 toolbar is not in D7 core; a different version of it is


lpalgarvio’s picture

sorry, i have a typo in there:
- toolbar is a backport to D6 of the D7 core module, Toolbar, with some additional functionalities. has no D7 version.

and forgot to mention that i'm not meaning that Upgrade Status would output that or like that - i just typed in that way so it's easy to understand.

IMO, the more logical way to output similar modules, for example, for supernav (itself being deprecated), would be something like this:
recommended modules: Navigate
other similar modules: Admin
other deprecated modules: admin_dashboard (if it gets deprecated, looks like that)

philbar’s picture

I've created the following issue for drupal.org infrastructure:
#937778: Similar Module Comparison

I think this would be a better method of providing Similar Module data than trying to keep a manually maintained list of all 6000+ modules.

lpalgarvio’s picture

i agree that Drupal infrastructure should itself have that (and other features i noted in the other issue) as tags set on the projects. i'll take a look at that issue

i inputted my ideas on it

provided that these tags do get in the infrastructure, A LOT could be done in this module without major data inputting.
perhaps it could even alleviate that problem.

philbar’s picture

I still don't see how adding this information will help Upgrade Status fulfill it's mission. Can you elaborate on why similar modules would be helpful for Upgrade Status.

In my mind, knowing about similar modules won't "provide an easy way tell when your website is ready to be upgraded to the next Drupal version" (quote from project page).

lpalgarvio’s picture

it will provide users with information on which modules could be used to achieve the functionality at hand AND also tell them which shouldn't be used at all.

and, given that many people likes exploring, if they know this information first-hand, they will avoid those which shouldn't be used, but if looking for something better, take a look at the alternative modules or the recommended modules.

from another perspective, it also gives additional information to maintainers of the projects, curious people and developers.

it doesn't hurts if Drupal Infrastructure does all the DATA work, leaving less code to be written, and if the extra fields are collapsed fieldsets.

from drupal infratructure / xml:
companions: projects which are good companions to the project being viewed
similars: projects which are similar in functionality (everything, better or not... so it includes bad/deprecated)
alternatives: projects which are alternatives in functionality (same or better)
recommended: projects which are the recommended upgrade/alternatives to this project (best alternative(s))

output by upgrade status #1: supernav
companion modules: n/a
recommended modules: Navigate
other similar modules: Admin, Navigate, admin_dashboard
other deprecated modules: admin_dashboard

output by upgrade status #2: admin
companion modules: admin_tools
recommended modules: n/a
other similar modules: navigate, supernav, admin_dashboard
other deprecated modules: supernav, admin_dashboard

modules that get repeated in multiple tags could be removed or strike-through, using IF clauses:
* if in (companion) then remove from (recommended, similar, deprecated) /* isolate companion modules */
* else if (!in companion and in recommended) then remove from (similar, deprecated) /* isolate recommended modules */
* else if (!in companion and !in recommended and in deprecated) then remove from (similar) /* isolate deprecated modules */
* else if (!in companion and !in recommended and !in deprecated and in similar) then donothing /* isolate similar modules */
(deprecated processing occurs before similar; for output it's reversed, for visual logic)

and an option could be added to switch off additional fields from the output of Upgrade Status: other similar modules & other deprecated modules

philbar’s picture

I have a feeling sun will consider this functionality out of the scope of Upgrade Status.

Sounds like this needs to be provided by another module called something like "Module Review" or "Better Module Finder".

Since this code is open source, you can clone Upgrade Status and strip out all the upgrade display code. Then you can generate another page to display a list of better modules based on currently installed modules.

Check out: http://drupal.org/developing/modules

lpalgarvio’s picture

seems module_supports is an attempt (dated 2009) to try to implement these ideas

worth nothing that.