Specs for an advanced karma system
I'm writing this to tell myself and others what exactly I intend to do and ask for feedback.
I will code an advanced karma function intended to;
Help mods to
* find off-topic or improper posts for removal
* determine which users form groups
* keep these groups from ganging up on others
and to show users
* where to find worthwhile posts
* and topics
* if another user is regarded as a troll
* or someone valuable to the forum
The way I intend to do this is by creating a system where users may rate each post + or -, and the data of who voted which post how and when gets saved. Each user has the number of +s and -s they have received displayed next to each of their posts, along with how the post itself has been rated.
A user won't be able to rate posts without limit. What the limit should be is yet to be determined.
Indexes are also generated based on this data in order to speed up the working of certain key functions, such as the advanced views on the data collected available to moderators. Moderators will for example be able to see which users often give each other good karma, or which often give each other bad karma. A lot of different statistical views would be possible to generate from the data collected.
Phase no. 1 in coding this would be to set up the database to collect the information of who, what, when and how.
Phase no. 2 would be to enable specific users to add karma and display it for users and posts, utilizing the tables created in phase no.1.
Phase no. 3 would be coding a ranking system which displays popular threads prominently, and popular posts within the threads as well.
Phase no. 4 creates the advanced functions moderators utilize to stop disagreements between users from getting out of hand
After this the main goals of the system has been reached, but the data collected still allows for much development to take place.
I could use some help regarding how to set up the database and how to organize the code. If you have a good idea on _how_ to do something, I would like to hear it and go straight to the doing. This way your experience on the subject comes to great use without you having to bother with the detail of the actual coding.
Thank you for reading, and please, may I have some feedback?
New Karma System (Theory)
Forum rules
Discuss features as they are added to the new version. Give us your feedback. Don't post bug reports, feature requests, support questions or suggestions here. Feature requests are closed.
Discuss features as they are added to the new version. Give us your feedback. Don't post bug reports, feature requests, support questions or suggestions here. Feature requests are closed.
Re: Specs for an advanced karma system
I've decided to add two INT columns each to _users, _posts, and _topics. In one column the total positive karma is displayed and in the other total negative karma is displayed. When the user clicks + or - on a post, the karma count is incremented by one for the user, post, and topic.nosforit wrote:I could use some help regarding how to set up the database and how to organize the code. If you have a good idea on _how_ to do something, I would like to hear it and go straight to the doing. This way your experience on the subject comes to great use without you having to bother with the detail of the actual coding.
I will also add a _karma table which logs user_id of the person who clicked the button, the post_id, the user_id of the receiver, time, a boolean for good karma, a boolean for bad karma, and an a unique key based on user_id and post_id.
The reason _karma logs both good karma and bad karma is that a user will be able to issue both + and - for the same post. This is because the user might both agree and disagree with the content of a single post. Then good karma alone would be incorrect, and bad karma alone would be incorrect, while controversy would be correct.
---
The very first thing that the system will do when a user clicks + or - is check if the user is allowed to rate posts based on some still obscure established rules.
Second the system checks _karma if the user has already issued that rating.
If not, the system increments the three appropriate fields and logs an entry into _karma.
When displaying this information to users the system will never have a reason transmit any data from _karma to users, except possibly if we want to tell the users that they have already issued the rating they are trying to issue. This should be impossible anyway by normal means.
This basically concludes the implementation details for Phase no. 1 and Phase no. 2.
Thank you for reading. I will begin coding now.
Re: New Karma System (Theory)
And now Phase no. 1 is done and I can retrieve the correct values to the correct places on the page. Learning AJAX now for getting input written in the database now.
Re: New Karma System (Theory)
How is this coming along?
Re: New Karma System (Theory)
karma = repu mod ?
Re: New Karma System (Theory)
Yes, the Karma system, will also be called Reputation MOD by some people.
Jim Mossing Holsteyn - Moderator Team Member
Knowledge Base | Documentation | Board rules
No support here on Area51, please visit the Support forums over at phpBB.com
Knowledge Base | Documentation | Board rules
No support here on Area51, please visit the Support forums over at phpBB.com
Re: New Karma System (Theory)
Its Feb 15m 2009
is there a mod for karma for phpbb3?
i read many people promising to make one
but i cannot find anyone coming through?
please please help me find one!
is there a mod for karma for phpbb3?
i read many people promising to make one
but i cannot find anyone coming through?
please please help me find one!
- darcie
- Former Team Member
- Posts: 189
- Joined: Mon Mar 12, 2007 7:32 pm
- Location: Davis, California
- Contact:
Re: New Karma System (Theory)
This topic has become more a MOD Request than the discussion it began as almost four years ago. It seems to have lived a long life, but its time is now up. For MOD Requests, please use the appropriate forum: [3.0.x] MOD Requests.
Topic closed.
Topic closed.