Lecture
Content management system ( CMS ) [1] is an information system or a computer program used to provide and organize a joint process of creating, editing and managing content (i.e. content) [2] .
The main functions of the CMS [3] :
The content management system can contain a variety of data: documents, movies, photos, phone numbers, scientific data, and so on. Such a system is often used to store, manage, review and publish documentation. Version control is one of its main advantages when the content is changed by a group of individuals.
The market for the CMS ( content management system ) category is developing rapidly, but there are still no uniform standards in this area, including terminology. The English word content means “something inside” and, as applied to written work, is usually included in the phrase table of contents — the content, the list of sections (say, books). A distinctive feature of the content is that it is constructed from individual pieces. However, when translating the term content into Russian, there was a funny incident. The fact is that the English version of this word means “content” only in cases where emphasis is placed on its first syllable. Otherwise (and we usually say so) the word content is a verb with the meaning “to satisfy.”
There is an opinion that in IT this term began to be used to summarize in the notion of “document” such previously uncommon data as video, audio and multimedia [1]. Such a statement does not seem to be entirely correct: the document is a form of information transfer, and the content is the information itself, so putting them on one level is not entirely correct.
The history of content management began with document management in the traditional sense of the word, i.e. text files. As the concept of “document” evolved, document management systems began to be called content management systems. Why? It is believed that this allows us to emphasize the ability of such systems to manage information regardless of the form of its presentation, as well as to separate information-content from the document-form. However, it is impossible to control information abstractly - it must be presented in any form. Trying to manage the content, we inevitably come to the management of documents. Content management systems, in fact, “learned” to separate document management (storage, modification, etc.) and their presentation to the end user. But they still manage the documents in some form, not information.
The concept of “content management” was originally strongly associated with the process of publishing and updating information on Web sites — a technology was needed to monitor its relevance. Therefore, the term Web content management is often used as a synonym for content management. With regard to organizations that operate with a huge amount of information, it is appropriate to speak about enterprise information management systems (enterprise content management, ECM) [1]. As a result, the term content management has expanded: they began to denote the management of not only information on the site, but also all the fragmented and diverse fragments of corporate information. There are other definitions. For example, in the Wikipedia Encyclopedia, a content management system is a system used to organize and simplify content co-creation.
The functions of content management systems can be divided into several main categories.
CMS systems manage small, interconnected pieces of information, and in this context, the document takes on the meaning of hypertext. Since CMS systems manage information, and information has its own life cycle, naturally, these systems should have adequate means of content management at each stage of its life (creation, modification, publication, transfer to the archive, etc.). In this sense, CMS can be considered as part of the ILM (information lifecycle management) complex.
Among the CMS-systems often distinguish the so-called frameworks (content management framework, CMF) - tools for creating a system. As already mentioned, ECM-systems have become a natural extension of the CMS, which manage all disparate enterprise information, interacting with other applications, such as ERP and CRM. Perhaps the most well-known manufacturer of ECM-systems is Documentum. Content management systems are developed by many companies, including IBM, Microsoft, Oracle, Macromedia. Recently, organizations have begun to emerge, trying to unite CMS developers, create a unified information environment for potential users of such systems, and promote and approve common standards. First of all, these are OSCOM (Open Source Content Management) and CMSWatch associations.
OSCOM approved standards such as WebDav, RSS, ATOM and JSR-170. One of her interesting projects, CMSML, provides for the creation of an XML-based language for describing content management systems, a list of CMS properties, a dictionary for describing them, and corresponding names for each property in the XML markup. Properties are divided into three large classes - the creation, management and delivery of content to the end user.
In turn, CMSWatch annually releases a report that includes an overview of the market for CMS systems, a comparison of some of them, a description of the life cycle of content and its management in CMS systems.
In this article we will adhere to the classification based on the model of data representation - object, network or modular.
The object model of data representation operates with such concepts as a class and an object. Classes define the data structure and represent a set of attributes (text string, integer, image, etc.). Representatives of a class (objects) have a certain structure and may contain other objects, forming an arbitrary hierarchical structure. Objects can inherit the properties, content and behavior of the objects that they contain [2,3,5]. Examples of objects are documents, pictures, folders, and user accounts. The content class does not store real data in itself — such information is contained in objects (class instances). By defining one class, you can create many of its representatives (content objects).
In CMS systems, data is usually stored in a relational or object database. In the first case, the object data model is mapped to a relational database model. Connections between objects are created, for example, using tables of the form id, from_object, from_object_version, to_object. In fig. 1 shows the possible structure of the class "Article" and its representative.
Fig. 1. An example of organizing content using the object data model |
Among the object-oriented CMS-systems can be found skeletons. A classic example is Zope CMF. In general, Zope is the leading open source application server specializing in content management in portals and custom applications. Zope allows you to work together to create and manage dynamic Web-based business applications. Based on this application server, a Zope CMF content management framework was built, which, in turn, created a number of CMS systems, in particular, Plone.
Another very common CMS of this class is eZ Publish. It belongs to the framework and to the ECM. Systems of the eZ family are based on the eZ Publish free product. The presence of two licenses - GPL and professional - allows you to create commercial products based on the eZ Publish framework, providing this system with support from both the Open Source community and professional developers.
APC ActionApps, which allows registered users to update the content of their site using a browser only, can be attributed to this class. The peculiarity of this system is that it has a custom output. APC ActionApps integrates into existing systems, allowing you to simplify the structure and automate the work of complex portals and Web sites. In addition, the content pooling mechanism and the availability of editing tools make this system suitable for distributed teams that jointly prepare content publishing.
Microsoft Content Management Server (MCMS) is a Web content management system that allows you to create, deploy and maintain dynamically changing Web sites. With tight integration with Visual Studio .NET and support for source code management features, MCMS allows developers to create websites that can then be managed and supported by both IT professionals and business users. The former can centrally manage branding, workflow and security, while the latter can create, manage, and publish their own content using familiar applications such as Word or Internet Explorer.
The object model supports development in the Visual Studio .Net and .Net Framework. It is possible to integrate through Microsoft Solutions for Internet Business (MSIB) Content Connector with Microsoft Commerce Server to create e-commerce solutions.
As a rule, systems based on an object-oriented data model are the most functional, flexible, and, at the same time, the most complex.
This model of data representation is based on graph theory: the structure of information is represented as nodes with marked links between them. The basis of the system can serve as a network, and traditional relational database management system, which is displayed on the network model of the data description. Relational tables store information about nodes, their attributes, and the relationships between them. A link differs from an attribute in that it stores a link to another node, and in the attribute, the actual value [4,5]. To retrieve data from a directed graph, recursive processing procedures are usually used, such as compiling lists of nodes, determining node attributes based on the attributes of the parent, and others . 2 presents a variant of the organization of the data structure of the site as a graph.
Fig. 2. An example of organizing content using the network data model
An example of this type of system is Communiware. This system is a new generation of tools for creating vertical Web sites and portals.
In such systems, content is divided into separate modules by content type. The data structure depends on the module, and all work with the content is concentrated within the module. Modules are independent and fully responsible for working with documents of this type. Documents are described using a fixed set of characteristics - document types are strictly fixed. You can extend the functionality by adding a new module, replacing or editing existing code. Most often there is no system of links between documents of different modules and between documents of the same module. The standard set of content types (modules) is as follows: links, articles, files, news, sections, forum.
Despite the obvious limitations of the data model, systems based on it are most popular for their simplicity. As an example, systems such as PHPNuke, Mambo and Xoops can be mentioned.
Modular CMS systems have one common drawback - the content structure is strictly fixed within the module. However, to extend their functionality, you can use external modules, which are numerous on the Web. The obvious advantage of these systems is the possibility of obtaining a portal that is almost completely ready for use in a short time.
Consider the following CMS-systems: eZ Publish 3.2, APC ActionApps, Mambo 4.0.14 and Xoops (version 2.0.5 and 2.0.6). Each of them is positioned by developers as a system for creating any website (from a corporate portal to a home page) and managing its content. The eZ Publish system is also designed to create and manage the contents of an online store, news site, photo gallery or forum. APC ActionApps has the unique property of adding dynamic sections on an existing site and is able to manage the contents of many sites. Still, it is more correct to say that CMS-systems are designed to create, modify, publish and exchange information.
Before you start using any CMS, you need to decide what types of content you want to work with - whether there will be articles, movies, news, forums, etc. on your website. Typically, CMS systems come with a number of ready-to-work embedded content types, and some of them allow you to edit embedded content types or create new ones (eZ Publish, APC ActionApps). But there are systems in which all types of content are strictly fixed (Xoops, Mambo).
Each user of the system must be assigned a role in accordance with which he will be able to perform certain actions. At the same time, users can unite in various groups with assigned rights. Some systems allow you to create new groups and set them rights other than the rights of existing groups (eZ Publish, ActionApps, Xoops), and this property is sometimes very useful.
Choosing a CMS-system, you always want to get the maximum functionality with minimum costs, and you want to spend as little time and effort as possible on support. In order to somehow get closer to this ideal, you first need to determine the minimum necessary tasks that the system must solve. When creating, a document is endowed with a set of characteristics that determine the current stage of its life cycle, so you should pay attention to the following: how flexible the content structure of a particular system is, how simple the content creation process is, how it is ordered, how the workflow of documents is managed, and whether the content can be used together with other information systems.
The advantages of systems with a flexible content structure are obvious. They allow, as necessary, to expand and add new types of content by means of the systems themselves, without, for example, looking for suitable functionality on the side. On the other hand, if there are many freely distributed modules (content types), you can work with systems that have a fixed content structure. However, in this case, you need to be ready to delve into the code, since the implementation of some modules may be incomplete.
The main content creation tool for CMS systems is a web browser. Some systems also allow you to use a standalone client (for example, ActionApps) or a Windows client. When creating content, it is important how simple and intuitive such a process is. From this point of view, it is worth finding out what document markup capabilities a particular CMS toolkit provides. You need to find out whether it has built-in, specific only for it, markup tools, or you can use standard tools such as HTML; content is created using ordinary HTML forms or inline editors like WordPad, etc.
eZ Publish, Mambo, and ActionApps suggest using HTML to markup documents, while Xoops has its own markup tools. Use the built-in text editor, similar to Word Pad, to simplify content creation, only in Mambo. Most often, documents are created using the tools familiar to their authors and stored as files on local machines, so when you submit a document to the content management system, it is useful to be able to download files from the local machine. Among the considered CMS-systems, this property does not fully possess one. В Mambo и ActionApps можно загружать на сервер текстовые файлы и рисунки некоторых форматов, а в Xoops и eZ Publish — только рисунки.
Следующий важный момент — каталогизация и упорядочивание контента. В eZ Publish весь контент сайта представляется в виде дерева узлов (узлы — это инкапсуляции контент-объектов). Упорядочивание контента внутри дерева производится с помощью контейнеров (папок), под которые помещаются соответствующие объекты (как в файловой системе). Для задания местоположения объекта (определения узлов, которые с ним ассоциируются) используется свойство location. С его помощью при создании или редактировании объекта можно определить, где дополнительно будет отображаться объект кроме места его создания. В добавлении к иерархической структуре, дерево контент-узлов может быть разделено на логические разделы (секции).
Для упорядочивания контента в ActionApps используется расширяемая система категорий: в системе изначально имеется набор категорий, а администратор может их изменять или добавлять собственные. Для этого служит специальный встроенный редактор, который позволяет моделировать иерархическую структуру (в категории может быть одна или несколько подкатегорий). В Mambo и Xoops тоже применяются системы категорий, но поскольку эти продукты построены по модульному принципу, наличие или отсутствие системы категорий зависит от модуля. Скажем, для модуля «статьи» существуют категории, а для модуля «форум» — нет. Но какую бы категорию в модуле «статьи» вы ни создали, структура документов в ней будет такой же, как и во всех других категориях данного модуля, — деление на категории чисто смысловое. Если в модуле используется система категорий, можно создавать новые категории, удалять или менять тип доступа для существующих.
Механизм каталогизации eZ Publish кажется более функциональным и развитым, но слишком сложным для понимания. Применение же для этих целей категорий, как в остальных системах, гораздо более привычно и понятно, но не позволяет решить, например, проблему отображения документа одновременно в двух категориях.
В eZ Publish и ActionApps реализована поддержка национальных алфавитов. Администраторский интерфейс ActionApps настраивается на несколько языков. Каждая версия контента может существовать на разных языках, но при работе с русским языком порой возникают небольшие проблемы. Дело в том, что в коде этих систем прописана кодировка ISO-8859-1, и для создания документов на русском языке ее приходится менять на KOI8-R или WIN-1251. В системах Mambo и Xoops поддержка русского языка вполне удовлетворительна, но в сами эти системы поддержка многоязычности не входит. В Mambo язык вообще зашит в код системы, а переводы применимы только к тому, что хранится в базе данных, поэтому все равно приходится искать непереведенные фразы и изменять их самостоятельно. Русскоязычному пользователю удобнее работать с Xoops, но надо подготовиться к тому, что с появлением новых, непереведенных, модулей в системе будут возникать слова на английском языке.
Теперь обратим внимание на то, как CMS-системы управляют потоком документов, позволяют ли они создавать различные версии одного документа и дают ли возможность администраторам следить за процессом публикации документов.
Реальный контент eZ Publish, который хранится внутри контент-объектов, может существовать в одной или нескольких версиях. Каждый раз, когда контент редактируется, создается его новая версия, а старая остается нетронутой. Эта система версий позволяет пользователям возвращать/отменять изменения, а чтобы предотвратить переполнение базы данных старыми неиспользуемыми версиями, администратор может установить ограничение на количество версий для контент-класса. Собственно версия документа в eZ Publish описывается с помощью следующих характеристик: номер версии, статус документа (черновик, опубликованный, архивный), язык, создатель, дата изменения. Автоматически контролируется авторство документов: нельзя редактировать чужие документы, можно только создавать их копии и редактировать их. Контролируется и статус документа; несколько версий документа нельзя опубликовать одновременно, поскольку статус опубликованной имеет только одна из них. Существует возможность создавать для разных языков разные версии документа. Документы со статусом «архивные» нельзя редактировать и публиковать (для редактирования создается их копия — черновик).
В системе ActionApps поддерживается основной процесс одобрения: автор документа имеет право на его публикацию. Отличие от eZ Publish состоит в том, что документ публикуется сразу после его добавления в систему. При этом статус документа ActionApps может изменяться следующим образом: активный (active), ожидающий рассмотрения (pending), устаревший (expired), в процессе написания (hold bin), ожидающий удаления (trash bin). Каждый документ, будучи создан, сразу становится активным (публикуется). Потом его можно переместить в другую категорию, но для этого необходимо иметь хотя бы права редактора слайса. Понятие версии документа в ActionApps не применяется, впрочем, как и в Xoops, и в Mambo.
В системах Xoops и Mambo нет общей системы категорий и унифицированного способа описания документов. Описание зависит от модуля (тип контента), к которому принадлежит документ. Но таких понятий, как версия документа, нет. В Xoops не применяется и понятие статуса документа, но некоторые документы (в зависимости от модуля) можно заносить в архив. В системе Mambo документ имеет статус опубликованного, архивного, одобренного или находящегося в процессе редактирования. Архивные статьи можно редактировать. Статьи, добавленные пользователями, должны быть одобрены администратором. В целом описание документов в системах Mambo и Xoops недостаточно полное и не удовлетворяет даже основам стандарта Dublin Core (один из наиболее распространенных наборов элементов для описания структуры и смысла документов, который создается уже в течение нескольких лет международной группой The Dublin Core Initiative, dublincore.org). Таким образом, для этих систем «отрезан» один из путей решения проблем совместного и повторного использования контента, организации распределенных хранилищ данных.
Наиболее развитую систему управления документами, на мой взгляд, предоставляет eZ Publish. Версия 3.2 этой системы поддерживает основной процесс одобрения (право публикации документа имеет только его автор), работу с версиями и трансляциями документов, простейшее отслеживание ревизий.
Немаловажно, как рассматриваемые системы используют контент совместно с другими информационными системами. Самые развитые возможности в этом плане имеет ActionApps: обеспечивается обмен информацией внутри самой системы и с другими сайтами APC ActionApps (в терминах данной системы такое свойство называется content pooling). Обмен информацией осуществляют редакторы или администратор. Также поддерживаются отображение категорий и полей для общего контента, импорт и экспорт контента из других баз данных. Все это впечатляюще, но сложновато. Наконец, ActionApps (как и eZ Publish и Xoops) поддерживает использование заголовков RSS.
Напоследок резюмируем, как осуществляется управление жизненным циклом контента в CMS-системах. При создании документа, он наделяется набором характеристик (статус, автор, дата устаревания и т.п.), соответствующих текущему этапу его жизненного цикла. Затем документ может быть модифицирован, как и его описание, с помощью средств CMS. Если автор документа не обладает достаточными правами, документ проходит процесс одобрения и после этого может быть опубликован. При определенных условиях (например, была установлена дата устаревания документа или его редко читают) документ может быть занесен в архив. Вообще говоря, такие документы заносятся в архив для облегчения и ускорения доступа к актуальным документам, но некоторые системы (например, Mambo) просто дублируют информацию в архив. Архивные документы хранятся отдельно, но могут быть прочитаны и отредактированы (это зависит от системы). Как архивные, так и актуальные документы можно экспортировать на другие сайты, в другие информационные системы, конвертировать в другие форматы и т.п.
Рассматриваемые в этом разделе продукты нацелены преимущественно на решение проблем предприятий, поэтому могут быть классифицированы как ECM-системы. Поскольку эти системы — коммерческие, не всегда можно выяснить, какие модели данных используются при их построении. Кроме того, ECM в принципе сложно классифицировать по предложенному нами сценарию, поскольку они, как правило, состоят из наборов различных сервисов и приложений, каждое из которых может использовать свою модель данных.
Documentum — ведущий поставщик программного обеспечения для интегрированного управления документами и контентом. В области управления документами его ближайшими соперниками являются Open Text, IBM и FileNet, а в сфере управления контентом — Vignette, Stellent и Interwoven.
В области управления документами решения от Documentum наиболее надежны благодаря возможностям репликации контента и управления им на очень высоком уровне детализации (для переиспользования и перенацеливания), а также поддержке преобразований сложно структурированных документов, расширяемости репозитория и поддержке XML. Реализация Collaboration Edition в Documentum 5 и приобретение этой компанией eRoom заставило считать Documentum прямым конкурентом Open Text и Interwoven. Важные достоинства Documentum состоят в глубоком знании процессов управления потоком документов, контроля версий и управления архивами. Однако решения Documentum могут оказаться менее эффективными, чем некоторые решения-конкуренты, при обработке представления документов на больших Web-сайтах.
Система Documentum имеет объектно-реляционную архитектуру (т.е. объектная модель данных отображается на реляционную базу данных), поэтому в нашей классификации может быть отнесена к объектным CMS-системам.
Этот поставщик, фокусирующийся на ECM, долго был лидером на данном рынке, а купив компанию eGail FileNet, вышел на рынок WCM. Это позволило FileNet предложить широкий спектр услуг организациям, реализующим решения для управления контентом. До сих пор компания фокусируется преимущественно на управлении процессами и поддержке транзакционного контента. В 2003 году FileNet представила архитектуру P8, которая поддерживает среды Microsoft и Java. Предлагаются следующие пакеты: Business Process Manager — автоматизация сложных бизнес-процессов; Content Manager — управление, совместное использование и доступ к документам или другим формам контента; Web Content Manager — автоматизация создания, одобрения и публикации контента на Web-сайтах; Image Manager — управление фиксированными типами контента, включая изображения, факсы и т.п.
The IBM Content Manager system allows organizations to receive, store, manage, and distribute all forms of digital content, including scanned text documents, XML, HTML, and multimedia. Recently, IBM redesigned this software product, improving it, adding document management features, including versioning capabilities and ODMA support. This allowed Content Manager to be positioned as a complete, integrated document management solution designed for consumers who want to use a universal product from a single supplier.
Another key point is WCM capabilities. The corporation announced the unification of Content Manager with WebSphere Portal, which provides publishing capabilities on the Web. Content Manager will now be a repository for the WebSphere portal. Content Manager is also integrated with WebSphere Portal using portlets that allow the user to access all types of content. With the acquisition of Tarian Software, a record management solution provider, IBM has expanded its ECM toolkit with content lifecycle management tools.
Content Manager data model is object-oriented.
Open Text Livelink is a document-oriented product that, in addition to document management services, provides a powerful set of collaboration tools, including group schedules, calendars, and work management capabilities. Livelink supports Java, ActiveX, PDF and HTML. This system was designed for corporate intranet environments, does not support integration with Microsoft Exchange repositories, and its integration with Lotus Notes / Domino is possible only in one direction. Livelink supports natural language search queries and clustering of results by topic, document flow controls and real-time interaction modules.
The system architecture is modular, which makes it possible to attribute Open Text Livelink to modular systems.
Interwoven is one of the leading providers of WCM tools. The Interwoven 5 content management platform targets large Fortune 500 companies and organizations that need to control critical business processes. The platform manages all forms of content throughout its life cycle. The core of Interwoven 5 consists of the TeamSite (content management), MetaTagger (categorization) and OpenDeploy (content distribution) modules. Additional components allow you to develop a variety of Web services. The system has a “hybrid” architecture, which means that the content can be stored both in databases and in the file system. This uses the object data model.
Like Documentum, Stellent has entered the market for WCM applications in the field of document-oriented products. The company's CMS solution consists of a content server (Stellent Content Server), a batch content management application and application modules. The latter include Stellent Content Publisher (publishing content on Web sites) and Stellent Dynamic Converter (converting, if necessary, from the original business content to formats that can be viewed via the Internet). Stellent Content Publisher and Stellent Dynamic Converter are closely related to the Stellent Content Server; when used together, they provide a comprehensive solution for content management and automation of website creation. This solution implements seven major functions: Contribution, Native Source Management, Conversion, Web Source Management, Publishing, Deployment and Personalization. Influenced by its document-oriented "roots", the Stellent Content Server is not as good at building sites from the component family as TeamSite and Vignette Content Server products, which were designed specifically for creating dynamic sites.
Stellent solution refers to the modular model.
Vignette is one of Documentum's main rivals in the WCM area, which will compete with this firm in the Smart Enterprise Suite area. Vignette offers a variety of Web site creation tools that are integrated with e-commerce technologies and the business process administration apparatus. Vignette solution includes WCM functionality, personalization tools, portal and application integration tools. Its architecture is service-oriented, and in our classification this solution is closest to the modular type.
This is achieved, most often, by combining development companies and buying smaller specialized companies. Focusing on the growing needs of enterprises, ECM leaders naturally go beyond the management of Web site content and document management.
Nevertheless, it is obvious that the demand of users for the automation of Web-sites will not only remain unchanged, but even increase. Freely distributed modular or object-type products should occupy this niche if developers strive to make their application easier. Network type systems are probably not widespread. In Russia, content management systems are not very popular yet, and their market is small.
Literature
Comments
To leave a comment
Content Management Systems (CMS)
Terms: Content Management Systems (CMS)