Case study: Building the OSCOM site

Henri Bergius, Consultant Partner
Nemein Oy, Finland

OSCOM is an international, not-for-profit organization dedicated to
Open Source Content Management.  The goal of the organization is to
bring together as many great brains as possible to build a network and
grow the community of open source content management.

Since OSCOM represents the whole Open Source CMS industry, a
"Frankenstein CMS" approach was selected for the organization's web
site. The idea was to pick the best or quickest to implement features
of different CMSs and combine them to a coherent, working web site.

The main web site and Extranet run on the Midgard framework, the site
news (blog) runs on Movable Type, and the CMS Matrix is powered by
Wyona CMS. This case study concentrates on the Midgard part of the
site.

Requirements

The first OSCOM web site had been implemented mostly using manual HTML
and PHP pages for the second conference in Berkeley. This version of
the site included some material from the conferences and generic
information about OSCOM.

As there was only content, not actual functionalities, the migration
of the old site to Midgard was going to be easy. This enabled us to
think about possible improvements and new features.

The layout was the primary issue to be tackled in the site
rewrite. The old OSCOM layout was very simplistic and not too
appealing visually. The different conference sites were implemented
using completely separate layouts from the main OSCOM site.

To fix the layout issue the decision was to build a new HTML templates
using the SlideML project site. The layout template was changed into
OSCOM's orange color and slightly modified to use more CSS rules
instead of HTML tables.

The old OSCOM site also included news feeds from several CMS resources
using the RSS syndication protocol. The Magpie RSS library was
selected for providing this feature due to its easy embeddability into
the Midgard-based site layout.

OSCOM's main function has been arranging Open Source CMS
conferences. The conference arrangements have caused the need for
circulating meeting agendas and budgets. Earlier there were just
placed into FTP space somewhere, without protection or commenting
capabilities. An authenticated Extranet would obviously be a better
alternative here.

Selected applications

Aegir CMS was selected as the content creation interface for the main
site. OSCOM members are working on several operating systems and
browsers, and so Aegir's support for both Internet Explorer and
Mozilla WYSIWYG editing was seen as advantageous. Aegir CMS also
provides an easy way for adding images and file attachments to the
site content.

As the OSCOM site was built as a quick hobby project, the site
implementation had to be as easy as possible. For this reason it was
decided to use the existing NemeinNavBar library for mapping URI
requests to actual content in Midgard's topic and article tree.

The NemeinNavBar library works in a simple way. It is called in an
active Midgard page and given a rootlevel topic to start parsin
from. Then it parses the given URI and tries to match it to topics and
articles. If it finds the match it will instance the required
MidgardTopic or MidgardArticle object for displaying, and if it
doesn't it raises a 404 error.

To make things even easier, the decision was to use the prebuilt Aegir
Sample Site template from Aegir CMS distribution. This template
includes all the needed infrastructure for building dynamic sites,
including page elements for shoving site's navigation or a breadcrumb
trail in the site layout.

Site implementation

Using the set of prebuilt functionalities, building the base site
framework was just a matter for creating a new website in Aegir CMS,
based on the "Simple Dynamic Site" template. After the website had
been created, a new toplevel topic was created and configured as the
root_topic in the site template's code-init element. This was the only
thing needed for displaying dynamic content from Midgard's content
repository on the site.

The site's HTML layout template was copied to a new Midgard style's
ROOT element, and calls for several elements provided by the site
template were added. This included adding a <(content)> call to the
style where the actual page content was to be shown.

Some minor changes were made to the site template to accommodate the
"Frankenstein CMS" approach of the site. The Sample Site generates its
navigation directly from the topic structure, but in this case we
would need to be able to link to non-Midgard content. Because of this
the toplevel navigation was hardcoded in the site style, and
NemeinNavBar's navigation generating functions were only used for
subnavigations of the Midgard-powered site areas.

One main issue with the "Frankenstein CMS" approach was keeping layout
consistent between the site sections. For this, an empty Midgard page
was added to the system where dynamic content areas were replaced by
simple HTML comments. This empty page could then be parsed and used as
layout template by the other CMS systems.

Content creation

After the site framework had been built the only thing left to do was
copying content to Midgard from the old site. This was mostly
accomplished as a copy-paste job. Topics and articles were created as
needed. Topics to represent directories in the old system, and
articles to represent individual HTML pages. As NemeinNavBar was used,
the site navigation picked up the content structure immediately,
making the site navigateable.

Some new groups were added to the system to enable easier content
creation to other OSCOM participants. These groups were given
ownership of particular site areas and were configured to only access
the "News & Articles" area of Aegir CMS. This was the content
creators' interface was not cluttered by other Aegir CMS features like
layout management.

OSCOM Extranet

The Extranet was built as a new active page in the OSCOM website. It
was configured to use its own root_topic with the NemeinNavBar library
by overriding the site's global code-init element with a local page
element.

Authentication to the Extranet was implemented using the
NemeinAuthentication library, allowing for easy cookie-based
authentication of Midgard users.

Commenting articles was added as an additional feature to the
Extranet. This was done simply by adding a form for generating
Midgard's reply articles to the page in question. Comment display was
implemented using Midgard's :f text parser, generating simple HTML
based on ASCII formatting rules. This was comment posting was made
simple without need for a WYSIWYG editor implementation.

The same commenting system can be later extended to the public site by
either allowing users to register to the site or by saving the
comments using a "guest" account.

Conclusion

The OSCOM site project was handled very quickly, requiring only about
4-5 hours of implementation work. This was due to being able to build
most of the site using existing infrastructure. Rapid implementation
was very important to this project, as it coincided with opening the
OSCOM conference planning process to larger audience, making immediate
requirements for better information sharing infrastructure.

Organization members have responded quite positively to the new
authoring interfaces, and have seemed to learn the Midgard content
creation system without problems. Content authoring and user
permissions management has already been distributed within the OSCOM
organizations.

The site also seems to perform quite well, and the new layout gives a
more professional image of the OSCOM organization. Since content and
structure are separated from layout in Midgard implementing changes or
complete makeovers with the layout will be a simple task.

Links

OSCOM - http://www.oscom.org/
Midgard - http://www.midgard-project.org/
Movable Type - http://www.movabletype.org/
Wyona CMS - http://www.wyona.org/
SlideML - http://www.slideml.org/
Magpie RSS - http://magpierss.sourceforge.net/
Aegir CMS - http://www.aegir-cms.org/
NemeinNavBar - http://navbar.nemein.net/
NemeinAuthentication - http://authentication.nemein.net/


Email: [EMAIL PROTECTED]
Web:   http://www.nemein.com/


-- 
Henri Bergius                           [EMAIL PROTECTED]
Consultant Partner                      Tel: +358-20-198 6032
Nemein Oy                               http://www.nemein.com/

Nemein.Net -- Project tracking solution for consulting companies
http://www.nemein.com/Nemein.Net/


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to