Introduction
XIMS is a flexible web based content management and information system, built to especially suit the needs of academic and educational infrastructures. The XIMS project initially started out as a side project of the reorganization and redesign of the website of the University of Innsbruck, to create a small and simple content management system to manage the University's public web pages. Inspired by an existing information system that was created and used by the Department of Computing Services and an evaluation of the needs of the University of Innsbruck, that intent of pure web content management shifted to the creation of a more generic content management system, which also should be used as an information and communication system. During that early planning stages the following major design goals were developed. For the sake of brevity, XIMS' implementation concepts to reach those goals have been merged with the corresponding items.
[ top ]
Design Goals and Features
Open and Standards-Based
XIMS is not based on proprietary technologies like internal data repositories or self-made scripting or query languages. As the data is by default stored in widely used RDBMS (currently Oracle and PostgreSQL are supported), it is possible to directly interface XIMS content via JDBC or ODBC. On the other hand, it is also possible to plug in non-RDBMS data storage providers.
Document bodies are stored in XHTML 1.0 [1] and rendered with their corresponding XSLT [2] stylesheets. XIMS content metadata adopts the Dublin Core Metadata Element Set, Version 1.1 [3] , and is output using RDF [4] for public web page content.
Internally, all data is stored in XML DOM [5] data-structures; therefore, information handling is done through formalized interfaces.
Because of the use of compulsive metadata and hierarchically structured data storage, XIMS content is open for integration into a Semantic Web [6] scenario.
Structured, hierarchical data storage supports and increases efficiency for database crawling and data-mining tools. XIMS provides a special programming interface in order to enable easy access to metadata stored.
Reduction of website staff workload
Website staff workload can be drastically reduced by separation of content and style using XML/XSL technologies and safe delegation of content authoring. Especially in university environments, autonomy of content managers is important, a fact reflecting the usually weak or loose hierarchies of such organizations.
XIMS is heavily based on XML/XSL technologies leaving content to content providers and style issues to designers. By using XIMS's fine-grained access control mechanisms, content authoring can be safely delegated to organizational units like university departments, for example. The delegation of rights includes the creation and use of XSL-stylesheets, of course, enabling highly customized user interfaces to XIMS.
Because most users who provide hyperlinked information have no time or no intention to check link validity on a regular basis, XIMS offers several options to ensure that referential hyperlinks are up-to-date.
Validity of internal links
XIMS tracks the hyperlinked structure of the content. Consequently, internal links will not break if the location of the linked content changes.
Validity of external links
XIMS users can specify if external hyperlinks in their documents should be monitored or not. In addition to the inline external hyperlinks management, XIMS enables the creation and maintenance of small link archives using link objects .
XIMS will provide an API to support external link-validation crawlers. The validation of external references can be automated and authors can be notified as soon as their links were found broken.
Symbolic links
XIMS's symbolic link objects provide two major benefits:
Simplification of base URLs and facilitation of virtual-server hosting: XIMS may hide the hierarchical location of content by using symbolic name aliases. Thus, XIMS enables simple URLs like http://host.domain/department-name/ which actually point to http://host.domain/faculties/departments/department-name/. Such mappings, symbolic name to department-name as in the just mentioned example, can also be used to dynamically generate virtual hosts webserver configurations, thus enabling URLs like http://department-name.domain/.
The use of symbolic link objects can be used transparently. On the user-level, URL style links, like http://host.domain/department-name/, or http://host.domain/department-name/staff/someone/ are only made visible. Users don't have to bother with URLs like http://host.domain/show?id=number
Simplification and acceleration of content authoring
Because of the ease of use of the in-browser-WYSIWYG-editor used by XIMS, content can be created and edited by more people in a much faster way. The familiar Microsoft-Word-like look and feel helps staff to deliver their content without the long learning phase of additional HTML-editors.
XIMS supports structural content organisation and syndication known from web-portals, where different users can manage the content of their portlet , indirectly collaborating for the common portal-page. The University of Innsbruck's homepage for its staff and students, iPoint , is a first example of content providers managing their portlets.
Secure information management
By means of a flexible recursive role and ACL model, XIMS provides the possibility of secure information management , easily enabling safe delegation of content management, like cross-department working groups, for example.
Using cascaded request handling, the system can customize the content shown to the user. It will transparently decide whether certain content or links can be accessed by the client or not.
Auditing and quality controls
Along with optional auditing possibilities of customizable granularity, XIMS provides means of quality control on several levels:
-
Content level
-
Verification of external and internal links in documents, including detection or prevention of publishing of orphaned objects.
-
Well-formedness conversion and check of document bodies
-
-
Style level
-
Possibility to control design independently from content, enabling corporate designs throughout different organizational units
-
Possibility to provide different styles for disjunct usergroups, including different customized views.
-
Powerful search capabilities
You can choose between different modules for searching XIMS managed content. Currently, modules for "vanilla" SQL and for the powerful indexing and retrieval possibilities of Oracle interMedia [7] search technologies in order to improve content search capabilities. interMedia supports indexing of various document formats, amongst them Adobe PDF and Microsoft Word files. One of the search features provided by interMedia is field based searching, enabling queries similar to dc.author=smith , for example. Other features include XPath searching stemming, phonetic, fuzzy, and proximity searches, as well as synonym searching using (custom) Thesauri.
Flexible application generation
The generic and open design of XIMS provides the possibility to create applications or modules extending XIMS's standard document management features. Examples of such customized applications or modules include portal pages, several kinds of fori (Discussion Fori, Support Fori, ...), a bibliographic catalog (BiDok), a PDF-Presentation module (AxPoint), a DocBook documents module, and a link collection application.
Networked content sharing
It is possible to perform SOAP [8] based exchange across different XIMS installations using one or multiple web servers, leaving storage and staging up to the master installation, enabling several stages of server clustering.
Such a XIMS master can serve public content, for example, while both administration and data-storage happen at dislocated slave-servers.
Thus, XIMS can be used to create content-communities that share content on one data level without necessarily using identical user-spaces, therefore, XIMS is helping to organize trans-institutional content sharing scenarios.
[ top ]
Technical Implementation
Developers Reference
Please follow this link for details on the technical implementation.
Application examples
Discussion forum
A very basic and simple discussion forum consists of discussion contributions organized in threads. With XIMS, such a forum can be established rather easily: All that is needed are two object types and their module implementations, (a) Discussion Forum storing the topic and forum-wide attributes, and (b) Discussion Contribution handling discussion entries. A discussion thread is started when one entry refers to another entry as parent_id , i.e. a reply to a message.
An example for a Discussion forum application in action is: The Ice-Man Discussion Forum, University of Innsbruck, September 2001
A simple bibliographic catalog
Similar to the discussion forum example there is little to be added to implement a simple bibliographic catalog with XIMS. A non-hierarchic catalog could be created using two classes/object types: Bibliographic Catalog as a subclass of the folder-class and Bibliographic Catalog Entry as a subclass of the document-class. Catalog specific metadata could be stored and manipulated by the latter as XML-formatted string in CONTENT.attributes encapsulating its storage details to the scripts.
Hierarchic catalogs could be implemented by adding a subclass of the Bibliographic Catalog folder-class called Bibliographic Catalog Category .
Test-Drive the current XIMS beta
Login with username "xgu" and password "xgu"
Key Technologies Used
-
Gnome's libxml2, libxslt and its Perl interfaces XML::LibXML and XML::LibXSLT
-
mod_perl - The Apache/Perl Integration Project
-
AxKit XML Application Server
[ top ]
Future Plans
Workflow-Management
Versioning (Neon (DAV), Subversion (DeltaV))
Semantic Web Concepts
Educational Content Providing, Learning System, EML (?)
XACLML, ACL-Draft IETF
Xopus, Bitflux
[ top ]