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.

State of ocPortal today

State of ocPortal today Hi all,

I think we've reached a point with the ocPortal product where things are pretty darned sweet:
  • Most features people need are there
  • ocPortal runs very smoothly and stably
  • There's a wealth of themes available
  • There's a wealth of extra addons available
  • The community forums are active, full of helpful people
  • We have a crowdsourced effort to release more scenario-based documentation, which people are plugging away in, and anyone can jump in to
  • People are working on getting language packs up-to-date with the very latest version (great work going on for Italian and Arabic in particular right now, but a lot of people have been working hard)
  • We continue to be highly rated, for instance one of only 5 category-leaders out of 1000 products on the primary CMS comparison site
  • ocPortal is as easy to use as any serious CMS, even though it is far more powerful

We regularly get feature requests from ocPortal users, and I typically agree with them, except it usually comes down to a question of money and timing: ocPortal is a free Open Source product, yet modern web development is hard and expensive, and ocPortal is a mature product that has to be developed responsibly. And unfortunately in the current economy, there's a lot less investment going on, so we can't rely on a stream of commercial projects to effectively cover development of the common feature requests. This is why I require customers, sponsorship, or people to refer ocProducts' services, in order to be able to push things forward on behalf of the community – or alternatively, others may want to volunteer time as ocPortal developers.

I recently asked on the forum what features people think are missing, and actually I was a bit surprised by the lack of response. It's encouraging we're in a good spot, but I think there's plenty of scope for pushing forward. I'm going to write about a few areas where I think development time would be best spent. In the ideal world, I'd actually push ahead with version 8, which is a considerable upgrade to ocPortal's internals, and makes ocPortal the ultimate convergence of consumer-friendly and enterprise CMS technology – but that requires a number of months of continuous development, and it's very unlikely anyone is going to be able to fund this in the immediate future (but if you have a rich uncle, are bathing in oil money, or you're a silicon valley nerd that cashed out from a recent M&A transaction, let me know ;)).

So, here we go…

Upgrade to catalogues

Catalogues in ocPortal provides a user friendly base for creating completely new content types. At the time of implementation (back in version 2), they were unrivalled really – sure, plenty of CMSs had similar functionality, but you really had to be a programmer to use it, or it was flaky third-party stuff.
I think it's time it was upgraded. Particularly:
  • to be able to create field relationships between catalogues (i.e. one catalogue entry linking to another in a different catalogue, and having a user-friendly and stable way of creating that link on the add/edit form)
  • new field types (e.g. multi-value-inputs, everything else in ocPortal's form API not currently available as a catalogue field [username input, or email address input, for example], new cascading location selector for reliable address input)
  • allowing catalogue functionality to actually be used to extend the hard-coded content types (downloads, gallery images, etc). This gives the best of both worlds: extendibility, with continued availability of custom-coded features, like the gallery slide-shows, or the download license agreements.

0000269: Better catalogue structuring - relationships - ocPortal feature tracker
0000083: New field types: just_time, just_date - ocPortal feature tracker
0000082: New catalogue field type: multiple checkboxes - ocPortal feature tracker
0000209: Better date fields - ocPortal feature tracker
0000134: Tie catalogues to normal modules - ocPortal feature tracker

In addition, it would be good to share the catalogue system for Custom Profile Fields, and for Quizzes, so that these kinds of content can have all the power of the large field type collection catalogues have.

0000137: CPF/catalogue field unification - ocPortal feature tracker


We have a full shopping cart system in ocPortal, but currently I would not use it myself to create sites where shopping was the key aim. It would be much better to use something powerful and specialised like Magento.

However, of course ocPortal's huge advantage is that a whole wealth of features are available, so in many cases it is preferable to use ocPortal for shopping, and it would be nice if ocPortal could:
  • work with more payment gateways
  • do on-site payments
  • have support for gift vouchers
  • have more blocks relating to shopping (e.g. a "what's in your cart" block)

We actually implemented most of this functionality (and a lot more) for a client, and it was a huge 4-month development with 3 programmers involved. Unfortunately it was done on top of an older ocPortal version, and we've never had the resources to merge in the code. ocPortal continues to diverge, and it'd probably be a 2-week job to merge it all again and to get the code up to current standards.


ocPortal has a tracking feature in the forums, and also lots of actions on the site may lead to notifications being sent out by email. There is a strong case for completely rewriting all this into a new architecture where users can choose to track any kind of resource (e.g. a download category), and also choose exactly what email alerts they want to receive. In addition, they could choose to receive some alerts via SMS, or opt to use Personal Topics for everything.

0000166: Global tracking system - ocPortal feature tracker

More control over data

It's quite common to get people wanting to save content in multiple categories, but only news and CEDI support this in ocPortal. It'd be very nice to have multi-category support in catalogues, in the download system, and in galleries.
0000063: Multi-categorisation - ocPortal feature tracker

It would be very useful to be able to reassign content to a different user, change the displayed publication date, or reset the 'views' count.
0000206: Use tables on edit screens rather than select lists - ocPortal feature tracker

A huge thing for me would be the ability to manage content via your native desktop file manager (e.g. Windows Explorer). This would be implemented via a technology called WebDav. Essentially each content type in ocPortal would be mapped to one or more "native interchange format". For example, a gallery image might be implemented as a JPEG/PNG with metadata to hold the ocPortal settings, or a Comcode page might be implemented as an OpenDocument file. You could literally copy and paste documents between ocPortal sites, drag them between categories to move things, mass-delete things, and import/export content incredibly easily.
0000218: Webdav support - ocPortal feature tracker

If WebDav is done, it opens the gateway to actually implementing drag and drop in ocPortal on top of that same content API. Imagine holding down the ctrl key, and then seeing icons on the website that you could drag to your desktop, or drop spots where you could drag files from your desktop and have them auto-import.

Social networking

One of the biggest advantages of adding Facebook support is to be able to syndicate activities your users are doing on your site, back to their Facebook profile. "Henry just added a comment topic on Lego World - click here to view". The perfect tool for marketing. We are 50% here, we have written the code, but it's complex stuff and needs to probably go through a week-long effort to review and test it, and to integrate it stably with ocPortal.
0000135: Activies and microblogging - ocPortal feature tracker

Call-to-action unification

Another big marketing thing for me, is the ability to tie together critical actions you need users to do on your site. For example, they choose what newsletters to subscribe to when they join the site as a member, or when they make a purchase. For example, they create a new account during the shopping cart checkout process, or when conducting a survey, and it's seamless.

0000125: Call-to-action unification - ocPortal feature tracker


I'm a little obsessed about performance, as we have a tough time matching that of other simpler software, simply because ocPortal does a lot more to generate each page (lots of permissions taken into account, lots of different supported quality standards, total flexibility of content structure, etc). We are pretty much on par with the other top CMSs, but I really want to get pages generating (server-side I mean, I'm not talking about latency and bandwidth) in less than 0.05 seconds on very average servers. I don't know if it's possible, but I have some ideas.

0000258: Optimisation - ocPortal feature tracker

I can't overstate how much all this is in the hands of you all, our users. I may have the skills to implement this, but I am quite powerless at the moment to make it happen due to the pressures of the economy. I would so love to start work on these things!

View all


There have been no trackbacks yet