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: Drinking from the feature pool

Written by Chris Graham, ocProducts
This tutorial will describe the thought processes required to successfully design a complex and personalised website using ocPortal.

The process

The ordinary process of creating a bespoke advanced website (rather than just a basic site of pages) goes along lines as follows:
  • brainstorm, interview and analyse, to determine what requirements there are for the website ('requirements capture')
  • design these features such that a coherent design of the website is constructed ('requirements analysis' / 'design')
  • implement the design ('implementation')
  • add content
Different people and teams operate slightly differently, and different development methodologies (such as 'the waterfall method', or 'extreme programming') dictate the process to be different, but generally, the basic process is similar.

Creating an ocPortal-based website is similar, but during the design phase it is very important to take into account that the system should be designed to make use of the features ocPortal already provides. This presents a huge economic reward, but also requires a special mode of thinking. During the phase, instead of thinking:
'how can I coherently structure this, and what set of features will I end up needing for it?'
you (or a designer working on your behalf) needs to be thinking:
'what ocPortal feature best fits each of my needs?'
This may seem an obvious approach but to do it you need to open your mind, setting aside preconceptions that you may have developed about things, so that you can start thinking about them in ocPortal terms instead. Often you will need to adapt your initial ideas so that they map better to what ocPortal can provide – not for the worse, but just to make your implementation easier. If you would rather avoid this, or find that the closest matching ocPortal features need adapting, you may want to contact ocProducts.

An example

I can personally attest to the confused image that comes from a client who is not implementing a system themselves, and the need for clarification (and the client cannot be blamed for this – they are not a trained systems analyst!). In this sense, implementing a solution in ocPortal is no different to any other – it will need to be refined before it can be implemented. Here is a made-up example, of written up notes of a clients requirement for one aspect of their website…

Client said

'There should be a set of pages where from each you can download one of our products. The user should get a choice between the version packaged for engineers, and the version packaged for managers. Files should be available in both zipped-pdf and pdf format.'

On face value, this looks like it would not fit into ocPortal in a clean way (i.e. Without just putting a load of attachments on to a page and manually maintaining it), without implementing a new custom module. However, with some careful thought, this could be re-shaped to fit perfectly with features ocPortal provides…

ocPortal-solution analyst said

A download category tree should be provided as follows…
For engineers
<each product>
   <pdf download>
   <zipped-pdf download>
For managers
<each product>
   <pdf download>
   <zipped-pdf download>

It might not be exactly what was asked for, but it meets requirements and the client would likely be pleased to find that for 'no extra cost' their products may have images shown on the download page, and outmoding: things that they might never have considered, but now love. If this example was a bit more complex, and the download system was lacking, then improving the download system would be substantially cheaper than writing a whole new module from-scratch.

Performing common tasks in ocPortal

Placing articles

There are two ways to make an article:
  • Add it as a news article, and allow users to access it via the news system (or provide a link to it yourself, on your menus for example)
  • Add it as a new page

News articles are best used if you do not consider your article to be a long-term part of your website itself, but merely a long-term resource which is archived. You are in the driving seat, however, and you can add as many new pages as you wish, without having to have each linked to from your menu if you do not wish them to be.

You can create a new page and add it to your menus really easily by heading along to the 'Structure' section of the Admin Zone, and choosing the 'Add-New-Page Wizard'.

To add as a news article, head along to 'Content Management' and you'll find an icon for it. Once added, it will appear in any news blocks you have (there is one on your front page, by default) and in the news archive. As mentioned, there is nothing stopping you adding a link to anything within ocPortal to your menus – you can just visit the resource, grab the URL that your browser displays for it, and edit one of your menus with the caption of your choice.

Making databases

There are a number of different features in ocPortal which can be used for database storage, manipulation and retrieval:
  • 'catalogues' allow you to define the fields for records, and then have these records and the manipulation and display thereof to be included as a first-class aspect of your website. Catalogues support hierarchical structuring of data.
  • Wiki+ is a wiki-like hierarchical database; it is much more powerful than a wiki however, as whilst it can behave as a free-form and open-access database navigated by embedded hyperlinks, it can also behave as a highly moderated and formal structured database.
  • The forum can actually be used very effectively as a database, if a formal structure and presentation is less important than an ability to rapidly manipulate free-form data in a comfortable and informal environment.
  • Comcode pages (static documents) may also be used, with each 'record' being created by creating a new page; consistant structure may be created using 'Custom Comcode tags'.
  • By integrating an existing system.

If you would like to create a formal catalogue, head over to 'Content Management' and you will see an icon for it.

If you'd like to add to Wiki+, you can choose it from your menus of your main website and begin to edit the tree structure to create new pages, and then edit them and post within them, as required. You should read the Wiki+ tutorial for more information.

If you desire integration of an existing system into your website, you should contact ocProducts.

Adding images

There are four distinct ways for adding images in ocPortal:
  • Images that are a part of the visual design of the website are 'theme images'. Extensive information on themeing is provided in a number of ocPortal tutorials.
  • Images that are presented as a part of some other type of content, such as a press release (a news article), or a forum post, are done using attachments. A user-friendly interface for choosing attachments is provided on the actual add screens for these types of content.
  • Images that are presented in galleries.
  • Images that are uploaded manually and referenced in Comcode using the 'img' tag

If you are wishing to add an image to a gallery, head over to 'Content Management' and there is an icon for 'Galleries'. The gallery system supports a tree structure of galleries, or you may simply add things to the root of the tree making them show right-away when the user visits the 'Galleries' link (which is on one of your website menus by default).

Adding files

There are two distinct ways of making downloadable files (as opposed to online articles) available to users in ocPortal:
  • You may add the file as an attachment to some other content, such as a press release (news article). This is performed on the 'add' screen for any content that supports them.
  • By adding it to the download system.

To add to the download system, head over to 'Content Management' and there is an icon for 'Downloads'. The download system supports a tree structure of download categories, or you may simply add things to the root of the tree, making them show right-away when the user visits the 'Downloads' link (which is on one of your website menus by default).

See also