Userpoints - how custom it can be?

Events happening in the community are now at Drupal community events on www.drupal.org.
Eli Baskin's picture

Hello,

First of all, I'd like to say that I am a complete Drupal newbie. In fact, I don't have a single production site working yet, although I do have a couple test sites. My experience with PHP and mysql is rather limited.

I am looking to create a community website, where you can evaluate other people articles and contributions. Furthermore, each user has his own value, depending on how other users evaluate his own work.

For example, we have three users: John, Sandy and Sam, each has initial rating of 1. Sam publishes an article, and John gives it a rating of 3. Sams' rating goes up according to this formula: number of points he had plus (number of points he was granted multiplied by the number of points John had), meaning 1+3 multiplied by 1=4, so Sams' new rating is 4.
Now, Sandy publishes an article, and Sam is rating it as 5. Sandys' new rating will be 1 + 5 multiplied by 4 = 21 (5 for the rating, multiplied by the number of points Sam was worth).

The idea is to create a voting system where not all votes are equal, and you gain your worthiness according to how other people see your contribution.

My question is whether you think userpoints module can develop (or be developed) to the state where it provides the functionality I am looking for, without completely rewriting it. If the answer is yes, I will try to join the developers and add this functionality. If the answer is no, I guess I will try to think whether userpoints is the right module to do the job, and try to find another module. I do believe that userpoints might be what I am looking for.

Looking forward for the discussion,

Eli Baskin.

Comments

As custom as you want it to be

kbahey's picture

The pieces are already there.

Usepoints is basically and API for a points store. Points are added/deleted depending on what you want them to be.

Userpoints Voting API is also available to award points for voting, ...etc.

What you need is to write one or more custom modules that use these pieces in the way you want.

Drupal performance tuning, development, customization and consulting: 2bits.com, Inc..
Personal blog: Baheyeldin.com.

Drupal performance tuning, development, customization and consulting: 2bits.com, Inc..
Personal blog: Baheyeldin.com.

Bridge of userpoints and voting API

jredding's picture

The short examples you provided seemed pretty straightforward to implement although you're looking for a combination of voting API and userpionts. Voting API stores the votes but you'll have to intercept each vote to change the actual numeric value of that vote (i.e Sam's votes counts as 1, but Julie's as 3). Userpoints would simply store a number of points associated with the various actions.

In short I'd use
-userpoints API for a repository to store action items points
-voting API to store actual votes on nodes.

you'll have to write the bridging application to match your business logic but using these two pieces will significantly cut down your work.

-Jacob Redding

-Jacob Redding

User Points

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: