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.

Beta-countdown: May 31st - Comments

Login / Search

 [ Join | More ]

Beta-countdown: May 31st

Posted 31 May 2006, 2:42 AM

We've had a chat system in ocPortal since version 2. The interesting thing about our chat system when we released it was that it didn't require Flash, Java, or anything like that… it was completely Javascript driven. This was a really unique thing at the time - there were virtually no systems like this where the server would send out new content to update the client without requiring a web page refresh. A lot has changed since then, and something called 'AJAX' has become popular and very hyped (even though it's not actually new at all) - and finally many systems are deploying similar kinds of techniques. We ourselves have applied 'AJAX' techniques throughout ocPortal a lot more than before, in particular solving some of our biggest long-running problems with them.

Anyway, that was an aside - today I'm announcing our new 'Instant Messaging' (IM) extensions to the chat system!
The 'Instant Messaging' system is very much built on 'AJAX', and is probably one of the most sophisticated examples of it you could find. The 'choose a chatroom' screen of old is now called 'The lobby' and it features a buddy list of members (each member gets their own buddy list)… this buddy list is updated from the server, so you can see when members sign in or sign out. You can start IMs with anyone on your buddy list, and you may also do group IM sessions… it's very simple, you just select some members and click a button. You can also block members, so that they can't see if you are online in ocPortal (the users-online displays throughout ocPortal are aware of the blockings). You can even set up ocPortal to behave like a giant IM-centralised system, so that you can start IMs with anybody just by clicking their username as it appears anywhere in ocPortal.

IMs are done in tabs, so you can actually have more than one going on at once, without having to close the browser window. If you accidently close the browser window, or lose your connection, it's not a problem - the session persists until you close it, and will come back as soon as you revisit the lobby. If someone starts an IM with you and you're in your lobby, a new tab will magically open on your own computer. If you're not in the lobby, you'll be sent an e-mail and the person chatting to you will be aware that you are 'away' until you arrive.

There's an alert system - when people sign in, a little alert will be displayed in browser window as if from nowhere. Also, on some browsers, the window will flash and a sound ping, when you get new messages.

All this is powered by a multiplexed XML messaging stream sent out by the server to all clients in the lobby. The stream is aware of all events that go on in the system that relate to each individual member as well as the IM state that member is in (i.e. who they're talking to, in what tabs).

Later on May 31st… The first public version of ocPortal 3.0 will be released! We've been testing this for a month now, passing it through all kinds of automated testing, formal testing, private site testing, and live site testing on select locations… it's actually very stable now :).
I'm writing this at 2:36 in the morning after running some final tests… I've just finished testing the upgrader. We know it's relatively safe to upgrade a 2.6 site to ocPortal 3.0. This said, we won't accept responsibility for failed upgrades to betas, so make sure you keep backups, and we won't ever recommend upgrading a live site incase there are other problems (such as unforseen performance problems).

Read more

There are too many online users to list.
Control functions:

Quick reply   Contract

Your name:
Your message: