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: Organising discussion forums

Written by Chris Graham, ocProducts
This tutorial will explain how discussion forums work in OCF , and how best to organise them.


Thumbnail: Adding a forum

Adding a forum

Thumbnail: When editing forums, the full structure is displayed, with an opportunity to re-order both groupings and sub-forums within

When editing forums, the full structure is displayed, with an opportunity to re-order both groupings and sub-forums within

Discussion forums are a communication tool for site users, based around topics of conversation located within forums.

Discussion forums are organised into a hierarchical structure (also known as a tree structure, as illustrated in the diagram). The forum you view when you visit the discussion forums is the home forum in the hierarchy, and contains child forums (sub-forum s), which may themselves contain child forums, and so on. Within each forum there may also be topic s (known as threads in some other software). And within each topic, there are one or more post s.

Forums are actually a very powerful collaboration tool, not merely limited to chat. For example, ocProducts use a forum as an integral part of the processs for the designing of the software you're using right now: it is surprising what forums and topics can be made to represent.

Thumbnail: Rough structure of the discussion forums

Rough structure of the discussion forums

So, now that I have explained the structure of a discussion forum, I will explain what each of these constructs are for.

A forum exists to organise topics into some kind of common subject. For example, it is common for a website to have a debates forum, which contains member-created topics, each representing a single debate. A topic in the debates forum such as a topic titled 'Does extraterrestrial life exist?', contains a number of member-created posts, that together form a continuing line of discussion. A topic gets created, in the most appropriate forum, when a member wishes to discuss something and knows of no topic to continue (by making a new post in); the topic is started with a single post, that leads the discussion, by the member who made the topic.

The sub-forum system exists so that forums may be organised such that subjects are logically sub-classified in such a way as to prevent an 'explosion' of forums displayed on the home forum (which would be cluttered and difficult to navigate). Whether a forum with sub-forums should itself be able to hold topics is up to you, but often allowing this is a useful technique for allowing placement of a topic that classifies under a forum, but not one of the sub-forums.

Thumbnail: Adding a forum grouping

Adding a forum grouping

Important note

Whilst discussion forums are primarily meant for discussion, they may in-fact be used for the general purpose of conveying information. It is often typical for a topic that may-not-be-replied-to be made by staff to convey some form of alert: the discussion forums might be used rather than news, or some other ocPortal medium, due to the easiness of creating and organising topics, the flexibility of the medium, or to target an audience that views the discussion forums more regularly than the other mediums.
Apart from forums, topics, and posts, there is one additional organisational construct in the inbuilt forum system: forum groupings (known as 'categories' in some software). However, forum groupings have a very limited effect on organisation. The system stores a number of groupings, and any forum, at any position in the tree can be 'tagged' against one of these groupings: the groupings have no effect on, and are not a part of, the forum structure, and all they do is group up sub-forums of the same forum grouping visually. By default, every forum is of the forum grouping 'General' and hence all sub-forums are grouped under this when displayed.

Topics in a forum

Within a forum, there are a number of to modify a topic, to change their behaviour:
  • A topic may be 'pinned' (also known as 'stickied' in some systems). A pinned topic is placed at the top of the topic list, usually as it contains important information
  • A topic may be 'sunk'. This is the opposite of pinning – a sunk topic will display at the bottom of the topic list, on the last page of results
  • A topic may be made 'cascading'. Cascaded topics appear in all forums in the forum tree, underneath (and including) the forum they are placed in. The cascade property is often used to make forum-wide announcements
  • A topic may be 'closed'. Only those with the necessary privilege may post in a closed topic
  • The validation status of a topic (or post) may be changed. Topics that are not validated are only viewable by moderators and the topic creator. Whether topics are automatically set as validated or not depends on permissions (specifically the 'May bypass low-impact validation' permission)

Topics may be moved between forums by moderators.

Strategies for organising your forums

Thumbnail: A home forum

A home forum

Thumbnail: A sub-forum of the home forum

A sub-forum of the home forum

When you design your discussion forums, you need to decide what forums you will create, and how to organise them. A very common mistake is to create far too many forums, which has the effect of diluting your community, and making it feel dead: which in return often terminally reduces member activity. If a month after creating a forum, you expect it to have less than ten topics, then you probably should not be making it: remember: you can always add new forums later, and mass move topics into them. Conversely, it would be a mistake to create too few forums, leading to a situation where it is difficult to locate topics.
OCF creates a default forum structure which is appropriate for a small or new community. To encourage discussion specific to your site, you may wish to add a new grouping with perhaps 3 forums (sub-forums of the home forum) placed in that grouping.

