Uncyclopedia:Rating System

From Uncyclopedia, the content-free encyclopedia

Jump to: navigation, search

edit Phase I:Concept

Perpetually on Hiatus

Welcome to Uncyc 2.0, the new paradigm shift of the future of the web. Utilizing our content-free core contempencies, we will adjust using our agile tactics to the constantly changing uncyclopedic joke market.

The concept is that we will instance a rating system in Uncyclopedia to assign a rating to each page. This is like the "validation" thing in Wikipedia which is being proposed.

  • Ratings will work for all users. Each user may assign a score to each individual revision of a page. Only the most recent score given by that individual will count. Anonymous users can make a vote once per IP per page.
  • The score of a page will be determined by the most recent revision scores given by all users for the page. This means the score attached to the latest revision, not necessarily the latest rating. When you click a rating, it will affect the current revision only. If you view a past revision, you can score that as well, and it will not affect your "resulting score". Users may revise their scores for any given revision as well as issue a new score for new revisions.
  • Administrators can clear scores or invalidate them, but given this system it seems unlikely that this will be necessary. I am currently leaning towards a five star scale, because it's easier to fit on the userbar.
  • A user that has not voted yet will see silver stars, and empty star outlines. Once they have voted, it will turn to gold stars, and outlines.

Concept mockup:

Mockup1

--Chronarion 23:17, 1 March 2006 (UTC)

Archive 1 Archive 2

edit Phase II: Code planning

Now's the time to figure out what kind of coding we will be using. Conceptually, MediaWiki is a php/mysql system. I propose that we use AJAX for doing ratings and interface it with a different table in the backend. Can someone with MedaiWiki experience explain a table structure for how we might do this, or explain how we can uniquely identify page revisions and such in the backend?--Chronarion 05:00, 18 March 2006 (UTC)

I can think of two general approaches for the database. One would be to addon something to the existing tables, and the other is to create a separate table.
If you use the addon approach, you would have to add two columns to the page table structure (page_rank, and page_votes_count). Then for recording each user's specific vote, you could either add something to the page table or addon something to the user table (I'm not quite sure how you could do that).
The other option, which I feel is much better, would be to create a new table called rankings. It would have three columns, page name, user name and vote (and maybe a fourth for revision, if you want to record that). You would probably still want the page_rank (and maybe page_votes_count) in the page table, since recounting the votes each time a page is accessed would put a heavy load on the MySQL server.
I really have no idea how well either of those would scale. MySQL is fast, but with option two the table is going to get huge really quickly. I know that big ranking websites have a each page as a table. If we are allowed to create new databases, that might be the way to go.
I'm not that familiar with the MediaWiki internals, but you might want to use something like this to call a php function with the ranking. This function then gets the username from the MediaWiki software, and manually connects to the MySQL database. Depending on how the MediaWiki software works, however, that might require two connections to the MySQL database (one for the MediaWiki username grabbing, then for recording and updating the rank).--(~Sir)Nuke || Talk v MUN v Not An Admin v Completely Unimportant 06:07, 18 March 2006 (UTC)
  • I think the tables should be independent of the existing mediawiki database tables and that there should be two new tables. The larger round_table should contain every individual vote on every article: .article_name or revision .user_name .vote; the smaller coffee_table should contain just the pigeonrank for each page: .article_name or .article_id .number_of_votes_cast .average_rank
    Each revision (unless deleted) has a unique number as a key within MediaWiki, so an SQL JOIN could be used if necessary to retrive info from both the main wiki tables and the vote tables in one operation. That's what relational databases are for.
    The big table would only need to be referenced when a vote is actually cast or updated (presumably from a specialpage: extension); it would then be used to calculate the data used in the smaller table when the page is displayed. Perhaps an extra line in MediaWiki:Sitenotice could invoke some new extension <pigeonrank>{{PAGENAME}}</pigeonrank>, which would look up the article name and return "this article was rated &sqrt;-1 by 1 flock of pigeons" in whatever format. I'd expect that there'd already be some sort of connection open to the database? --Carlb 16:15, 18 March 2006 (UTC)

