Building a local CMS at Kent State
Rick Wiggins,  Jeph Remley,  Tom Klingler.  Library Hi Tech.  Bradford:2006.  Vol. 24,  Iss. 1,  p. 69-101 (33 pp.)

 

Subjects:

Studies,  Content management software,  Academic libraries,  Computer architecture,  Metadata

Classification Codes

9130,  8306,  5200,  9190

Locations:

United States--US

Companies:

Kent State University (NAICS: 611310 )

Author(s):

Rick Wiggins,  Jeph Remley,  Tom Klingler

Document types:

Feature

Document features:

Diagrams,  Illustrations,  References

Section:

THEME ARTICLE

Publication title:

Library Hi Tech. Bradford: 2006. Vol. 24, Iss.  1;  pg. 69, 33 pgs

Source type:

Periodical

ISSN:

07378831

ProQuest document ID:

1028737551

Text Word Count

10625

Document URL:

http://proquest.umi.com/pqdweb?did=1028737551&Fmt=4&clientId=2335&RQT=309&VName=PQD

 

Abstract (Document Summary)

The purpose of this paper is to describe the creation of a content management system (CMS) for the Kent State University Libraries & Media Services Web site. It describes the requirements for the site and for the CMS, the CMS architecture and components. This paper describes the genesis and architecture of a locally-written CMS that is strongly focused on metadata. A review of local, library-specific needs combined with a review of the product universe resulted in the decision to write a local CMS.

Full Text (10625   words)

Copyright Emerald Group Publishing, Limited 2006

[Headnote]

Abstract

Purpose - The purpose of this paper is to describe the creation of a content management system (CMS) for the Kent State University Libraries & Media Services web site. It describes the requirements for the site and for the CMS, the CMS architecture and components.

Design/methodology/approach - This paper describes the genesis and architecture of a locally-written CMS that is strongly focused on metadata.

Findings - A review of local, library-specific needs combined with a review of the product universe resulted in the decision to write a local CMS.

Practical implications - Includes enumerated goals and requirements for a database-driven and metadata-focused web site.

Originality/value - Describes the creation of tools for data management in a locally-written CMS.

Keywords Content management, Information management, Libraries

Paper type Technical Paper

 

Background

The first generation Kent State University Libraries & Media Services (LMS) web site was a small accumulation of static pages. The second generation site, in place from the late 1990s through the early 2000s, responded annually to millions of page requests. In the early 2000s, the web team, a subset of the systems department staff, began to realize that the site had a long way to go in terms of data consistency, presentation consistency, and automation. The team began to hatch the idea to build a new, fully-automated site. A better site needed better control over presentation to achieve a more professional, consistent look. Better control over staff data input would eliminate poor quality HTML. A better site required optimized management of data that tended to appear in multiple places in various stages of currency. And, a top need was better content description for more flexible retrieval and presentation. Feeling that metadata was driving the future of the web, the team knew that it needed to build a site that exploited metadata for the organization and retrieval of both research data and basic operational library content.

Each page on the second generation site was made up primarily of static HTML pages coded in Macromedia's Dreamweaver. Content providers for the site were a small (but growing) number of LMS staff members with varying levels of HTML experience. To create a new page, a staff member would typically copy an existing page, save it as a new page, delete the content of the former page, and then create their new content. Staff who did not know how to edit web pages would send their edits to staff members with more experience (typically the site's webmaster).

With the number of staff content providers on the site growing, most of whom had only a basic understanding of HTML, the integrity of the site's overall look and feel started to degrade. The site was formed with a series of nested tables, with many layers of tables for overall page layout, navigation options, and other components like page headers, content areas, and footer. The problem with the practice of copying existing pages was that, in deleting areas of the former page's content before entering the new content, the author would often delete too much code, or not enough, which would result in a broken page layout of broken tables. Many times the staff did not know how to fix it, or did not pay any attention, and so the errors were left in place. Over time the pages on the site that were supposed to have a consistent structure actually started to look more and more different. For example, the footers began to stretch over different areas of the bottom of the pages, and the site logo in the upper right hand corner of the pages began to shift position from one page to the next. The team clearly had a fundamental problem with the structure and the editing process for the site.

In addition to accidentally breaking a page's layout, some staff started to go their own way with their pages. Some altered page layouts by removing or changing the navigation bar that was supposed to be consistent on all pages; others changed font faces and colors, bringing a whole new level of undesired "creativity" to the site. With different staff straying from the original design, the LMS web site started to look less consistent and less professional.

Another problem inherent to a site full of static web pages was the need to make site-wide updates. There were times when a new item needed to be added to the navigation sidebar, or the contents of the footer needed to be updated. There were times when an update was needed to the overall look and layout of the site to bring it back to a more consistent structure. Attempts to perform site-wide find-and-replace code corrections were difficult or impossible because staff had made changes to the code, sometimes intentionally, sometimes accidentally. An attempt at a global update to the code would reveal that many pages would still have to be individually updated. And, even this approach assumed that these pages could be located by clicking through the site and randomly coming across the errors. Sometimes a page's code did not get updated as intended, continuing to break the integrity of the site. All of these problems provided more evidence of the site's fundamental structural problems.

The team also discovered hundreds of stray and duplicate pages; pages that were considered "deleted" just because there were no known links to them; pages that were older versions of a current page; entire directories with no known links into them; duplication of data on different pages, sometimes with one instance of the data being current and the duplicate out of date. It was clearly time to plan a new site that would be built and managed by a new method.

Beginning to plan

At the start of planning for the new site, a web committee of LMS employees was formed, composed of interested staff members from various departments. The committee decided the site should be recreated from scratch, content should be easier to publish, and the site should be easier to maintain and update. It quickly became apparent that the new site also had to offer improved features. The committee very much wanted the new site to be based on the needs and feedback of our users - the students, faculty and staff. It was widely felt that the old site was built by librarians for users who, to navigate the site successfully, would have to think like librarians.

One of the first important steps with the new web committee was to meet with focus groups and conduct usability studies to find out what they did and did not like about the existing site, how they used it, how difficult the site was for them to use, and what they wanted in a new site. Rather than restricting what types of users should be listened to, the committee ensured that the focus groups were a mix of students, faculty and student library employees. After completing release forms, the participants were asked questions about the current site, were asked to compare it to other sites, and were allowed to offer any concerns and requests that had not already been considered. Participants in the focus groups were fed pizza and soda, and were given $15 each on their university ID spending account. Usability studies were conducted as well, with individual participants completing assigned tasks using the current site, and speaking aloud whatever thoughts or problems they might be experiencing. Usability study participants were also each given $15 on their accounts. The pizza and money turned out to be just the right enticement; just the right number of participants were involved, and they were genuinely interested in helping the committee work towards a new and better site.

General goals and requirements

In order to improve the usability and ease-of-maintenance of the new web site, the team established a set of general goals for the new site. This list of goals became the foundation on which were built the more detailed requirements for the site and for a CMS that would be used to manage it.

Edit content using web forms

Instead of using web content editing software like Dreamweaver or BBEdit, the staff would do all editing in the CMS using web forms. This approach would reduce the need for special software purchases, installation, and training. Staff would be able to edit web content from anywhere they could access the CMS with a browser. In order to allow for what-you- see-is-what-you-get (WYSIWYG) editing, special software would be purchased and installed into the CMS to provide this functionality in a web browser. But, in order to maintain a clean separation of the content from the presentation of the pages, many of the typical HTML features that people would expect in such a tool would not be made available. For example, the selection of fonts, font colors, and font sizes would not be made available. More radical, the typical HTML table editing tool available in web content editing software packages would not be made available. This decision would prevent the use of tables for layout, making the web site more ADA-compliant.

Staff would not need to know how to write HTML to edit content and would not be given the ability to write raw HTML. The CMS and WYSIWYG editor would allow them to create content without ever seeing the underlying HTML being generated. The creation of the HTML would be done dynamically and would rely heavily on the use of Cascading Style Sheets (CSS) for the description of the presentation.

Organize pages using metadata

The traditional hierarchical organization of the earlier sites now seemed too arbitrary and inflexible. In time, any newly-invented hierarchy would no longer make sense, but would be deeply embedded into the structure of the web site, making widespread changes problematic. Instead, the team wanted to use metadata to organize the pages on the new site. By allowing the staff to add classification terms to the pages they created, the team could create dynamic indexes of page links, provide a more focused search capability, and easily generate a site index. This approach would allow patrons to use various methods of locating content. To provide a rich enough set of terms, the team worked with the web committee and the catalog and metadata librarian to create a controlled vocabulary of functional terms - those related to library functions, e.g. overdue fines. Additionally, they agreed to allow the use of Library of Congress Subject Headings (LCSH). While LCSH terms would be more useful for pages like subject guides, they would also be available for use with any page. For more specific groupings of pages, a set of uncontrolled "special" terms could be added to any page. In all, then, three types of metadata were defined: functional terms, LCSH terms, and special terms.

This classifying of pages would also support a metadata search of the site. While many sites provide a keyword search, the committee felt that a metadata search would produce better results, since these terms are specifically selected by the library professionals to describe the content of the page. The use of controlled vocabularies also would allow for the display of a dynamically-generated site index. Each functional term and LCSH term in use would be displayed in the site index with a list of all pages that had been classified with that term.

Store tabular information in database tables

In order to provide a single location for common information, e.g. library hours, it was agreed that all tabular information would be stored in actual database tables. This information would be made available for display on any page in the web site. The CMS would allow for the creation of new database tables, the addition of new table fields, and the editing of table data.

Within a page, the CMS would allow a staff member to specify which table to use, which fields (columns) to display, and which records (rows) to include. Using this technique, a staff member would be able to create a table of information without the use of an HTML table editing tool. Again, keeping an HTML table editing tool out of the hands of a wide variety of staff would prevent inconsistent looking pages and pages with broken formatting caused by broken tables.

Make the web site able to be indexed by spiders

The web pages created using the CMS would be dynamically generated and would not have a hierarchical directory and filename structure. In order to make these pages able to be indexed by spiders, e.g. Google, the URL used for displaying content could not include parametric information.

Create draft copies of pages for editing

Staff would create draft copies of pages when editing. This workflow would allow previewing of draft page content via the intranet before the draft was published to the public web site. Staff would be responsible for their content and would not require any approval before publishing their content, but could ask their colleagues to review their content before publishing it.

CMS requirements

Initially, the team had hoped to identify a commercial or open source CMS that could be used for the new site. As this section will show, the team specified its requirements for such a product, reviewed quite a few of them, and eventually reached the difficult realization that only a locally-written CMS could come close to satisfying all the goals and requirements.

The general requirements for the CMS fall into five basic areas:

(1) Content creation:

* Integrated authoring environment: does the tool provide the ability to create all of the types of content needed?

* Separation of content and presentation: is the content created independent of the presentation?

* Multi-user authoring: can many users be editing content simultaneously without overwriting each others' work?

* Content re-use: can a single copy of an item of information be displayed in multiple locations with different views?

* Metadata and cataloging information creation: can metadata and cataloging information be created and maintained for indexes, searching, and site mapping?

* Link management: does the system prevent internal links from breaking?

* Non-technical authoring: can content providers create content without knowing HTML?

* Ease-of-use: is the user interface intuitive and ease to learn?

(2) Content management

* Version control and archiving: does the tool allow previewing of new content and roll-back to previously-published content?

* Workflow: can default editing permissions be set on a group level, and is there an approval mechanism for approving changes to content?

* Security: will the tool integrate into the existing local security infrastructure?

* Integrated with external systems: will the tool work together with other existing systems?

* Reporting: does the tool provide an extensive set of reports - both retrospective and pro-active - and allow for customized report creation?

(3) Publishing:

* Stylesheets: is the final appearance of the content controlled through stylesheets?

* Page templates: is the overall page layout controlled by templates, and can new templates be easily added?

* Extensibility: is there a method to incorporate non-CMS managed content into the web site?

* Support for multiple formats: can the tool publish content in multiple formats, e.g. HTML, PDF, WAP, etc.?

* Personalization: does the tool allow for presentation based on user profiles or user preferences?

* Usage statistics: does the tool provide reporting on page hits, most popular pages, daily usage, and search terms being used?

