University of Hawai‘i at Manoa Library

Intranet

Content Management System

Requirements and Evaluation

Draft Submitted by Sunyeen Pai Thanks to: Desktop Network Services Staff December 16, 2005 DRAFT

CONTENT MANAGEMENT SYSTEM (CMS) EVALUATION

In 2004 the web redesign committee investigated free open source content management systems for the redesigned library . Budgetary constraints dictated the need for a free system, and quality software alternatives could be found in the open source community.

Members of the committee worked at collecting information on reputable open source content management systems. A survey of information sources resulted in several options, WebGUI and Plone being the two major candidates. The committee learned of a local implementation of Plone at the State of Hawaii, and after a site visit the decision was made to install and test Plone. A major factor in this decision was the availability of very strong technical expertise “down the road”. One of their team members, Todd H. Ogasawara, Hawaii State eGovernment Team Leader, is a nationally recognized software expert (http://www.oreillynet.com/pub/au/1231) interested in open source solutions in government.

In the summer/fall 2005, a second scan of software options in the open source environment was made (Appendix 1). Concurrently, while working with the results of the library’s intranet user study, a content management system evaluation tool (Appendix 2) was developed to systematically consider the functional and technical criteria for choosing a system. Based on the second scan, the results of the content management tool analysis, and the time spent testing Plone, Plone again came out as a very strong contender. Recently we have learned about more adopters in Hawaii. Hawaii State offices that are changing over include DHHL, DBEDT, ATG, Ethics, and DHS. State offices that converted recently are DHRD, DLNR (Intranet), Elections, DAGS, SPO, GOV, Lieutenant GOV, and ATG (Intranet). DOH is using , upon which Plone is built.

It is clear that no one CMS can provide all the services we would like to have. Like anything else, different CMSs have different strengths and weaknesses. For example, a CMS that is very easy to manage may not allow you to set permissions on an individual document. Plone “out-of-the-box”, or its default installation, is extremely rich in features (http://www.openadvantage.org/articles/oadocument.2005-04-25.0390317971, http://plone.org/, http://www.sweeting.net/weblog/archive/2003/03/plone-benefits/). Plone’s strengths are scalability, dynamic page generation, web standards compliance (WAI, CSS, XHTML), an outstanding indexing and search capability, a relatively easy-to-use content editing interface, news and events features, and highly configurable workflow and security capabilities. These features are configurable through a graphical user interface system. More detailed configuration will require a knowledge of object-oriented systems and Plone’s programming tools. At this writing, automated in- migration and out-migration of content is not a default feature; we would have to investigate third party tools or write a program to handle these requirements. APPENDIX 1: CONTENT MANAGEMENT SYSTEM (CMS) COMPARISON CHART

There are hundreds of content management systems to choose from. If you take away the commercial packages, it seems there are still hundreds left. The ones selected for comparison are free and were recommended by experts, listservs, and discussion groups. !, currently the free version of , is a popular CMS. Plone is being successfully used by many organizations, including the State of Hawaii (http://www.hawaii.gov/gov/), State University of New York’s Health Sciences Library (http://plone.hsclib.sunysb.edu/), and Pennsylvania State University. TYPO3 is being used by a commercial developer contracted by the UH School of Law. WebGUI is a recommendation out of library listservs.

This comparison chart was generated from the CMSMatrix site, http://www.cmsmatrix.org/. Because of the immense amount of information involved in evaluating packages, this chart should be viewed as a quick comparison.

* Critical criteria CMS-Matrix Joomla! Plone TYPO3 WebGUI Comparison (formerly Mambo open source) System last updated 20-Oct-05 11-May-05 6-Jul-05 10-Sep-05 26-Aug-05 System Requirements Application Server Apache Zope PHP 4.1.2+ PHP 4.3.3+ mod_perl or recommended, FastCGI any server that supports PHP and MySQL Approximate Cost Free Free Free Free Free MySQL Zope. Plone MySQL MySQL, MySQL also Postgres interfaces with MySQL and other relational dbs License GNU GPL GNU GPL GNU GPL GNU GPL GNU GPL Any Any Any Any Any Programming PHP Python PHP PHP 5.6+ Language Root Access No No No No Yes Shell Access No No No No Yes Web Server* Apache Apache, IIS, Apache, IIS Apache, IIS Apache Zope Security Joomla! Plone TYPO3 Drupal WebGUI Audit Trail No Yes Yes Yes Yes Captcha Yes No Free Add On Free Add On Yes Content Approval* Yes Yes Yes Yes Limited Email Verification Yes Limited Yes Yes Yes Granular Privileges* No Yes Yes Yes Yes Kerberos No Free Add On No No Free Add On Authentication LDAP Authentication* Free Add On Free Add On Free Add On Free Add On Yes Login History Yes Free Add On Yes Yes Yes NIS Authentication No Free Add On No No Free Add On NTLM Authentication No Yes No No Free Add On Pluggable No Yes Free Add On Yes Yes Authentication Problem Notification No No No No Yes Sandbox No Yes Yes No Yes Session Management Yes Free Add On Yes Yes Yes SMB Authentication No Free Add On Free Add On No Free Add On SSL Compatible* No Yes Yes Yes Yes SSL Logins* No No: Note: Yes No Yes implemented by DNS SSL Pages No No Free Add On No Yes Versioning* No Yes Yes Limited Yes Support Joomla! Plone TYPO3 Drupal WebGUI Certification Program No No No No No Commercial Manuals* No Yes Yes No Yes Commercial Support* Yes Yes Yes Yes Yes Commercial Training* No Yes Yes Yes Yes Developer Community Yes Yes Yes Yes Yes Online Help Yes No Yes Yes Yes Pluggable API Yes Yes Yes Yes Yes Professional Hosting Yes Yes Yes Yes Yes Professional Services Yes Yes Yes Yes Yes Public Forum Yes Yes Yes Yes Yes Public Mailing List No Yes Yes Yes Yes Third-Party Developers Yes Yes Yes Yes Yes Users Conference No Yes Yes Yes Yes Ease of Use Joomla! Plone TYPO3 Drupal WebGUI Drag-N- Drop Content No Free Add On Free Add On No Yes Email To Discussion No Free Add On Free Add On Free Add On No Friendly URLs Yes Yes Yes Yes Yes Image Resizing Yes Free Add On Yes Free Add On Yes Macro Language Yes Yes Yes Free Add On Yes Mass Upload* No Yes No Free Add On Yes Prototyping Yes No No No Yes Server Page Language Yes Yes Yes Yes Free Add On Spell Checker No Free Add On Free Add On Free Add On Limited Subscriptions No No Free Add On Free Add On Yes Template Language Yes Yes Yes Limited Yes UI Levels No Yes Yes No Yes Undo* No Yes Yes Limited Yes WYSIWYG Editor* Yes Yes Yes Free Add On Yes Performance Joomla! Plone TYPO3 Drupal WebGUI Advanced Caching* Yes Yes Yes Yes Yes Database Replication No Costs Extra No No Yes Load Balancing* No Yes No No Yes Page Caching Yes Yes Yes Yes Yes Static Content Export* No Free Add On Limited No Yes Management Joomla! Plone TYPO3 Drupal WebGUI Advertising Yes Free Add On Free Add On Free Add On No Management Asset Management Yes Yes Yes Yes Yes Clipboard No Yes Yes No Yes Content Scheduling* Yes Yes Yes Free Add On Yes Content Staging No Free Add On No No No Inline Administration Yes Yes Yes Yes Yes Online Administration Yes Yes Yes Yes Yes Package Deployment No Yes Yes No Yes Sub-sites / Roots Yes Yes Yes Yes Yes Themes / Skins Yes Yes Yes Yes Yes Trash Yes Free Add On Limited No Yes Web Statistics Yes Free Add On Free Add On Yes Yes Web-based Yes Yes Yes Yes Yes Style/Template Management* Web-based Translation Free Add On Free Add On Yes Yes Free Add On Management Workflow Engine* No Yes Limited Limited No Interoperability Joomla! Plone TYPO3 Drupal WebGUI Content Syndication Yes Yes Yes Yes Limited (RSS) FTP Support* No Yes Yes Limited No UTF-8 Support No Yes Yes Yes Yes WAI Compliant* No Yes Free Add On Limited Yes WebDAV Support* No Yes No No No XHTML Compliant* No Yes Yes Yes Yes Flexibility Joomla! Plone TYPO3 Drupal WebGUI CGI- mode Support No Free Add On Yes Yes Yes Content Reuse Yes Yes Yes Limited Yes Extensible User Yes Yes Free Add On Yes Yes Profiles Interface Localization Yes Yes Yes Yes Free Add On Metadata* Yes Yes Yes Yes Yes Multi-lingual Content* Free Add On Free Add On Yes Yes Yes Multi-lingual Content Free Add On Free Add On Yes Free Add On No Integration Multi-Site Deployment No Yes Yes Yes Yes URL Rewriting Yes Yes Yes Yes Yes Wiki Aware No Free Add On Free Add On Free Add On Limited Built-in Applications Joomla! Plone TYPO3 Drupal WebGUI Blog Yes Yes Free Add On Yes Yes Chat Free Add On Free Add On Free Add On Free Add On Free Add On Classifieds Free Add On No Free Add On No Yes Contact Management Yes Free Add On Free Add On Free Add On Free Add On Data Entry Free Add On Free Add On Limited Free Add On Yes Database Reports Free Add On Limited Free Add On No Yes Discussion / Forum No Yes Free Add On Yes Yes Document Free Add On Yes No Limited No Management Events Calendar* Free Add On Yes Free Add On Free Add On Yes Expense Reports No No No No No FAQ Management Yes Free Add On Free Add On Yes Yes File Distribution Free Add On Yes Free Add On Free Add On Yes Graphs and Charts Free Add On No Free Add On No Free Add On Groupware No Free Add On No Free Add On No Guest Book Free Add On Free Add On Free Add On No Yes Help Desk / Bug Free Add On Free Add On Free Add On Free Add On No Reporting HTTP Proxy No No No No Yes In/Out Board No No No No Free Add On Job Postings Free Add On No Free Add On No Yes Link Management Yes Free Add On Free Add On Free Add On Yes Mail Form Yes Free Add On Yes Free Add On Yes My Page / Dashboard No Limited Free Add On Free Add On No Newsletter Free Add On Free Add On Yes No Yes Photo Gallery No Free Add On Yes Free Add On Yes Polls Yes Free Add On Free Add On Yes Yes Product Management Yes Yes Free Add On Free Add On Yes Project Tracking No Free Add On Free Add On Free Add On Free Add On Search Engine* Yes Yes Free Add On Yes Yes Site Map Free Add On Free Add On Yes Free Add On Yes Surveys Free Add On Costs Extra Free Add On Free Add On Yes Syndicated Content Yes Free Add On Free Add On Yes Yes (RSS) Tests / Quizzes Free Add On Free Add On Free Add On No Yes Time Tracking No No Free Add On No Free Add On User Contributions Yes Yes Yes Yes Yes Web Services Front No No Free Add On No Yes End Commerce Joomla! Plone TYPO3 Drupal WebGUI Affiliate Tracking Free Add On No Free Add On Free Add On No Inventory Free Add On No Free Add On Free Add On No Management Pluggable Payments Free Add On No No Free Add On Yes Pluggable Shipping Free Add On No No Free Add On Yes Pluggable Tax Free Add On No No No No Point of Sale Free Add On No No No No Shopping Cart Free Add On Free Add On Free Add On Free Add On Yes Subscriptions Free Add On No No Free Add On Yes Wish Lists Free Add On No No No No

APPENDIX 2: CONTENT MANAGEMENT SYSTEM (CMS) REQUIREMENTS EVALUATION TOOL AND PLONE EVALUATION NOTES

In an effort to have a comprehensive approach to evaluating our future CMS, I searched for ways to evaluate our CMS choice. This tool is adapted from a more extensive tool developed by the Australian government of Victoria. I found it at: http://www.egov.vic.gov.au/Victoria/StrategiesPoliciesandReports/Reports/Content- Management/content-management

The criteria in this tool were reviewed by members of DNS and edited for our environment. The tool was checked to ensure our library’s user requirements listed in the executive summary of the Intranet User UH Library were addressed.

The general concerns addressed by the tool are Content Creation and Publis hing Presentation and Discovery Technical Interdependencies Support and Training Budgetary.

Creation and Publishing includes issues such as the ease with which content may be created. Presentation and Discovery includes issues such as indexing and searchability. Technical includes issues such as web standards compliance. Interdependencies include compatibility with existing computer systems. Support and Training include product documentation and online resources. Finally, budgetary includes fiscal resource parameters.

Plone recently upgraded to 2.1.1. Wing installed the upgrade in November, 2005, and its updates and added features are still being tested. Notes regarding Plone’s capabilities are based on information as of November 2005, and it is possible comments made with 2.05 may not apply to 2.1.1. The goal is to update as we continue working with Plone. The numbering of items is inconsistent because this is still in draft.

Explanation of requirement levels shown in the table below: Core: CMS must provide this Optional-high: CMS should provide this, and if not, it should be implemented with an add-on or another application Optional-low: A nice-to-have

Many of the features described below have Notes that address our library’s characteristics and what we CURRENTLY know what Plone can or cannot do. This may change as we work with Plone. The notes occasionally refer to “kupu”, the most popular and current WYSIWYG (what-you-see-is-what-you-get) content editor used with Plone.

A Creation & Publishing

Core Requirement Optional A1 Content Creation Requirement Driver: To enable Library staff to effectively develop and maintain content for web services. Ability to create and edit text using a simple browser template option which must support the Library standard operating environment browser version (currently PC/ 6, PC/Netscape 7, MAC/). A1.1 Note: Library is about 75% IE (70% IE6), 15% Netscape, Core 10% . 91% PC (62% XP), 9%MAC. Have tested IE6, Netscape 7, Firefox 1.06 on PC. Stonybrook University New York’s Andrew White mentions problems with IE and MACs. Ability to import content items from the Library standard operating environment . Note: tested on PC: Uploaded: MS Visio, Word, Excel, A1.2 Powerpoint, Adobe PDF. It is possible to import UH and Core library-developed personnel and non-personnel forms PDF forms to be filled out and printed for distribution. Limited backup of items can be performed. Ability to import and manage images using a simple browser template option which must support the Library standard operating environment browser version (currently PC/IE6, A1.3 PC/Netscape 7, MAC/Safari). Core Note: tested on PC: Uploading images from PC is no problem. Linking is a little tricky without a WYSIWYG editor. WYSIWYG editor kupu works easily. Ability to create and edit links using a simple browser template option which must support the Library standard operating environment browser version (currently PC/IE6, PC/Netscape 7, MAC/Safari). A1.4 Note: tested on PC with WYSIWYG editor kupu: Links to Core internal pages allow browsing. Links to external pages require copy/paste or typing, and allows preview. Links could be created by users to Voyager OPAC, its reports, and the e-resources database. Ability to automatically replace a published version of content with a revised version of content following completion of the A1.7 approval process. Core Note: this feature is easy enough for the average user and would be used for posting content items such as organizational minutes and group schedules. Ability to view content items in-context via a browser, to see how the content item will appear in the website - WYSIWYG (what you see is what you get) preview. The b rowser option must ensure the preview pages are not exposed to external A1.8 Core search engines. Note: during creation/editing of document, if security is set to private, it cannot be located with external or even internal search engines.

Provide an authoring system that requires minimal training A1.9 and can be used by non-technical users. Core Note: kupu provides fair wysiwyg functionality. Unsure of html tidy capability. Support distributed content creation and contribution from Sinclair and Hamilton and configurable for access from off A1.10 Core campus. Note: Plone can support this. Support content contribution from external parties. Optional-high A1.11 Note: tested, unnecessary for intranet, possible need for internet/extranet. Ability to create customisable input forms (eg feedback, notification, membership registration). Note: Plone appears to have forms creation with input A1.12 Optional-high validation capabilities, but aside from an untested plug-in such as PloneFormMail this may require template creation work (Cooper, Building with Plone, p. 194). A1.13 Support collaborative work practices where feedback or group editing of content can be done. Note: Feedback is accomplished through comments Core function and group editing can be done through sharing function. Ability to create news/announcement items that are published to the community and have automatic publishing and expiration dates. Optional-high Note: Default Plone comes with this feature.

Core Requirement Optional A2 Workflow Processes Requirement Driver: To ensure all web content has appropriate Library approval. This is critical when managing the creation of content by multiple parties. A2.1 Workflow Approval Ability to establish a variety of roles within a workflow process. A2.1.1 Note: Plone has several ready-made roles and facility to Core make additional ones. Plone allows for co-authoring of documents and commenting. Ability to assign workflow to roles and individuals. Note: Individuals can inherit and be assigned local roles. Roles have workflow privileges assigned to them. Therefore it seems workflow privileges can be assigned to different A2.1.2 Core roles, and these roles can be assigned to individuals. It does not appear that workflows can be assigned to classes of content items (taken here to mean, for example, news items). Ability to assign workflow to classes of content items. Note: Currently it does not appear that workflows can be A2.1.2 Optional-low assigned to classes of content items (taken here to mean, for example, news items). Ability to grant or withhold specific permissions based on role. A2.1.3 Note: Plone can specify permissions based on role and type of Core content. Ability to grant or withhold specific permissions based on type of content item. A2.1.3 Optional-low Note: Currently it does not appear Plone can specify permissions based on type of content. Provide a workflow approval process that supports sequential A2.1.4 approval steps. Core Note: Plone has a built-in one step approval process. Provide a workflow approval process that supports parallel approval steps. Note: Plone allows for the owner to set more than one A2.1.5 reviewer, but it seems any one of the reviewers can Optional-low authorize publishing, as opposed to requiring all to approve. Same with group reviewers; one member alone can publish the item. Provide a workflow approval process that is configurable to support varying content item status during the authoring process (eg draft, awaiting approval, approved, published, A2.1.6 archived etc) Core Note: Plone supports draft (private or visible), awaiting approval (pending), published (published) modes. Workflow out of these states is configurable (e.g. ability to move from published to private). Provide a workflow that is configurable to allow different approval processes based on where the content item is being published (eg Intranet, Extranet and Internet). A2.1.8 Note: On a granular per-content-item basis default Plone Optional-high 2.1.1 allows owner to assign another member ownership rights. It seems possible that a local role such as a department reviewer or a group with department reviewer rights could be created for department content. A2.2 Workflow Management Ability for authorised non-technical users to create and manage workflow processes. No scripting or programming A2.2.1 should be required. Core Note: Plone allows owner to set content object to either private or visible. Owner can also set sharing to more than one user or group. Ability to view the status of a content item through the workflow process. A2.2.2 Note: Plone allows this in the content listing view and in the Core single object view. Kupu allows view of history of workflow per content item. Ability to escalate workflow items. A2.2.3 Optional-low Note: I don’t think out-of-the-box Plone does this. Ability to reassign workflow items. A2.2.4 Plone allows owner to reset review rights to one Optional-high person or group. Ability to alter or override workflow dependencies to meet real- time needs (eg re-route workflow tasks). A2.2.6 Optional-high Note: Plone allows owner to reset review rights to one person or group. Ability to include authenticated external users in a workflow. A2.2.7 Optional-low Note: Probably possible, but requires creating a new role?

Ability to manage user feedback generated through the A2.2.8 submission of forms. Optional-low Note: Plone allows for forms creation. It also allows for comme nting on content. A2.3 Notification Provide a workflow approval process that notifies the appropriate persons when they need to perform a task in relation to an item (eg approval required). Note: In Plone, when an object’s creator assigns a reviewer A2.3.1 and sets the object to pending, the reviewer gets a notice in Core her “review list” portlet. The reviewer then can link to that object (as long as the folder is not set to private) to review the object. Reviewer can reject, publish, or select advanced features for publishing. Creator will not get a notice, but will see that object is set back to “visible”. Provide notification mechanisms that include email. A2.3.2 Note: Plone allows a user to send an email to another Core person with the url of the content item.

Core Requirement Optional A3 Content Publishing & Quality Control Requirement Driver: To ensure a streamlined publishing process, eliminating, where possible, manual handling of production drafts and facilitating online review and approval. Ability to publish/unpublish content items to one or many A3.1 locations within a single site. Core Note: Plone allows this. Ability to automatically publish/unpublish content items to one or many locations within a single site on a scheduled date and A3.2 Core time. Note: Plone allows this through object properties. Support delivery of content items based on completion of A3.3 review/approval workflow processes. Core Note: Plone allows this. Ability to set and change publishing, review and expiry dates A3.4 of content items. Core Note: Plone allows this. Ability to manually override automatically generated review A3.5 and expiry dates for content items based on role. Core Note: Plone allows this. If the role is owner or reviewer, this is possible. Ability to view a list of content items based on status of

A3.6 review and expiry dates. Optional-high Note: Don’t know if Plone supports this. Ability to maintain integrity of internal links within the CMS. A3.7 Core Note: Plone allows this. Ability to check internal links in published content items and refresh across the website. A3.8 Core Note: Plone allows this. If an item is moved from one folder to another, internal links still work. Ability to detect, notify, manage and allow maintainance of

A3.9 broken links. Optional-high Note: Don’t know if Plone supports this. Ability to view history of content changes. A3.10 Note: Plone allows view through undo function. Wiki-like Core change tracking showing edits requires installation of wiki software. Ability to view all changes of content in previous version. A3.11 Note: Don’t know if Plone supports this, unless through Optional-low installed wiki software. Ability to publish/unpublish content items to more than one website generated by the Web CMS. A3.12 Note: Don’t know if Plone supports this if we assume this Optional-low means publishing from one Plone site to another, eg. intranet to public site? Ability to publish/unpublish content items to more than one website generated by the Web CMS on a scheduled date and time. A3.13 Optional-low Note: Don’t know if Plone supports this if we assume this means publishing from one Plone site to another, eg. intranet to public site? Ability to publish/unpublish content items in bulk. A3.14 Optional-high Note: Possible with Plone if items are in the same folder. Ability to search, preview and replace a content item across the site or sites managed by the Web CMS. A3.16 Optional-low Note: Plone can easily search across a single website. Replacing might need to be done manually. Ability to publish a single item of content in multiple delivery environments with the option of different delivery requirements/templates (eg displayed on Intranet, Extranet A3.17 Optional-low and Internet sites). Note: As Plone separates content from design, the delivery environment would dictate the appearance of the content. Support delivery of content items to a range of delivery channels and technologies, covering both on-line and off-line and including SMS/Mobile Phones, WAP, Palmtops, A3.19 Interactive Digital TV, Interactive Voice Recognition, fax and Optional-high print. Note: Plone displays can be controlled through CSS and supports print and mobile phone displays. Ability to provide notification of details of links that will be A3.20 affected by removal of an expired content item. Optional-high Note: Don’t know if Plone out-of-the-box supports this. Ability to apply mandatory validation processes (eg for accessibility compliance, page size (and speed) and broken links). A3.21 Optional-high Note: The Plone site itself is W3C compliant. Currently cannot test the site with the W3C validator until security is adjusted to allow access.

B Presentation & Discovery

Core Requirement Optional B1 Content Presentation Requirement Driver: To ensure that information and services are presented in standard Library styles.

B1.1 Templates Ability to select from a number of predefined and/or B1.1.2 customisable templates to control the visual presentation of Core content items. Note: Plone’s templates and CSS style sheets does this. Ability to generate delivery templates using Cascading Style B1.1.3 Sheets (CSS). Core Note: Plone uses CSS and has a table -less template. Ability to create a number of predefined and/or customisable templates using a combination of elements such as: navigational elements driven out of metadata repository and defined taxonomy, static links to other internal/external B1.1.4 Optional-high sites, pages or applications, plain/formatted text elements, images and aggregated content items. Note: Plone can support many of these functions. Templating requires some training. B1.2 Accessibility Ability of the Web CMS to support content development that B1.2.1 is compliant with the Web Accessibility Initiative (WAI). Core Note: Plone is documented as WAI compliant. Provide prompts and tools for the creation and delivery of B1.2.2 websites to comply with the Web Accessibility Initiative. Optional-high Note: Do not know if Plone can be configured to do this. B1.3 Customisation and Personalisation Provide logging/tracking tools to support customisation, ie the delivery of tailored or specific information and services B1.3.1 to an anonymous site visitor. Optional-high Note: Content and services can be customized for anonymous users. Support explicit customisation of information, ie the delivery of tailored and specific information and services to a site visitor, based on an established user profile (eg specific content items presented to an Intranet user once they log Optional-low B1.3.2 in). Note: Plone out-of-the-box can recognize administrators, members, and anonymous visitors. This could be configured to finer detail. Ability for users to personalise the look of the entry page (eg My Page concept) and choose to add a number of Optional-high B1.3.3 links/services to their customised page. Note: Plone can support this .

B1.4 Multilingual Support Ability to deliver information and services in languages other than English. B1.4.1 Core Note: Plone 2.1.1 can support more than 50 language translations. Ability to display content items and search for content in B1.4.2 languages other than English. Core Note: Tested Hawaiian and Chinese in Plone. Ability to build navigation structures in languages other than English. B1.4.3 Core Note: Plone 2.1.1 can support more than 50 language translations.

Core Requirement Optional B2 Content Discovery Requirement

Driver: To ensure users are able to successfully find relevant information via searching or browsing, with a minimum of effort.

B2.1 Metadata Generation Ability to assign or generate content item keywords at the same time as content is created. B2.1.1 Note: Plone allows this. For each content item generated Core Plone automatically assigns a set of Dublic Core metadata (e.g. author, creation date, etc.) to each content item. Ability to review/approve assign metadata at the same time as the content item, as part of the one process/workflow. B2.1.2 Core Note: Plone allows the assignment of keywords to content items. Support tools to facilitate metadata generation during content item creation, including keyword "pick lists" to allow B2.1.3 Core metadata to be chosen from pre -established schema. Note: Plone allows this . Ability to interface with thesauri. Note: Do not know if Plone can do this. Eileen Herring B2.1.4 Optional-low thinks the National Agriculture Library Plone site may have implemented this. Search - The search function may be part of the Web CMS B2.2 or it may be a third party search engine. The following requirements will be provided or supported by the Web CMS. Provide comprehensive search facilities across the entire website, multiple sites or sub sites to support content B2.2.1 publishing. Optional-high Note: Plone has powerful capabilities across a single site. Do not know if Plone can do this across s ites or subsites. Support automatic indexing, keyword generation, and full- B2.2.2 text indexing. Core Note: Plone does this. Support indexing of text and common attachments (eg B2.2.3 Microsoft Office, Adobe PDF etc) within the Web CMS. Optional-high Note: Plone 2.1.1 with plug-in indexes MSWord, PDFs, Excel spreadsheets

Support separate indexing of content items for each B2.2.4 supported website. Core Note: Plone does this. Ability for the Web CMS to control access to items of content from search and/or site map indexing based on Library B2.2.5 business rules (eg permissions). Core Note: Plone does this. Private items do not show in search; user can request item not show in navigation chart. Support comprehensive external search facilities across the entire website, multiple sites or sub sites for end users. B2.2.6 Note: Not needed for intranet. The goal for the internet is Core that the library’s Google search engine and Plone will work together. Ability for the Web CMS to integrate simple and advanced search screens and result screens into the user interface. B2.2.7 Core Note: Plone allows for single entry and advanced entry searches. Support the use of Boolean operators (and; or; not) and proximity operators (near; with) to refine searches and accept phrases for full-text searches. B2.2.8 Core Note: Plone supports and/or searches. Not proximity operators. Plone has many additional advanced search features. Ability for the Web CMS to control the discoverability of B2.2.9 content items by external search engines. Core Note: Plone does this. Support the measurement of the use/effectiveness of each keyword search query entered by a user in searching the

B2.2.11 website. This capability may be provided by a third party Optional-low web metrics facility. Note: Do not know if Plone does this. Support the automatic modification of search results based on site usage and search patterns (eg weighting the most

B2.2.12 popular sites/search results selected by the user to appear Optional-low high in the search results list). Note: Do not know if Plone does this. Ability for the Web CMS to generate a plain english URL for key web pages for easy referencing by non-technical end B2.2.13 Optional-low users and search engines. Note: Plone does this. Ability for the Web CMS to interface with thesauri or allow B2.2.14 import of thesauri data into search engine thesaurus for Optional-low browsing, selection and searching. Note: Do not know if Plone does this. Support “pre-processing” of all search terms against the thesauri and B2.2.16 automatically include related terms in the search. Optional-low Note: Do not know if Plone does this. Provide a soundex (sounds like) capability in the thesauru s function so that misspelled terms can be related to their B2.2.17 Optional-low correct spelling. Note: Do not know if Plone does this.

B2.3 Navigation Structure Ability to create new navigation structures with a minimum B2.3.1 of effort. Core Note: Plone supports this. Support automatic updating of navigation structures as the B2.3.2 site structure and content items are updated. Core Note: Plone supports this. Ability to automatically generate and update a site map for B2.3.3 each website. Optional-high Note : Plone 2.1.1 supports this. Ability to modify a navigation menu look and feel. B2.3.4 Core Note: Plone supports this. Provide navigation menus that support a minimum of four B2.3.5 levels of navigation. Core Note: Plone supports this. Ability to modify the navigation structure while automatically B2.3.6 maintaining links to published content items. Core Note: Plone supports this. Ability to create automated breadcrumbs trail. B2.3.7 Optional-high Note: Plone supports this.

C Technical

Core Requirement Optional C1 Compliance Requirement Driver: To ensure that the Web CMS complies with industry standards so that the system is robust and integrates with existing platforms and applications. Provide or support standards-based development tools (eg XML, CSS, DHTML, XSLT and other open standards). C1.1 Core Note: Plone currently supports XML, XHTML, CSS, its own DHMTL, but not XSLT. Support Library application servers and platforms. C1.2 Core Note: Plone works with Linux, Apache, LDAP, SSL. Support operating systems, browser and productivity applications included in Library’s environment. C1.3 Note: There may be a question with Plone and Mac with an Core IE browser. Other issues are really standard browser problems beyond the scope of Plone. Support standard messaging protocols (eg SMTP, MIME). C1.5 Core Note: Plone sends through smtp

Core Requirement Optional C2 Product Requirement

Driver: To ensure the product meets the Library requirements.

C2.1 Testing, Staging & Deployment Support development, testing / staging and production environments, and control of movement between each. C2.1.1 Note: Multiple zope instances as well as multiple plone sites Core can be setup to test and transfer safely as needed as long as zope/plone versions are the same. Ability to view history of all template changes. Note: Not observed to be inherent with the system although ability to undo is robust. Will need to manually track, but C2.1.2 Core with limited numbers changing templates and all changes restricted to the custom folder, the process should not be too difficult. Support central or decentralised content publishing. C2.1.6 Note: Complete browser based publishing is o ne of the Core options. Support the Library disaster recovery plan (eg storage and C2.1.7 backup of content on multiple servers). Optional-high Note: Plone sites could be backed up in other areas. Ability to access all parts of the Web CMS via the web C2.1.8 browser. Optional-high Note: Plone supports this. C2.2 Reliability and Performance Provide a reliable and stable Web CMS with a proven C2.2.1 capability and continuous high levels of up-time. Core Note: To be determined as system grows. Response time will meet Library requirements for both Web C2.2.2 CMS users and end users. Core Note: To be determined as system grows. Provide scalability as Library sites, systems and site usage C2.2.3 increases or decreases. Core Note: To be determined as system grows. C2.3 Audit Trail

C2.3.1 Non-Permanent Records Ability to support audit logging of the history of content items after approval for publishing up until the content C2.3.1.1 items, under control, are removed from the Web CMS. Core Note: Undo function tracks all transactions so it’s possible theoretically since the data is there is a raw form Permanent Records - The following are mandatory C2.3.2 requirements where the Web CMS contains permanent records.

Ability to support a sufficiently detailed audit trail for C2.3.2.1 permanent records. Optional-low Note: Do not know if Plone does this. Ability to support audit logging of the history of content items (that are permanent records) after approval for C2.3.2.3 publishing up until the content items, under control, are Optional-low removed from the Web CMS. Note: Do not know if Plone does this. C2.4 Version Control - Temporal Ability to manage versions of individual content items and pages (eg including details of records such as publishing and C2.4.1 Optional-high revision dates, activities, content creator). Note: Plone has features that can do some of this. Provide tools to roll-back site to the chosen version. C2.4.2 Core Note: Plone has this feature. Provide version control management for content and templates in development, test/stage and production environments. C2.4.3 Note: Do not know if Plone can support this. Not observed Optional-high to be inherent with the system although ability to undo is robust. Will need to manually track, but with limited numbers changing templates and all changes restricted to the custom folder, the process should not be too difficult. C2.6 Content Aggregation and Syndication Ability for both inbound and outbound content syndication (eg news, weather, police alerting services). C2.6.2 Optional-high Note: Plone supports outbound rss feeds. Do not know if Plone supports inbound feeds. Ability to aggregate and/or present information from external C2.6.3 sources. Optional-high Note: Do not know if Plone supports this. C2.7 Content Migration Ability to migrate existing web content and structure into the Web CMS from legacy sites, systems and data repositories with a minimum of effort and re-working. C2.7.1 Note: We will migrate existing web content into the Web Optional-high CMS, but will leave some material in legacy web format. The transition may have to be manual. The use of a google search appliance will hopefully help merge the two. Ability to migrate existing web content and structure into the Web CMS from legacy sites, systems and data repositories C2.7.1 with a minimum of effort and re-working. Core Note: We don’t want to throw everything away already created, but allow the two to mingle. The use of a google search appliance will hopefully help merge the two. Ability to migrate content links to a new Web CMS. C2.7.2 Optional-high Note: Do not know if Plone supports this. Ability to import/export content items into an agreed markup language (eg to make a copy of the website on CD- ROM). C2.7.3 Note: Online user documentation indicates it is possible to Optional-low write a Plone site to a CD. Documentation also indicates it is possible to use an offline browser such as Teleport Pro to copy a site to static htmls for local site use. Ability to import/export associated content records (eg C2.7.4 metadata). Optional-low Note: Currently do not think Plone supports this. Ability to export content to static format, e.g. pdf, xml, html Optional-low Note: Plone currently does not support this.

Core Requirement Optional C3 Security Requirement

Driver: To ensure the product supports Library security requirements. Ability to provide role based security (based on roles as defined in the Web CMS) across all templates, content, processes and repositories (eg for individuals, groups of C3.2 Core users, individual files, directories or sites). Note: Plone supports this. For example, a website can be closed off to anonymous users. Ability to interface with external directory services for security and authentication, using industry standard protocols (eg C3.4 Optional-high Lightweight Directory Access Protocol - LDAP). Note: Plone supports this. Ability to restrict access by end users to designated areas of a website using authentication mechanisms such as user name C3.5 Optional-high and password. Note: Plone supports this.

Core Requirement Optional C4 Content Repository Requirement Driver: To ensure the effective and controlled management of content. Provide a repository and/or repositories that may be accessed as and when required, by authorised users. The respositories will be used as the central and definitive content source (eg a central image repository, metadata C4.1 repository and other digital assets that can be reused for Core content creation and display). Note: Plone plugins allow for content repositories, e.g. image repositories. Plone default had a simple metadata repository. Do not know if the metadata can be exported for use in another instance. Support a wide range of common content types: structured content (eg database data, Microsoft Excel spreadsheets, forms and transactions); documents (eg Microsoft Word, Acrobat PDF, RTF, straight text, XML and HTML pages); C4.2 presentations (eg Microsoft PowerPoint presentations, Core drawings, plans and maps, images, audio, video and other “rich” media. Note: Plone supports a variety of common office applications and rich media. Provide check-in/check-out control for each content item C4.3 stored in the content repository. Core Note: Content objects have check-in/check-out control. Support storage and retrieval of content in Library standard C4.4 software products (eg DBMS, EDMS and text files). Optional-low Note: Plone supports Access, MSWord, Powerpoint, Visio, Excel, PDF files.

Reporting and Monitoring -The reporting function Core Requirement Optional C5 may be part of the Web CMS or it may be a third party Requirement product. Driver: To ensure comprehensive web metrics reporting on site usage and management. Support Library reporting tools to provide information and C5.1 statistics on website usage by clients. Optional-High Note: Do not know if Plone supports this. Ability to monitor workflow approval and notification Optional-high C5.2 processes for all content items. Note: Do not know if Plone supports this.

D Interdependencies

Core Requirement Optional D1 Interfacing with External Systems Requirement Driver: To exchange information with other organisations, and to enable being part of a portal environment with other online service providers. Provide an Application Programming Interface (API) and D1.1 architecture to connect and interact with external systems. Optional-low Note: Do not know if Plone supports this. Ability to integrate with site analytics and reporting tools and D1.2 services. Optional- low Note: Do not know if Plone supports this. Ability to integrate with link checking utility tools. D1.3 Optional- low Note: Do not know if Plone supports this. Ability to interface with external search engines. D1.4 Optional- low Note: Do not know if Plone supports this. Ability to integrate with personalisation engines (eg filter D1.6 content, change presentation based user preferences). Optional- low Note: Do not know if Plone supports this.

Core Requirement Optional D2 Interfacing with Internal Systems Requirement Driver: To provide seamless information exchange across internal systems and integrate with existing business processes and infrastructure. Ability to integrate with Lightweight Directory Access Protocol (LDAP) directories, in particular information from underlying directories that may be used for workflow routing D2.1 Optional-high and notifications. Note: DNS’s system administrator has successfully integrated Plone with the library’s LDAP. Ability to integrate with products included in Library D2.2 standard operating environment (eg MS Office, reporting Core tools, search tools). Note: Plone works with a number of library tools. Ability to interface with Library websites and portals through the exchange of metadata or equivalent process, in order to D2.3 Optional-low ensure that all published content is immediately discoverable. Note: Do not know if Plone supports this. Ability to run on the platform chosen by the Library. D2.4 Note: Plone runs well on Library platform linux/apache with Core SSL. Provide open Application Programming Interfaces (APIs) for D2.5 creation of custom connectors to other systems. Optional-low Note: Do not know if Plone supports this. Ability to interface with the Library messaging systems for workflow tasking, scheduling and collaboration (eg UH D2.6 email). Optional-high Note: Plone provides link to emailing out. Instant messaging functionality could be supported by an external free package. Ability to use XML to interface with other products. D2.8 Optional-high Note: Do not know if Plone supports this. Ability to operate with the Library's chosen database products (eg MySQL). Note: Plone is documented to work with MySQL, MSAccess, D2.9 Optional-high and other relational database products. Plone has its own proprietary relational database, ZODB. We can also configure Plone to link to external .

E Support & Training

Core Requirement Optional E1 Product Technical Support and Documentation Requirement

Driver - To ensure that the Web CMS continually performs at its optimal level, it has to be comprehensively supported.

The Web CMS will be well established in the United States with good local technical capability to support implementation and future upgrade path. E1.1 Note: Plone has one of the largest user/developer Core communities among open source products. It has also been successfully implemented by the Hawaii State Governor’s office, and DNS is in contact with their technical staff. Provide system support options that meet Library business needs. Support options may include a comprehensive phone and online help desk service 12x5, emergency support available 24x7 and service level agreements. Note: Plone does not offer paid support as of November E1.2 Optional-Low 2005. A technical question submitted to a major and free Plone listserv resulted in a response from a key developer within two days. It is possible to purchase commercial development services. Due to budget constraints at this time, purchased support is not an option.

Provide online contextual help available within the Web CMS at the time of content entry by users.

E1.3 Note: Plone does not provide user online contextual help at Optional-High the time of content entry. This will have to be handled through workflow procedures and training. Provide soft and/or hard copy user and technical documentation with the Web CMS. Optional-High E1.4 Note: There are at least four commercially available publications, several forums, and many other online sources of information for Plone technical documentation. Provide documentation within the Web CMS of all customisation, version control changes or additional E1.5 development of the Web CMS. Optional-High Note: Plone documentation is provided on the web through a large number of very active resources. The Web CMS will be supported by user groups and other non-official channels that the Library can access to provide E1.6 additional support for the Web CMS. Optional-High Note: Plone has one of the largest user/developer communities among open source products. Provide wizards or walk-throughs to guide users through complex tasks or when first using the Web CMS. This is optional for the user. E1.7 Optional-Low Note: Plone does not provide user online contextual help at the time of content entry. This will have to be handled through workflow procedures and training.

Core Requirement Optional E2 Training Requirement Driver: To ensure staff are proficient in contributing content and managing the site. Provide training options for staff in technical and specialist areas such as site management, creating templates and 2.1 workflows. Core Note: The Plone community offers numerous training opportunities throughout the U.S. and Europe. Provide training options for staff to become proficient in the content creation, content maintenance, review and approval processes. E2.2 Note: The library’s technical staff will probably be Core responsible for staff training. Commercial training is also available. Provide train-the-trainer options. E2.3 Note: As of this writing it is not known whether the Plone Optional-low community offers this. Provide online training with the Web CMS. E2.4 Note: The Plone community offers online training Optional-high opportunities.

Core Requirement Optional F Budgetary Requirement Driver: To balance minimizing system implementation costs and maximizing product functionality Select a free open source content management system Core Note: Plone is a free CMS.