Content Management for Educators
Scope
This document presents an approach to web content management for educators as developed by Mimesis.
Overview
One of the original concepts of HTML was to separate the logical structure of the document from its layout. Due to the way the WWW evolved, HTML moved further and further from its original purpose and became a typesetting language (and not a very good one). With the arrival of CSS (Cascading Style Sheets) and XHTML (a strictly XML-compliant formulation of HTML) we can finally get back to using HTML for its intended purpose.
The CMS (content management system) developed by mimesis is designed to separate content from layout. The content will be stored in a database, while layout issues will be taken care of using XSLT (eXtensible Stylesheet Language Transformations) and CSS.

Storing and retrieving content
Content will be stored as XML files in a database (MySQL or FireBird are good open-source candidates). XML gives flexibility to our content storage: editorial comments, suggestions for future updates etc. can be embedded in the content itself. This additional content can be stripped out using XSLT so it is not visible to the end user, rather it can be viewed by authors and editors to provide a flexible and embedded system for keeping track of what work needs to be done.
Database storage permits efficient content-based searching, e.g. it is possible to retrieve all content containing the words "Robert Browning" or "karst". Searches can be restricted by subject, title, keywords or any other available category. An audit trail giving details of document versions and their authors and an entire revision history for all created content can also be managed with this system.
When a user requests to see a document (e.g. by typing in a question code or running a search) a server-side script will perform the following steps:
- Connect to the database
- Run a query to retrieve the content
- Insert glossary entries into the content
- Insert the content into the appropriate template document. This will be stored in the filesystem.
- Using XSLT, transform the XML content into HTML. Remove any tags not required for display. The set of transformation rules applied will depend on the role of the user (admin/editor/author/reader etc.).
Finally, the generated HTML will be served to the screen (or printer or any other output device). The currently applicable CSS rules will determine its appearance.
User access control
The authoring system accepts user logins. Each user will be assigned a role. Available roles are
- Administrative - can add and create users and assign users to roles. Can create, delete and move files.
- Author - can create and edit content.
- Editor - can create and edit content. Can change document status.
- Educator - can view content in a variety of ways using the new tools described below.
- Student - can view content in a predefined way.
It is possible for a single user to have multiple roles.
Depending on the user role, different pages will be available (e.g. authors need to be able to upload files, editors need to be able to set the document status to 'live' or 'under review' etc) and different items will be displayed on each page (e.g. editorial comments will only appear for users with editorial and authoring roles).
Students do not have to log in. To log in as an administrator, author, editor or educator the user will follow a link to a login screen. Using the server's session capabilities the user's ID will be remembered between screens and their access will be tailored accordingly.
Customising document presentation
In a flat HTML file based system, there is only 1 way to view tutorial information. For example, in the orginal version of e-xamit, typing a question code on the home page brings the student to a portal page with links to preparatory, solution and tips pages. In the database-driven system there can be additional categories of content available to users with different roles.
Different kinds of output device also call for different ways of presenting content. Mobile phones, PDAs, printers and text-to-audio devices can be catered for using a combination of style sheet directives and different XHTML wrappers based on the accessibility requirements for the user-agent.
Conclusion
A database-driven content management system provides power and flexibility for both authors and consumers of education materials on the web. Look-and-feel can be controlled centrally using style sheets. Authoring and editing can be streamlined by intelligent use of XML tags. The content can be tailored to fit the requirements of the students based on custom views created by their teachers and also the browser settings of the students themselves.