(4) Presentation:

* Usability: is the presented content easy to understand and use?

* Accessibility: does the presented content conform to the W3C web accessibility initiative?

* Cross-browser support: is the presented content viewable with all popular browsers on all popular platforms?

* Limited client-side functionality: does the presented content require additional client-side technology, e.g. Java, JavaScript, or Flash, to work properly?

* Speed: is the content presented with a minimal page size to make page loading quick?

* Valid HTML: does presented content conform to the current HTML specification?

* Effective navigation: does the presented content include consistent, comprehensive and usable navigation aids?

* Metadata: does the presented content contain sufficient metadata to allow effective indexing and searching?

* Search engine access: are the site pages accessible to spiders and crawlers so that the site will be indexed by engines like Google?

(5) Contract and business:

* Training: does the vendor provide training materials for both the administration and use of the CMS?

* Documentation: is there adequate documentation of the CMS for users, administrators, and developers?

* Warranty: what is the warranty period for the product?

* Maintenance agreements: what maintenance options are available and at what cost?

* Resources required: does the product require hardware or software resources which LMS does not currently have or could not easily acquire?

* Skills required: does the product require employee skills which LMS staff do not currently have or could not easily acquire?

* Cost: is the cost of the product fixed or per-seat? Is it within reach?

* Scalability: how well will the product scale without requiring the acquisition of additional hardware or software?

* Reference sites: what other sites are successfully using the product?

CMS product review

To begin the product review, the team established a simple spreadsheet matrix with requirements along one axis and products along the other. Team members were each assigned a group of products to research. Then, the review content was merged and several meetings were dedicated to reviewing the results.

Lists and reviews

The review of potential CMS products was helped by these comprehensive CMS product listing and review sites:

* List of CMS at Wikipedia - http://en.wikipedia.org/wiki/List_of_Content_ Management_Systems

* CMS Watch Vendor List - www.cmswatch.com/CMS/Vendors/

* The OSCOM CMS Matrix -www.oscom.org/matrix/index.html

* CMS Ratings at opensourceCMS - http://opensourcecms.com/index.phpPoption =content&task=view&id=388&Itemid=143

* CMS Review - www.cmsreview.com

* Overviews of CMS products at Hartman Communicatie BV - www.hartmancommunicatie.nl/extra/tools.htm; http://tools.hartman-communicatie.nl/overzicht.html

Sample products

Listed here is a sampling of products that received some consideration. This list is not meant to be exhaustive or evaluative, but to show the breadth of products and environments that were considered.

* Apache Lenya - http://cocoon.apache.org/lenya/ - an open source CMS.

* Bricolage - www.bricolage.ee/ - an open source CMS.

* Drupal - www.drupal.org/ - an open source CMS.

* IVia - http://infomine.ucr.edu/iVia/ - an "open source internet portal and virtual library system".

* Midgard - www.midgard-project.org/ - an open source CMS.

* OpenACS - http://openacs.org/ - an open source web site tool kit.

* PhpWebSite - http://phpwebsite.appstate.edu/ - an open source CMS.

* Typo3 - http://typo3.org/about/typo3/ - an open source web content management framework.

* WebldeaTree - www.webideatree.com/ - a commercial CMS.

* Zope - http://www.zope.org/ - an application server environment for building a tool like a CMS.

Promising new projects and products

Well after the project was underway and the local CMS was nearly finished, the team discovered these projects/products of interest. The team has not evaluated them thoroughly but encourages anyone starting a product review to add them to their list of products to review.

* LibData - http://libdata.sourceforge.net/ - an open source CMS from The University of Minnesota.

* HyperContent - http://hypercontent.sourceforge.net/ - an open source CMS from Columbia University.

* Caravel - www.caravelcms.org/ - an interesting new open source CMS.

The final deasion

The team realized early that the vast number of products in the CMS arena made it impractical to review them all. Consequently, it acknowledged early that the perfect product might simply be missed in the review process. In spite of this challenge, the team proceeded with its systematic review. In most cases, charts, lists, descriptions and reviews were used; in some cases software was downloaded and tried.

Some products did not offer enough metadata control. Others did not offer the desired editing control. Others did not offer the internal link maintenance desired by the team. Some were too difficult to use. Others did not offer flexible re-use of database table content.

Many products were far too expensive. The team leaned early toward seeking an open source solution. They had no desire to spend a big chunk of money up front that would be followed by endless annual maintenance charges.

Also important in the decision process was the fact that the team already had significant infrastructure in place. The existing intranet was vibrant and heavily-used. It was built in a UNIX, Apache, MySQL, and PHP environment. The team wanted to be able to integrate the new CMS product into the intranet as another staff working tool, and wanted to be able to exploit their proficiency in PHP/MySQL with the new CMS.

In short, none of the low-cost or free products that were reviewed satisfied all of the new site and CMS requirements. After a thoughtful process, the team came to the difficult decision to write its own CMS in-house. The library's management team, recognizing the central importance of a strong web site to the library's future, made the strategic decision to dedicate the staff resources to the project.

Environment: human

Beyond the web team, the local environment included a wide range of staff. Staff in diverse departments like Reference, Circulation, Interlibrary Loan, Reserves, Branches, Audiovisuals, and Teleproductions would all be contributing content to the new site. In the case of resources like research databases, staff from various departments would be contributing information about a single resource. For example, a reference librarian would input database descriptions and URLs and describe the appropriate subject metadata for that database. At the same time, a technical services librarian would input availability restrictions for that resource, like whether the library's license permitted remote access to the database. Plans like these were laid in place to capitalize on staff throughout the organization.

To make these plans efficient, the CMS would have to provide a variety of updates to staff. For example, staff would have to receive an email update when a new resource was added so that they could complete their portion of the work of describing it, or so that they could point to it from one of their content pages. In short, the human environment also supported the decision to build a local CMS, because only a local System could be customized enough to include these kinds of alerting services tailored to the work, the content, and the local staffs division of duties.

Environment: technical

The LMS environment consists of both Microsoft Windows and Unix servers. The web sites are supported by Apple Xserves running Mac OS X Server - a flavor of FreeBSD Unix. The web server is the open-source Apache server. Almost all coding is written in PHP, an open-source server-side scripting language. The back-end database is the open-source MySQL server. Mac OS X Server comes with Apache, PHP and MySQL already installed.

Figure 1 shows the server architecture. A Windows file server allows sharing of the non-database web content, i.e. HTML pages and PHP scripts, between the production web server and the test web server. The web servers connect to the file server as a client using the network file system (NFS) protocol. They are connected via a private local-area-network using a gigabit Ethernet switch. Since the file server runs standard Windows 2003 server software, staff can connect directly to this server using native Windows file sharing (SMB). While it is possible to run Samba on the Mac OS X servers to provide SMB services, the web team has found that having Windows desktops connect to a real Windows file server allows them to control access more easily using Microsoft's Active Directory services. This also means that user accounts do not have to be created on the web servers for staff use, thus reducing administration requirements. As Mac OS X's support for Active Directory matures, the file server might be able to be replaced with a storage area network (SAN) device.

Having a separate test web server with access to the full set of HTML pages and PHP scripts allows thorough testing of software updates and changes to applications without disturbing the production web site. Once testing of these updates and changes is complete, they can be safely applied to the production server.

Illustration

Enlarge 200%

Enlarge 400%

 

Figure 1.

Server architecture

 

The LMS intranet web site provides a central point for information needed by the staff. Many staff tools, including the CMS, are now web-based and accessible via the local intranet. Access to the intranet is via the secure-HTTP (HTTPS) protocol. Access to the public web site is via standard HTTP protocol.

The staff use both Windows and Macintosh desktop systems. In order to provide a what-you-see-is-what-you-get (WYSIWYG) editor for staff to use in our CMS, the team needed to find something that would work on both platforms. They chose the Editize editor from SitePoint Pty. Ltd. Editize is written in Java and runs inside both Windows and Macintosh web browsers. Some problems were experienced with Editize working properly in Internet Explorer (IE) on some staff Windows desktops. Unable to determine why this was occurring, the team decided to offer DevEdit, a product from Interspire Pty. Ltd., as a Windows IE-only option. DevEdit does not use Java and so does not present the same browser problems as Editize.

Development plan

The committee wanted the new web site to go live at the start of the next fall semester, only 14 months after the decision to write a local CMS. This tight timeline made a development plan very important. The team had to work quickly, breaking down what modules to build, what prototypes to test, what focus groups to conduct, and the like, and then layout a timeline in which all of these needed to occur. Because there were so many different aspects of the project, some could take place at the same time. Others had very specifie prerequisites. With a team working on the overall project, the workload could be divided. The basic content creation code was written first. Then, content creation started while the team finished writing the remaining content creation pieces and the public display code.

Prototypes for the design of the new site were being developed while the CMS was still being coded. Because all content was stored within database tables, and because CSS was being used to separate content from style, the layout and design of the site did not have to be completed before the contributors started developing the content. Sketches for the new site were created based on focus group and usability study feedback on the original site, as well as on the new features the committee wanted to add to the new site. Although the sketches and prototypes of the new site were not functional, they were adequate to describe intended functionality to the focus group participants and get their feedback, finding out what features they did not feel the new site needed, what was missing, and what needed to be changed. Two rounds of prototypes were presented to focus groups, with the second round of sketches having a tighter focus based on the feedback from the first focus group.

There were many features that the participants loved and/or felt were long overdue, such as a field on every page to search the library's online catalog, and the link on the home page that takes users directly to their account login for renewing books and the like. The idea of simply reducing the amount of content on our home page received some of the best responses from the participants.

Some features of the new site they disliked, such as redundancy of information and links on the new home page. This input really helped the team pare down the content and streamline the home page. The focus groups also helped in cleaning up some of the design issues on pages that were too busy in their layout or background colors. Site developers were also reminded by the focus groups to keep the terminology on the site simple and clear.

Sometimes, hearing how the new features could help them in new ways, they changed their minds and decided they would like the new services, such as the thin space dedicated to their link history (also known as breadcrumbs), or the added space dedicated to the Media Services portion of Libraries & Media Services. Some focus group participants felt the navigation tabs across the top of the page should remain ' "on" after a user clicked on one of them and went to the designated page. After they learned the site was not nailed down with a rigid hierarchy, and that there were numerous ways to get to a page depending on the user's needs, they understood that leaving a tab's background color in the "on" state could be misleading.

There were some instances when services the participants continued to feel were not needed were kept in the new site due to the requirements laid down by the web committee, such as the "What's New" section on the home page, which they felt they never viewed and took up valuable space. It turns out that the focus groups consisted mostly of library patrons who found out about the study from the "What's new" list, so even though they felt "What's New" did not warrant the space, they were using it!

Based on the timeline to date, the content editor had to be one of the first things developed so that staff could begin adding content to the site even as the CMS was continuing to be developed. In addition to general text, images and links to other sites, resources (e.g. links to databases, journals, and web sites) were also an extremely important aspect of the new site. Since resources were to be incorporated into the content of many pages, the resource editor had to be built at the same time the content editor was being developed. The programmers were on a tight schedule to get the CMS editor built as quickly as possible, while making it as reliable as possible. Once the most basic parts of the CMS editor were constructed, staff could be trained and set to work on stocking the CMS databases with site content.

Training and documentation

Once the content editing tools were functional, at least the text, image, resource and table building tools, staff training began. At no time before were so many LMS staff prepared to develop pages on the web site. Multiple training sessions were required to reach all the staff who were being assigned responsibility for their departments' content. Most seemed quite enthusiastic to learn the new tools, some were intimidated, and others felt restricted by a system that did not let them design whatever they wanted and have direct access to the HTML. In time, though, they all found the new system helped maintain a more structured, polished looking web site.

The staff were able to train on a test version of the CMS, building as many pages as they wanted without affecting what the public would see. They could build pages with any content just to learn the system, or they could build rough drafts of pages they wanted to later publish to the public site, getting a feel for how they wanted to present their information while still learning the CMS. At first they had to do this without even knowing what it would look like to the public. Focus group feedback on the prototypes had not yet been completed, and construction on the public version of the site was far from complete. These practice exercises also helped the staff learn that this new CMS stored their information in such a way that any later change to the look of the site would not result in a loss of their content.

The staff were first taught how to build standard content pages - text, links and images. For many this was a brand new concept. Additional training sessions were set up just for the librarians who would be working with resources, and other sessions just for those who needed to create tables. Considerably later, a refresher on table creation was included with the form building training session.

During the summer, as the programmers were coding the CMS and public site, and as staff were just starting to learn how to use the CMS, two student employees were hired to also thoroughly learn the system. They followed the programmers along to classes and individual staff training sessions, and used the test version themselves. Their job was to learn the system as if they were the developers and the staff using the CMS, and to write up the documentation for it. Two different approaches to documentation were used. One student was to write up a training manual for the CMS, which would be accessible online so staff could refer to it rather than going to the programmers with each question. The training manual included step-by-step instructions on how to use each tool built into the CMS, and included screenshots with every section.

The other approach was to build in context-sensitive help. The other student worked on a glossary of tool tips, so that staff could click on a section of the CMS they were using and get the tips and defining terms for that specific section of the tool. This context-sensitive help throughout the CMS proved to be very valuable and well-received by the staff. In building this documentation, the students were able to take an outsider's point of view on the whole system and recommend ways to improve the usability of the CMS to the programmers, as well as visit individual staff who still needed one-on-one help with creating their pages. The CMS Instruction Manual table of contents (Figure 2) illustrates the extent and length of the manual.

The instruction manual page on adding the metadata for a new web page (Figure 3) shows the depth of instruction that the summer student assistants were able to develop.

And, the instruction manual page on adding a new resource (Figure 4) shows this same depth as well as the extent to which metadata is applied to resources on the site. This sample page illustrates how the staff applies LC terms, format terms, descriptions and course weights to the description of an individual resource.

Database schema

Considering the complexity of the CMS, a lot of energy was initially spent on determining the overall database schema. The team knew there was a risk of getting part way into the project and realizing that something vital just would not work because of an overlooked content or storage requirement. This team of programmers had not previously attempted a project of this scope, and so quite a bit of consideration went into developing an extensive, extensible, thorough, and reliable schema. Schema planning was based on previous experience with less complicated projects, as well as the desire to implement and combine all the desired new features of this CMS and web site.

Table

Enlarge 200%

Enlarge 400%

 

Figure 2.

CMS instruction manual table of contents

 

Figure 5, the CMS and web site table schema, gives an idea of the extent, complexity, and hierarchical relationship between all the database tables designed into the new CMS and the new site.

Content creation

When the staff logs in to the intranet and enters the CMS to begin work on a page, the CMS homepage presents details on her/his 20 oldest pages (Figure 6). The left column of the CMS provides links to all of the available tools: page editors, table tool, resource editor, file and image tools, reports, subject headings lists and tools, preferences, help, and an enhancement submission tool.

Page overview and navigation

A page on the new site typically uses a standard template. The template page is broken up into three basic rows of content, and each of those can be broken into sub-sections. A typical page (Figure 7) includes in the top row a header with navigation, a Quick Jump navigation tool, and breadcrumbs; in the middle row, the main content area with a left side column, a center column, and a right column; and in the bottom row, a footer.

The header includes logos and two search fields - one for searching the site's content, and one for searching the online catalog. The "Search our site" tool allows a patron to enter search terms which are matched against metadata terms for pages and resources on the web site. If no results are found, the patron has the option of performing a keyword search against the complete page content of the web site. Additionally, since many patrons were attempting to do catalog searches via the "Search our site" tool, an option to send the keyword search terms to the online catalog is provided.

Illustration

Enlarge 200%

Enlarge 400%

 

Figure 3.

CMS instruction manual page on adding metadata for a new page

 

Beneath the logos and search fields, but still in the header section, are the navigation tabs. These tabs break out some of the subsections of the site, but the content is not necessarily restricted to any one of the tabs. Because the team avoided enforcing a rigid hierarchy on the content, the tabs do not remain "lit," or selected, once the user has clicked on one of them.

Illustration

Enlarge 200%

Enlarge 400%

 

Figure 4.

CMS instruction manual page on adding a new resource

 

Beneath the tabs (and still in the header) is a Quick Jump drop down menu including some of the most popular links within the site. Next to this are the bread crumbs, which let a user track back through their path of visited pages in the web site, as an alternative to using their web browser's back button.

Illustration

Enlarge 200%

Enlarge 400%

 

Figure 5.

CMS and web site table schema

 

Illustration

Enlarge 200%

Enlarge 400%

 

Figure 6.

CMS home page

Figure 7.

Public page using the standard template

 

The "Site Index" tab displays a dynamically-generated list of all pages and resources organized by metadata terms. An alphabetical list of all metadata terms in use by any page or resource is displayed. The patron may select the initial letter of the terms to display. Only controlled vocabulary terms are included in the Site Index.

Beneath the header section is the main content area, which is divided into three columns. The page editor (see Figure 8) shows the three columns available for content: left, middle, and right. In this instance, the author is about to insert a Page Index (a list of other pages on the site) in the middle column of the new page.

The left column is always present by default. The author of a page may choose to turn the left column off, but the web committee recommends that the staff keep it viewable, unless turning it off is absolutely necessary for the content of their page. In this way, users will not be confused by the changing upper left starting point of the page content as they navigate through the site. The middle column, or more appropriately "the main column" is where page authors put most of their content. The optional right column is rarely used, but can be handy when an author wants to provide additional information or links that they feel might need to stand out from the main content area. In early discussions of adding RSS feeds, this right-hand column has been considered as a location. The optional left and right columns are each fixed width, and the main/middle column expands to fill the remaining space. The style sheets for the left and right columns scale down the content to be proportional to the smaller space. Fonts are smaller; space between paragraphs is decreased.

Illustration

Enlarge 200%

Enlarge 400%

 

Figure 8.

Page editor

 

Each page has a footer, which starts with a text-only version of the tabs across the top of each page. Next comes the Icon Legend/Key, which shows the icons that may be found on any page and what they stand for (off-site links, PDF files, required form fields, etc.) Since some of these icons are dynamically displayed on the site, based on links and content provided by the staff, the key for all icons is consistently displayed on all pages. After the key are left and right columns of information, containing when the page was last updated, a privacy statement link, copyright information, the option to e-mail a link to the page, and a contact link for the page.

