Composr Tutorial: Creating an economy/reward-system for members via points

Written by Chris Graham (ocProducts)
Image

A logged-in member may see their points from the header

A logged-in member may see their points from the header

(Click to enlarge)

The 'points' system introduces a community dynamic that encourages member participation – or even competition – where website members can increase in rank and spend their accumulated points. In many ways it mirrors the real capitalist world, with points being an analogy to money, and your website having its own 'economy'.


Earning points

Image

Configuring the points balance

Configuring the points balance

(Click to enlarge)

Image

The points tab on a member's profile (Conversr)

The points tab on a member's profile (Conversr)

(Click to enlarge)

There are many ways to earn points in Composr. You may not wish to tell your members the precise details for these, in order to avoid abuse and unbalanced member activity, although of course they could educate themselves by reading this tutorial.

Methods of earning points include:
  • Joining
  • Voting in a poll
  • Rating content
  • Poll chosen
  • Submitting various forms of content
  • Length of membership
  • Visiting the site
  • Posting on the forum
  • Entering/passing quizzes
  • Being given them (this is described in a later section)
  • Earning them from selling a download (this is described in a later section)

Most methods of earning points may be altered in the configuration (Admin Zone > Setup > Configuration > Points options), so that the number of points earned from various activities is appropriate for your website.

There is a distinction between the point count for points available for spending, and the point count for the total points ever earned (which contributes to rank and leader-board position). This will usually be made clear, but sometimes circumstance will dictate what is the appropriate meaning.

A note about how points are calculated (somewhat advanced)

The number of points a member has is not stored in any place, so is not directly editable. Instead, a members points is dynamically calculated, according to various statistics. You may alter the number of points a member has by viewing their points profile and using either the 'charge' or 'give' features (both of which accept negative values if you are a member of staff). For example, you can charge a member points by charging them a positive number of points, or giving them a negative number (a negative gift would usually be used to reverse a gift that you thought should not have happened). Likewise, you can give a member points by giving them a positive number, or charging them a negative number of points (a negative charge would usually be used to provide a refund).

The reason points are calculated in this way is that the forum driver system means that Composr has no way of determining when a member makes a forum post (the forum does not tell Composr, as it is often a third-party piece of software).

The main ramification of this is that if posts are deleted, the point count goes backwards for the members with deleted posts: we consider this a feature (deleting spam automatically will reverse the point count, at least on robust forums where post count is automatically adjusted upon moderation), and we consider it a bad idea to delete posts from a forum unless they should never have existed. We consider deleting posts the enemy of historical record and the reasons for doing it few, because text generally takes up a trivial amount of space, databases are designed to deal with inconceivable amounts of data, and the topics can be just as easily moved to a hidden archive forum if they are seen as 'getting in the way'.

Gift points

Image

Gift transactions should be monitored so as to pick up on cheating (mutual giving for example)

Gift transactions should be monitored so as to pick up on cheating (mutual giving for example)

(Click to enlarge)

Image

Those who give may get rewarded by the system (this encourages an active community)

Those who give may get rewarded by the system (this encourages an active community)

(Click to enlarge)

Gift points allow members to reward each other. Like money can be used to pay someone, so can gift points, based on whatever they value. This economical situation is very important, and essentially capitalism is embodied, such that people go hunting for work that is valued most highly in order to get high returns of points.

Reasons for giving gift points include:
  • Pseudo-payment for a service provided
  • A prize for winning a competition
  • A sign of appreciation for produce a high quality product that benefits the community

Gift points are not exactly like payment, because it doesn't detract from your own point count to give points, it detracts from your gift point count. Members have a quota of gift points, to allocate as they see fit: if they run out, it simply means that they can't give any more for a while.

