bsed / ala

Automatically exported from code.google.com/p/ala
0 stars 0 forks source link

Implement/improve Achievement/badges in BVP #695

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Possible approach is as follows:

Create a full text index of task and fields (stand alone SOLR instance)
  * Need ability to reindex everything on demand (if we decide to index more)
  * Need to reindex fields and tasks as they are saved or validated
  * This index will also be useful for calculating various stats, so some thought needs to go into how to index them

Use SOLR faceting queries to determine if particular thresholds/achievements 
have been reached
  * Achievements, with their rules and badges, will be stored in the database
  * New achievements can be added on the fly through an admin page
  * A 'UserAchievement' records if a user has earned an achievement, along with the date it was earned
  * After each submission/validation the list of unearned achievements is processed (asynchronously - Quartz?), and each SOLR query is executed to determine eligibility. If new achievements are earned, a flag could be set on the user object indicating that during the next page refresh some sort of notification should be made visible indicating new achievements (link to dashboard)

Original issue reported on code.google.com by david.ba...@gmail.com on 13 Jun 2014 at 12:12