Alfresco For Administrators - Sample Chapter
Alfresco For Administrators - Sample Chapter
$ 29.99 US
19.99 UK
"Community
Experience
Distilled"
C o m m u n i t y
Vandana Pal
D i s t i l l e d
E x p e r i e n c e
Vandana Pal
She has extensive experience working with Enterprise Digital Asset Management
and Content Management Systems. She has worked with various deployments of
Alfresco in various domains, such as media, finance, and healthcare, for different
organizations across the world. She has hands-on experience working with
architecture design, performance tuning, security implementation, integration,
and the orchestration of complex workflows in Alfresco.
She has more than 7 years of experience in software engineering. Her journey in this
field began when she started working with different open source technologies and
found them interesting. She holds a bachelors of engineering degree in information
technology from Gujarat University, India.
Vandana has also coauthored Alfresco 4 Enterprise Content Management Implementation.
Preface
This book focuses on the administration part of Alfresco. It also gives you a
high-level understanding of Alfresco and its capabilities from the perspective of
its architecture. This book provides you with details of how to administer and
troubleshoot problems in Alfresco. It also gives you an in-depth insight into
configuration, clustering, backup recovery, and maintenance. You thoroughly
understand Alfresco's repository structure and learn how to install, configure,
search, and administrate Alfresco.
Preface
Chapter 6, Permissions and Security, explores the details of the permissions required in
the Alfresco repository. It provides you with an understanding about the different
types of permissions and roles in Alfresco and how to integrate with different
third-party authentication tools.
Chapter 7, High Availability in Alfresco, explores the different ways in which the
Alfresco system can be made highly available. It covers the different methods of
clustering Alfresco and its backup and recovery process as well as troubleshooting
Alfresco's clustered environment.
Chapter 8, The Basics of the Alfresco Content Store, explains how Alfresco actually
stores content. The content life cycle is discussed in detail in this chapter as well
as the database structure in Alfresco.
Chapter 9, Maintenance and Troubleshooting, covers how to monitor and manage the
Alfresco system in production using JMX and other tools. It also provides details
about different ways to troubleshoot Alfresco. You will also learn about different
audit trails in Alfresco for the purpose of better administration.
Chapter 10, Upgrade, explains how Alfresco can be upgraded from one version to
another. It provides detailed steps in order to understand the process of upgrading.
Understanding Alfresco
Alfresco is one of the leading open source enterprise content management systems
(ECM). For more details about ECM refer to the Wiki; https://en.wikipedia.org/
wiki/Enterprise_content_management. Alfresco allows you to manage content in
a simple and smart way. It provides enterprise solutions based on open standards,
and open source technologies for managing business critical content. As it is a very
stable player in the market and provides enterprise-level features and support,
Alfresco has been named Visionary by Gartner for five years in a row. Gartner is
a leading research company, which provides insight into technology; refer to
http://www.gartner.com/technology/about.jsp for more details about Gartner.
This chapter provides you with an introduction to Alfresco 5.x, its features, and its
benefits. It helps you to understand the main building blocks of Alfresco.
By the end of this chapter, you will have learned about:
An overview of Alfresco
Alfresco architecture
Overview of Alfresco
The Alfresco open source ECM system was founded by John Newton, co-founder of
Documentum, and John Powell, former COO of Business Objects, in 2005. Alfresco
is a very scalable and extensible solution. Alfresco comes in various flavors: Alfresco
Enterprise Edition, Alfresco Community Edition, and Alfresco in Cloud.
[1]
Understanding Alfresco
Enterprise Edition has various unique features, which distinguish it from other
ECM systems.
Scalable
Scalability is a very important aspect for any ECM system. For enterprise organizations
in fields such as media, healthcare, finance, and so on, the amount of content grows
exponentially, so scalability becomes an important parameter. As Alfresco is built
using open source standards and technologies, it provides a very scalable architecture.
Alfresco Enterprise can be deployed on any platform, and supports multiple
databases such as MySQL, Oracle, PostgreSQL, and so on. It also supports multiple
application servers such as Tomcat, JBoss, WebLogic, and so on. Each tier in an
Alfresco application can be deployed on a separate machine, which allows the
vertical scalability of the system. Alfresco supports a clustered environment, which
allows it to scale horizontally.
[2]
Chapter 1
Secured system
Security and content protection is critical for any ECM system. Alfresco has a
very strong authentication and authorization model. It provides an out-of-the-box
database membership system; it can also be integrated with identity management
systems like LDAP and Active Directory (AD), and have centralized security and
single sign-on. Alfresco provides full access control on individual content to ensure
that security and business integrity is maintained. Access control can be set at the
folder level or individual content.
Highly extensible
Because of its open source model, Alfresco can be extended and customized as per
requirements. Organizations can have a trained in-house team to maintain and
customize Alfresco as per their needs.
External integration
Alfresco supports open standard protocols for integration with external systems.
Alfresco can be integrated with any Java-based portal, such as Liferay (https://
www.liferay.com/products/liferay-portal/overview) using the CMIS or
REST protocols.
CMIS is a standard open source protocol to allow a document management
repository to connect with a web application. It defines an abstract layer so the
web interface can connect with any repository. For more details, refer to https://
en.wikipedia.org/wiki/Content_Management_Interoperability_Services.
The REST protocol allows an external application to access the repository using
the HTTP protocol using the same HTTP verbs, such as GET, POST, and so on. For
more details, refer to https://en.wikipedia.org/wiki/Representational_
state_transfer.
[3]
Understanding Alfresco
http://ephesoft.com/products
https://en.wikipedia.org/wiki/Kofax
Collaboration
Nowadays, due to social media, collaboration has become very important for any
organization as part of ECM. Alfresco, as well as content management, also provides
a platform for collaboration between users internally and externally with full security
and control over content. Powerful tools such as blogs, wikis, forums, and so on are
provided within the Alfresco system to provide collaboration within teams.
Each project can have its own space for complete collaboration and the sharing
of content.
Alfresco supports the publishing of content to various social platforms such as
Twitter, Facebook, YouTube, SlideShare, and so on. It also provides Google Doc
integration, which allows users to have real-time collaboration.
[4]
Chapter 1
Cloud-based ECM
Alfresco provides a fully managed SaaS ECM solution, leveraging the power
of a cloud-based environment. Alfresco in Cloud is a ready-to-go Alfresco
implementation which requires no installation and minimal configuration by
customers. It allows full control over, and collaboration on, documents, similar
to what can be achieved by Alfresco deployed on-premises.
Alfresco also supports a hybrid model, where content can be synchronized from
your on-premises Alfresco to the cloud. This allows content to be always in sync and
easily available from any location. An Alfresco on-premises solution can be used for
long-term storage and compliance, and Alfresco in cloud can be used for sharing and
collaboration too.
Search
Finding the correct content within a system is very important for any content
management system. Alfresco provides searching with Apache Solr (http://
lucene.apache.org/solr). It provides full-text indexing of content, and metadata
indexing, which allows users to easily search and locate the content in the repository.
Alfresco also provides advanced search capabilities.
Alfresco also supports searches for archived content, users, and groups in
the system.
Version control
Maintaining all versions of a document is also a critical aspect of an ECM system.
Alfresco provides strong version management for documents. It maintains all the
version changes of a document and its associated metadata. Alfresco also has a
feature that allows you to revert a document to any version.
Auditing
Alfresco provides very strong auditing. Each and every action on content is captured
in an audit trail. This audit information can be easily retrieved and generated as
a report.
[5]
Understanding Alfresco
Alfresco Share
Mobile Application/
Portal
File System
(WebDAV, CIFS,
FTP)
Rest
Rest/CMIS
WebDAV,
CIFS, FTP
Alfresco Service
Solr Server
Alfresco Repository
Database
Content Store
(File System)
Solr Indexes
Alfresco Share
This is the collaboration content management platform in Alfresco. It is built
on the Surf framework. The Surf framework was developed by Alfresco, but in
2009 Alfresco began working with Spring Source and announced the Spring Surf
Extension framework. Later on, both Spring Source and Alfresco were collectively
developed and are available as plugins in Spring MVC 3.x.
[6]
Chapter 1
https://wiki.alfresco.com/wiki/Spring_Surf
http://www.springsurf.org/
Alfresco Share simplifies document capturing and sharing, and the retrieval of data
for teams, resulting in better collaboration. This in turn increases the productivity of
teams and reduces the volume of e-mails.
Alfresco Share also provides advanced administrative tools. It supports modulebased extension, which supports the ability to remove, add, or modify any
component without changing any out-of-the box code.
Alfresco repository
This is the main core of Alfresco. Alfresco repository is a bundle of service
implementations based on the open standards of CMIS and JCR. This service
provides cutting edge content management features such as:
Content storage
Content retrieval
Content modeling
Query interface
Access control
Audit
Versioning
[7]
Understanding Alfresco
Database
The database holds all the content related information, such as metadata, content
association, content binary stream location reference, and folder structure. The
database also stores information related to users, workflow tasks, audits, and so on.
Alfresco supports various database vendors, such as MySQL, PostgreSQL, Oracle, and
so on. Oracle is only supported in Alfresco Enterprise Edition. Database schema and
more information will be covered in Chapter 8, The Basics of the Alfresco Content Store.
Content store
The content store is a term used for the filesystem location where the actual binary
stream of content is stored. In Alfresco, only the reference to the content is stored in
the database. The actual content is stored in a filesystem. This filesystem can be any
normal NAS or SAN mounted drive. This architecture allows Alfresco storage to
grow exponentially and makes Alfresco scalable.
Solr indexes
Searching is a very important aspect of any ECM system. Alfresco supports searches
using Apache Solr. All content, metadata, and permissions associated with content in
Alfresco are indexed in Solr, which allows fast searches and access to content stored
in a repository.
Solr can be bundled with Alfresco on the same machine, or it can be installed as a
separate tier. This design allows the horizontal scalability of the search tier. Alfresco
and Solr communicate with each other asynchronously.
[8]
Chapter 1
[9]
Understanding Alfresco
[ 10 ]
Chapter 1
Summary
Alfresco is one of the leading open source ECM systems. The key features of Alfresco
are security, stability, and a scalable architecture. Due to its open source model,
Alfresco can use the best open source technologies on the market and build a strong
system at a low cost. Alfresco provides a very cost effective solution.
Alfresco architecture is designed based on JCR open standards. It is lightweight,
modular, and scalable.
Alfresco can be used in the cloud, on-premises, or as a hybrid. The next chapter will
cover details about the installation of an Alfresco system on various platforms.
[ 11 ]
www.PacktPub.com
Stay Connected: