Alfresco 3 Web Content Management

By Munwar Shariff , Amita Bhandari , Pallika Majmudar and 1 more
    Advance your knowledge in tech with a Packt subscription

  • Instant online access to over 7,500+ books and videos
  • Constantly updated with 100+ new titles each month
  • Breadth and depth in over 1,000+ technologies
  1. A Publishing Style Web CMS

About this book

Alfresco provides a robust, easy to use, and scalable web content framework for managing multiple websites leveraging a common web infrastructure. If you are interested in configuring and building a new website quickly, determined to create a scalable infrastructure to stage multiple websites, and want to secure and control the content being pushed to external applications, then you have reached the right place.

This book will guide you through creating, managing and publishing web content in staging, test and production environments. It will help you set up an infrastructure for supporting multiple websites using Alfresco, enabling a shortened web development cycle, and providing high return on investment and low cost of ownership.

This book will take you from the basics of publishing style CMS – such as web forms, page templates, and staging – to the skills that will make you an Alfresco developer, covering advanced topics such as workflow, web services integration, and more. You will learn the various options used to install Alfresco including File System Deployment receivers on target production servers. You will also learn to configure a single instance of Alfresco to serve multiple web projects. Focus is given to reuse assets such as images, forms, and workflows across multiple web projects.
It will introduce you to advanced concepts of separating the web content from presentation. The entire process of creating web content, getting it approved and published to a staging environment needs a robust workflow process. You will learn and have extensive hands-on experience with the examples given in the book to create a flexible workflow. You will learn about Alfresco Web Editor, a new feature released with the latest version of Alfresco 3.3. You will learn to configure Web Editor for in-context editing of web pages. You will be able to try out various integration options using Alfresco’s RESTful web services framework. By the end of the book, you will be able to set up an extensible enterprise web content management system for your company and customers.

Publication date:
September 2010
Publisher
Packt
Pages
440
ISBN
9781847198006

 

Chapter 1. A Publishing Style Web CMS

The Alfresco Web Content Management is a next generation tool that allows organizations to rapidly create and more effectively maintain dynamic Internet, intranet, and extranet sites, enabling a shortened web development cycle, providing high returns on investment, and low cost of ownership. WCM manages the content and structure of websites, including the framework and navigation, as well as the creation, editing, approval, and publication processes. By using Alfresco you can implement web content management solutions with a scalable content repository: Web 2.0 AJAX-based user interface, flexible workflow, multi-language support, and a robust search engine.

This chapter provides an introduction to Alfresco WCM, outlining the benefits of using it for your enterprise's web content management requirements. It also introduces the new features of the Alfresco WCM.

In this chapter, you will learn about:

  • Alfresco WCM architecture

  • The Alfresco WCM model

  • Features of Alfresco WCM

  • Benefits

Good web content management pays big dividends

When an organization's management team is reviewing budgetary proposals, the price tag associated with a new computing solution often elicits one question: "Can't we avoid this expense?" The answer is obvious: you can continue to operate your websites without the benefit of a content management solution. However, the real question should be, "What is the cost of not making this purchase?"

Here are some factors to consider:

High labor costs and the shortage of qualified personnel

Finding and holding on to qualified employees can be a challenge. All the more a reason to make the most of each individual's skill set. A web content management solution that empowers content providers to post directly to a live site increases their productivity. By the same token, IT personnel who are not ensnared in the posting process are free to apply their skills and knowledge to more challenging tasks. Providing state-of-the-art tools helps promote positive attitudes while improving productivity, which can go a long way in retaining skilled personnel.

How long it currently takes to implement site changes

Does it take hours or even days to post new content on your websites? That's often far too long to leave outdated or incorrect information on a site. After all, the beauty of the Internet is providing target audiences with 24x7 access to all of the latest and greatest information. When a site becomes stale, users become disenchanted and are less likely to return. Recapturing a user's interest is far more difficult than maintaining it with fresh, personalized content.

Potential problems caused by erroneous or out-of-date postings

When new information doesn't get posted quickly, what does it cost your organization? In case of a publicly-traded company, incorrect financial postings can have serious consequences. Providing only accurate, timely product information can prevent misunderstandings that lead to customer dissatisfaction. Giving distributors and suppliers incorrect, out-of-date, or partial information can have a negative effect on your bottom line. The right web content management solution, one that is easy to use and maintain, will help ensure that your organization provides site visitors with reliable content.

Revenue losses attributable to an inability to respond

