There are a number of modules designed encourage and reward activity on a Drupal website. One that looks interesting is Simple Contest. What this does is give some kind of a reward to the winning user (or node) who meets the conditions met for the particular contest. For example, there may be a contest (which is defined by create a node of a contest-supporting content type) which runs for 3 weeks, and the winner is the user who created the most content, rated the most content, created the most comments, etc. Or the winner might be randomised from the set of every user who performed a certain activity.
The conditions for the contest are defined by a view, and the winner is the user at the top of the list in the view - so the key is ensure the filters for the view block out any excluded activities/users, and the sorting for the view puts the winner at top.
The actual rewarding of winners can be done in several ways:
- integrating with the Userpoints module to award points to a user
- using the Rules module to perform any required action (e.g. sending out emails to winners)
- integrating with Drupal Commerce to give a coupon to the winning (using the Commerce Coupon module)
There are a few reasons that this may not be the best module to use though, depending on your requirements:
- The Drupal Commerce integration requires the User Reference and Node Reference module (part of the References modules) - whereas you may prefer to use either Entity Reference (my personal favourite at the moment), or Relation
- It isn't widely used at the moment - only 31 sites are reporting using it
- It uses nodes to create contests, rather than entities (contests themselves are not really content, in my opinion)
- It may be possible/preferable to manage all of its functionality using Rules - so the functionality of this project might be better achieved by improving Rules integration