WCM Developer Documentation
From AlfrescoWiki
This section provides links to WCM developer guide topics.
Contents |
[edit] Developer Overview
Alfresco WCM is an application for managing web content. The assets being managed by Alfresco are not tied to any specific framework or technology.
Content is managed in sandboxes which isolate each user's changes and there are facilities for submitting content to a shared (staging) sandbox and then deploying that content either to a flat filesystem or another instance of Alfresco.
Content can be collected and displayed via forms. And workflow can be used to control the approval and publishing of content.
As a developer there are two main areas for WCM that you will need to become involved. The first is to design and implement the content model (Web Forms) that your web site or application will consume and the second is to implement any customisations that are specific for your implementation. These may include custom workflows, scheduled jobs or integrations with external sources of content.
[edit] WCM Components
Alfresco Web Content Management is closely tied with the underlying facilities provided by AVM. AVM is best thought of as a version control system, in fact it shares many concepts with Subversion (SVN). But AVM is better thought of as a lower level core component of Alfresco. It is possible to use AVM directly for WCM, but that is typically harder and more obscure than using the higher level APIs provided for the WCM application.
Version 3.1 / Labs 3D introduces new Java / Web Script / JavaScript API
[edit] Forms Developer Guide
WCM Forms are used to capture content from the user, store it as XML in Alfresco at a certain path. For capturing content, an XML Schema needs to be created by developer. It is then rendered automatically using a user-friendly Web Form (using XForms technology embedded in Alfresco).
Detail on supported XML schema data types, XForms controls, and UI widgets. Also, detail on annotation for customizing appearance, labels, and alerts.
[edit] Content Lifecycle Management
Detail on Alfresco's support for Content Launch and Scheduling and Content Expiration.
[edit] Content Deployment
Once web content is in a sandbox it may need to be pushed out of Alfresco onto a test or production server. AVM efficiently maintains change sets between versions so only the minimum changes are deployed. Author sandboxes are pushed out to test servers. Staging sandboxes are pushed out to live servers.
[edit] WCM Preview
Detail on the in-context preview options available in Alfresco WCM.
[edit] Virtualization Server
The virtualisation server is a separate instance of Tomcat that provides virtual views of the contents of sandboxes without needing to deploy content.
The virtualization server's job is to allow data within certain sandboxes within the AVM repository to be interpreted as a set of virtual websites, and to allow these websites to be browsed by end users (and QA tools) prior to deployment (or submission to a "common staging area"). These websites may include virtualized servlets and JSPs, but completely static websites can be virtualized too (.html, .gif, .png, etc).
The virtualisation server is specific to Java application server web sites. The alternative for non Java web sites is to deploy to a Test server.
[edit] Links Management
Detail on Alfresco's support for links validation, both for a current website, incremental changes, and workflow enforcement. Links validation requires the virtualisation server to be running, otherwise it is disabled by default. In later releases, it is disabled & hidden by default.
[edit] Adding Custom Scripting API to AVMService
Detail on how to expose AVM functionality via Javascript for those methods not natively exposed via Alfresco's Javascript API.
[edit] Tutorials
Please contribute tutorials, hints and tips and add links here.
[edit] More Developer Resources
Have a look at the WCM extensions on JavaScript API, Template Guide, Metadata Extraction, Web Scripts, and our partner RivetLogic's set of custom JSP for WCM.