A website that cannot be scaled to meet a business' emerging needs is just as serious a problem as an inability to hire more people, move to a larger facility, or acquire additional suppliers. Revenue can be lost and the future of the organization diminished. Why take such chances, especially when websites are becoming central to doing business?

Competitive issues related to a lack of planning

Hiring an experienced webmaster allows an organization to use that individual's skills beyond day-to-day site maintenance. A knowledgeable individual can help review site architecture, assess future site requirements, and implement upgrades. These are valuable activities for growing organizations that want to remain competitive in today's rapidly changing economic environment. However, when the webmaster must operate as a "web page processor", the time and skills of this valuable resource cannot be fully utilized.

The right web content management solution can allow your organization to:

  • Make effective use of all internal resources

  • Slash the time required to implement site content changes or redesign a site

  • Ensure the availability of timely, accurate information

  • Scale its website to keep pace with organizational growth

  • Plan to accommodate new business initiatives and technological advances

 

Good web content management pays big dividends


When an organization's management team is reviewing budgetary proposals, the price tag associated with a new computing solution often elicits one question: "Can't we avoid this expense?" The answer is obvious: you can continue to operate your websites without the benefit of a content management solution. However, the real question should be, "What is the cost of not making this purchase?"

Here are some factors to consider:

High labor costs and the shortage of qualified personnel

Finding and holding on to qualified employees can be a challenge. All the more a reason to make the most of each individual's skill set. A web content management solution that empowers content providers to post directly to a live site increases their productivity. By the same token, IT personnel who are not ensnared in the posting process are free to apply their skills and knowledge to more challenging tasks. Providing state-of-the-art tools helps promote positive attitudes while improving productivity, which can go a long way in retaining skilled personnel.

How long it currently takes to implement site changes

Does it take hours or even days to post new content on your websites? That's often far too long to leave outdated or incorrect information on a site. After all, the beauty of the Internet is providing target audiences with 24x7 access to all of the latest and greatest information. When a site becomes stale, users become disenchanted and are less likely to return. Recapturing a user's interest is far more difficult than maintaining it with fresh, personalized content.

Potential problems caused by erroneous or out-of-date postings

When new information doesn't get posted quickly, what does it cost your organization? In case of a publicly-traded company, incorrect financial postings can have serious consequences. Providing only accurate, timely product information can prevent misunderstandings that lead to customer dissatisfaction. Giving distributors and suppliers incorrect, out-of-date, or partial information can have a negative effect on your bottom line. The right web content management solution, one that is easy to use and maintain, will help ensure that your organization provides site visitors with reliable content.

Revenue losses attributable to an inability to respond

A website that cannot be scaled to meet a business' emerging needs is just as serious a problem as an inability to hire more people, move to a larger facility, or acquire additional suppliers. Revenue can be lost and the future of the organization diminished. Why take such chances, especially when websites are becoming central to doing business?

Competitive issues related to a lack of planning

Hiring an experienced webmaster allows an organization to use that individual's skills beyond day-to-day site maintenance. A knowledgeable individual can help review site architecture, assess future site requirements, and implement upgrades. These are valuable activities for growing organizations that want to remain competitive in today's rapidly changing economic environment. However, when the webmaster must operate as a "web page processor", the time and skills of this valuable resource cannot be fully utilized.

The right web content management solution can allow your organization to:

  • Make effective use of all internal resources

  • Slash the time required to implement site content changes or redesign a site

  • Ensure the availability of timely, accurate information

  • Scale its website to keep pace with organizational growth

  • Plan to accommodate new business initiatives and technological advances

 

Various WCM systems in the market


The worldwide Web Content Management market has been growing exponentially. The market maturity has homogenized much of the competition. Therefore, procurement decisions should be increasingly based upon vendor viability and the vendor's long-term product strategy. Maintaining your web assets is both a cost of doing business and a competitive differentiator. There are proprietary and open source WCMs available today for organizations to choose from. Alfresco is one of the leading choices when organizations look at the open source options available to them.

The Alfresco WCM engages customers through next-generation sites, enabling mass contributions from internal and external users, simple configuration via reusable web scripts, and low-cost massive scalability that uses commodity software and hardware.

Cutting edge technology, rich interface experiences, user participation, and effective costing are all factors that organizations seek to consider while selecting the best suited WCM solution for their organization.

From a high-level perspective, WCM solutions in the market today can be classified into two types:

  • Wiki style

  • Publishing style

The following table shows the differences between the two types:

Features

Wiki Style Web CMS

Publishing Style Web CMS

Authoring and delivery

Single system for authoring and delivery

Authoring and delivery are separated

Content and presentation

Little separation of content and presentation

Content = Page or page fragment

Separate content and presentation

Content ≠ Page or page fragment

Validation

Little or no validation / QA process

Configurable editorial and approval process

Editing

In place editing of live web pages

Editing of separate editorial copy of content

Apt for

Smaller sites or those managed by smaller teams

Larger sites or those managed by larger teams

Examples

Wikis

Joomla!

Drupal

PHP Nuke

Portal Server CM portlets

Alfresco

Interwoven

Vignette

Day

 

The Alfresco WCM model


Content Production and Content Delivery are separated in Alfresco Web Content Management, as shown in the following diagram:

It is important to understand the concepts that form the basis of the Alfresco WCM model.

Web projects

Web projects are the production-side representation of a site. This is what manages the content consumed by the site. Here the access rules and roles for content producers are defined. Every Alfresco server can have multiple web projects. Within a web project the user can:

  • View content based on the state of their User and/or Staging Sandboxes

  • Preview content based on the state of a sandbox with workflows

  • Upload file-based content

  • Create web forms and manage content

  • Submit content to staging and deploy content to a live environment

These actions can be controlled and managed through the use of workflows.

Sandboxes

Alfresco provides a sandboxed development model. Content producers make use of the sandboxes to make changes to a site in isolation from one another. The default configuration is as follows:

  • One Staging Sandbox per web project

  • One User Sandbox per user per web project

  • One temporary workflow sandbox per active workflow instance per web project:

Virtualization and In-context Preview

Virtualization and In-context Preview is core to the sandboxing concept. Virtualization means that each user has a complete view of all current, approved, checked in content along with those unique modifications made within the context of their sandbox. Alfresco provides a complete virtual view of the website as it would look if all changes in a sandbox were committed to the live site even when previewing any non-modified or modified asset in a sandbox. This is In-context Preview.

Each user in the context of their sandbox can do rigorous and thorough quality checks for all changes they are posting to the website.

Transparent layers

Transparent layers are the means to implement sandboxes in Alfresco. This layer is a central construct in the Advanced Versioning Manager (AVM) repository, very similar to the UnionFS Linux filesystem, and is used to define "composite" stores that can "read through" content from other stores. It can be defined at the store, directory, or file level.

From Alfresco 3.1 onwards, transparent layers can be configured by a Content Manager in the Staging Sandbox of a web project. This is useful for:

  • Defining web project templates

  • Reusing content across multiple web projects

  • Explicitly segregating different groups of content producers for separate web projects

Web forms

Web forms are used in Alfresco WCM to capture content from the user, and store as XML. An XML schema needs to be created by form developers for capturing content. It is then rendered automatically as a user-friendly web-based form for content contributors.

Alfresco uses the open source project Chiba, an XForms implementation used to transform the XML schema into an internal representation of a form (XForms), and then present UI controls for elements and attributes described in the schema. This helps to render the form entry UI to the end users.

Web forms are created and administered in the Web Forms space within the Data Dictionary. As they are located in Alfresco Spaces, they are accessible by the default CIFS, FTP, and WebDav interfaces. They can also be configured with rendering engine templates for generating renditions of the collected content.

Rendition templates

The web form-managed XML can be transformed with rendition templates and the corresponding content into rendered output. Server-side templating languages, such as FreeMarker, XSLT, and XSLT-FO are provided by Alfresco. After a content item (XML file) is created via a web form, each rendition template configured for that content type is executed, producing an output file per template (shown in the following diagram). Typical formats for renditions of web content include HTML, JSP, PDF, XML, and so on:

Web scripts

Web scripts provide RESTful access to content held within your Alfresco Enterprise Content Repository. You can therefore place controls on your enterprise content to manage it, and provide uniform access for a wide variety of client applications and services, such as browser, portal, search engine, or any custom application.

Web scripts allow you to:

  • Easily access, manage, and cross-link your content via a customized RESTful API. You do not need any compilation, generators, server restarts, complex installs, tooling, or Java knowledge. All you need is your favorite text editor or the Alfresco Explorer web client.

  • Build custom URI-identified and HTTP-accessible Content Management Web Services.

  • Turn your Alfresco repository into a content management-powered HTTP server.

Workflows

Alfresco WCM uses JBoss jBPM for all workflows. There are three aspects of workflows in Alfresco:

  • Workflow definition: The creation and deployment of the jBPM workflow into Alfresco repository.

  • Workflow association: The assignment of a workflow to a web project, which specify the actors (reviewers identified).

  • Workflow instance: Created when content that is specific to the associated change set is submitted. Additionally, Alfresco comes with Web Site Submission workflow out of the box, which allows for serial and parallel approval of content.

