By Tomas on Thursday, 23 January 2014
Posted in General Issues
Replies 1
Likes 0
Views 878
Votes 0
Hello!

Out of the box badges and points system is nice to have, but it needs to be more flexible in order to implement other use cases.
First thing - not only the frequency has to be counted, but also the points.
For example, now i have such the scale and the badges:
* 1 year student: 1000 pts
* 2 year student: 5000 pts
* 3 year student: 15000 pts
* 4 year student: 30000 pts
* 1 year master student: 50000 pts
There is no way to make this happen as only frequency is counted.

Of course, it is possible to map frequency to points, but it is not the case when people can receive different number of points for the same activity.
For example, if people solve an easy task - they receive 100 points, if hard - 1000 points.

Also - it is necessary to track the source of received points. In my case - let's suppose people received points for solving "task 5". Is ok, but administrator to delete the task or to change its number of points. So - it should be the possibility to remove (or change) these points from history. Therefore in the history we need to have some kind of referenceid which would be interpreted by applications in the way they want to.

To sum up, it would be nice to have:
1) Amount of the points for badge rules to receive that badge (can be optional)
2) A method to assign specific number of points (not decided by points rule):
public function assign( $command , $extension , $userId, $pointsToAssign )
and/or
public function assign( $command , $extension , $userId, $pointsToAssign, $referenceID )

in points.php
3) ReferenceID in the points history table and dedicated method(s) to change/remove points referenced for specific ReferenceID.

Would really like to have these simple things. Guess it would significantly broaden applications of easysocial badge/points system.

Tomas
Hi,

We will see if we can implement this in the future.
·
Thursday, 23 January 2014 09:55
·
0 Likes
·
0 Votes
·
0 Comments
·
View Full Post