Hi,
Re Requirements:
1. "Store the ratings somewhere nobody (except admins) can modify it"
As you can see from the Ratings API [1] (former plugin) you can specify the
"xwiki.ratings.separatepagemanager.spacename" parameter can be passed in
order to store the ratings not inside each rated page (extension page), but
in a specified (admin controlled) space where regular users are not allowed
to act upon. No need for anything else, AFAICT, on this topic.
3. Add a new java interface to manipulate ratings in repositories or
directly in extensions
Yep, based on availability, some repositories might implement an interface
such as "Rateable" (or whatever we want to call it), and if such, their
extensions should allow displaying and specifying a rating. One small
complication I see here is the rating from inside Extension Manager part,
since that would imply that the local XWiki instance is associated with an
e.x.o user account on behalf of which the rating will be performed. Even
so, it should be just a matter of proper UI.
Re Use Casese:
UC1: Individual ratings per extension version
I don`t really agree with this, since this approach has many disadvantages,
reason enough for other rating systems (Android Market, Firefox Addons,
etc.) not to apply it. We can elaborate more on this if you like.
UC2: Posting a comment along with the rating of an extension
This could be a bit complicated:
- Extension owners should not be allowed to delete bad reviews of their
extensions (so these comments should not be stored inside the extension
page itself where the extension owner has edit rights)
- This could be a more general topic, since a rating application should
store additional metadata of the particular rating: version, comment
(review), OS, browser version, etc. Note: Whatever changes we do to the
ratings app to achieve this, we need to keep them generic enough to cover
other use cases outside of the Extension Repository.
- Re the comment and the 2 mentions above, it can be either stored in the
rating itself (like the comment metadata) or inside a regular XWiki comment
and the rating will only store an ID of the comment to be retrieved on
request (though this can quickly get out of synch). I`d be +1 for storing
it in the rating, as a metadata.
UC3: Number of downloads (per version and total)
This use case does not seem to be related to the rating effort, so I
suggest removing it from this plan and possibly handling it in a separate
approach related to statistics on extensions managed by the XWiki
Repository App.
UC4: Spotlight apps (having a page where a user can find recent apps which
have received good feedback)
Again, this does not seem to be related to the rating effort, but instead
to using the results of this effort, which can be handled also in a
different approach.
Thanks,
Eduard
[1]
http://extensions.xwiki.org/xwiki/bin/view/Extension/Ratings+API
On Mon, Nov 17, 2014 at 4:42 PM, Victor Rachieru <victor.rachieru(a)xwiki.com>
wrote:
Hei devs,
I'm looking to improve the Extensions Repository Application by
implementing a rating system.
The ratings for each individual extension should be availble from the
Extension Repository Application as well as from Extension Manager.
I've created a design page for my proposal where I describe a few ideas on
how to get this feature started.
Please review the document and share your opinion of how we should proceed
to implement this feature.
The proposal can be found here:
http://design.xwiki.org/xwiki/bin/view/Proposal/Extensionrepositoryratings
Thanks,
Victor
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs