Alfresco 4 Enterprise Content Management Implementation
By Munwar Shariff, Snehal Shah, Rajesh R Avatani and
3/5
()
About this ebook
Alfresco 4 has improved a lot with its new and advanced concepts for content management. Users have been waiting for a book that covers these concepts along with security, dashboards, and the configuration features of Alfresco 4.
Alfresco 4 Enterprise Content Management Implementation is a well-crafted and easy-to-use book, and it is a complete guide to implementing enterprise content management for your business needs using Alfresco 4. It covers the enhanced document management, integration with standard productivity tools, and various integration options with proven external applications.
This book will take you through a number of clear, practical sections that will help you to make a proper decision for your business needs using standard practices with Alfresco's Document Management and various third-party integrations
You will learn how to install, administer, and manage your entire application. The concepts of mapping your business documents by extending content models and achieving your complex business process using Workflow models and business rules will be discussed in this book. Integration with various third party tools like MS Office, Mobile Application, Outlook, Liferay, Ephesoft, and Kofax will also be covered. You will learn to create your own custom workflow using Activiti BPMN 2.0 Process Designer and also maintain and administrate the entire application.
This book explains everything you need to know to manage your documents using standard processes and mechanisms.
ApproachThis book distils the hands-on approach of the training courses into a concise, practical book. The emphasis is on getting up and running fast and discovering the scope and power of Alfresco 4 incrementally through practical examples. Though this book is not a developer guide, various examples in the book will help developers to extend Alfresco functionality and to integrate Alfresco with external systems.
Who this book is forThis book is designed for experienced users, business owners, or system administrators who want to install and use Alfresco in their teams or businesses. Because Alfresco is free, many teams can install and experiment with its ECM features without any upfront cost, often without management approval. You need to have a degree of technical confidence, but you do not require specialist system admin or developer skills to get a basic system up and running.
Though this book is not a developer guide, various examples in the book will help you to extend Alfresco functionality and to integrate Alfresco with external systems.
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:.PloneLive.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.
Related to Alfresco 4 Enterprise Content Management Implementation
Related ebooks
Expert PHP 5 Tools Rating: 4 out of 5 stars4/5Odoo 10 Development Essentials Rating: 0 out of 5 stars0 ratingsLearning Dynamics NAV Patterns Rating: 0 out of 5 stars0 ratingsCMS Made Simple 1.6 Beginner's Guide Rating: 5 out of 5 stars5/5Building Websites with VB.NET and DotNetNuke 4 Rating: 1 out of 5 stars1/5PHP 5 CMS Framework Development - 2nd Edition Rating: 0 out of 5 stars0 ratingsEnterprise Content Management system Third Edition Rating: 0 out of 5 stars0 ratingsWeb Content Management with Documentum Rating: 0 out of 5 stars0 ratingsMulti-Tier Application Programming with PHP: Practical Guide for Architects and Programmers Rating: 0 out of 5 stars0 ratingsStrategic Business Development for Information Centres and Libraries Rating: 0 out of 5 stars0 ratingsGIT: Selfie Rating: 0 out of 5 stars0 ratingsJump Start PHP Environment: Master the World's Most Popular Language Rating: 0 out of 5 stars0 ratingsMobile Device Management A Complete Guide - 2021 Edition Rating: 0 out of 5 stars0 ratingsNatural Language Processing with Java and LingPipe Cookbook Rating: 0 out of 5 stars0 ratingsSoftware Design Pattern A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsMicrosoft SQL Server 2008 R2 Master Data Services Rating: 0 out of 5 stars0 ratingsScala for Machine Learning Rating: 0 out of 5 stars0 ratingsRequirements Modelling and Specification for Service Oriented Architecture Rating: 0 out of 5 stars0 ratingsLearning Highcharts Rating: 0 out of 5 stars0 ratingsEnd of Abundance in Tech: How IT Leaders Can Find Efficiencies to Drive Business Value Rating: 0 out of 5 stars0 ratingsBig Data Analytics for Cyber-Physical Systems: Machine Learning for the Internet of Things Rating: 0 out of 5 stars0 ratingsjQuery UI 1.7: The User Interface Library for jQuery Rating: 0 out of 5 stars0 ratingsData-oriented Development with AngularJS Rating: 0 out of 5 stars0 ratingsMicrosoft Dynamics CRM Online A Complete Guide - 2021 Edition Rating: 0 out of 5 stars0 ratingsBusiness Intelligence Cookbook: A Project Lifecycle Approach Using Oracle Technology Rating: 0 out of 5 stars0 ratingsUnleashing the Power of CSS Rating: 0 out of 5 stars0 ratingsRapid Application Development With CakePHP Rating: 0 out of 5 stars0 ratingsDigital Image Processing: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsAn Emergent Theory of Digital Library Metadata: Enrich then Filter Rating: 0 out of 5 stars0 ratings
Internet & Web For You
More Porn - Faster!: 50 Tips & Tools for Faster and More Efficient Porn Browsing Rating: 3 out of 5 stars3/5Beginner's Guide To Starting An Etsy Print-On-Demand Shop Rating: 0 out of 5 stars0 ratingsGrokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5The $1,000,000 Web Designer Guide: A Practical Guide for Wealth and Freedom as an Online Freelancer Rating: 5 out of 5 stars5/5Wireless Hacking 101 Rating: 4 out of 5 stars4/5Coding For Dummies Rating: 5 out of 5 stars5/5Introduction to Internet Scams and Fraud: Credit Card Theft, Work-At-Home Scams and Lottery Scams Rating: 4 out of 5 stars4/5The Logo Brainstorm Book: A Comprehensive Guide for Exploring Design Directions Rating: 4 out of 5 stars4/5Hacking : The Ultimate Comprehensive Step-By-Step Guide to the Basics of Ethical Hacking Rating: 5 out of 5 stars5/5Cybersecurity For Dummies Rating: 4 out of 5 stars4/5Tor and the Dark Art of Anonymity Rating: 5 out of 5 stars5/5Coding All-in-One For Dummies Rating: 4 out of 5 stars4/5The Digital Marketing Handbook: A Step-By-Step Guide to Creating Websites That Sell Rating: 5 out of 5 stars5/5SEO For Dummies Rating: 4 out of 5 stars4/5How To Make Money Blogging: How I Replaced My Day-Job With My Blog and How You Can Start A Blog Today Rating: 4 out of 5 stars4/5Six Figure Blogging Blueprint Rating: 5 out of 5 stars5/5200+ Ways to Protect Your Privacy: Simple Ways to Prevent Hacks and Protect Your Privacy--On and Offline Rating: 0 out of 5 stars0 ratingsThe Beginner's Affiliate Marketing Blueprint Rating: 4 out of 5 stars4/5Social Engineering: The Science of Human Hacking Rating: 3 out of 5 stars3/5The Internet Is Not What You Think It Is: A History, a Philosophy, a Warning Rating: 4 out of 5 stars4/5Podcasting For Dummies Rating: 4 out of 5 stars4/5How to Destroy Surveillance Capitalism Rating: 4 out of 5 stars4/5The Cyber Attack Survival Manual: Tools for Surviving Everything from Identity Theft to the Digital Apocalypse Rating: 0 out of 5 stars0 ratingsHow To Start A Podcast Rating: 4 out of 5 stars4/5
Reviews for Alfresco 4 Enterprise Content Management Implementation
2 ratings0 reviews
Book preview
Alfresco 4 Enterprise Content Management Implementation - Munwar Shariff
Table of Contents
Alfresco 4 Enterprise Content Management Implementation
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Introduction to Alfresco
Overview of Alfresco
Leveraging the benefits of open source
State-of-the-art content repository
Scalable architecture
Open standards-based underlying components
Globalization support
Security and access control
Essential library services
Business process automation
Enterprise integrations
Alfresco Enterprise 4 – an overview
Alfresco Share
Alfresco Repository Public API
Alfresco CMIS implementation
Microsoft SharePoint Protocol support
Social content publishing
Solr search
Activiti workflow for Business Process Management (BPM)
iPad and Android usability improvements
Alfresco products
Alfresco Enterprise On-Premise
Alfresco in the cloud
Alfresco Mobile
Alfresco Workdesk
How you can benefit from Alfresco
Using Alfresco for document management
Using Alfresco for records management
Using Alfresco for collaboration management
Using Alfresco for enterprise content search
Applications of Alfresco
How does the future look with Alfresco?
Better support options
Free upgrades
Implementing the example solution using Alfresco
Where do you get more information?
Summary
2. Installing Alfresco
Installing Alfresco
Out of the box installation architecture
Client applications layer
Repository services layer
Data storage layer
Components of Alfresco applications
How can you access the application
Which installation option is suitable for you
Enterprise and Community editions
Operating systems – Windows, Linux, UNIX, and MacOS
Databases – MySQL, Oracle, MS SQL Server, and PostgreSQL
Application servers – Tomcat and JBoss
Portals (optional) – JBoss Portal and Liferay
Choosing the suitable software for your installation
Installing on Microsoft Windows
Full installation
Installing the Alfresco bundle on Tomcat
Installing Java SE Developer Kit
Installing Alfresco bundled on Tomcat
Installation of other Alfresco components
Installing SharePoint protocol support
Installing the Alfresco license file
Installing and configuring the MySQL database
Installing OpenOffice
Installing Flash Player
Installing SWFTools
Installation folder structure
Starting and stopping Alfresco as a console application
Configuring Alfresco as a Windows service
Installing TinyMCE language packs
Installing on Linux
Installing extensions with the AMP installation script
Using the Module Management Tool with a script
Using the Module Management Tool from the command prompt
Summary
3. Getting Started with Alfresco
Introduction to Alfresco Explorer
Logging in to Alfresco as an administrator
Screen layout
Toolbar
Navigator
Navigator tree view
Shelf
OpenSearch
Categories logical view
Breadcrumbs
Header
Detail
Administration Console
Users and groups management
Category management
Data management
System information
Getting started with content creation
Creating Space
Creating content
Creating a link to content
My Alfresco dashboards
Choosing My Alfresco Dashboard as start location
Configuring a personal dashboard using wizard
Step one – selecting layout
Step two – selecting components
Starting with basic configuration
Extending Alfresco configuration
Alfresco ConfigRoot folder
Alfresco extension folder
Configuration approach
Packaging and deploying Java extensions
Installing the enterprise license file
Changing the default administrator password
Configuring the content store
Configuring logfiles
Configuring default logos
Customizing the look and feel using CSS
Configuring multilanguage support
Configuring subsystems
Extending any subsystem
Configuring the audit subsystem
Enable audit
Configure Audit Filters
View audit trail
Configuring the email subsystem
Outbound_SMTP email subsystem
Inbound_SMTP email subsystem
Configuring IMAP
Configuring the FileServers subsystem
Configuring CIFS
Configuring File System Transfer Receiver
Setting up a multi-tenant environment
Enabling multi-tenancy
High availability
Creating a blueprint for your application
Enterprise intranet as a theme
Features you are going to implement
Summary
4. Implementing Membership and Security
Alfresco membership and security model
Users and groups
Permissions and roles
Authentication
How is security imposed in Alfresco?
Managing system users
Creating new users
Searching for existing users in Alfresco Explorer
Modifying user details
Deleting a user
Individual user access
New user login and my homepage
Updating the personal details and password
Managing user groups
Creating groups and subgroups
Adding users to a group
Removing users from a group
Extending security permissions and roles
Default permissions
Default roles
Creating a custom role
Securing your spaces
User roles on a space
Inviting users to your space
Defining and securing your spaces
Securing your content
User roles for content
Inviting users to your content
Choosing a right security model for you
Using the Alfresco out-of-the-box membership system
Authentication Subsystem
Authentication chain
Configuring LDAP for Centralized Identity Management
LDAP configuration with Active Directory
LDAP synchronization
Configuring NTLM for single sign-on
SSO with Active Directory
Migrate existing users to Alfresco
Understanding of user and group structure in Alfresco
Using command-line scripts to bulk upload users
Bootstrapping the Alfresco repository with predefined user data
Summary
5. Implementing Document Management
Managing spaces
Space is a smart folder
Importance of space hierarchy
Editing a space
Editing space properties
Deleting space and its contents
Moving or copying space by using the clipboard
Creating a shortcut to a space for quick access
Choosing a default view for your space
Sample space structure for a marketing project
Managing content
Creating content
Creating text documents – HTML, text, and XML
Uploading binary files – Word, PDF, Flash, Image, and Media
Editing content
Online editing of HTML, text, and XML
Offline editing of files
Uploading updated content
Content actions
Deleting content
Moving or copying content using the clipboard
Creating a shortcut to the content for quick access
Managing content properties
What is Content Metadata?
Metadata extractors
Editing metadata
Adding additional properties
Library services
Versioning
Auto Versioning
Check In and Check Out
Checking out documents
Checking in the working copy
Undo Check Out to unlock a document
Categorizing content
Managing categories
Adding categories to content
Searching content by category
Managing multilingual content
Versions of multilingual content
Deleting multilingual content
Using network drives to manage content
CIFS
Mapping the drive
FTP
WebDAV
Recovering deleted content
Data Dictionary and space templates
The Data Dictionary space
Space templates for re-usable space structure
Creating new space template for re-use
Using an existing space template to create a new space
Discussions on spaces and documents
Discussion forums for collaboration
Forum space
Creating discussion forums in the forum space
Creating topics in the forum
Replying to topics
Departmental forums and security
Defining forums for groups within a department
Inter-department collaboration using spaces
Managing space users
Space collaboration using e-mails
Starting a discussion on a specific space
Content collaboration
Owner invites individuals to collaborate on content
RSS syndication
Using RSS feeds
RSS Templates
Migrating existing content into Alfresco
Drag-and-drop content to the network drive
Using web services to migrate content
Bulk import tools
Summary
6. Implementing Business Rules
Using business rules on spaces
Organizing documents automatically
Running rules in the background
Dynamically adding properties to a document
Automatic versioning of documents
Sending notifications to specific people
Chaining all of the business rules
Built-in business rules
How these business rules work?
How the conditions are checked?
What actions are executed?
When are these rules triggered?
Applying actions to individual content
Removing an aspect from a content
Handling content transformations
Transforming a Word document to PDF
Resizing and transforming images
OpenDocument Format
Converting Microsoft Office documents to ODF
Built-In transformations
Executing JavaScript as business rules
Using built-in JavaScript as actions
Extending business rules with custom JavaScript
Setting up the Corporate Forms Space
Creating custom JavaScript
Executing custom JavaScript as an action
JavaScript API
Scheduled actions
Example to archive expired content
XML configuration file for scheduled actions
The cron expression
Summary
7. Extending Alfresco Content Model
Custom configuration
Configuration files for default content model
Configuration files for Custom Content Model
Custom model context file
Custom model file
Custom web client configuration file
Hierarchy of configuration files
Custom aspect
When do you need a custom aspect?
Steps to add a custom aspect
Defining a custom aspect
Extend content model with custom aspect
Localizing the model using message resources
Configuring a web client for custom aspect
Using a custom aspect as a business rule
Constraints
Constraint types
REGEX
LIST
MINMAX
LENGTH
Applying a constraint
Advanced property sheet configuration
Display labels
Conditional display of properties
Converters
Component generators
Custom content type
When do you need a custom content type?
Steps to add a custom content type
Defining a custom content type
Extending content model with a custom content type
Configuring a web client for custom content type
Adding a custom content type
Creating Press Release as HTML Content
Creating business rules targeting custom content type
Custom associations
When do you need an association?
Defining custom association
Using custom association
Presentation template for custom content type
Association example
Dynamic models
Creating a dynamic custom model
Deploying a custom model
Activating and inactivating a custom model
Updating a custom model
Dynamic web client
Deploying web client customizations
Reloading web client customizations
Dynamic models in a Multi-tenancy environment
Summary
8. Implementing Workflow
Introduction to the Alfresco workflow process
Simple Workflow
Out-of-the-box features
Defining and using Simple Workflow
Identifying spaces and security
Defining the workflow process
Adding a simple workflow to items
Sending a notification to the manager for approval
Testing the simple workflow
E-mail notification templates
Advanced workflows using Activiti
Out of the box features
Creating custom advanced workflows
Process definition
Activiti BPMN 2.0 Process Designer
My first Activiti workflow sample
Activiti workflow basics
Events
Tasks
Gateways
Variables
Node Objects
User Assignment
Pooled assignment
Multi-instance tasks
Listeners
Form key
Creating and deploying your custom Activiti workflow
Step 1 – creating and deploying the process definition
Defining the workflow's process
Setting properties
Adding the decision logic
Deployment
Step 2 – creating and deploying the task model
Dynamically deploying the task models
Step 3 – creating and deploying the workflow resource bundles
Dynamically deploy the resource bundles
Step 4 – creating and deploying the Alfresco Explorer Task dialogs
Dynamic Alfresco Explorer
Step 5 – testing the workflow
Summary
9. Integrating External Applications with Alfresco
Alfresco content platform
Embeddable Enterprise content management system
Integrated enterprise content management system
Various protocols to integrate
Using Web service as an integration solution
Using FTP, WebDAV, and CIFS protocols for integration
RESTful web services
Web Scripts
Understanding Web Scripts
Implementing Web Scripts
Hello World example
Sample out-of-the-box portlet Web Scripts
Myspaces portlet
Document list portlet Web Script
Web Script to list latest documents
Daily dose integration Web Script detail
Integrating Web Script with an external Java application
Web Script to integrate document search
Document search Web Script detail
Creating Web Scripts
Storing Web Scripts
Register Web Scripts
Listing Web Scripts for external access
Calling Web Scripts from an external application
Various application integration examples
Various available options
Using web service
Using the CMIS proposed standard
Other REST APIs
Using your own API
Integrating with Drupal
Integrating with Adobe Flex
E-mail integration – MS Outlook, Lotus Notes, Novell, and Thunderbird
Integrating with iPhone
Alfresco Mobile application
Integrating with FFMPEG video transcoder
Integrating with ViewOnePro image viewer
Integrating with Facebook social network application
Creating a new Facebook application
Registering a Facebook application with Alfresco
Managing Alfresco Content from within Microsoft Office
Creating a document workspace
Adding a document to document workspace
Check-in and Check-out document
Check-out document
Check-in document
View version history
CMIS
Scope of CMIS
Alfresco CMIS implementation
Liferay integration using CMIS
Summary
10. Alfresco Administration Operations Using Alfresco Share
Alfresco Share
Managing Alfresco using the Admin Console in Alfresco Share
Managing users
Creating user accounts
Editing user accounts
Deleting user accounts
Managing groups
Creating groups
Top-level group
Subgroups
Edit/delete groups
Managing group memberships
Managing categories
Managing social content publishing
Creating channels
Setting channel permissions
Authorizing channels
Deleting channels
Managing fileservers
Managing Activities Feed e-mails
Managing Alfresco License
Managing Replication Jobs
Creating replication jobs
Editing replication jobs
Deleting replication jobs
Manually running a replication job
Cancelling a running replication job
Managing Search
Search services
The Lucene search service
The Solr search service
Managing deleted files
Managing workflows
Viewing the workflow engine properties
Activiti engine properties
jBPM engine properties
Managing IMAP emails
Google Docs integration
Summary
11. Customizing the User Interface
Configuring Alfresco Explorer
Configuring views
Configuring space views
Applying a Custom View on a space
Configuring forum topics sort direction
Adding a custom icon to a space
Configuring HTML links to appear in Alfresco Explorer
User-configurable dashboards
Writing custom dashlets
Creating a custom dashlet script
Creating a custom dashlet JSP
Configuring custom dashlet JSP in Alfresco Explorer
Restarting Alfresco
Using the custom dashlet in the My Alfresco Dashboard
Using webscripts as dashlets
Creating a custom dashlet JSP
Configuring the custom dashlet JSP
Configuring the MySpaces dashlet
Custom dashlet
FreeMarker dashlet from the repository
Presentation templates
The FreeMarker template engine within Alfresco
The Alfresco objects available to FreeMarker
FreeMarker template-node model API
FreeMarker directives
Custom template to preview web pages
Custom template for XML content
Custom templates for custom space view
Customizing JSP Client
Various user interface options
Summary
12. Search in Alfresco
Overview
Search using Alfresco Explorer
Simple search
Search filenames only
Advanced search
Search by content location
Search by content category
Search by content properties
Extending the search form
Configuring the web client user interface
Searching custom content and properties
Saving search as a report
Defining complex search criteria
Saving search criteria as a public or private report
Re-using a saved search
OpenSearch
Alfresco's open search engines
Keyword search description
Sample keyword search in HTML
Sample keyword search in RSS
Configuring the Alfresco search engine
The theory behind the search engine
Limiting the search results
Indexing properties
Controlling indexing of a node
Configuring Lucene in Alfresco
Using the Solr search engine with Alfresco
Installing Solr on an independent server
Configuring Solr in Alfresco
The Solr admin console
Rebuilding Solr indexes
Summary
13. Implementing Imaging and Forms Processing
Introduction
Electronic imaging and the paperless office
Forms processing
Alfresco for imaging and forms processing
Example of an imaging solution with workflow
Setting up space and security
Business rule to extract important metadata
Connecting the scanner to the network folder
Uploading scanned documents into the repository in bulk
Scanning solutions with Alfresco
Integrating with Ephesoft
Installing Ephesoft
Creating a custom type in Alfresco
Creating a custom document type in Ephesoft
Configuring the CMIS plugin in Ephesoft
Processing batch in Ephesoft and store in Alfresco
Summary
14. Administering and Maintaining the System
Exporting and importing content
Alfresco Content Package (ACP)
Exporting and importing space content
Export of a department space using Alfresco Explorer
Importing a department space using Alfresco Explorer
Using business rules to import data
Using command-line tools
The export tool
The import tool
The bulk import tool
Data backup
List of items to back up
The content stored in filesystem
The metadata stored in the relational database
Customization files
Logfiles
Backup frequency
Backups based on the Alfresco deployment
Alfresco deployed as a repository application server
Alfresco deployed as Clustered Repository Server
Alfresco deployed as hot backup
Upgrading to newer versions of Alfresco
Upgrading to a minor release
Upgrading to a major release
General maintenance tips
Regular maintenance of deleted items
Examining logfiles
Resetting the administrator password
Resetting the complete repository data
Migrating servers
The Java Management Extension (JMX) interface
Summary
Index
Alfresco 4 Enterprise Content Management Implementation
Alfresco 4 Enterprise Content Management Implementation
Copyright © 2013 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: January 2007
Second edition: June 2009
Third edition: July 2013
Production Reference: 1030713
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78216-002-1
www.packtpub.com
Cover Image by Maria Cristina Caggiani (<mariacristinacaggiani@virgilio.it>)
Credits
Authors
Munwar Shariff
Snehal Shah
Rajesh R Avatani
Jayesh Prajapati
Vandana Pal
Vinita Choudhary
Amita Bhandari
Pallika Majmudar
Reviewers
Piergiorgio Lucidi
Hetal Patel
Acquisition Editor
Kartikey Pandey
Lead Technical Editor
Ankita Shashi
Technical Editors
Madhuri Das
Veronica Fernandes
Pragati Singh
Dominic Pereira
Project Coordinator
Hardik Patel
Proofreaders
Mario Cecere
Amy Guest
Indexer
Rekha Nair
Graphics
Abhinash Sahu
Production Coordinator
Arvindkumar Gupta
Cover Work
Arvindkumar Gupta
About the Authors
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.
I take this opportunity to thank Doug Dennerline (CEO of Alfresco) and Paul Anthony (CEO of CIGNEX Datamatics) for maintaining the partnership for the past 8 years. Our consulting team at CIGNEX Datamatics presented us with the various flavors of Alfresco implementations that we would not have possibly imagined. We used those throughout the book and we are thankful to them. Special thanks to our marketing team - Nirav Shah and Madhuram Yadav for the motivation and support.
Snehal Shah has extensive experience in implementing Enterprise Web Applications using J2EE technologies. At CIGNEX Datamatics, he has rolled out numerous Alfresco deployments worldwide in the areas of Document, Web Content Management, and Share. He has also worked on applications based on Liferay and Moodle products. Prior to CIGNEX, he has worked on various J2EE-based solutions using cutting-edge technologies.
He has worked with clients in the education, legal, and marketing domain across the world. He has worked on defining the architecture for various projects that involve multiple product integrations. In his previous organizations, he was involved in deciding technology paths of the organization and involved in various internal trainings in the technical part.
He holds a Bachelor in Computer Engineering from Deemed University, DDIT, India. He has also worked as a technical reviewer for the books titled Alfresco 3 Cookbook and Alfresco Share.
I would like to thank my parents for allowing me to realize my own potential. Many thanks to my lovely wife Payal, who always encouraged and supported me to achieve this goal. My main source of motivation came from my little niece Mahi, who taught me to keep on trying for the goal we have set for ourselves despite many failures, which encouraged me to take up this challenge and fulfill it.
Rajesh R Avatani leads the Alfresco Practice at CIGNEX Datamatics. He has earned his Masters in Computer Application from Basaveshwar Engineering College, Bagalkot, India
He is well versed with all the phases of the Software Development Lifecycle and has strong hands-on experience in leading and implementing Java, J2EE, Object Oriented Architecture based projects, and Alfresco-based ECM Solutions. He has around 5 years of experience in Alfresco. He has mainly worked on Alfresco integration projects as a Technical Architect and Project Manager, in other terms, as a Techno Manager.
He has worked on projects where Alfresco was integrated with Liferay, Drupal, and other web applications. He has also implemented the Contract Lifecycle Management System developed on Alfresco. He has successfully implemented Alfresco-based ECM solutions for various industries into healthcare, finance, insurance, banking, education, and so on.
I would like to thank Munwar Shariff for giving me the opportunity to write this book.
Jayesh Prajapati is a Senior Consultant at CIGNEX Datamatics. He has extensive experience in implementing Enterprise Web Applications using J2EE technologies. For the past six years, at CIGNEX Datamatics, he has rolled out numerous Alfresco deployments worldwide in the areas of Document and Web Content Management. He has worked on Performance-tuning projects where Alfresco was deployed in clustered and load balanced environments. He has also implemented Integrated Content Management Portal (ICMP) where Alfresco WCM is used as the central repository and Liferay as Portal. He has also implemented Alfresco WCM to serve Flex-based portals. He has worked with clients in the travel and hospitality, healthcare, academic, and high-tech domains. He has been involved in providing training on Alfresco Document Management.
Jayesh holds an MS in Computer Applications and Information technologies from the North Gujarat University, India
I would like to thank Mr. Munwar Shariff, Chief Technology Officer, and Mr. Manish Sheladia, Co-founder and Global Head – Strategic Accounts, at CIGNEX Datamatics for their encouragement and continuous support. I would also thank my consulting team, especially Faizan Shaikh and Yogesh Prajapati, at CIGNEX Datamatics who helped me implement the various examples found in this book.
I would also like to take this opportunity to thank my wife Hetal Prajapati, my families and friends. Without their support, this would not have been possible.
Vandana Pal is a Senior Consultant at CIGNEX Datamatics. She has more than 4 years of experience in the IT industry. She has an extensive experience in implementing Enterprise Content Management (ECM), Web Content Management, and System Integration. Vandana holds a Bachelor of Engineering degree in Information Technology from the Gujarat University.
She started her career with open source products such as Alfresco and Liferay. She has hands-on experience in implementing Alfresco-based solutions for various domains such as media, healthcare, and finance. She has extensively explored and implemented Complex workflow, UI customization, web scripts, and performance tuning in Alfresco. She has provided in-house training for Alfresco. She also has an experience of teaching Engineering students for a few months.
I would like to thank Munwar Shariff, Chief Technology Officer, and Manish Sheladia at CIGNEX Datamatics for their encouragement and continuous support. I am thankful to the consulting team at CIGNEX Datamatics who helped me with real-life examples implemented with Alfresco. I would also like to express my gratitude to my family and friends for all their support throughout.
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.
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.
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.
About the Reviewers
Piergiorgio Lucidi is an open source ECM Specialist and a Certified Alfresco Trainer at Sourcesense. Sourcesense is an European open source systems integrator, providing consultancy, support, and services around key open source technologies.
He works as a mentor, technical leader, and software engineer, and he has over 9 years of experience in the areas of Enterprise Content Management (ECM) and system integrations. He is an expert in integrating ECM solutions in web and portal applications. He regularly contributes to the Alfresco Community as an Alfresco Wiki Gardener, and during the Alfresco DevCon 2012 in Berlin he was named as an Alfresco Community Star.
He contributes in the Apache Software Foundation as a PMC Member and Committer of Apache ManifoldCF. He is also the project leader of the CMIS, Alfresco, and ElasticSearch connectors. He is a project leader and committer of the JBoss Community and contributes to some of the projects of the JBoss Portal platform.
He is a speaker at conferences dedicated to Java, Spring Framework, open source products and technologies related to the ECM and WCM world.
He is an author, technical reviewer, and affiliate partner at Packt Publishing, where he wrote the following technical books:
Alfresco 3 Web Services
GateIn Cookbook
As a technical reviewer, he also contributed on these books:
Alfresco 3 Cookbook
Alfresco Share
As an affiliate partner, he also writes and publishes book reviews on his website Open4Dev (http://www.open4dev.com/).
I would like to thank Packt Publishing for giving me another great opportunity to contribute in a renovation project based on Alfresco.
Hetal Patel is a Senior Consultant at CIGNEX Datamatics, and has extensive experience in implementing Enterprise Web Applications using J2EE technologies.
He rolled out numerous Alfresco and Liferay deployments worldwide in the ECM and Portal domain.
He is also a certified Alfresco corporate trainer, certified Alfresco Engineer, and provides Alfresco Developer and Administrators training worldwide.
www.PacktPub.com
Support files, eBooks, discount offers and more
You might want to visit www.PacktPub.com for support files and downloads related to your book.
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.
http://PacktLib.PacktPub.com
Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can access, read and search across Packt's entire library of books.
Why Subscribe?
Fully searchable across every book published by Packt
Copy and paste, print and bookmark content
On demand and accessible via web browser
Free Access for Packt account holders
If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view nine entirely free books. Simply use your login credentials for immediate access.
Preface
For the past 13 years at CIGNEX Datamatics, our focus has been on proving value to our customers using open source alternatives to the commercial CMS products. We talk to customers who have done multi-million dollar implementations of proprietary software, and faced all kinds of challenges, including vendor lock-in, rigid code base, and expensive upgrades.
Alfresco 4 offers a true Enterprise Content Management (ECM) system by providing an open source alternative to Microsoft SharePoint, Documentum, and FileNet. Everyday, over seven million business users in 75 countries rely on Alfresco to manage four billion documents, files, and processes—behind the firewall, in the cloud, and even on their mobile devices (as per the information listed on Alfresco's website, www.alfresco.com). It is the most popular Java-based CMS with over 25,000 active forum users and with more than 300 application extensions in forge. And most importantly, it is created using completely open standards. This excited us a lot, and we started implementing Alfresco since 2006. We have trained many users, administrators, and developers in Alfresco. This book distils the hands-on approach of our training courses into a concise, practical book.
This book focuses on business needs rather than technical syntaxes. We start by showing you how to do something—a step-by-step example. We explain how that process works. Then, we explain what other options are available, and how they fit into the overall picture. We hope this helps you generalize
from such examples. We hope that you take advantage of this book by setting up a flexible enterprise content management system for your company and customers.
Your feedback is very valuable to us. You can contribute by reporting any errors you find in the book, making suggestions for any new content that you'd like to see in future updates, commenting, and blogging about it.
What this book covers
This book will take you through the complete cycle of implementing, customizing, and administering your Enterprise Content Management installation. The topics that this book covers are as follows:
Chapter 1, Introduction to Alfresco, includes an overview of the architecture and the key features of this software.
Chapter 2, Installing Alfresco, provides tips to choose the right installation for you, and also throws light on installing the software and explains how to start using it.
Chapter 3, Getting Started with Alfresco, gives basic information about the Alfresco Explorer and also provides you with various ways of configuring Alfresco as per your business needs.
Chapter 4, Implementing Membership and Security, describes working with users, and setting up security, including LDAP and Active Directory integration.
Chapter 5, Implementing Document Management, describes how to use Alfresco as a smart document repository, providing automatic version tracking and control, and accessing the repository from the Web, shared network folders, or FTP.
Chapter 6, Implementing Business Rules, teaches you how to automate document management tasks with business rules and various content transformations.
Chapter 7, Extending Alfresco Content Model, explains how to design custom content types.
Chapter 8, Implementing Workflow, teaches you how to automate your business process by using the advanced workflow concepts of Alfresco.
Chapter 9, Integrating External Applications with Alfresco, describes how you can integrate Alfresco with other external applications, such as Liferay Portal, iPhone, Facebook, iGoogle, Microsoft Outlook, Adobe Flex, and the Ffmpeg video transcoder.
Chapter 10, Alfresco Administration Operations Using Alfresco Share, explains how you can administer Alfresco using the Alfresco Share user interface.
Chapter 11, Customizing the User Interface, explains how to customize the user interface and create your own dashboard layouts, presenting content in custom ways that are relevant to your business.
Chapter 12, Search in Alfresco, explains how to make content easy to find using search, content categorization, and metadata. This chapter also includes a detailed description of Alfresco's Open Search features.
Chapter 13, Implementing Imaging and Forms Processing, describes how to collect paper documents and forms, transform them into accurate, retrievable information, and deliver the content into an organization's business application.
Chapter 14, Administering and Maintaining the System, explains effective administration and maintenance of the system for efficient performance and high availability.
What you need for this book
The default installation of Alfresco software requires installing the Windows enterprise version, Alfresco-enterprise-
At the time of writing this book, the latest version was Alfresco Enterprise 4.1.2 and the Alfresco-enterprise-4.1.2-installer-win-x64.exe installer file is approximately 470 MB in size.
This installer will install the following:
Java Development Kit (JDK) (if no JDK is installed on your machine)
Apache Tomcat 6.0.32
Portable Open Office 3.2
The Alfresco Explorer web application, packaged as a Web Archive (WAR)
The Alfresco Share web application, packaged as a Web Archive (WAR)
SharePoint Protocol support
To install and run Alfresco, you need at least 500 MB of disk space and at least 512 MB RAM on the desktop or server.
Who this book is for
This book is designed for system administrators, experienced users, or developers who want to install and use Alfresco in their teams or businesses. Because Alfresco is free, many teams can install and experiment with its ECM features without any upfront cost, often without management approval. This book assumes a degree of technical confidence, but does not require specialist system administration or developer skills to get a basic system up and running.
Alfresco is particularly suitable for IT consultants who want or need to set up a flexible enterprise content management system for their clients, be that for demonstration, development, or as a mission-critical platform. This book gets you to that result quickly and effectively.
This book also helps business users to make decisions about migrating from the existing proprietary ECM to Alfresco 4.
This book is not a developer guide. However, various examples in this book will help developers to extend Alfresco's functionality and to integrate Alfresco with external systems.
Although no knowledge of Alfresco is presumed, exposure to HTML, XML, JavaScript and related web technologies will help you to get the most from this book.
Conventions
In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.
Code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles are shown as follows: Alfresco comes with a property called policy.content.update.ignoreEmpty, which controls the execution behavior of a rule.
A block of code is set as follows:
Advanced Search
>
property=custom:PRDate
/>
property=custom:CustomerName
/>
property=custom:NewCustomer
/>