I'm pretty sure the tables I laid out in the first archive will work for our needs. I'll repost them here for critique:

Vote:
  • vote_id -- Unique id for votes
  • vote_user -- User id
  • vote_page -- Page id
  • vote_rev -- Revision id
  • vote_val -- Value of vote
  • vote_timestamp
Score:
  • score_id -- Unique id for scores
  • score_page -- Page id
  • score_rev -- Revision id (if this is the overall page score, this should be 0 or NULL)
  • score_avg -- Average score
  • score_valid -- Boolean
  • score_count -- Number of votes (or the number of each type of vote, in a binary array)

Am I missing anything? Should anything be changed/improved? --Algorithm (talk) 03:49, 23 March 2006 (UTC)

A few questions. Are these votes anonymous to users who are not administrators, or can anyone see who has voted? Is it possible to get an option when voting to leave a short description why the user voted that way, in the same way a summary can be made when editing a page? Can it be made that if the rating of an article drops below a certain score, that an admin can see it and decide if the article should be voted on for deletion? I mean someone might vote differently if the article writer can see who left the rating. Even if the rating is anonymous, it might be good information to know why someone voted a certain way like two stars and a "too much random humor" or "needs coherant humor" summary. That way the article writer might know what to do in order to get a higher rating next time. If the rating drops below 1 star on average, it might be good to have an admin look into it. Either there is rating fraud, or the article is so bad it might need a vote for deletion. Just my two cents. --Lt. Sir Orion Blastar (talk) 00:23, 24 March 2006 (UTC)
Anonymous voting is generally preferable, as it encourages honest opinions. Regular users would see how many users voted for each value, but nothing further. As for admin patrols, we'll certainly have Special: pages that catalogue the best-voted and worst-voted articles for nomination purposes. I'm not sure how we'll go about handling feedback, but I doubt we'll need much more than the current method i.e. leaving anonymous critiques on the talk pages. --Algorithm (talk) 02:52, 27 March 2006 (UTC)
This is a great thought, as I love to vote. Vote, vote, vote... it validates my existence. Sometimes when I can't dream up my own article, I'll just vote on other articles to vent my frustration at my own lack of creativity, sheer stupidity and extreme ugliness. Problem is (as far as I've noticed) that I am not the only one who practices sucha inane concept. There are quite a few morons here who obviously take a great amount of pride in voting Against everything that is not their work. Voting on each article, anonymous or not, will only encourage more of this behavior. Why can't an article written by a volunteer just be an article sometimes? Does voting always produce beneficial results? Three words: George Walker Bush. 'Nuff said.
Oops, forgot to sign above --Imrealized 13:11, 25 April 2006 (UTC)
I see your point, but I think the usefulness of the system would far outweigh any such disadvantages. Also, assuming there are enough voting users, and each one votes on a decent variety of articles, things will either balance out or be critical/positive in a predictable way for which we can compensate either in the system itself, or in our interpretation of the ratings. --Spin 23:30, 5 July 2006 (UTC)
For THis would make voting and pee reviewing much easier and more accurate YAY UNCYCLOPEDIA! However, I'm against the idea of AJAX coding it would cause confusion and back ups during the switch and if it is possible keep the old one. Weasel3689 20:30 14 February 2007 (UTC)

edit Phase III: Development Hell

Ok, now somebody go do it. ... Anyone? ... Hello?--<<Bradmonogram.png>> 17:13, 6 August 2007 (UTC)

  • We did implement this a long time ago. To put it bluntly, it was horrible and was "voted down". --Sir OCdt Jedravent CUN UmP VFH PLS ACS WH 22:46, 17 October 2007 (UTC)


edit Phase IV: The Future

This article is now totally irrelevant now that we have a (different?) rating system. Or irreverent. It's easy to get those two confused. --Pleb SYNDROME CUN medicate (butt poop!!!!) 20:18, 24 March 2008 (UTC)

Personal tools
projects