Obsolete Pages{{Obsolete}}
The official documentation is at: http://docs.alfresco.com
The area of content management is so vast and comprehensive, that it is difficult to pick just one area to develop patterns that will satisfy all application requirements. However, there are clearly common patterns of system interaction that are common such as library services, check-in / check-out, query and search, hierarchy navigation and content handling.
The IECM (part of AIIM) have identified 6 main areas of content management: Collaboration, Web Content Management, Records Management, Electronic Publishing, Forms Management and Document Management. Any of these is a reasonable target area for a content management application. By content management developers, the developers should be aimed where they are most needed. Our priority is to target the application use cases that are constantly being re-invented and using the most resources.
Portal Integrations: This includes all JSR-168 and WSRP compatible portal frameworks. Portals are increasingly the way that content is captured and that content is delivered throughout and enterprise or beyond. Portals can either be a corporation’s intranet, a customer self-service extranet or a hub for the exchange of information or documents such as specifications, quality certificates and maintenance material. It could also include various application frameworks from other enterprise app vendors. Behaviors should change based upon a user's role, an object's type or a views configuration. Common use cases for portlets and extensions of portlets provided by vendors include:
Functionality required beyond baseline:
Provide the essential web-services to support content-oriented business processes and their associated applications. The content could be web pages, but is more likely to be documents that may ultimately be rendered as web pages.
Functionality required beyond baseline:
Communications: IM, web conferencing, (C)
Some content feeds are very long and very complex. Handling of that content, in and out of a repository, requires different handling protocols. Simply having content as a property of an object is not sufficient for dealing with even moderately large content such as images and PowerPoint presentations. Rich media feeds, such as films and video broadcasts, have complex buffering requirements. Some feeds, such as news feeds and scientific and exploratory data, have no end. Another application would be chunking extended content feeds and the monitoring of these feeds and auto-classification thereof.
Encourage a *lot* more developers building business objects. Some examples include: specialist image objects such as medical and police images and special office document handlers such as strategic plans, contracts, and bid proposals.
Functionality required beyond baseline:
There is a clear desire on the part of large enterprises to provide seamless searching and discovery of information, content and documents in multiple vendors’ repositories. One of the principal drivers of this is discovery of content that is in breach of any compliance policies. They are also interested in the discovery and exchange of knowledge between different divisions. A simple google style of appliance has not been sufficient for most of these organizations since they want to use metadata and process information as part of the search process. A Java-only interface is not really sufficient since it needs to apply to non-Java stores and Microsoft Sharepoint. There also needs to be a way to identify the scope of the search through a consistent naming and discovery mechanism.
The pattern of cross repository searches is to present the search as portlet or web application. The user should either be able to express a simple Google-like query or be provided with a web interface for specifying a more meta-data or classification oriented search. The scope of the query should be more than one “workspace�? and should be able include multiple repositories and sub-repositories. The results should be blocked (i.e. 1-10, 11-20, etc.) and returned instantaneously. Sorting options should be supplied. The language that implements this pattern should be understandable and constructible by a SQL-literate programmer.
Some of the applications of cross repository searching are discovery of knowledge in various departmental repositories, compliance discovery of infractions and identification of knowledgeable individuals based upon the material they have contributed to various repositories. Some of these applications may be automated, but most will probably be interactive. It may be enough to return the results, but it is worth considering adding a follow-up action (a pattern in itself?) that either creates a new object in a central repository or invokes a workflow to perform a follow up action, such as send out a compliance notice.
Functionality required beyond baseline:
Think of this as WebDAV mark-II enabled through web services. Integrating with a user’s desktop was the key objective of the ODMA consortium, which without the backing of Microsoft failed. Integration should place the content repository cleanly in the user’s environment. This includes the tools that are used for authoring, editing and viewing content. While using the operating system’s browser, the repository should look like one very large virtual drive. Between the two versions of Sharepoint, 2001 and 2003, Microsoft has set the standard of what this user experience should be like by tightly integrated with the application and menus, integrated with file browsing and providing collaboration interfaces. Unfortunately for Microsoft, it is not all available in one release. WinFS and Longhorn will set the standard in the future. Without this type of interface and the standardization of the browsing experience, users are now reverting to using shared drives as a much easier, but less controlled content store.
Doing a search and count on Google for content management indicates that the market thinks that content management is Web Content Management. The problems are well explored, but there are still many holes in solutions and in the ease of use of most tools on the market. Classification is still not well addressed. In-line editing, virtualization and previewing are still difficult with most tools. However, this is an area that has become much commoditized.
This would allow users to change the behavior of standard repository behavior. It would also allow advanced features to be added without breaking the specification since Aspects would always be optional. Upon a save to or retrieval from a content repository, the system can arbitrate the invocation of an aspect on that content. Before doing a save, an aspect could perform an operation through a web service, such as auto-classification, so that the aspect didn't need to be written in the same language, be on the same machine or even in the same enterprise. It could open up new service opportunities such as translation that would be provided by 3rd parties. As such, it would be worth considering not just security mechanisms, but also payment and scheduling mechanisms.
Meet the various industry-specific compliance requirements with applications designed to those standards. Enterprise applications can use the web services to store static records and content such as transactional documents and content. Developers can create complex life-cycles that determine movement of content through multiple repositories and stores. Specialized meta-data and security requirements can be layered on top of normal content services. A web service interface for records management with complete transactional control can guarantee information is verifiable, has not been tampered with, and, if necessary, has been completely destroyed.
This is a general class of application that enables the movement of content from one repository to another. There have been some attempts to solve simple syndication in the form of RSS, but the class of replication required by enterprises and B2B are much more complex. Internal replication of content bases is something that only large organizations have been able to accomplish after a great deal of effort. By establishing a set of web services interfaces, it should be possible for 3rd party developers to simplify this process and provide whole solutions for replications. As the industry consolidates to fewer players, this should be an enabler to allow that to occur.
An enterprise registry is the corporate equivalent to Microsoft Windows registry. With complex applications and systems having no particular place to store configurations, these systems are proliferating XML files and small databases to store configuration details. The information has the same needs as content management: Querying, Categorization, Metadata, Meta-definitions, Versioning, Locking, Transaction Control, Configuration Management, Ownership, etc. Most enterprise applications can use a registry so that there is a well-known location. Information managed can include: app configurations, user preferences, parts specifications. Certainly fits the Information Lifecycle Management message. There is often a fine line between a registry and a directory.