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: Dealing with annoying users

Written by Chris Graham, ocProducts
Depending on your site policies (for a good discussion of this, see the 'Legal and social responsibilities' tutorial), you are likely to require some tools to help you maintain the policy. Some of these tools actively enforce your policy, some of them allow you to 'moderate' to maintain your own policy, and some of them provide punishment for users that abuse policy (such that they may be removed from causing further harm, or made an example of such that other users do not 'follow suit').

Tools that actively enforce your policy

Thumbnail: Working with the word filter

Working with the word filter

There is a simple word filter which will allow you to prevent a list of words from appearing on your site, unless the user that posts them has the privilege to bypass the word filter.

The word filter makes no attempt to try and detect when users try to 'cheat it', as this would be a futile struggle: if users abuse the filter, then they are almost certainly knowingly that they are doing so, and thus setting themselves up for punishment.

In addition to the word filter there is a more sophisticated filtering system, the The form field filter system.

Tools for moderation

ocPortal, by default, will not allow most forms of non-trusted content to appear live on the website without validation by the staff. When a user that is not in a trusted usergroup posts content, then they will have no choice but to have it posted as non-validated, and a notification will be dispatched to the staff. The staff can then choose what to do with the content. There is also a page where staff can see all non-validated content, in case the notification was missed or disabled.

By default, the forum, the chat rooms, and Wiki+, are the main exceptions where validation is not required. This is because these are community orientated areas of the website, where instant posting is desirable.

Naturally, privileged users may edit and delete any content on the system; by default, these privileged users are those in the staff usergroups. It is possible to configure ocPortal so that users may edit/delete their own content though, or even all content if you like.

Tools for punishment

Thumbnail: Using the points system for punishment

Using the points system for punishment

Thumbnail: Making a warning

Making a warning

Thumbnail: A warning as displayed on the Account of a member

A warning as displayed on the Account of a member

There are a number of ways to punish members who do not follow site policy, including:
  • Charging points to the member
  • Giving them a negative number of points (which might result in sustaining a reduced rank for a time, if you also moving them down to a lower ranking usergroup on the rank scale)
  • Banning them (either their user-name, or their IP address, or their ability to make submissions)
  • Moving them to a restricted usergroup (there's an inbuilt "Probation" feature to move them automatically into probation usergroup for a limited period of time)
  • 'Verbally' warning them, via a Private Topic
  • Giving them a formal warning
  • Reducing a member in rank

Since ocPortal version 4, all the various punishment tools are made available on one screen (OCF only). This screen can be accessed from members' post ("Punish member" button) or from any member-profile screen.

As all these methods work on members, but not users in general (i.e. not guest users), you may wish to consider making it a requirement for all users to join in order to participate on the website. In other words, you may wish to remove permission for guests to make submissions.


The probation feature is designed to work via the punishment system. You could manually put a member into the probation usergroup, but it's not advisable because any secondary usergroups they are in may lead to extra undesirable privileges.
If you use the punishment system to put a user in probation, ocPortal automatically returns their only usergroup as Probation, disregarding other settings until their probation expires.


Thumbnail: Banning a member

Banning a member

There are many methods for banning an ocPortal user:
  • banning member submission. This is useful if you only want to ban a member from making submissions, and not the whole site; it is done from the Action Logs module (accessed from the Audit section of the Admin Zone). This feature is also useful if you are not using OCF , and want to ban a member in ocPortal, but not in the forum.
  • banning an IP address, or IP address range. Banning IP addresses is useful to totally remove a user's ability to access the site; unfortunately, users can very easily switch IP addresses. More information about IP addresses is given in the "IP addresses and tracking users" tutorial.
  • banning a member via editing their member-profile. This is perhaps the most useful method of banning. Note that there is no way to prevent a user re-joining with a new username.
  • banning a member via changing their usergroup to one with virtually no privileges. This is useful if you want to reduce access in a highly customised fashion.

The Action Log (audit trails)

The action log will allow you to trace what actions have been performed on the site; and where given, the reasons for doing them. This log gives a combined view of submission, administration, and moderation actions, and provides integration with the tracing and IP banning modules, as well as submitter banning of its own.

Thumbnail: Recent actions performed

Recent actions performed

This section shows the recent actions performed by you and your staff. Virtually every action that is done by your staff is logged here.
  • Username is the name of the member who performed this action
  • IP Address is the IP address of the member who performed this action.
  • Date and Time is the date and time when the action occurred. You may click this date to view further details on the submission as well as do (un)banning related to it.
  • Action is the name of the action they performed.
  • First Parameter is one of the parameters of that action – which will differ from action to action.
  • Second Parameter is one of the parameters of that action – which will differ from action to action.

There are also 'sort by' and 'show per page' options at the bottom of this section to help you refine which recent actions you see.

Post history

Thumbnail: Post history

Post history

If you are using OCF, then you may make use of the 'post history' feature. This feature was designed for the situation where a member has edit and delete permission over their own posts, and abuses it to hide evidence of their own misdeeds. For staff, a 'history' button is provided by any edited post, and a 'history' button by any topic with post-deletion history. The interface under these buttons allows:
  1. viewing of old versions
  2. restoration of what was deleted
  3. the ability for staff to eternally erase posts from the history record.


Post history
The stored text of posts, from before edit and delete actions on them
The process of checking submitted content is suitable for display on the website

See also