Simple URL

Because the site URLs contain only page numbers, they can be difficult for patrons to remember. In order to provide an easy-to-remember URL for pages, the CMS allows staff to assign a word to the page that can be used with the URL. For example, this page: www.library.kent.edu/page/10562, which contains information about how to find articles, can also be accessed using this URL: www.library.kent.edu/articles This "Simple URL" is stored along with the soundex value for it. If a patron enters a Simple URL that is not in the database, they see a list of Simple URLs with similar soundex values to what was entered.

Getting started: text and images

As the programmers started to build the presentation modules, first came the module for the most basic parts of the web site - the text and image areas. The third-party WYSIWYG editor (Figure 9) that was licensed and integrated into the CMS editor pages allows the author to add and edit text, to mark text as headers or regular content, and to make links to other pages and images. It also provides standard editing features such as bold, italics, ordered and unordered lists, and text alignment.

Image tool

Staff may insert images, but the images much first be uploaded using a tool that allows the image to be given a name and description. Staff may use images uploaded by other staff, and they have the option to preview all the uploaded images, including the graphic, the file name, and the description. The image tool restricts what file types the staff can upload to the JPG, GIF, SWF, and PNG formats, as well as limiting the file sizes that can be uploaded. This restriction assures that the staff does not upload files that might be too large and therefore too slow for a person using a dial-up connection to download at home.

In addition to images, a restricted list of other file types may be uploaded to the CMS, including text files, spreadsheets, PDFs, PowerPoint presentations and videos (DOC, TXT, RTF, PDF, XLS, PPT, MOV, MPG and AVI). These files can then be embedded in a page, or linked to from the page. These uploaded files also have a restriction on their file size, but special exceptions can be made for larger files if necessary.

Table tool

On the old site, HTML tables were often misused to create the layout of a page or to hold images in place. Web development in general is moving away from this practice, and instead using cascading style sheets for the positioning of content. It is becoming more clear that tables should be used as they were originally intended - for tabular data. To help correct the tendency to misuse HTML tables, the team deactivated the option to create them in the WYSIWYG editor and built a much more powerful tool in their place. The table tool allows the staff to create database tables, name the tables, set up the fields (columns) of data in the tables, and define what type of data (characters, dates, yes/no, etc) will be stored. Staff can then add a table section to their pages using the data from a table they created or data from a fellow staff member's table. A single table can have its data displayed on multiple pages, or multiple times on a single page.

Illustration

Enlarge 200%

Enlarge 400%

 

Figure 9.

WYSIWYG text and image editor

 

Staff can create database tables, stock them with content, and then choose how that content is displayed in their pages, intermingled with the text and image sections. The table data can be sorted to display in any order, and can have the display of its content restricted by criteria set by the author (e.g. only display data within a certain date range, only display data with certain text, or only display data if check-marked, etc).

When displaying content from a table, the staff member chooses from a series of options to determine what content will and will not display, what order it will display in, and how it will display (Figure 10). The table data can be displayed in the expected grid-like table format, or it can be manipulated to display as a bulleted list. Table title and rows may be displayed, and when appropriate, table rows may be numbered. The table's location on the page may be given an HTML anchor, and its position on the page may be centered and have a set width, or the browser may use the default settings. There are times when an author only wants to display a limited number of results from the table, so this option was built into the tool. The display of data can be date-dependent, so that a record can be set to display within a particular date range.

Illustration

Enlarge 200%

Enlarge 400%

 

Figure 10.

Table tool

 

Multiple pages can use data from the same table, reducing the need to enter the same information on multiple pages, which in turn reduces the amount of outdated information across the site. For example, if a staff member's name and department are pulled from the staff directory table and listed on more than one page, updates to the information in the staff directory table will be reflected on all the pages.

When a table is added to a page, the author may choose to limit which records are displayed based on criteria. Using the table display tool, they are essentially building an SQL query with which they may require fields to contain certain data, be less than, greater than a certain number, be compared to a date, etc.

If the data coming out of a table has limitations on what will be displayed, and if those criteria result in no data actually displaying on the public page, the staff member can be sent an e-mail message letting them know their table is displaying "zero rows" and that they might want to go back and adjust these limitations. The code checking for zero rows being displayed is automatically run nightly. It is possible, especially in the situations where a date is used in the limitations, that a table displaying content today may stop displaying any content at a later date. Or perhaps a page author is displaying records from another staff member's table, and the original table is edited in such a way that it no longer displays any records on that author's page. In situations like these, an e-mail is sent to the author, letting them know that their table display is empty.

Calendar tool

After the table tool was developed and the site was getting closer to production, a tool was needed to display calendars/service hours on the site (Figure 11). Since many of the departments and service points have different schedules that change based on variables like the day of the week or the week of the semester, and since the coordination and display of these schedules is overseen by the Library Dean's Office secretary, a tool was created so that she could enter the data for each department, setting date ranges that spanned weeks at a time if needed. For example, hours could be entered for all Monday through Friday ranges, or for a specific date range, or only for the circulation desk. Once all this data is entered and approved, it can be changed from draft to published status and made available to the public. The public can see this data in a monthly calendar grid for one department, or can see a day-by-day listing of hours for all departments at once - all pulling from the same database tables. The calendar information can also be exported to a PDF displayed in a specifically-formatted printer-friendly page layout, matching the original format used for many years by all the public service points.

Illustration

Enlarge 200%

Enlarge 400%

 

Figure 11.

Display of calendar results on public page

 

Form tool

Once the site went live and all the major components were built, the team could go back and fill in some of the gaps, such as giving staff the ability to create forms on their web pages. So that staff would not have to ask a programmer to build a specific data-collecting form, the form tool was created as an overlay of the table tool.

The staff may create their own web forms, first by building a table to collect the data gathered in the web form, and then by using that table's fields as the fields in the web form. The web form is built in the same way as a standard text and image area, only staff can use tags in the format: [field:fieldName] as placeholders for the form's fields. At the time the form is displayed to the public, those tags are converted into the appropriate field type, as set up in the original table and with options in the form tool. The character width (columns) and number of rows in a field may be set by the staff as well, in case they need specifics like a small single line field, a multi-line text area, or the like. Fields may be single line text entry, multi-line text entry, date pull downs, checkboxes, or selection lists. Any data collected by the web forms is stored in the original table, and the staff have the option to have that data e-mailed to themselves as well.

