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, which is now in beta. ocPortal 9 will be 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: Web-applications, ocPortal, and PHP

Written by Chris Graham, ocProducts
Normal standalone website s, or websites managed by some types of content management system , consist only of non-changing files that reside on a web-server and are served out when a web-browser accesses them by URL.

A web-application (such as ocPortal), on the other hand, serves out data dynamically, performing many kinds of interactive manipulations in order to assemble the page that reaches the end-users web-browser.

There are many different kinds of web application system for creating a website. However most can be classed as one of the following:
  • Light wrappers around your own custom pages
  • Programming frameworks
  • Portals, for displaying of news or custom pages to supplement a forum community
  • Article managers
  • Managers for some kind of specialist content (such as downloads, or banners)

ocPortal can easily provide of these things, along with features available in HTML editors that stand-alone websites would often be built with.


Thumbnail: Logging in to ocPortal

Logging in to ocPortal

The ocPortal philosophy is that almost all cutting-edge websites, from hobbyist communities, to large international companies, share a large number of common needs. ocPortal caters for all these needs by providing a vast pool of features that can be used as a part of the website.

At the time of writing, we do not know any other products that have such a large built-in feature set as ocPortal. However, ocPortal also excels in customisability: the features in ocPortal can be fully customised on a number of levels, so that even though different websites share the same engine, they can have their own individuality.

In addition, we understand that often users will have very specific, personal needs. For this reason, we make sure that the ocPortal framework is fully extensible, and provide numerous features to allow such extension to be achieved, suitable for different levels of expertise and requirements. It is important to understand that adding unique features can be difficult, as it is a programming exercise: but it is considerably less difficult than creating a new web application from scratch (even with a totally custom new module , most of the needs, such as user authentication, WYSIWYG editing, or secure database access, are already available). Contact us if you need our team to do commercial development for you; depending on staff availability, we may be able to.

Thumbnail: ocPortal is an extendable architecture as well as a product

ocPortal is an extendable architecture as well as a product

ocPortal is an example of a web-application, that allows you, the administrator of the website, to submit and manage many different types of content, that in conjunction with the vast quantity of inbuilt ocPortal features, produce the interactive experience the end-user enjoys.
Examples of content include:
  • Pages of information
  • Organised downloads
  • Customised data records in catalogues
  • Images in galleries
  • and much more
Your website provides features for:
  • you to manage the site, it's functionality, and it's content
  • the user to is viewing the site
  • a high level of community interactivity and participation between all the users of the site that you wish to give it to


PHP is a very widely deployed scripting language to power dynamic websites. Because of it's wide deployment, and because web applications for it are relatively easy to install from a remote connection, we chose to write ocPortal in it.

The PHP language is heavily based on the long-standing C language, but PHP scripts do not require compilation and PHP provides a much richer feature-set (for example, powerful associative arrays, and a very large set of inbuilt functions). There are some aspects of the language we consider negative for large applications such as ocPortal (such as weak-typing, and aspects that encourage bad security practice), but using our in-house developed technology, we have been able to mitigate these.


A collection of web pages that have something in common (such as being on the same domain name, or controlled by the same company)
content management system
Software for managing content; usually a system designed around the collaboration via a work flow on documents that make up a website, rather than truly dynamic content
An application used via a web browser and running over the world-wide-web
A programming framework is a foundation and guide that speeds the development of tailored software solutions

See also