Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reviews and voting #14

Closed
codeinthehole opened this issue Apr 12, 2011 · 10 comments
Closed

Reviews and voting #14

codeinthehole opened this issue Apr 12, 2011 · 10 comments

Comments

@codeinthehole
Copy link
Contributor

Create a new oscar.reviews app which provides reviews and voting functionality.

  • Each product can have reviews attached to it. Each review has a title, a body and a score from 1-5.
  • Signed in users can always submit reviews, anonymous users can only submit reviews if a setting
    OSCAR_ALLOW_ANON_REVIEWS is set to true - it should default to false.
  • If anon users can submit reviews, then we require their name, email address and an (optional) URL.
  • By default, reviews must be approved before they are live. However, if a setting OSCAR_MODERATE_REVIEWS
    is set to false, then they don't need moderation.
  • The product page should have a review form on it, any errors in the submission will be shown on the same product page
  • The product page will show the most recent 5 reviews with a link to browse all reviews for that product.
  • The URL for browsing a products offers should be the normal product URL with /reviews appended at the end
  • The product page should show the average score based on the reviews
  • The review browsing page should allow reviews to be sorted by score, or recency.
  • Each review should have a permalink, ie it has its own page.
  • Each reviews can be voted up or down by other users
  • Only signed in users can vote
  • A user can only vote once on each product once

It might be possible to use the Django comments framework for this.

@ghost ghost assigned writefaruq Apr 12, 2011
@AndrewIngram
Copy link
Contributor

A more useful default sort might be the number of upvotes, that way a customer sees the most "valuable" opinions most prominently. Perhaps using recency as a secondary sort for the situation where none of the reviews have votes yet.

@codeinthehole
Copy link
Contributor Author

Good idea. We should make that an additional option as well as sorting by score and recency.

@kura
Copy link

kura commented Apr 27, 2011

Are we going to handle spamminess in any other way than moderation? On high volume sites this will be a royal pain in the arse.

@djm
Copy link
Contributor

djm commented Apr 27, 2011

Building on top of that - an even more useful sort would be a replication of the reddit one, as in - take time into account. A review from 3 years ago should not be as useful as one from last week. It's simple enough to do with a variable water-down constant and a bit of log.

@codeinthehole
Copy link
Contributor Author

@djm's idea is a good one. Once the basic reviews are done, we should write that one up as an enhancement ticket.

@kura - Spamminess is not something we've had to contend to date. One option would be Akismet or something like that but that it's paid-for for commercial apps. But I think it's too soon for this kind of feature. Maybe in a few months...

@djm
Copy link
Contributor

djm commented Apr 28, 2011

@codeinthehole

https://gist.github.com/4645a5f6591253bd9ed1

If you wanted to use it, I've already recreated it and that works brilliantly. The brilliance about the reddit algo is that it is not resource-intensive as the "score" of a certain object is only recalculated and saved on the object when a vote takes place. That way the ordering of the result set is simply by number.

@djm
Copy link
Contributor

djm commented Apr 28, 2011

@djm djm closed this as completed Apr 28, 2011
@djm djm reopened this Apr 28, 2011
@writefaruq
Copy link
Contributor

Thanks everyone for your inputs.

Although reddit's algorithm takes the recency of a vote into account it has not considered spamming as an issue (which we have to face sooner or later). I was trying to find something that takes care of spams algorithmically and found this interesting review paper: http://portal.acm.org/citation.cfm?id=1216307

I also personally prefer to show a diverse set of items which are not just popular items. That in turn reduces the risk of over/under rating an item by spammers or otherwise. Such algorithms are also available. Here is a review of few of them
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.156.97&rep=rep1&type=pdf

@codeinthehole
Copy link
Contributor Author

I think we're trying to run before we can walk. We're not going to have 1000s of reviews for a while so I suggest we just get the basics of reviewing and voting implemented now. We can worry about spam and clever sorting algorithms later on, YAGNI principle and all that.

For now, just go with sorting by date and number of votes.

@maiksprenger
Copy link
Member

We have had reviews for a while now. Closing as outdated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants