HTML Logo by World Wide Web Consortium ( Click to learn more about our commitment to accessibility and standards.

Moving forward with Composr

ocPortal has been relaunched as Composr CMS. ocPortal 9 is superseded by Composr 10.

Head over to for our new site, and to our migration roadmap. Existing ocPortal member accounts have been mirrored.

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

Written by Chris Graham, ocProducts
Thumbnail: A logged-in member may see their points from the login block

A logged-in member may see their points from the login block

The 'points ' system introduces a community dynamic that encourages member participation – or even competition – where 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

Thumbnail: The points profile page for a member

The points profile page for a member

There are many ways to earn points in ocPortal. 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
  • IOTD chosen
  • 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)
  • Earning them in the ocWorld addon (this is described in a later section)
Most methods of earning points may be altered in the configuration (Admin Zone, Setup section, Configuration icon, Points options), so that the number of points earned from various activities is appropriate for your web site.

A note about how points are calculated

Thumbnail: Configuring the points balance

Configuring the points balance

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 ocPortal has no way of determining when a member makes a forum post (the forum does not tell ocPortal, 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 unconceivable 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

Important note

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 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 rendered
  • A prize for winning a competition
  • A sign of appreciation for produce a high quality product that benefits the community
Thumbnail: 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)

Thumbnail: 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)

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 interface to monitor all gift transactions for fraud (and selectively reverse transactions). You can reach this interface from the 'Audit' section of the Admin Zone.

The Point Store

The Point Store provides a number of products/services that members can access using points, including:
  • POP3 email accounts, and upgrades
    • staff define which email domains members may purchase addresses on
    • staff must set up the email accounts manually after they are purchased/upgrades
  • email Forwarding accounts, and updates
    • staff define which email domains members may purchase addresses on
    • staff must set up the email accounts manually after they are purchased/upgrades
  • flagrant text (for members to leave a message on the website)
  • banners, and upgrades (these are always for the 'General' banner type)
  • gambling (on average, members lose out on points when they try and gamble them)
  • buying access
    • staff set up what permissions may be bought, how long they last for, and how much they cost
  • custom product
    • staff set up custom products by description and cost, then members may buy them
    • staff must manually dispatch the custom product, whatever it is
  • name highlighting (OCF only)
  • topic pinning
Thumbnail: Configuring the Point Store

Configuring the Point Store

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:
  • Flagrant text messages (text messages placed on your site by a member [moderated before actually appearing] for a period of days, giving the member a small personal advertising space)
  • Banner advertisements and upgrades (whilst 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)
  • 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)
  • Anything a new point-store code hook is programmed for
Any point-store sales mechanism may be disabled from the main Admin Zone Configuration module if desired.
Thumbnail: Configuring the Point Store's prices

Configuring the Point Store's prices

Thumbnail: The Point Store shop-front

The Point Store shop-front

When a member buys something from the Point Store, the staff are informed of it via e-mail of appropriate details. The exception to this is that flagrant text is simply placed in a queue that, if enabled, the staff are expected to keep a hold on manually).

There is a module in the Admin Zone for sales inventory management. It 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.

Flagrant text

Members may purchase the ability to display text 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 'flagrant' messages (taken from the phrase 'flagrant self advertising') 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.

Messages may be manually added in the Admin Zone, but regular users will be adding them via the Point Store. When that happens, you are notified of the new message have been added.

Thumbnail: Managing flagrant text messages in the queue

Managing flagrant text messages in the queue

Thumbnail: Adding a flagrant text message from the Admin Zone

Adding a flagrant text message from the Admin Zone

Thumbnail: Configuring the default flagrant text

Configuring the default flagrant text

Thumbnail: The flagrant text is shown in this space

The flagrant text is shown in this space

E-mail accounts and the Point Store

If e-mail accounts are sold through the Point-Store, ocPortal 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 web hosting 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:
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:

The forwarding add address is:
We're not sure if it is currently possible to manage POP3 quota with Ensim.

For cPanel users

The POP3 add address is:

The forwarding add address is:

The POP3 quota change address is:

Other economy tie-ins

Important note

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.


ocWorld is a very large addon for ocPortal, made by ocProducts 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.

ocWorld 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 ocWorld, and are used in two ways:
  • It costs points (according to a configurable price) to add content to ocWorld. 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.
  • 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 ocWorld system is very simple, yet via the small set of options available, presents amazing possibilities.


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.

The real world

A small number of sites may wish to set up a payment system (outside of the scope of ocPortal, 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 ocPortal, 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 OCF

OCF 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.

The leader-board

Thumbnail: The points leader-board

The points leader-board

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

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.

Please be aware the leader-board archive module will not update if you don't also use the leader-board block.

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


Points are accumulated by various means and illustrate rank and provide spending power (currency)
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
The point leader-board shows the top point holders, and is drawn up on a weekly basis
An ocPortal addon that provides a simple virtual world environment to interact in; points are the currency of ocWorld

See also