Now that you've seen a few examples of content being managed in the Plone web-based management system, let's try to answer the question "Why use a CMS?" Although you could easily make a list a mile long with positive reasons for using a CMS ”and we will in the next section ”many companies and institutions simply do not use one or else use a poor implementation.
Organizations might think that although it is a wonderful idea to structure and maintain content in a secure and usable fashion, the fact remains that someone must still spend some time planning and implementing the overall hierarchy and business rules related to the content. Even if the actual technical creation of the structure comes via a stepwise set of web-based forms, some forethought by a human is still required. That little detail can be enough of an excuse to eschew the implementation.
Similarly, after a system is in place, all users must be trained in its usage. No matter how simple the system might be, there will be late adopters and laggards, as in the lifecycle of any new product. Unfortunately, the implementation of a CMS is only as successful as its weakest and most resistant user .
All of these negative situations are realities in an institutional environment, and they serve more to answer the question "Why should you not use a CMS?" If you are the champion for implementing a CMS ”and Plone, in particular ”come armed with all the positive benefits that it brings to the table, which you'll now see.
Features of a Content-Management System
Anyone who has created a website as part of a team of designers, usability experts, and content owners knows that the biggest problem is making everybody happy. Designers want it to be pretty, which sometimes means not so usable. Usability experts want it to be useful, which sometimes means not so pretty. Content owners tend not to be concerned about design or usability; they just want their document posted ( yesterday !).
Although it is wonderful to have a goal, such as posting a document for all to see, you might find that content owners have not thought about the format, placement, permissions, or other elements that are necessary for the website administrator to complete the task. If the content owner answers all those questions once, it also doesn't mean that he will think about it the next time he wants you to post a document. So what you do is provide content owners with a consistent format and the ability to do their own work, within the structure of a CMS. In general, a CMS separates the two camps ”design and content ”so that they can work independently of each other and still achieve their goals.
A worthwhile CMS should contain some of the following features, and Plone certainly does:
Page templates ” A good CMS has not only modifiable page templates, but also templates that are part of a hierarchy. In fact, the master page template should call several other templates that define different sections of a page. Plone uses this method, enabling designers to make changes to small portions of a template that then easily are rolled into the site itself. Templates should adhere to the latest web standards regarding end-user accessibility.
Style sheets ” Along with page templates, a crucial feature of a CMS is a comprehensive style sheet that separates elements of a site even further. Styles speak to the individual items such as element placement, color , fonts, and so forth. After templates have been set, designers still can modify numerous elements of site by making changes only to one file ”the style sheet.
HTML knowledge not necessary ” Although HTML is the language of the Web, it should not be a requirement that content know HTML (or any other markup language) just to publish a document. A good CMS helps the user through the process by using a form with a series of questions regarding items such as the title, description, and content or file. The CMS then stores the user's answers in its database. When another user requests the information, it is displayed in the appropriate marked -up format. For example, the title of a document might be bold and might be a link, the description might be normal text directly below the title, and so forth. Even though the content owner didn't surround the title text with bold and link tags, the CMS handled it successfully because of the manner in which the content was added.
Record data about an item ” Making an item available for consumption is just one piece of the puzzle. Users should be able to add and review metadata regarding the item. Metadata includes the list of authors, the owner, the last update date and update history, the review date, the publishing date, keywords, and so forth.
Access roles ” Availability of content and the right to publish content should be available to only a specific set of users, and these users can be predefined. You wouldn't want just anyone to be able to edit your documents, and your CMS shouldn't allow that, either. Although you should be able to define a hierarchy of users and access roles to both the content stored in the CMS and the management of the CMS itself, the underlying factor should be that users can see and do only what you (the administrator) grant them permission to see and do.
Capability to undo ” People make mistakes, and a good CMS should supply a way for users to get out of their mistakes by providing a rollback feature. Plone utilizes the undo action not only at the user level, but also at the administrative level. If a user adds, modifies, or deletes the wrong item or does so incorrectly, the user can undo the action. If a manager provides the wrong permissions, installs the wrong add-on tool, or changes a setting incorrectly, the manager, too, can undo the action.
Technology integration ” A CMS with all the features listed previously will do you no good if it can't be integrated with your enterprise applications. If you're a Microsoft shop, your CMS should be capable of running on servers with a Microsoft operating system. Similarly, if your enterprise employs Linux, Unix, or Solaris servers, your CMS should fit nicely within that framework. Enter Plone. This application meets the requirements of all four types of workers described earlier ”the designers, usability experts, content owners, and website administrators. Plone also has all the features listed earlier, which determines a worthwhile CMS. You'll learn more about these features as you follow along in this book.
As you saw through the Mars Rover and Southern Utah examples, the visual display of a Plone-based site can be as varied as any standard, static website. However, Plone is also based on a set of templates designed with the greatest levels of usability in mind, meeting the needs of usability experts. Their job now is to decide on the implementation of usable pieces instead of having to ascertain and modify the overall usability of a site created from scratch.
Ahead of the content owner sits the website administrator, who has implemented the content hierarchy and security settings based on the determination of internal business rules (for example, Sales and Marketing can see some Operations documents but not all of them, or the Human Resources manager can post documents in her section but not within the Production Department section).
As previously stated, a good CMS goes to great pains to separate content from design. This alleviates situations that often arise in corporate intranets in which the Sales and Marketing section has yellow links on a red background, and the Operations area has all of its documents listed in 8-point Courier with a fade-in effect when the page loads. These are drastic examples, but they come from real life.
Separating content from design essentially means that the administrators of the content need not know HTML, how to use any standard web creation tools such as HTML editors, how to FTP, and so forth. In fact, there are no "pages," per se: Content is stored, which then populates the predetermined templates.
For example, recall the Southern Utah example and the addition of links in the Shopping directory. Users do not need to know how to create an image tag for the icon preceding the link, how to create the tag for the link itself, how to add line breaks, and so forth. All they need to know is the title and the text that they want to enter. The template feeds that information into the proper predefined slots, and the Plone application displays the link appropriately when that page is called.
The separation of design and content, a predetermined information hierarchy, and business rules related to the storage of document histories (change logs) are all key selling points of a CMS. These features allow nontechnical workers, such as administrative assistants, to carry out basic production tasks , such as maintaining documents and other posted information, instead of requiring programmers to handle them. This alone cuts the costs associated with the dissemination of content to employees , external users, and so forth. If that's not enough to sway your boss, consider the fact that, by using predetermined templates, the intranet or extranet will have a consistent style ”and what good are corporate guidelines if no one follows them? Using a CMS forces users to follow corporate style guidelines, often without even knowing what they are.