|
Quotes“Thank you for breaking the culture here and delivering a system that works as promised, one day ahead of schedule, and at a fixed cost.” – Mark Steinwinter, Director of Application Development, WashingtonPost.com |
WCMS Requirements
The table below provides set of requirments for a typical web content management system. The requirements can be used to evaluate one or more products for a particular organization or function. We have categorized the requirements by overall function and specific feature.
|
Function |
Feature |
Description |
|
Administration |
Access Logs |
The system should log all access by CMS users, and be able to display these logs in report format. |
|
Administration |
Archive |
The system should allow administrators to create a "snapshot" of all the pages on the site, which could then be used to archive a version of the site. |
|
Administration |
Usage Statistics - CMS |
The system should be able to generate reports on usage of the CMS; e.g., how many new pages were posted in the previous month, or how many users logged on in the previous month. |
|
Administration |
Export |
The system should support an export of content in an open standard format such as XML. |
|
Administration |
Monitoring |
The system should supporting monitoring of the CMS. |
|
Administration |
Site Administration |
The system should provide an interface for managing pages and assets. |
|
Administration |
Usage Statistics - Site |
The system should be able to generate reports on usage statistics specific to a site; e.g., page-views in a given section, or submission rates for an online form. |
|
Administration |
Subsites |
The system should support the deployment of subsidiary sites that share page templates and content management features. |
|
Authoring |
Add pages |
The system must allow users to easily add new pages. |
|
Authoring |
Additional content features |
Authors should be able to add such features as callout boxes and pull quotes to content. Non-technical staff would be able to drop such elements into a pre-built template within an article. |
|
Authoring |
Asset upload interface |
Non-technical staff should be able to upload new images and other assets to the site and enter associated metadata as necessary. |
|
Authoring |
Configuration of editable/non-editable areas |
The system should support the design and implementation of various page layouts. |
|
Authoring |
Constraint of WYSIWYG editing |
The WYSIWYG editor should be customized to constrain authors to predefined styles and elements. |
|
Authoring |
Creation of content templates |
Technical staff would be able to create and implement new content templates as necessary. |
|
Authoring |
Document Types |
Every document should have a document type. Every document type should have an associated metadata schema indicating which metadata is required for the document type. It must be possible for these schema to evolve over time. |
|
Authoring |
HTML editing capabilities |
The web interface for authoring content must also allow the insertion of arbitrary HTML code. |
|
Authoring |
Link Checker |
The system should have a built-in tool for checking the a publication for broken internal and external links. |
|
Authoring |
Management of multiple file formats |
The system must support management tools, including custom metadata schemes, for digital assets such as images, video files, etc. |
|
Authoring |
Move pages |
The system must allow users to easily move pages from one location to another. The system should also support movement of a set of pages. |
|
Authoring |
Multiple page templates |
The system must allow content authors to use a variety of templates defining different content areas on a new page. Technical staff must be able to produce and implement new templates, as needed, with limited server-side code. |
|
Authoring |
Multiple UI levels |
The interface should have different levels of complexity which could be customized for a user or a role. |
|
Authoring |
Navigation |
The system should provide tools to create the navigation and other structural elements of a site. |
|
Authoring |
Non-template pages |
Technical staff must be able to create non-templated (e.g. flat HTML) pages for special circumstances. |
|
Authoring |
Preview |
Content authors and system administrators should be able to preview all pages, and create and preview entire fully functional sections, before they go live. |
|
Authoring |
Simple authoring interface |
The interface for authoring content should be simple enough for non-technical staff, but sophisticated enough to meet the needs of power users. |
|
Authoring |
Simple metadata interface |
The interface for entering metadata for a piece of content should be simple and easy enough for non-technical staff to enter all required data. |
|
Authoring |
Subsites |
The system should support authoring and publishing for subsidiary sies. |
|
Authoring |
Support for Unicode characters |
The system should support the insertion and editing of content in multiple languages and character sets, including those with Unicode characters. |
|
Authoring |
Support for XHTML Strict |
The system should support templates that validate as XHTML Strict. |
|
Authoring |
Web-based authoring and management |
The tools for authoring content must be fully web-based, and should not require the installation of any special software. |
|
Authoring |
WYSIWYG editing |
Demonstrate editing of pages using default editors, including successful validation and save. |
|
Authoring |
WYSIWYG editing |
The web interface for authoring content should include a WYSIWYG editing interface, allowing non-technical staff to easily edit rich text content, including predefined CSS styles, and insert HTML elements such as images and links. |
|
Collaboration |
Document Control |
The system should enforce version control of all shared documents. |
|
Collaboration |
Secure File Sharing |
The system should allow users to add update, and delete files for access by other authorized users. |
|
Collaboration |
Wiki |
The system should support a common work space for work groups. |
|
Delivery |
Friendly URIs |
The system must support the creation of human-readable URLs for specific pages. |
|
Delivery |
Multiple content delivery channels |
The system should support multiple options for content delivery, repurposing content for a text-only version, a printable version, etc. with eventual potential for delivery to cell phones, PDAs, etc. Ideally, the system could also export file formats such as PDF, MS Word, etc. |
|
Delivery |
Separation of content and presentation |
The system should strike a good balance between full separation of content and presentation, and the ability of technical staff to tweak presentation elements as necessary for specific pieces of content. |
|
Delivery |
Site design |
Every element visible on a public site should have the potential for a customized template, including dynamically generated lists and elements. Elements should be customizable with HTML code as well as custom CSS styles. |
|
Delivery |
Support for search engines |
All content on the site should be able to be spidered by search engines from sites like Google and Yahoo, and indexed internally by third-party applications such as Verity. |
|
Deployment |
Delivery Applications |
The system should be able to be deployed with different web or application servers. |
|
Deployment |
Installation |
The system should be easily installed on common server platforms. |
|
Deployment |
Legacy URI |
The system should support existing URI schemes and not require a migration for CMS deployment. |
|
Deployment |
Multiple web sites |
The system should support the development of multiple websites with different domain names, templates, navigation, and branding. The sites will range in size, type of content, and amount of content. |
|
Deployment |
Scalability |
The system should support scalable solutions for data storage and bandwidth for certain publications. |
|
Deployment |
Staging environment |
Development of new applications, templates, etc. should happen in a staging or development environment not accessible to the public. |
|
Deployment |
Static/Dynamic delivery |
The system should support both static (i.e., deliver existing content/pages) and dynamic (i.e., deliver content/pages in response to a request) delivery. |
|
Integration |
Content acquisition |
The system should support the acquisition of content from external sources |
|
Integration |
Content migration |
The system should facilitate the migration of content from existing sites, including HTML content, associated files such as images or documents, and metadata. |
|
Integration |
Databases |
The system should be able to interface with any database, including Oracle, MYSQL, PostresSQL, and others. |
|
Integration |
Open standards |
The system should use common or open standards, including XML and RSS. |
|
Integration |
Repository |
The system should implement a content repository. |
|
Internationalization |
Multilingual |
The system should support authoring and publishing in multiple languages. |
|
Internationalization |
Multilingual interface |
The system should include a fully-translated interface for administration. |
|
Internationalization |
Multilingual interface |
The system should include a fully-translated interface for content authoring. |
|
Metadata |
Aggregation |
The system should support the creation of a list of content for a given metadata value, such as a region or topic, and display this list in a templatized format. |
|
Metadata |
Categorization |
The system should support a single enterprise-wide classification scheme. |
|
Metadata |
Keywords |
The system should support the use of additional keyword schemes to be defined by organizations. |
|
Metadata |
Language |
Documents will need to be tagged with their language. |
|
Metadata |
Standards |
The system should support open standards for metadata. |
|
Performance |
Caching and page delivery |
Documents and content should be delivered to users quickly and efficiently. The system should ideally include intelligent caching, especially of high-access pages. |
|
Reusability |
Reusable components |
The system should support the reuse of site designs and templates. |
|
Search |
Binary file formats |
The search engine should be able to search common file formats such as PDFs and MS Word documents. |
|
Search |
Keywords |
When a user views a document from a search, the keywords should be highlighted. |
|
Search |
Metadata |
The results of a search should display metadata, such as title, description, and date. |
|
Search |
Multilingual search |
The search engine should support the complexities of language necessary for meaningful search in multiple languages (e.g. multilingual Boolean operators, intelligent handling of non-English articles, etc). |
|
Search |
Search engine |
The system must either include a robust, built-in search, or integrate fully with third-party search applications. In either case, the search engine must be able to search the full text and all metadata for all live content on a given site and return the results sorted by relevance. |
|
Search |
User sorting of results |
A user should have the option of sorting results by date, relevance, and other criteria. |
|
Security |
Access control |
The system should restrict access (view, read, write, publish) to particular pages and sections. |
|
Security |
Encryption |
The system should support relatively high security standards, including support for SSL connections, strong encryption, etc. |
|
Support |
Developer training |
Provide training on development using QWiPS and base technologies. |
|
Support |
End-user training |
Provide training on QWiPS and its editors for authors and reviewers. |
|
Templates |
Page templates |
The system should support page templates. |
|
Usability |
Ease of application development |
Technical staff should be able to develop new applications and modules for a site as needed. |
|
Users |
Access control |
Each user should have a role with permissions tied to specific sections of the system (i.e. read/write only within a section or specific page). An inherited permission structure would allow a user to edit all pages with that section, unless the permissions on a specific page were set otherwise by an administrator. |
|
Users |
Authentication |
The system should support authentication and authorization of users. |
|
Users |
Creation of New Roles |
Administrators should be able to create new roles with a new permission set within the system. |
|
Users |
Granularity |
Permissions should be granular to at the page level. |
|
Users |
LDAP authentication |
Ideally, the system could authenticate users against another authentication database, using secure communications and LDAP standards. |
|
Users |
Multiple User Roles |
The system should support multiple roles within the authoring and site admin process, such as writer, editor, and administrator. Each role should have appropriate permissions to access administrative tools and perform administrative actions within the CMS. |
|
Users |
Roles |
The system should support explicit roles for user authorization. |
|
Workflow |
Author/Reviewer cycle |
The system should support a basic workflow scheme, in which all content must be approved before going publishing. |
|
Workflow |
Customization |
The system would support the creation of customizable role-based workflow schemes for different subsites or content types. |
|
Workflow |
Email notification |
Some events, e.g. content submitted for approval, should trigger an email notification to the appropriate editor or administrator. |
|
Workflow |
Logging |
The system should log all workflow events. |
|
Workflow |
Revision |
The system should maintain a revision history of each page, and allow an author to revert to any revision. |
|
Workflow |
Scheduling |
The system should support scheduling of all workflow events. |
|
Workflow |
Undo |
The system should support rollback of content to at least one previous version. The system would support rollback to any point in the history of a given piece of content. |
|
Workflow |
Version control |
Basic version control, such as locking documents currently being edited, is required in the system. |
|
Workflow |
View content |
The system should provide a view of one or all pieces of unpublished content, showing the current content status, so as to offer administrators an overview of all content currently in progress. |
|
Workflow |
Workflow engine |
The system should support the definition and execution of workflow for authoring, reviewing, and publishing content. |