1. Technical Field
This disclosure generally relates to content management systems, and more specifically relates to services relating to eXtensible Markup Language (XML) in content management systems.
2. Background Art
A content management system (CMS) allows many users to efficiently share electronic content such as text, audio files, video files, pictures, graphics, etc. Content management systems typically control access to content in a repository. A user may generate content, and when the content is checked into the repository, the content may be subsequently processed by the CMS according to predefined rules. A user may also check out content from the repository, or link to content in the repository while generating content. The rules in a CMS assure that content that comes into or out of the system or that is linked to meets desired criteria specified in the rules.
Many content management systems are used in situations that require specialized functions not provided by the core content management system. In these situations, a value-add application is typically provided that provides the specialized functions while still taking advantage of much of the functionality of the core content management system. For example, the pharmaceutical industry is heavily regulated, and a value-add application specific to the pharmaceutical industry may be provided that interfaces with a core content management system.
FIG. 2 shows one specific implementation of a content management system 200 that includes a value-add application 202 that can interface with one or more core content management systems 260, 270 and 280. The value-add application 202 includes XML actions 210 that may be performed, an XML content processor 242, and a repository abstraction layer 254. The XML actions may include import 220, check-out 222, check-in 224, view 226, synchronization 228, and other functions 230. The XML actions are processed by the XML content processor 242. Some of the functions provided by the XML content processor 242 include linking 244, bursting 246, and synchronization 248. The XML content processor 242 may write one or more document object model (DOM) objects to a DOM map 250. XML content processor 242 can perform functions using content rules, which may be stored in a content rules map 252 that defines rules that the XML content processor 242 follows when performing certain XML functions. The repository abstraction layer 254 provides a level of abstraction that allows the value-add application 202 to interface to a number of different core content management systems. In the specific example in FIG. 2, the value-add application 202 may interface through the repository abstraction layer 254 to a core CMS 260 that is an IBM content management system, to a core CMS 270 that is a Filenet system, and to a core CMS 280 that is a Documentum system. Each core content management system typically provides its own XML content processor with logic to perform linking, bursting and synchronization. Thus, core CMS 260 includes an XML content processor 262 that provides linking 264, bursting 266, and synchronization 268; core CMS 270 includes an XML content processor 272 that provides linking 274, bursting 276, and synchronization 278; and core XMS 280 includes an XML content processor 282 that provides linking 284, bursting 286, and synchronization 288. Each core CMS controls content in a content repository. Thus, core CMS 260 controls content in content repository 269; core CMS 270 controls content in content repository 279; and core CMS 280 controls content in content repository 289.
Because the value-add application 202 typically has unique requirements that must be met, often the XML content processor 242 with its associated linking 244, bursting 246 and synchronization 248 may be used exclusively by the value-add application, and the XML content processor with its associated linking, bursting and synchronization in the core CMS is not used. While it is possible for the value-add application to call low-level application programming interfaces (APIs) in the core CMS to manage content in the content repository, doing so makes the value-add application 202 designed to the details of the underlying core CMS instead of taking advantage of the repository abstraction layer 254. In addition, if data comes into the repository from sources other than the value-add application 202, the data processed by the XML content processor in the core CMS will be processed differently than data processed by the XML content processor 242 in the value-add application 202. Thus, in environments where data may be imported directly by the core CMS, the processing provided by the value-add application 202 is not available. In addition, some documents are large and therefore create significant memory requirements on the value-add application. Without a way to implement XML content services in a way that overcomes these disadvantages, known content management systems will continue to be plagued by the problems discussed above.