Problem/Motivation

End-users browsing or searching among the modules, themes or profiles frequently have to compare similar-seeming projects, or, choose projects based on some perception of reliability, maturity and supportability.

The only "metrics" available to include in one's evaluation are: Sites reporting use, and, the actual issue queue (total volume, ratio of open to closed, ratio of bug-reports to all issues, etc).

Many end-users aren't prepared or possibly even capable to do comparative code-reviews, or even stand-alone code-reviews in the case that a project doesn't overlap with others. So let's "crowdsource" some additional, organic, human-contributed metrics to supplement the evaluation activity, by adding a ranking and reviewing feature to Project pages.

Proposed resolution

Add Fivestar and Comments (prominently labeled "Reviews") to Project pages. More details under "UI Changes" below.

Remaining tasks

Prototype this in a d.o sandbox.

User interface changes

Enable Comments, label it "Review" so it doesn't turn into unstructured chatter. Configure the comment-stream to generally be flat, but allow project maintainers to post threaded direct reply (to either express thanks, respond to a flame from a mis-informed user who hadn't found the README, or announce a feature in response to a shortcoming mentioned in a review - things like this).

Install Fivestar and dependencies. Probably limit voting to d.o account holders (no anons).

Create a new project-attributes block on Project pages, maybe labeled "metrics" or "HotOrNot" or something... Include in this box the fivestar ratings count and average, the reviews count, and the "sites using" number, the "created" date and the "last updated" date, and maybe include some metrics from the "issue-statistics" page like the totals and ratios mentioned above, the "average issue lifetime" metric, as well as maybe date of most recent maintainer response in queue and/or date of most recent issue closure.

Original report by beanluc

Stems from discussions in the Code Review group: see http://groups.drupal.org/node/180444#comment-599769 and http://groups.drupal.org/node/178364#comment-592104

Comments

greggles’s picture

Mostly sounds great to me. I think we should not put the review comments under the node. We'll want something like http://drupal.org/project/talk that hides them away somewhere else.

One other idea is to be sure that reviewers are encouraged to keep their reviews as reviews and not post bug reports. We should have some policy like reviews that include bug reports will be turned into issues and deleted or something like that.

For the label, I like "Reviews" more than "metrics" and definitely not "HotOrNot."

greggles’s picture

Here are some other great prior conversations - http://groups.drupal.org/node/86819
http://groups.drupal.org/node/7191

webchick’s picture

Also note https://infrastructure.drupal.org/drupal.org-style-guide/prototype/modul... which has an existing mock incorporating both ratings and reviews.

mototribe’s picture

that would sure be nice!

beanluc’s picture

Related but separate issue: http://drupal.org/node/1302994

beanluc’s picture

dww specifically pointed me to one of greggles' links above, for the sake of highlighting a previous wish-list.
http://groups.drupal.org/node/86819

Virtually all of those items have to do with automated metrics from the project infrastructure. I'm not going to take that on right now. Instead, I'm going to focus on enabling the human feedback. That was the original subject of this FR.

One bit at a time. I'll be glad to keep going with further enhancements. I just want to do the parts incrementally rather than hold quick progress up for the sake of implementing a "suite" of features all in one release.

I'll open another FR issue later.

tvn’s picture

Status: Active » Closed (duplicate)

Closing this one as duplicate. The plan for Project reviews/ratings etc. is now formulated here: http://drupal.org/node/1580230 with active issues #1637534: Implement project reviews and #50605: Add user ratings for projects.