In other words, after the creation of a table in the CMS, a form can be built based off of the table (Figure 12). All fields in the original table are displayed as options to include in the form, and may be marked as required if the page author feels this is necessary. Required fields are marked with a red asterisk when displayed in the public form. Fields may be pre-populated with default values. Selection lists (created as common-delimited lists in the original table) display as pull-down lists of options in the form.

To set the position of a field in the form, the author can copy the CMS-specific tags into the WYSIWYG editor. For example, in Figure 12, the item: [field:Phonenumber] will mark the place for a text field in the form. Fields may be marked as required, may be displayed in any order desired, and may even be chosen not to be displayed to the public (for example, the date the form is being filled out). At this point, the form builder is the only place in the CMS that allows staff to use HTML tables, since they are one of the best ways to layout a form with its headers, fields, and descriptions.

Page index

When constructing a page, the page author can include a section that is a page index, a list of related links within the site. When an author chooses to include a page index, s/he chooses words from the pre-defined list of descriptive terms, LC subject terms, and special terms that are used to describe every page in the CMS. When a person views this page index, a dynamically-generated list of the pages matching the terms is provided, with links to each of those pages. A page index may be sorted alphabetically or chronologically by last published date by the viewer of the page. This sorting is dependent on the viewer's session ID, so two different users of the page could choose to sort their view of the page index differently.

Illustration

Enlarge 200%

Enlarge 400%

 

Figure 12.

Form table and form tool

 

Resource editor

Resources are a very important component of the new site content. Resources can include anything from research databases to web sites. Staff decide what constitutes a resource and add the information for the resource using the CMS resource editor. The metadata available for classifying a resource includes: title, description, Library of Congress Subject Headings, format (e.g. journal), URL to content, URL to other information about the resource, access restrictions, coverage, full text availability, catalog record number, and audience (e.g. scholarly). Resource descriptions can also be added on a per-department basis. Additionally, weightings (e.g. core) can be added by department or department-course. This department and course metadata can then be used to dynamically create subject guides and course-specific pathfinders. Figure 13 shows the resource metadata options available to a staff member in the Resource Editor.

The extensive resource metadata description built into the system, combined with personalization, also on an ambitious development agenda, may prove to be core to future developments like an online reference interview function and an option for classroom faculty to enter resources and resources descriptions themselves to make course-specific resource pages.

Resource index

Resource indexes are similar to page indexes, but instead of specifying a list of related pages on the site to display, the staff member selects from a series of complex options (e.g. subject, format, discipline, department, etc.) that specify a list of resources to display. Figure 14 shows a page built with a resource index; in this case, the resources are research databases. Recall that a "resource" is an intellectual item like a database, a web site, or a journal article that has been described in the system with the resource editor.

Figure 15 shows the Resource Index editing tool in the CMS. The fact that the tool allows the staff member to display resources that match criteria like department, course, and weight (from "core" to "may be of interest,") makes it easy to create pages that list course-specific resources.

The CMS as it stands today offers the staff member a rich set of tools to build pages, build forms, describe resources, and display content in specific ways. A year and a half past its launch date, the CMS is proving to be stable and capable for the needs of all of the staff members in the organization.

Administrative tools

Reports and statistics

From day one of the planning, the team wanted the CMS to provide rich reporting tools as well as rich maintenance tools. To date, the list of reports in the system is rather extensive (Figure 16), including reports on data like broken links, terms used, and pages per contributor.

Illustration

Enlarge 200%

Enlarge 400%

 

Figure 13.

Resource editor

 

Illustration

Enlarge 200%

Enlarge 400%

 

Figure 14.

Page made with a Resource Index

 

Link maintenance

Currently the web site has more than 4,500 links, including internal and external links. One objective of the new web site is to minimize the number of broken links. This objective becomes increasingly difficult as the number of links in the web site grows. To achieve this objective, two steps have been taken. First, internal links, which are links to other pages on the web site and links to images and files on the site, cannot become broken because the CMS prevents pages from being deactivated or images and files from being deleted if there are any links to them from elsewhere on the web site.

Second, every external link in the web site, including those in pages, resources, and tables, is checked every night to ensure that it is accessible. If a link is inaccessible, a counter is incremented. Some links will be inaccessible for short periods of time due to network problems or web site maintenance; the CMS accounts for this fact by simply tracking a broken link for five days before taking any action. Once a link has been inaccessible for five days, an e-mail message is sent to the page, resource, or table editor indicating this problem status. A second message is sent once a link has been inaccessible for ten days. Once a link has been inaccessible for 15 days, an e-mail is sent every day reminding the staff member of this fact. A report (Figure 16) of the current broken links is also available in the CMS to all staff members who are content providers.

Site statistics

The following are generated on a monthly basis: monthly hits per page statistics (Figure 17) monthly sessions per page, monthly visits duration per page, all pages totals, and referrers list. These figures include the total of last year's hits, and each page's percentage of a month's hits. If a visitor views the same page more than once in a visit, each hit to the page is counted.

Illustration

Enlarge 200%

Enlarge 400%

 

Figure 15.

Resource Index tool

 

Month-by-month sessions per page, including totals for the previous year, and each page's percentage of a month's sessions are also recorded (Figure 18). If a visitor views the same page more than once in a visit, only the session is counted.

The cumulative amount of time spent on each page in a month is tracked (Figure 19) by the use of session cookies. Nevertheless, the total figure is a rough estimate, since literal time spent on a page cannot be recorded if a visitor closes their browser or goes to an off-site link.

A report called "All Pages Totals" (Figure 20) displays boiled down information from the other statistical reports, such as the grand total hits and sessions for a page, when that page was last visited, how often that page was the first or last page visited in a session, and how much time was spent on the page since its creation. This report is proving to be very valuable to staff members as they evaluate the use of their pages.