Content delivery concepts

In Alfresco there are three delivery models: static, dynamic, and a hybrid of both static and dynamic. In a static delivery model, all requests to the web server return a static file of XHTML, XML, JSON, and so on to the web client without any additional processing (no CGIs, no SSI, and so on).

In a dynamic delivery model, all requests to the web server return objects of type XHTML, XML, JSON, and so on that are processed by some application server to render the resulting document.

Static delivery model

In such a model, pages are rendered as part of the content production process. The resulting HTML and associated assets (images, CSS, JS, and so on) are then published to the filesystem, typically a document root of a web server. This provides high levels of scalability on simplified production architectures (web server farms). This model, however, has limited personalization and there is a set number of rendering technologies (FreeMarker, XSLT, and XSLT-FO).

A File System Receiver (FSR) will need to be installed and configured to receive published static content from the Alfresco server. The FSR consists of a small server that receives updates from an Alfresco repository and publishes them to a flat filesystem, which is then typically served up by a web or application server. The following diagram illustrates this process:

Dynamic delivery model

A pure dynamic model publishes content to an Alfresco Runtime, thereby making the content available for dynamic queries with basically any web technology (PHP, Python, J2EE, AJAX, Flash, Cold Fusion, and so on). This provides ultimate flexibility in what and how content is displayed on a page. This provides the highest levels of personalization, but will require significantly more resources on the delivery servers for similar levels of traffic. For all but the smallest websites, significant effort is required in architecting, developing, and testing to ensure website or application stability. This is particularly the case during unexpected high-volume situations (for example, a Government website during a national disaster). The following diagram illustrates the dynamic delivery model:

An Alfresco System Receiver (ASR) will need to be installed on a server to facilitate the dynamic delivery model. The ASR is just another instance of the Alfresco server. The ASR allows a web project being authored in one Alfresco server instance to be deployed to another separate instance of Alfresco.

Overview of delivery models

The following is a summary of static and dynamic delivery models:

 

Static "Bake" Model

Dynamic "Fry" Model

Delivery technology

Web servers

Application servers

Page compositing

Submission time

Request time

Content deployed to

Filesystem

Alfresco runtime

Personalization

Limited

Unlimited

Performance

Ultimate

Less than the "bake" model

Application developer skill sets

FreeMarker, XSLT, XSLT-FO

Any web technology

The best of both worlds

A hybrid approach is the preferred approach regardless of the WCMS and the underlying technologies. Determination of what is static and what is dynamic is highly dependent on the type of website and web applications.

Users also have the option of a hybrid delivery approach. This approach can be executed as follows:

  • The web architecture model should be designed to support the dynamic model. This includes the ability to deploy content to both filesystems and Alfresco runtimes for flexibility.

  • Leverage the static model wherever possible. If content must be personalized to a single user or a very small set of users with few "page" impressions, it most likely needs to be dynamic. Otherwise, it can be static.

  • Choose a page composition model appropriate to the overall site and each page on the site:

    • Outside-in: Each page is static HTML with static components already embedded, but dynamic components or applications such as AJAX and Flash can be included.

    • Inside-out: Each page is dynamic and includes all page components dynamically regardless of whether those components are static or dynamic.

 

Significant enhancements in Alfresco WCM with Version 3.3


A bunch of new features focused on helping companies manage their web presence have been introduced in Version 3.3. A list of these is as follows:

  • Alfresco Web Editor: In-context editing to Alfresco (non-AVM) stored content has been introduced. This will allow content authors to edit content items stored within an Alfresco repository directly from the web page. Alfresco 3.3 also provides the Web Editor Framework, a JavaScript client-side framework, rendering a toolbar, and associated controls.

  • Transfer Service API: Developers can build solutions that transfer content between Alfresco repositories (non-AVM) using the Transfer Service API. This is useful to WCM architectures where Alfresco provides both authoring and delivery tier components and allows rich-content structures and relationships to be maintained between Alfresco environments.

  • Rendition API: The Rendition API will allow developers to build solutions for easily repurposing content for the Web. FreeMarker and XSLT templates can also be used as part of the Rendition API.

  • WCM deployment: The Alfresco Deployment Receiver is configured as sub-system and a new Data Dictionary folder called Web Deployed is configured to default as the deployment target. AVM to DM-WCM deployment facilities have been enhanced to add an additional deployment target. This additional deployment receiver allows WCM content that is authored and stored within the AVM to be deployed to local and remote Alfresco repositories (Alfresco DM).

