Feature #14091
open
"Achievement System" or "Badge System"
Added by Kan Liu over 11 years ago.
Updated over 11 years ago.
Description
I took this inspiration from video games, that when a user has completed a certain task or accumulated a certain amount of "kills", he get an "achievement" or "badge".
I work in game industry. I think that if we give such honor or encouragement to our employees, they can be more proactive.
So, is there a away to add a "Achievement System" or "Badge System" to Redmine, or simply make a plugin?
Thanks,
(Sorry for forgetting to select a category)
There are a few details I would like to specify for this feature:
Sub-features of Achievement System¶
- Admin Interface - For Admins to manage Achievements
- Display Area for Achievements on User Page - Viewable by Other Users
- Display Area for Achievements on user's My Page (customizable via "Personalize My Page") - Viewable by Self
- "All Achievement" page - Viewable by All
- Achievement Rankings - Encourages Achievement Competition
Elements of an Achievement¶
An achievement may contain these elements:
For Users
- Name|String: A single-line text string that defines the name of the Achievement, e.g. "First Blood";
- Description|Text: A multi-line text string that describes the Achievement, e.g. "Completed your first assignment";
- Icon|Image: A simple image that flavors this achievement;
(All the elements above are defined/uploaded by Admins)
For Admins
- Requirement|Text: A multi-line text string that describes the triggering condition or mechanism that how this achievement should be rewarded to a user. This element is for Admins, so it might be a less user-friendly description. e.g. "User's Assignment Status changed from Assigned to Completed";
Admin Interface¶
To manage the Achievements, there should an interface or control panel for the Admins. This interface should provide functions such as:
- Add or Delete Achievements;
- Edit Achievements, defining or changing its elements stated above;
- Manually reward/remove achievements to/from users (individually or batch);
Working Mechanism of this "Achievement System"¶
Here goes a simple Workflow demostration:
- Admin Adds/Defines Achievements
- Display in "All Achievements" Page
- Users meet the requirement of certain Achievements
- Admin reward the corresponding Achievements to Users
- Completed Achievements display in User Page and user's My Page
- All users with Achievements are ranked in a Ranking page
Other Notes¶
- Since it is difficult to customize how the program could recognize when a user meets the requirement of an Achievement, so all Achievement can be manually rewarded to users by Admins. (Which means, no automatic Achievement triggering)
- Since there is no "automatic triggering", it is better that there is a "Apply for Achievement" feature for the users, so they can ask for the reward when they finished their tasks; and a "Achievement Reminder" for the Admins, so they can efficiently reward achievements to those who deserve;
- Better there's an "Achievement Center" where all Achievement-related actions are gathered. (however the displays should also be on user page and their "my page")
- Category set to Plugin Request
I don't think it's a general feature that will be interesting for everybody using Redmine, but it would be great in some cases. So it's a perfect fit for a plugin! Actually your description is pretty complete, thanks for that, it should be a good starting point.
Also available in: Atom
PDF