Enterprise content management (ECM) is the fastest growing category of enterprise software. Customers who are implementing or upgrading ECM systems are facing issues such as vendor lock-in, high maintenance costs, and lack of standardization. Open source technologies and open standards are becoming powerful alternatives to commercial closed-source ECM software. Alfresco being a stable player in this market has gained a lot of momentum by providing content management solutions to enterprises using open standards and open source based technologies. Alfresco is positioned as "Visionary" in Magic Quadrant for Enterprise Content Management (as per Gartner's ECM report 2012).
The latest release of Alfresco has an Enterprise Edition as well as a Community Edition. The Alfresco Community version is an unsupported product and is designed for use by developers and technical enthusiasts in non-critical environments. It serves as the research vehicle for new features and as the platform for the Alfresco Community. Constant innovation of the Alfresco Community renders a daily build, offering the latest functionality.
The Alfresco Enterprise Edition is production ready, stress tested and certified build that is supported by Alfresco Software Inc. It is fully a supported, Alfresco product that can provide support to corporations and governments that require commercial Service Level Agreements (SLAs).
This chapter provides an introduction to Alfresco and outlines the benefits of using it for your enterprise's content management requirements. It also introduces the features of the latest release of Alfresco, Version 4.2, as of May 2013.
By the end of this chapter you will have learned about:
The overview of Alfresco
Key features of Alfresco software Version 4.2
Alfresco products including Alfresco Mobile and Alfresco Workdesk
Using Alfresco for your document management, business process automation, records management, team collaboration, web publishing, secure file sharing, and mobile content management requirements
The future roadmap
Alfresco was founded in 2005 by John Newton, co-founder of Documentum, and John Powell, former COO of Business Objects. Its investors include the leading investment firms Accel Partners, Mayfield Fund, and SAP Ventures. The proven track record of its leaders, the features in the technology, the open source business model, and good venture capital backing of the team, as a combination makes Alfresco different.
Enterprise customers can reduce costs, minimize business risks, and get competitive advantage by adopting the right open source based business software solutions. Based on publicly available pricing from a range of vendors, a white paper from Alfresco shows how it is possible to save, in the first year of implementation (based on a 1000 user configuration), up to 89 percent of the cost of SharePoint purchases and up to 96 percent of the cost of other ECM solutions by using Alfresco's open source ECM. You can reduce the cost of software solution acquisition, deployment, and maintenance by bringing the community into the development, support, and service process.
Alfresco is the leading open source alternative for enterprise content management. It couples the innovation of open source with the stability of a true enterprise-class platform. The open source model allows Alfresco to use the best-of-breed open source technologies and contributions from the open source community to get higher quality software produced more quickly and at a much lower cost.
The following diagram explains the overview of Alfresco content repository and its integration with external systems such as virtual filesystems, web applications, knowledge portals, and web services.

A content repository is a server or a set of services used to store, search, access, and control content. The content repository provides these services to specialist content applications such as document management, records management, image storage and retrieval systems, or other applications that require the storage and retrieval of large amounts of content. The repository provides content services such as content storage or import, content classification, security on content objects, control through content check-in and check-out, and content query services to these applications.
What distinguishes content management from other typical database applications is the level of control exercised over individual content objects and the ability to search content. Access to these services requires wrapping the calls in security to prevent unauthorized access or changes to content or its metadata. The finer granularity of this security and its complex relationship with other objects such as people and folders requires a more sophisticated mechanism than provided by a traditional database security.
The complex requirements of these services imply that much of the business logic of the content repository can be as large as or larger than the database itself. Almost all the content repository vendors provide proprietary service interfaces to encapsulate the breadth of functionality required. Despite having tried over the last 10 years to standardize these interfaces, it is only over the last two years that any progress has been made. In 2005, the Java community adopted the JSR-170 standard interface and Alfresco's content repository is based on these standards.
The single most important aspect of any ECM system is the underlying architecture. Alfresco supports pluggable, aspect-oriented architecture out of the box by leveraging the open source standards and components such as Spring, Hibernate, Lucene, CMIS, JSR-168, JSR-170, and JSE6.
The architecture is based on open standards and hence the applications built using Alfresco can be deployed on any environment such as Windows, Linux, and Mac, using any relational database such as MySQL, and Oracle. Applications can run on various application servers such as JBoss Application Server and Apache Tomcat, can work with any browser such as Mozilla Firefox, and Microsoft Internet Explorer. More over the applications built using Alfresco can be integrated with any portal such as JBoss Portal, and Liferay Portal.
In any enterprise, the amount of content you will manage will keep on increasing. In some organizations such as media, pharmaceutical, and healthcare, the content increases exponentially every year. Hence scalability is a critical issue when evaluating the ECM solution.
Due to modular and light-weight architecture, Alfresco is highly scalable. Alfresco provides horizontal scalability by having each tier in the architecture deployed on multiple servers. Similarly Alfresco can scale vertically by partitioning and load balancing in a multi-server environment.
Open standards protect enterprise investment, promote innovation, and make it easier for IT departments to support the software. By adopting open standards for their ECM requirements, enterprises can lower the risk of incompatibilities with existing technologies. The enterprise application integration becomes easier with open standards.
Alfresco is completely built on the following open standards:
Java 1.7
WebDAV – IETF web-based distributed authoring and versioning
5015.02 – US Department of Defense (DoD) certified for records management
JSR-170 – Java Content Repository (JCR) API
JSR-283 – Next generation of JCR
JSR-168 – Portal integration standard
CMIS – specification supported by all major ECM vendors including IBM, and Microsoft
Apache iBatis (replacing Hibernate from Alfresco 3.4 version onwards)
AIFS (Alfresco Intelligent File System) supporting Windows files sharing (SMB/CIFS), NFS, and FTP
Open Office 3.3
If your enterprise has a global business model, it is very important for you to provide content in multiple languages. Most of the enterprises look beyond their geographic borders for new markets. The majority of the web users speak little or no English. Hence ECM systems should be designed with globalization in mind.
Alfresco out of the box supports major languages including Chinese, Dutch, English, French, German, Italian, Russian, and Spanish.
Protecting unauthorized access to the content is the key requirement for enterprises. This is true for corporate websites, intranets, extranets, front office, and back office applications.
A nice thing about Alfresco is that the permissions can be applied at a space (folder) level or can be set for each individual content item. Out of the box, Alfresco supports relational database-based membership systems and also supports external identity management systems such as LDAP, NTLM, Kerberos, and Active Directory.
Library services are required if you want to manage, leverage, modify, and control the content in an ECM system. Alfresco provides library services such as Check-In/ Check-Out, version control, auditing information, and content streaming.
Using Alfresco, you can define the library services to be executed automatically based on the business rules. For example, every edit to the content can version the content automatically. Or every check out can move the content to a specific location based on the business rules.
Alfresco provides additional intelligence to the content by adding metadata (data about data), business rules, security rules, and collaboration rules dynamically, using aspect-oriented programming. Alfresco also provides features such as content metadata extractors, content transformers, translations, and auto categorization to make the content intelligent.
Business process automation increases productivity, reduces costs, streamlines processes, and shortens operation cycles. Alfresco includes Activiti (http://www.activiti.org/) as a business process management and automation solution. This would help manage document life cycle with security and audit trails capabilities. Alfresco extends the support for JBoss JBPM workflow engine which was the default workflow engine for the earlier versions.
Alfresco provides open-standards based protocols to integrate with external applications. Some of the application integration examples are mentioned in this book in Chapter 9, Integrating External Applications with Alfresco. Alfresco could be used as an embedded repository or as an external content repository. Because it is open source, you can reuse the integration components for your business applications saving time and money.
Alfresco now integrates with applications such as Facebook, ViewOne Pro, and iGoogle, and gadgets such as iPhone. Alfresco integration with Drupal (PHP-based web content management system) is a perfect example of how cooperation between open source projects can yield innovative solutions more rapidly than a proprietary model.
Alfresco integrates with Ephesoft, offers the customers access to a comprehensive production capture solution, including automatic document classification, data extraction, and validation for both Internet-based distributed capture or centralized environments.
Alfresco integrates with an open source J2EE-based leading portal framework called Liferay. Alfresco Liferay bundle is an out of the box solution, which provides an excellent portal-based ECM solution.
Alfresco integrates with external identity management systems such as LDAP and Active Directory and supports centralized security and single sign-on.
Alfresco Enterprise 4.0 is built on the Alfresco Surf platform. This platform enables you to build dynamic, REST-oriented web applications and collaborative websites. The Surf platform is designed to work in a number of different web environments. It includes content oriented components designed around the Yahoo!® User Interface (YUI) Library and Adobe® Flash® for dynamic uploads and previewing of content and other information. The new user interface components make it much simpler for users to develop new collaborative web applications. It is also enabled to work as a Web Part in Microsoft SharePoint Portal.

Alfresco Share delivers out of the box, collaborative content management. Alfresco Share simplifies capturing, sharing, and retrieval of information across virtual teams, boosts productivity, and reduces network bandwidth requirements and e-mail volumes between project team members.
Alfresco 4 releases include many enhancements to Share such as improved user experience and advanced management tools. Share now also supports plug-in extension modules to extend, replace, or remove components within Share without changing the OOTB code.
The Repository Public API provides content and collaboration services for customizing and developing Alfresco applications. Introduced with Labs 3b, it offers services such as site management, site activities, tagging, commenting, thumbnails, blogs, wikis, and forums to support social collaboration. These new REST APIs are based upon ATOM Publishing. The Repository Public API has two forms:
A RESTful API for remotely connecting to the repository as used by Alfresco Share
A JavaScript API for developing extensions to the repository (as used in web scripts, actions, and so on)
The Content Management Interoperability Services (CMIS) specification defines a domain model and a set of API bindings that can be used by applications to work with one or more Enterprise Content Management repositories or systems. The CMIS technical draft specification has been developed jointly by EMC, IBM, Microsoft, Alfresco, Open Text, Oracle, and SAP. The CMIS implementation will benefit by:
Write once, run anywhere application
Integrate multiple repositories
Business process across repositories
Learn one UI for all repositories
Alfresco Version 4.0 includes enhanced CMIS features such as the following:
Consolidated AtomPub and Web Services impl. behind OpenCMIS Server
Access to OpenCMIS Client API within Repository (in-process)
Single-Sign On support with CMIS
.NET OpenCMIS Client API (via Apache Chemistry)
For more information on Alfresco and CMIS, please see cmis.alfresco.com.
Alfresco is now the first ECM to offer Microsoft Office SharePoint Protocol support. Available at a lower cost and with no additional client installation, it is remarkable. It also allows choice for hardware, database, operating system, application server, and portal products.
Social content publishing is a new feature added in Alfresco 4.0 release to allow you to publish content from Alfresco to social platforms. The current out of the box support is for the following social platforms:
Facebook
Flickr
LinkedIn
SlideShare
Twitter
YouTube
Many improvements were made to the search service in Alfresco from 4.0 release onwards. Alfresco provides Solr as an alternative to previous in-transaction, Lucene-based indexing and search. Solr can be deployed and scaled on a separate tier.
Prior to the 4.0 release, Alfresco used JBoss JBPM as the workflow engine. The 4.0 releases now include the full integration of the Activiti engine into the repository. A new installation of 4.0 will also include JBPM, but it will be disabled by default. This is to support backward compatibility.
Alfresco 4.2 releases include mobile usability improvements for the share interface. For example, the editor for content creation, wiki, blogs, and forums is more users friendly. Features such as HTML5 drag-n-drop (in supported HTML5 browsers), and multi-file selection in the standard file upload dialog are supported.
Alfresco Enterprise version comes in various product forms. This is to allow you and your content to move from desktop to cloud to tablet to smartphone. Wherever you are, access your files and share them with those who need them. For more details about these products, visit www.alfresco.com.
Alfresco Enterprise On-Premise helps customers to have customized versions as per the organization needs. Customers can scale the installation as listed based on the demand.
Single server: Alfresco can be installed on a single server including the database, application server, and Alfresco application. Suitable for proof-of-concept projects or for small, departmental deployments.
Horizontal scalability: Alfresco can be installed in a cluster. Additional servers can be added or removed from the cluster to meet user demand. This high-availability style configuration offers a higher level of reliability and resilience, and can be scaled out as you grow.
Vertical scalability: To increase performance, the Alfresco application can be separated into different tiers so the content server, share application, search server, and content transformation server can be run on separate servers, each optimized to the workload.
Alfresco index server: Content indexing can be run on a separate system to remove the indexing load from the Alfresco servers. All of the nodes in the Alfresco cluster can use this central index server, which can be scaled independently.
Alfresco in the cloud is a fully managed SaaS (Software as a Service) offering that helps your organization keep control of its content while providing your users with powerful ways to access their content securely on any device, anywhere.
Alfresco Mobile is a free mobile document management app for iOS and Android smartphones and tablets, which enables you to view all your content stored in your Alfresco On-Premise or Alfresco in the cloud account.
Alfresco Workdesk is a business solution that includes the Alfresco enterprise content platform, offered on a per-user basis. Alfresco Workdesk allows users to focus on just the content that is relevant to them, at just the right time, on the device of their choice, based on their role in the business process.
Alfresco offers enterprise content management (ECM) such as document management, collaboration, records management, enterprise search, and imaging. You can configure and customize Alfresco to address your business requirements. Some of them are listed here for your reference.
Using Alfresco you can implement document management solutions such as enterprise document management, digital asset management, and contracts management.
Alfresco document management features provide organizations with all the services necessary for creating, converting, managing, and sharing electronic documents. Built on industry-standard open source platforms, Alfresco provides version management and search capabilities.
Built-in data management and transformation engine provides you with the ability to transform the data into required formats based on the business rules. Integrated workflow provides you with the full control over the document life cycle, management, and process flow.
Digital asset management provides a single access point for all your rich digital media and its underlying metadata information throughout the extended enterprise. Alfresco centralizes storage and provides easy, efficient, enterprise access to digital assets, and allows them to be quickly repurposed, which streamlines processes and saves money.
Whether it's an employment contract, purchase agreement, maintenance contract, or collaboration agreement with a business partner, completeness, validity, traceability, and unalterability must be guaranteed if a company is to protect its commercial interests. Alfresco's document lifecycle management features ensure that people in various company departments, divisions, and regions can work together to support all processes relating to a contract throughout its lifecycle—from creation through fulfillment and modification to termination.
Key features include:
Flexible metadata management
Full audit control
Transformation of data
Security and version control
Locking, check in/out
Offline briefcase synchronization to access content offline
Taxonomy and categorization of content
Advanced search with combined metadata, location, and multi-category search
Soft deletes and deleted documents recovery support
Scheduled jobs and actions
Management of web assets
Using Alfresco, you can implement records management solutions such as enterprise records management, compliance, imaging, forms management, and business process management.
Alfresco records management features provide a secure, auditable environment for creating, declaring, classifying, retaining, and destroying records. Organizations can ensure compliance by defining and enforcing policies for records use, storage, and disposition, with a legally defensible audit trail.
Records management capabilities are modeled to support the US Department of Defense 5015.2 Records Management standards. Alfresco provides file plan templates for numbering, classification, disposition, and other metadata population of records. Disposition includes the transfer of records and/or the ultimate destruction of the record.
Predefined reports will provide you with information about recent records, records due for cutoff, records retention due for expiry, records due for transfer, and records due for destruction.
The lifecycle determines the disposition of the record including when the records will be cut off or grouped together, how long the records will be held, and what happens to the record after the hold period expires—whether they are transferred to a records holding area or whether they should be destroyed.
By integrating with Scanning and OCR technologies, Alfresco provides end-to-end solution by collecting paper documents and forms, transforming them into accurate, retrievable information, and delivering the content into an organization's business applications. The information then is full-text searchable and goes through various lifecycles based on the organization's defined business process management.
E-mails are considered as records in some organizations. Alfresco enables you to drag-and-drop e-mails from Microsoft Outlook into the file plan space. The system will extract the metadata from the e-mail files and populate information such as who the e-mail is from, who the recipients are, and the subject of the e-mail. E-mail content is stored in a secure and scalable repository and is full-text searchable.
Key features include:
Record plans
Automatic conversion from proprietary office formats to long-term vendor neutral formats such as Open Document Format (ODF) and Portable Document Format (PDF)
Vital records information management
Record cutoff information management
Record holding and retention management
Record transfer process
Record destruction management
Record lifecycle management
Archival policies
Disposition schedules
Restriction of user functions
Audit trails
Using Alfresco you can implement collaboration solutions such as corporate and departmental intranets, knowledge management, and client and project extranets.
Alfresco collaboration features provide the infrastructure, integration points, and tools required for accessing, sharing, and distributing content among users or systems. Built upon industry-standard, open source platforms, Alfresco helps you to quickly define and develop environments for teams (project teams, associations, research, and so on) that will streamline processes, reduce costs, and improve time to market. Users can manage and collaborate on documents, web information, and forms within a single system through a consistent user interface.
A comprehensive security model based on individuals, groups, projects, and team spaces provides you the highest level of control. The solution leverages the existing infrastructure such as LDAP or Active Directory for authentication and authorization.
A web-based rules engine enables business users to define the business and content rules appropriately without the help of programmers and IT. Alfresco supports a graphical tool to define the workflow and business process management for content flow in collaborative environments.
Users can discuss the content using the discussion forums and discussion threads tied to the content. Users can subscribe to content and receive e-mail notifications when content is added or updated. The solution supports both inbound and outbound RSS syndication to share content beyond inside and outside corporate firewalls.
Interfaces such as Common Internet File System (CIFS) and WebDAV allow each team member or departmental system to map the folder on the server as a local network drive. This enables bulk transfer of files between your local system and the central server repository. Users can use their favorite editors to edit the content that is mapped in the local network drive.
Knowledge Management (KM) refers to a range of practices used by organizations to identify, create, represent, and distribute knowledge for reuse, awareness, and learning across the organization.
Key features include:
Team spaces
Full audit control
Message boards
RSS syndication
Ad-hoc security
Version controlled content repository
Full-text search of various content items
User controlled routing
Most of the ECM systems do not consider search as an important part of enterprise content management. Search helps to locate information quickly, generate business reports, and helps to make business decisions. The following features of Alfresco will provide you an enterprise search solution:
Provides single point access to enterprise content repository
Provides full-text search of documents
Helps to index the documents and provide metadata search
Helps you to build and share reports using saved searches
Helps search for users and collaborative groups
Searches archived content
Since the architecture is flexible and extensible, you can build various applications using Alfresco such as:
Enterprise document repository
Intranet
Enterprise knowledge management portal
Scalable content repository
Corporate websites
Marketing communications
On demand publishing
Compliance and records management
Financial applications which involve security, forms handling, and approval process
Research portals for collaboration and sharing of information
Alfresco's website (http://www.alfresco.com) has a list of customer case studies. Going through these case studies will help you understand the type of applications you could develop using Alfresco.
This book is based on Alfresco Enterprise 4.1.2. It is an update on the previous book which was on the Alfresco 3.0 release. The Alfresco system has evolved towards a state-of-the-art, one point solution to the ECM needs.
Alfresco is geared towards an enterprise content platform that you can use in the cloud or behind your firewall. Alfresco is built for the portability of the tablet and the power of the cloud.
There has been so much interest from international organizations, governments, and multi-national corporations that translation seems a natural extension of the Alfresco model.
Alfresco has weaved itself into a number of other products. Products such as Quark, Acrobat.com, CAStor, and Adobe LiveCycle are just a few to mention who have incorporated the ECM into their product in some way.
Alfresco comes with multiple support options. Firstly, it is supported by the company Alfresco, which gives users direct access to Alfresco's engineering team and most recent bug fixes.
At any given point in time, the following three support alternatives exist for Alfresco open source software:
In-house development support: As the source code is open source, you can train your developers in-house to support your application built using Alfresco.
Community support: Alfresco already has a big community world wide. With a growing community, you can always get help through Alfresco community forums, though the quality of support can vary.
Alfresco enterprise network support: Alfresco Inc. provides the highest quality option for production and development support. This support is provided to the company's customers using the Enterprise product. It includes direct access to the engineers who write the Alfresco code, the up-to-date bug fixes, configuration assistance, and a range of other services.
Subsequent chapters of the book contain examples to help you implement your requirements such as collaboration, customization, and document management using Alfresco. The examples are an attempt to solve similar content management problems which are encountered in a typical enterprise.
By providing examples in this book, the idea is to:
Engage you, and keep the material feeling real-world.
Help you apply the features of Alfresco to business decisions. You see in the fictional example that decisions are made for particular reasons, and can contrast those reasons (and thus the decisions) with your own situation.
Give the book an overall theme—even a narrative engine to keep things moving and not feel like technical documentation.
The best place to start looking for more information is Alfresco's corporate website (http://www.alfresco.com) itself. You can find the latest news and events, various training programs offered worldwide, presentations, demonstrations, and hosted trails.
Alfresco is 100 percent open source and all the downloads are available from the SourceForge website at http://sourceforge.net/projects/alfresco/files/.
Alfresco Wiki (http://wiki.alfresco.com) contains documentation such as tutorial, user guide, developer guide, administrator guide, and roadmap.
Alfresco discussion forums (http://forums.alfresco.com) are the best place to share your thoughts, and to get tips and tricks about Alfresco implementation. The discussion forums are available in multiple languages.
If you would like to file a bug or to know more details about the fixes in a specific release, then you must visit the bug tracking system at http://issues.alfresco.com/.
Alfresco is the leading open source alternative for enterprise content management. It couples the innovation of open source with the stability of a true enterprise-class platform. The open source model allows Alfresco to use the best-of-breed open source technologies and contributions from the open source community to get higher quality software produced more quickly at a much lower cost.
Alfresco provides key features for a scalable, robust, and secure content management system to deliver trusted and relevant content to your customers, suppliers, and employees.
Alfresco enterprise content platform can be used in the cloud or behind your firewall. Alfresco is built for the portability of the tablet and the power of the cloud.