Using access permissions effectively

All forums define whether members of each usergroup have access to them, as well as allowing privilege overrides.

As normal with the ocPortal permission system, members have the 'best' permissions out of those available to each of their usergroups. This means that if a user has "edit mid-impact content" (for example) permission given to them in any usergroup that they are a member of, they will receive that permission. There is one exception– if the permission is defined as a global privilege, any overrides (per-forum permissions) will take precedence.

It is common to deny most user groups any kind of access to certain forums, such as staff forums, to make them private to all but select members. You do this through view access. Remember those select members will also inherit their highest member permission for other usergroups they belong to.

It is also common to partially limit access to certain important forums, such as a 'News forum', so that the content of the forum can be kept clean. Through some customising of permissions and adding different groups the News forum you could constrain some users to their own news items, and stop others from adding new ones. In this case you could have a contributor, an editor, and regular members. Each having different access.

View access

The view access check box gives view access only to a forum.

If a forum view access box is unchecked for any particular group that means there is no view access to the forum for the particular group. Un-checking the forum view access check box does not stop or take away any permissions it simply takes away view access for a single group.

If a user belongs to a another group that has the view access check box checked then the member will not only have forum access, they will have access permisisons at the 'best' permissions out of those available to each of their membership usergroups (even if some of the other usergroups do not themselves have view permissions they can still contribute other permissions into the mix).

Setting bypass-validation access

By default, forum permissions are set so that members need their posts validating before they show up. This can be changed using ocPortal's standard permission functionality, but as it is a common task, we thought we'd explain it as an example…

You'll need to enable the following global privilege:
  • 'Bypass validator for lowrange content', if a member is to be able to post without requiring validation
  • 'Bypass validator for midrange content', if a member is to be able to create a topic without requiring validation

You can set them in 3 places (in order from highest level to lowest level):
  1. in the 'Submission' set of the global privilege settings (go to the Security section of the Admin Zone, then the 'Global privileges' icon, then the Submission section)
  2. Or, you can use the Permissions Tree Editor (go to the Security section of the Admin Zone, then the 'Permissions Tree Editor' icon) to set these on the 'forumview' module (if you don't want these to apply globally for the whole site)
  3. Or, you can set them against specific forums in either the Permissions Tree Editor or the editing screen of a forum

This flexibility is very intentional- you have a choice of setting things at a high level to apply to the whole website, but also the choice to make overrides at a lower level.

Anonymous posting

Members have a feature where they can choose to post anonymously. If they do this, their post will show as a guest post.

If you see guest posts somewhere where guests cannot post then this is probably why.

Staff can track which user made the post via clicking on the 'Guest' label and hence investigating the IP address. This is no different to an investigation on a normal Guest post.


Replies can either be made beneath the topic ("quick reply"), or via the full reply screen.

If your users are confused by the quick reply function (for example, they miss the WYSIWYG), you can turn off the 'Use quick reply' privilege for them.

Topic polls

Topics may have a poll attached to them (by any member) by default, so as to gauge opinion tied to a discussion. These polls are separate to the main ocPortal poll system, and have different options. Forum polls may only be used by members, and there are options to restrict:
  • viewing of poll results until the poll is 'un-blinded'
  • voting, such that that members must reply to the topic of the poll before they may vote in it

Editing posts

If you edit a post, you get to choose whether it shows as edited or not. The default is usually to do so, but if you edit quickly (within 3 minutes), it will be unchecked as it is assumed the edit is a quick correction rather than a retraction which should be advertised.

Staff can view full post history – edits aren't secret from staff.


discussion forums
A system for discussing issues; topics contain posts, and topics are placed within forums which themselves are structured
A place for the archiving and posting of topics (discussions)
A forum underneath another forum in the forum tree structure
forum grouping
A categorisation of a forum, distinct from the tree structure
A sequence of posts
A piece of writing made by a user and displayed as a continuation, or start, of a topic
A pinned topic is displayed above a non-pinned topic (otherwise, date order is used for sorting)
A sunk topic is displayed beneath all other topics
A cascading topic is displayed in its forum, and all subforums there-of
home forum
The forum at the root of the forum tree structure

See also