Gift points are useless unless spent, so the only advantage to hoarding them is to give a large amount in some kind of special situation being awaited; once given, the gift point receiver has the total added to their actual point count. Obviously members could abuse this, by giving points to each other in some form of reciprocal arrangement ("you pat my back I'll pat yours"): this is why there is an admin screen to monitor all gift transactions for fraud (and selectively reverse transactions). You can reach this screen from the Admin Zone > Audit > Gift-point transactions.

The Point Store

Image

Configuring the Point Store

Configuring the Point Store

(Click to enlarge)

Image

Configuring the Point Store's prices

Configuring the Point Store's prices

(Click to enlarge)

Image

The Point Store shop-front

The Point Store shop-front

(Click to enlarge)

Once earned, points may actually be spent in a number of places, including the Point Store.
The Point Store is a place where members can buy:
  • Banner advertisements and upgrades.
  • POP3 e-mail accounts and quota upgrades (these must be added manually by the staff).
  • Forwarding e-mail accounts (these must be added manually by the staff).
  • Gambling.
  • And more. In fact, custom configured products and anything a new Point Store code hook has been programmed for (it's extensible).
Any Point Store sales mechanism may be disabled from the main Admin Zone Configuration module if desired.

When a member buys something from the Point Store, the staff are informed of it via e-mail of appropriate details.

The Point Store shop front is accessed via the pointstore module (site:pointstore page-link, Social > Point Store on the default menus)

Point Store inventory management is at:
Admin Zone > Setup > Point Store inventory management
Use this to set up those products which you can have multiple of (e-mail accounts, custom products, permission products).

There is a module in the Admin Zone for sales list management at:
Admin Zone > Audit > Point Store sales list management
The module should be used to cancel purchases, such as an e-mail address bought up a user that is no longer valid. Cancelling such a purchase allows a re-purchase at a later date (only one address of each e-mail address type is allowed per-user). Refunds must manually be given through the points system if points have been already charged by the point of cancellation.

Banners

While by default any member may submit a banner, the implication is that a Point Store-bought banner would not have to serve the staff's interests so much as a banner they decided to validate for free.

All banners bought are added to the 'General' banner type.

Topic pinning

On Conversr sites, members can purchase to have a particular topic pinned on the forum.

Gambling

Members can gamble points. On average, members lose out on points when they try and gamble them though.

E-mail accounts (advanced)

Image

Configuring pop3 accounts via the inventory management screen

Configuring pop3 accounts via the inventory management screen

(Click to enlarge)

Image

Configuring e-mail forwarders via the inventory management screen

Configuring e-mail forwarders via the inventory management screen

(Click to enlarge)

By selling e-mail accounts you are essentially selling a prestige address to your members. Members might love having an address like sam@yourawesomesite.com.

What may be purchased:
  • POP3 e-mail accounts, and upgrades
    • staff define which e-mail domains members may purchase addresses on
    • staff must set up the e-mail accounts manually after they are purchased/upgrades
  • e-mail Forwarding accounts, and updates
    • staff define which e-mail domains members may purchase addresses on
    • staff must set up the e-mail accounts manually after they are purchased/upgrades

These may be configured via the inventory management screen at:
Admin Zone > Setup > Point Store inventory management

If e-mail accounts are sold through the Point Store, Composr cannot create them itself. Instead, it has to send out e-mail notifications to the site staff address, which includes details of how to add them. The method of addition is different for different systems, so the Point Store configuration defines 3 URLs that can be set according to your server.

Example URLs follow for different webhosting control-panel software (please note that these may not be up-to-date with newer versions of these control-panels)…

For Plesk users

The mail add address (POP3 and forwarding) is:
https://{DOMAIN}:8443/domains/mail/mail_name_preferences.php?mn_id=0&previous_page=mail_names
Forwarders are added through adding a mail address, and then specifying a forwarder for it.

We're not sure if it is currently possible to manage POP3 quota with Plesk.

For Ensim users

The POP3 add address is:
http://{DOMAIN}/Site/email_users_add.htm

The forwarding add address is:
http://{DOMAIN}/Site/emal_forward.htm
We're not sure if it is currently possible to manage POP3 quota with Ensim.

For cPanel users

The POP3 add address is:
http://{DOMAIN}:2082/frontend/x/mail/addpop2.html

The forwarding add address is:
http://{DOMAIN}:2082/frontend/x/mail/addfwd.html

The POP3 quota change address is:
http://{DOMAIN}:2082/frontend/x/mail/pops.html

Name highlighting

On Conversr sites, highlighted usernames can be purchased. This means the purchasers name gets special highlighting within forum topics.

Permission products

Image

Configuring permission products via the inventory management screen

Configuring permission products via the inventory management screen

(Click to enlarge)

Staff can set up what permissions may be bought, how long they last for, and how much they cost.

This is done via the inventory management screen at:
Admin Zone > Setup > Point Store inventory management

The different types of permission (product) are configured with settings as follows:

Privilege

If a privilege is set globally, you will only set “The privilege”.

If you are scoping it to a particular module page (e.g. “downloads”), you will also set “The page”.

If you are scoping it to a particular category, you will also set it to “The module codename” and “The category”.

Zone-access

You will only set “The zone”.

Page-access

You will set “The zone” and “The page”.

Category-access

You will set “The module codename” and “The category”.

Normally “The category” will be a numeric ID.

Custom products

Image

Configuring custom products via the inventory management screen

Configuring custom products via the inventory management screen

(Click to enlarge)

Staff set up custom products by description and cost, then members may buy them. Staff then must manually dispatch the custom product, whatever it is.
This is done via the inventory management screen at:
Admin Zone > Setup > Point Store inventory management

Community billboard (non-bundled)

As of Composr 10, the community billboard is a non-bundled addon.

Members may purchase the ability to display community billboard messages on your site in the Point Store (if enabled). The staff may also add their own messages, and are in charge of moderating, and the queue of messages. The community billboard messages are shown, by default, on the bottom-right of the website.

The queue is accessed via the Staff Checklist on the Admin Zone front page. Note that the queue is not self-managed, you need to control which message is active, as they won't automatically rotate or expire. We mentioned above that the staff are automatically notified when a Point Store purchase is made, but actually this isn't the case for the community billboard.

Messages may be manually added in the Admin Zone (a link is on the dashboard checklist), but regular users will be adding them via the Point Store. When that happens, you are notified of the new message have been added.

For the community billboard to display, you must place the symbol code, {$COMMUNITY_BILLBOARD} into a template or page. Commonly this would be into GLOBAL_HTML_WRAP.tpl so that it can show somewhere in the page footer.

Image

Managing community billboard messages in the queue

Managing community billboard messages in the queue

(Click to enlarge)

Image

Adding a community billboard message from the Admin Zone

Adding a community billboard message from the Admin Zone

(Click to enlarge)

Image

Configuring the default community billboard message

Configuring the default community billboard message

(Click to enlarge)

Image

The community billboard message could be shown in the footer

The community billboard message could be shown in the footer

(Click to enlarge)


Other economy tie-ins

Buildr (non-bundled)

Buildr is a very large addon for Composr, made by the developers in a semi-official capacity. It is not included with the main release as it is totally inappropriate for non-community sites, and hence would be consider as 'bloat' (an excessive feature that gets in the way and causes undue complexity and confusion) by most.

Buildr is essentially a game, where members may move in, interact with, and create, a limitless world of rooms, split across multiple themed 'realms'. It can be used to create puzzles, adventures, board games, simulations, and with imagination, many other things.

Points are at the very core of Buildr, and are used in two ways:
  1. It costs points (according to a configurable price) to add content to Buildr. Of course, members may try and redeem these points by asking members to give gift points back to them, but this feature prevents abuse and limits the need for moderation.
  2. Members may add items to the system, and then sell these items to other members. An example of this being used, is for the controller of a realm used for a 'quest' to add a 'healthy' item into the system: those with more points have a higher chance of surviving to the end of the quest, as they can heal themselves.

The Buildr system is very simple, yet via the small set of options available, presents amazing possibilities.

Downloads

Members may submit downloads that cost points to download. Depending on how the submitter configures the download, these points may end up with that submitter, or thrown away.
This system allows:
  • staff to artificially limited access, to ensure members participate before they can use site resources.
  • members to earn points to compensate themselves for the work contained within a download.

This is covered in the Advanced provision of downloads tutorial.

The real world

A small number of sites may wish to set up a payment system (outside of the scope of Composr, at the time of writing), to allow members to exchange points for real money, or tangible products or services. Sites that may wish to do this are likely to be sites where the earning of points has a real effect on business goals, such that real-world reimbursement may be appropriate; for example, on a site where members collaborate on art for a published catalogue.

Alternatively, and perhaps more popularly, sites may allow members to exchange real money, for points (again, outside the scope of Composr, at the time of writing). Hence web-masters could earn money from their more enthusiastic members, and those members could elevate themselves on the website.

Rank in Conversr

Image

Rank ladder shown in the usergroup directory

Rank ladder shown in the usergroup directory

(Click to enlarge)

Image

Rank configured when editing a usergroup

Rank configured when editing a usergroup

(Click to enlarge)

Conversr has a usergroup system that allows automated progression from one usergroup to another, according to point count. This is configured by default such that the usergroup rank images for the usergroups involved imply a rising rank.

The 'status symbol' of rank is an incentive for members to earn points (hence contributing to the site and community), but permissions may also be configured such as to give permission according to rank, simply by assigning the permissions differently for different usergroups.

If you would like to use rank, but not other point features, remove view permissions to the 'points' module and edit the 'Block options' (in the configuration) to not display point details. You cannot remove the points addon if you wish to use ranks.

Note that rank changes are triggered by actions. Someone will not go up in rank based on things like how long they've been a member, until some action (e.g. posting on the forum) triggers a rank recalculation.

The leader-board

Image

The points leader-board

The points leader-board

(Click to enlarge)

The leader-board is a block, and corresponding archive viewing module, for the displaying of the top point holders for each week. Like rank, this is another incentive for members to earn points.

The module is the leader_board module (site:leader_board page-link, Social > Leader-board on the default menus).

Please be aware that the leader-board is not entirely accurate, as it actually only calculates the point count of top post count holders, and orders according to this; the reason for this is that, as explained earlier, point count is not actually stored, and calculating it for all members simultaneously would not be efficient. This is unlikely to be noticed, however, because more post count holders are chosen for point calculation than point holders shown, hence a buffer zone exists to reduce the chance of error.

The leader-board is updated and archived weekly, regardless of whether you have the block cache enabled or not.

If you wish to totally reset the leader-board, manually empty the contents of the leader_board database table.

A common point of confusion is users thinking the leader-board shows who are the leaders only over points earned in the particular week. This is not the case, it calculates it based on total points ever, and the weekly updates are to capture snapshots. There is an open tracker issue regarding us also implementing the ability to show activity just for one particular week, but it is technically complex to achieve (it requires a major upheaval) so would need financing via feature sponsorship.

Concepts

Points
Points are accumulated by various means and illustrate rank and provide spending power (currency)
Rank
Rank is determined by the total of points ever earned, and is a status symbol
Gift points
Gift points are automatically accumulated over time and exist only as gifts to give to other members, where they translate to real points
Point Store
The Point Store allows conversion of points into items such as community e-mail accounts
Leader-board
The point leader-board shows the top point holders, and is drawn up on a weekly basis
Buildr
A Composr addon that provides a simple virtual world environment to interact in; points are the currency of Buildr

See also


Feedback

Please rate this tutorial:

Have a suggestion? Report an issue on the tracker.