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 <[email protected]> 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 [email protected] http://lists.xwiki.org/mailman/listinfo/devs