The Referrers List report (Figure 21) counts the number of visitors from external web sites to the new site. This report can help the committee evaluate where users come from and therefore decide how and where to focus its efforts, for example, on the addition of links to the site on external sites. For example, the fact that four times as many users get to the new site from the university homepage (www.kent.edu) than from the faculty/staff/student portal (flashline.kent.edu) might be important. Also important might be the fact that so relatively few users get to the site from the online catalog (kentlink.kent.edu).

Illustration

Enlarge 200%

Enlarge 400%

 

Figure 16.

Reports and statistics menu

 

Future enhancements to the statistics will include a report of the most common paths through the site. This report will allow the web committee to track, for example, the most popular links off of the home page. It will also allow the study of how efficiently (or not) users find certain information on the site.

Future enhancements

During the focus group sessions, the team heard from patrons that they would like to be able to personalize their interaction with the web site. Some patrons preferred a more graphical interface while others a more minimal interface. The option of giving patrons more control over their experience with the site is a high priority on the project enhancement list. Because the site is dynamically generated, creating a customizable interface will not be a difficult goal to achieve. To date, the chief limitation has been the lack of a centralized authentication service on campus. There is no desire to create another username and password for a patron to remember. Nor is there a desire to use the patron's online catalog login, as this still uses the patron's social security number.

Illustration

Enlarge 200%

Enlarge 400%

 

Figure 17.

Monthly hits per page

Figure 18.

Monthly sessions per page

 

Recently Kent State University has implemented a Lightweight Directory Access Protocol (LDAP) server which could be used as an authentication server. At the same time, work is underway to implement the Shibboleth system (http://shibboleth. internet2.edu/) as a single-sign-on service. A Shibboleth implementation would rely on the local LDAP. The team plans to wait until Shibboleth becomes available on campus and use it as the authentication method for the web site personalization project.

Illustration

Enlarge 200%

Enlarge 400%

 

Figure 19.

Monthly visits duration per page

Figure 20.

All pages totals

 

Another potential enhancement involves the Resource Editor and the Resource Index. Since these tools are used to describe resources and to present customized lists of resources, and since several of the variables in each are items like course, department, weight and discipline, it takes only a small leap to envision classroom faculty across campus being trained to input their own resources for a page that is specific to a single course.

One of the most exciting enhancements envisioned for the system is an online reference interview that takes advantage of the extensive resource description included in the site. A series of questions ranging from subject, to course, to department, to scope of assignment could be presented and result in the display of a customized list of resources appropriate to the particular project at hand. Combined with personalization, single-sign-on, and integration with the university's student portal, this reference interview could be sophisticated enough to welcome the student at sign-on, present them the list of their current courses, and begin the interview by asking them which of the current courses has prompted the current reference question.

Illustration

Enlarge 200%

Enlarge 400%

 

Figure 21.

Referrers list

 

Conclusion

Several years into the project, the web team at the Kent State University libraries has built a local CMS that includes functionality that is very helpful to libraries. One of the most important of these functions is the extensive metadata description that is created for every resource on the site. Another is the extensive provision for the re-use of content. Another is the rich array of editing tools and their separation of content from HTML and site presentation. Still another is the suite of link maintenance tools and statistical reports for the site. Overall, staff and management feel that the personnel investment in the project has more than paid off in terms of site quality and efficiency.

[Sidebar]

Received 1 September 2005

Revised 1 November 2005

Accepted 15 November 2005

 

[Sidebar]

To purchase reprints of this article please e-mail: reprints@emeraldinsight.com

Or visit our web site for further details: www.emeraldinsight.com/reprints

 

[Reference]

Further reading

Dahl, M. (2004), "Content management strategy for a college library website", Information Technology and Libraries, Vol. 23 No. 1, pp. 23-9, available at: www.ala.org/ala/lita/ litapublications/ital/2301dahl.htm

Han, Y. (2004), "Digital content management the search for a content management system", Library Hi Tech, Vol. 22 No. 4, pp. 355-65.

Kiryakov, A., Popov, B., Terziev, I., Manov, D. and Ognyanoff, D. (2004), "Semantic annotation, indexing, and retrieval", Web Semantics: Science, Services and Agents on the World Wide Web, Vol. 2 No. 1, pp. 49-79.

Li, X. and Fullerton, JP. (2002), "Create, edit, and manage web database content using active server pages", Library Hi Tech, Vol. 20 No. 3, pp. 285-301.

Litke, J.D. (2001), "Strategic implications for future content management systems", SMPTE Journal, Vol. 110 No. 1, pp. 23-7.

Powel, W. and Gill, C. (2003), "Web content management systems in higher education", Educause Quarterly, Vol. 26 No. 2, pp. 43-50, www.educause.edu/ir/library/pdf/eqm0325.pdf

Sennema, G. (2004), "Creating an internal content management system", Computers in Libraries, Vol. 24 No. 1, pp. 8-13, available at: www.infotoday.com/cilmag/jan04/sennema.shtml

Somani, A., Choy, D. and Kleewein.J.C. (2002), "Bringing together content and data management systems: challenges and opportunities", IBM Systems Journal, Vol. 41 No. 4, pp. 686-96.

Wales, T. (2005), "Library subject guides: a content management case study at the Open University", UK, Electronic Library & Information Systems, Vol. 39 No. 2, pp. 112-21.

Westman, S. (2002), "Building database-backed web applications: processes and issues", Information Technology and Libraries, Vol. 21 No. 2, pp. 63-72, available at: www.ala.org/ ala/lita/litapublications/ital/2102westman.htm

White, M. (2002), "Content management from vendor selection to successful rollout", Online, Vol. 26 No. 6, pp. 20-2, 24.

White, M.S. (2002), "Managing content management system selection", EContent, Vol. 25 No. 7, pp. 42-3.

Wu, Y.D. and Mengxiong, L. (2001), "Content management and the future of academic libraries", Electronic Library, Vol. 19 No. 6, pp. 432-9.

Yu, H. (Ed.) (2005), Content and Workflow Management for Library Websites: Case Studies, Information Science Pub, Hershey, PA.

 

[Author Affiliation]

Rick Wiggins, Jeph Remley and Tom Klingler

Libraries & Media Services, Kent State University, Kent, Ohio, USA