Alfresco Web Editor

The Alfresco Web Editor (AWE) is a Spring Surf-based web application that utilizes the Forms Service to provide in-context editing capabilities to Alfresco repository content (non-AVM). Alfresco 3.3 also introduces the Web Editor Framework (WEF), which is a client-side JavaScript framework that is a dependency of the AWE.

With the initial release, the AWE will support JavaServer Pages (JSP)-based websites by providing a tag library. Additional languages will be supported in future releases with FreeMarker and PHP being on top of the list. The tags have been designed for easy implementation so that a developer can enable the AWE with minimal effort, and without effecting the CSS layout and design of the site.

The simplest and quickest way to deploy AWE is to use the prebuilt WAR (awe.war) file and deploy it in the same application server instance of your web application. Being a Spring Surf-based application, AWE does not have to be deployed in the same application server instance as the Alfresco repository. However, this section presumes that it is.

 

Summary


An easily navigated site, with information consistently organized in a logical fashion, is what most organizations want to provide. But delivering consistent organization with proper adherence to corporate branding and design standards can be difficult when several authors are contributing content. If more than one designer or Webmaster posts content, standards can easily become compromised and consistency diminished.

In this chapter, we have learned that Alfresco gives you a web content management solution that:

  • Has content component architecture where content is separated from format; it is easier to reuse.

  • Uses an open, object-based API—an open interface providing compatibility with new or emerging technologies.

  • Is an open source alternative.

The next chapter focuses on installing Alfresco and various components around it. Installation on various operating environments is detailed therein. Also explained is the installation of various components like OpenOffice, ImageMagick, Microsoft Office Add-ins, Flash Player, and SWFTools.

About the Authors

  • Munwar Shariff

    Munwar Shariff, as a co-founder and Chief Technology Officer at CIGNEX Datamatics, brings over 20 years of industry experience and proven technical leadership. He oversees the enterprise architecture solution team and provides strategic planning to achieve business goals by identifying and prioritizing technology-based services and solutions. Defining initiatives and setting timetables for the evaluation, development, and deployment of pioneering technologies are his areas of expertise.

    He is an entrepreneur, open source technologist, and author of the following four technical books:

    • Plone Live
    • Implementing Alfresco
    • Alfresco3 WCM
    • Alfresco3 ECM

    He contributes to the open source community by journaling submissions on open source CMS, and has been a featured speaker at AIIM USA, JBoss World, DAM Conference, Plone Conference, Linux World, Gilbane, CTC, Yahoo OSCMS, Saudi Government, and CA World.

    Munwar has also served on board at the Plone Foundation and is currently a board member at CIGNEX Datamatics.

    Browse publications by this author
  • Amita Bhandari

    Amita Bhandari is a senior consultant at CIGNEX. As a senior developer, she has rolled out numerous Alfresco deployments world-wide. She has extensive experience in implementing Enterprise Web Applications using J2EE technologies such as JSP, Servlets, Spring, Hibernate, Web Services, Web Scripts and MVC Frameworks. She has worked with clients in media and gaming, healthcare and e-governance. She trained many students in Java and advanced Java technologies. She holds a Masters in Computer Applications from Rajasthan University, India.

    Browse publications by this author
  • Pallika Majmudar

    Pallika Majmudar is a consultant at CIGNEX Technologies. She is very experienced in Java/J2EE domain including the frameworks such as Struts, Spring, Hibernate, Web services, and Web scripts. She has worked on various CMS applications for the customers in United States, Hong Kong and India. She has implemented Alfresco for clients across verticals like Media, Healthcare, Hi-tech and Communications. Pallika has earned her Masters in Computer Application degree from Gujarat University, India.

    Browse publications by this author
  • Vinita Choudhary

    Vinita Choudhary is a senior consultant at CIGNEX. She has extensive experience in working in a variety of environments with cross-functional, multi-cultural teams as a business analyst and has provided feedback on usability and functional gaps in process flows and proposed solutions. She has re-organized existing repository of documentation, written guidelines for document creation, filing and change control, wrote reference and training material for software developers and published the same. She is involved in providing presales support to the sales team and has worked on process streamlining for the company and various documentation aspects. Vinita holds a Masters in Computer Applications degree from Gujarat University, India.

    Browse publications by this author
Book Title
Access this book and the full library for FREE
Access now