You are previewing Alfresco 3 Enterprise Content Management Implementation.
O'Reilly logo
Alfresco 3 Enterprise Content Management Implementation

Book Description

How to customize, use, and administer this powerful, Open Source Java-based Enterprise CMS

  • Manage your business documents with version control, library services, content organization, and advanced search

  • Create collaborative web sites using document libraries, wikis, blogs, forums, calendars, discussions, and social tagging

  • Integrate with external applications such as Liferay Portal, Adobe Flex, iPhone, iGoogle, and Facebook

  • Automate your business process with the advanced workflow concepts of Alfresco 3

  • Fully revised and updated for version 3.0, covering Alfresco Surf and more

In Detail

Alfresco 3.0 has generated a lot of curiosity with its new content management features. Users have been waiting for a book that covers these concepts along with the security, dashboards, and configuration features of Alfresco 3.

Alfresco 3 includes Alfresco Surf, a new N-Tier Architecture, which delivers scalability and accommodates more users on existing hardware resources. This new release also includes a draft implementation of the CMIS specification, and Microsoft Office SharePoint Protocol support. The new multi-tenancy features enable Alfresco ECM to be configured as a single-instance multi-tenant environment.

This well-crafted and easy-to-use book is a complete guide to implementing enterprise content management in your business using Alfresco 3. It covers the enhanced document management, a new web-based collaborative application called Alfresco Share, and various integration options with external applications.

Alfresco 3 offers true Enterprise Content Management (ECM) by providing an open source alternative to Microsoft SharePoint, Documentum, and Interwoven. It is the most popular Java-based CMS with over 1.5 million downloads, 50,000 live sites, 74,000 community members, and with more than 150 application extensions in forge. This book guides you through creating smart, collaborative content repositories and shows how to use Alfresco 3 to create more elegant document sharing, better collaborative working, and reliable automated workflow processes.

The book also explains how administrators can set up Alfresco 3 for multiple business units as a single-instance multi-tenant environment. Business users can leverage Alfresco Share, a new built-in web-based collaborative content management application bundled with Alfresco repository. It simplifies capturing, sharing, and retrieval of information across virtual teams.

This book shows you how to unleash the power of Alfresco 3 to create collaborative working systems in your enterprise

Table of Contents

  1. Alfresco 3 Enterprise Content Management Implementation
    1. Table of Contents
    2. Alfresco 3 Enterprise Content Management Implementation
    3. Credits
    4. About the Author
    5. About the Co-Authors
    6. Acknowledgements
    7. About the Reviewers
    8. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code for the book
        2. Errata
        3. Piracy
        4. Questions
    9. 1. Introduction to Alfresco
      1. An overview of Alfresco
        1. Leveraging the benefits of open source
        2. State-of-the-art content repository
        3. Scalable architecture
        4. Open standards-based underlying components
        5. Globalization support
        6. Security and access control
        7. Essential library services
        8. Business process automation
        9. Enterprise integration
      2. Alfresco Enterprise 3.0—An overview
        1. Alfresco Network
        2. Alfresco Web Studio
        3. Alfresco Share
        4. Alfresco Surf
        5. Alfresco Repository Public API
        6. Alfresco Draft CMIS Implementation
        7. Microsoft SharePoint Protocol support
      3. How you can benefit from Alfresco
        1. Using Alfresco for document management
        2. Using Alfresco for records management
        3. Using Alfresco for web content management
        4. Using Alfresco for collaboration management
        5. Using Alfresco for enterprise content search
        6. Applications of Alfresco
      4. How does the future look like with Alfresco?
        1. Enterprise versus Community Labs
        2. Better support options
        3. Free upgrades
      5. Implementing an example solution using Alfresco
      6. Where do you get more information?
      7. Summary
    10. 2. Installing Alfresco
      1. Installing Alfresco
        1. Out of the box installation architecture
          1. Client Applications layer
          2. Repository Services layer
          3. Data Storage layer
          4. The components of Alfresco applications
          5. Accessing the application
        2. Choosing the right installation option
          1. Enterprise and community editions
          2. Operating systems—Windows, Linux, UNIX, and MacOS
          3. Databases—MySQL, Oracle, MS SQL Server, and PostgreSQL
          4. Application servers—Tomcat and JBoss
          5. Portals (optional)—JBoss Portal and Liferay
          6. Choose the appropriate software for your installation
        3. Installing on Microsoft Windows
          1. Full installation
          2. Installation of the Alfresco Tomcat bundle
            1. Installing Java SE Developer Kit
            2. Installing Alfresco bundled with Tomcat
          3. Installation of other Alfresco Components
            1. Installing SharePoint Protocol Support
            2. Installing the Alfresco license file
            3. Installing and configuring the MySQL database
            4. Installing OpenOffice
            5. Installing Image Magick and CIFS
              1. Installing Image Magick
              2. Installing CIFS
              3. Installing WCM
            6. Installing Microsoft Office Add-ins
            7. Installing Flash player
            8. Installing SWFTools
          4. Installation folder structure
          5. Starting and stopping Alfresco as a console application
          6. Configuring Alfresco as a Windows service
        4. Installing on Linux
        5. Installing extensions with AMP Install
      2. Summary
    11. 3. Getting Started with Alfresco
      1. Introduction to Alfresco Explorer
        1. Log in to Alfresco as an Administrator
        2. Screen layout
          1. Tool Bar
          2. Navigator
            1. Navigator Tree View
            2. Shelf
            3. OpenSearch
            4. Categories logical view
          3. Breadcrumbs
          4. Header
          5. Detail
        3. Administration Console
          1. User and groups management
          2. Category management
          3. Data management
          4. System information
      2. Getting started with content creation
        1. Create space
        2. Create content
        3. Create a link to content
      3. My Alfresco dashboards
        1. Choosing the My Alfresco dashboard as the start location
        2. Configuring personal dashboard using wizard
          1. Step one: Selection of layout
          2. Step two: Selecting components
      4. Start with basic configuration
        1. Extend Alfresco configuration
          1. Alfresco ConfigRoot folder
          2. Alfresco extension folder
          3. Configuration approach
          4. Packaging and deploying Java extensions
        2. Install the enterprise license file
        3. Change the default administrator password
        4. Configure the content store
        5. Configure the relational database
        6. Configure the email service and email server
          1. Outbound email service
          2. Inbound email server
        7. Configure the log files
        8. Configure the Alfresco virtual file system
          1. Configure the file systems
        9. Configure the default logos
        10. Customize the look and feel using CSS
        11. Configure multilanguage support
      5. Creating a blue print for your application
        1. Enterprise intranet as a theme
        2. Features you are going to implement
      6. Summary
    12. 4. Implementing Membership and Security
      1. The Alfresco membership and security model
        1. Users and groups
        2. Permissions and roles
        3. Authentication
        4. How is security imposed in Alfresco?
      2. Manage system users
        1. Creating new users
        2. Search for existing users in Alfresco Explorer
        3. Modify user details
        4. Deleting a user
      3. Individual user access
        1. New user log in and my homepage
        2. Update personal details and password
        3. Search for existing users in Alfresco share
        4. Modify user details using share
      4. Manage user groups
        1. Create groups and subgroups
        2. Add users to a group
        3. Remove users from a group
      5. Extend security permissions and roles
        1. Default permissions
        2. Default roles
        3. Create a custom role
      6. Secure your spaces
        1. User roles on a space
        2. Invite users to your space
        3. Define and secure your spaces
      7. Secure your content
        1. User roles for content
        2. Invite users to your content
      8. Choosing the correct security model for you
        1. Use Alfresco's out of the box membership system
        2. Configuring LDAP for centralized identity management
          1. LDAP configuration with active directory
          2. LDAP synchronisation
          3. Daisy chaining
        3. Configuring NTLM for Single sign-on
          1. SSO with active directory
          2. SSO with CAS
      9. Migrate existing users to Alfresco
        1. Using command-line scripts for the bulk uploading of users
        2. Bootstrapping the Alfresco repository with predefined user data
        3. Using web services API to create users
      10. Summary
    13. 5. Implementing Document Management
      1. Managing spaces
        1. Space is a smart folder
        2. Why space hierarchy is important
        3. Editing a space
          1. Editing space properties
          2. Deleting space and its contents
          3. Moving or copying space by using the clipboard
          4. Creating a shortcut to a space for quick access
        4. Choosing a default view for your space
        5. Sample space structure for marketing project
      2. Managing content
        1. Creating content
          1. Creating text documents
          2. Uploading binary files such as Word, PDF, Flash, Image, Media
        2. Editing content
          1. Online editing of HTML, text, and XML
          2. Offline editing of files
          3. Uploading updated content
          4. Content actions
          5. Deleting content
          6. Moving or copying content using the clipboard
          7. Creating a shortcut to the content for quick access
        3. Managing content properties
          1. What is Content Metadata?
          2. Metadata extractors
          3. Editing metadata
          4. Adding additional properties
      3. Library services
        1. Versioning
          1. Auto Versioning
        2. Check In and Check Out
          1. Checking out documents
          2. Checking in the working copy
          3. Undo Check Out to unlock a document
      4. Categorizing content
        1. Managing categories
        2. Adding categories to content
        3. Search content by category
      5. Managing multilingual content
        1. Versions of Multilingual Content
        2. Deleting Multilingual Content
      6. Using network drives to manage content
        1. CIFS
          1. Mapping the drive
          2. Drag-and-drop documents in Alfresco through CIFS
          3. Check Out and Check In documents in CIFS
        2. File Transfer Protocol
        3. WebDAV
      7. Microsoft Office 2003 add-ins
        1. Support for Microsoft Office 2007
        2. Installation
        3. Configuration
        4. Features of MS Word add-in
        5. Editing a file in Word
      8. Recovering deleted content
      9. The Data Dictionary and space templates
        1. The Data Dictionary space
        2. Space templates for a reusable space structure
          1. Creating a new space template for reuse
          2. Using an existing space template to create a new space
      10. Discussions on spaces and documents
        1. Discussion forums for collaboration
          1. Forum space
          2. Creating discussion forums in the forum space
          3. Creating topics in the forum
          4. Replying to topics
          5. Departmental forums and security
          6. Defining forums for groups within a department
        2. Inter-department collaboration through spaces
          1. Managing space users
          2. Space collaboration through email
          3. Starting a discussion on a specific space
        3. Content collaboration
          1. Owner invites individuals to collaborate on content
      11. RSS syndication
        1. Using RSS feeds
        2. RSS templates
      12. Migrating existing content into Alfresco
        1. Drag-and-drop content to the network drive
        2. Using web services to migrate content
        3. The ACP Generator's bulk upload utility
      13. Summary
    14. 6. Implementing Business Rules
      1. Using business rules on spaces
        1. Organize documents automatically
        2. Run rules in the background
        3. Dynamically add properties to a document
        4. Automatic versioning of documents
        5. Send notifications to specific people
        6. Chaining all of the business rules
      2. Built-in business rules
        1. How these business rules work
        2. Checking the conditions
        3. What are the actions that are executed?
        4. When are these rules triggered?
      3. Applying actions to individual content
        1. Removing an aspect from a content
      4. Handling content transformations
        1. Transforming a Word document to PDF
        2. Resizing and transforming images
        3. OpenDocument Format
          1. Converting Microsoft Office documents to ODF
        4. Built-in transformations
      5. Executing JavaScript as business rules
        1. Use built-in JavaScript as actions
        2. Extend business rules with custom JavaScript
          1. Set up the Corporate Forms space
          2. Create custom JavaScript
          3. Execute custom JavaScript as an action
        3. JavaScript API
      6. Scheduled actions
        1. Example of archiving expired content
        2. XML configuration file for scheduled actions
          1. The cron expression
      7. Summary
    15. 7. Extending the Alfresco Content Model
      1. Custom configuration
        1. Configuration files for the default content model
        2. Configuration files for custom content model
          1. Custom model context file
          2. Custom model file
          3. Custom web client configuration file
        3. Hierarchy of configuration files
      2. Custom aspect
        1. The need for a custom aspect
        2. Steps for adding a custom aspect
        3. Define a custom aspect
        4. Extend the content model with the custom aspect
        5. Configure the web client for the custom aspect
        6. Use custom aspect as a business rule
      3. Constraints
        1. Constraint types
          1. REGEX
          2. LIST
          3. MINMAX
          4. LENGTH
        2. Applying a constraint
      4. Advanced property sheet configuration
        1. Display labels
        2. Conditional display of properties
        3. Converters
        4. Component generators
      5. Custom content type
        1. When do you need a custom content type
        2. Steps to add a custom content type
        3. Define the custom content type
        4. Extend the content model with the custom content type
        5. Configure the web client for the custom content type
        6. Add custom content type
        7. Create a Press Release as HTML content
        8. Create business rules targeting the custom content type
      6. Custom associations
        1. When do you need an association?
        2. Define a custom association
        3. Use a custom association
        4. Presentation Template for custom content types
        5. Association example
      7. Dynamic models
        1. Dynamic custom model
          1. Deploying a custom model
          2. Activating and deactivating a custom model
          3. Updating a custom model
        2. Dynamic web client
          1. Deploying web client customizations
          2. Reloading web client customizations
        3. Dynamic models in a multi-tenancy environment
      8. Summary
    16. 8. Implementing Workflow
      1. Introduction to the Alfresco workflow process
      2. Simple Workflow
        1. Out of the box features
        2. Define and use Simple Workflow
          1. Identify spaces and security
          2. Defining the workflow process
          3. Adding simple workflow to items
          4. Sending a notification for approval to the Manager
          5. Test your simple workflow
        3. Email notification templates
        4. Implementing complex workflows
        5. The workflow process
      3. Advanced workflows
        1. Workflow user interactions
        2. Out of the box features
        3. Creating custom advanced workflows
          1. Defining the workflow process
          2. Step 1: Create and deploy the task model
            1. The dynamic deployment of task models
          3. Step 2: Create and deploy the workflow resource bundles
            1. The dynamic deployment of resource bundles
          4. Step 3: Create and deploy the process definition
            1. The dynamic deployment of process definitions
            2. Using the workflow console
            3. Manual Deployment of Workflow
              1. The first option: Creating a jPDL XML by hand
              2. The second option: Using the JBoss jBPM process designer
          5. Step 4: Display the workflow images
          6. Step 5: Create and deploy the Alfresco Explorer task dialogs
            1. Dynamic Alfresco Explorer
          7. Step 6: Test the workflow
        4. Track the status of this workflow through a customized dashlet
        5. Out of the box features of the workflow task list's dashboards
          1. List of My Tasks To Do
          2. Reassign Adhoc Task
          3. Manage Adhoc tasks
          4. List of My Completed Tasks
          5. View the Status of or Cancel a Workflow
            1. Workflow information in the Document Details page
        6. Integration with rules
      4. Summary
    17. 9. Integrating External Applications with Alfresco
      1. The Alfresco content platform
        1. Embeddable enterprise content management system
        2. Integrated enterprise content management system
          1. Various protocols for integration
          2. Using web service as an integration solution
          3. Using FTP, WebDAV, and CIFS protocols for integration
          4. RESTful web services
      2. Web Scripts
        1. What is a Web Script
        2. How to implement Web Scripts
        3. Hello World example
        4. Sample out of the box portlet Web Scripts
          1. Myspaces portlet
          2. Document list portlet Web Script
        5. Web Script to list the latest documents
          1. Daily dose integration Web Script in detail
          2. Integrating Web Script with an external Java application
        6. Web Script to integrate document search
          1. Document search Web Script in detail
          2. Calling the Web Script from external application
      3. Various application integration examples
        1. Integrating with Liferay
          1. Various available options
            1. Using the Web Script Container
            2. Using the CMIS proposed standard
            3. Other REST APIs
          2. Liferay built-in Portlet for Alfresco
          3. Using your own API
        2. Integrating with Drupal
        3. Integrating with Joomla!
        4. Integrating with Adobe Flex
        5. Email integration: MS Outlook, Lotus Notes, Novell, and Thunderbird
        6. Integrating with iPhone
        7. Integrating with iGoogle
          1. Steps to integrate iGoogle Gadgets with Alfresco
          2. Using iGoogle Gadgets
        8. Integrating with FFMPEG video transcoder
          1. Various options for video transcoding
          2. Various options for audio transcoding
          3. Integrating transformation as an action in Alfresco
        9. Integrating with ViewOnePro image viewer
        10. Integrating with the Facebook social network application
          1. Creating a new Facebook application
          2. Registering the Facebook application with Alfresco
      4. CMIS
        1. Scope of CMIS
        2. Alfresco CMIS implementation
          1. Sample Alfresco CMIS dashlet
      5. Summary
    18. 10. Advanced Collaboration Using Alfresco Share
      1. Alfresco Share
        1. My Dashboard
          1. Customize your dashboard
        2. My Profile
          1. Viewing your full profile
          2. Editing your profile
          3. Changing your password
        3. Sites
          1. Creating a site
          2. Searching for a site
          3. Managing your site membership
          4. Deleting a site
        4. People
          1. Searching for a user
        5. Using your personal dashboard
          1. Entering a site
          2. Configure the personal dashboard RSS feed
          3. View scheduled events
          4. Using the Alfresco Network
        6. Using a site
          1. Getting Started
          2. Site Profile
          3. Site Colleagues
          4. Site Calendar
          5. Site Activities
          6. Recently Modified Documents
          7. Wiki
          8. RSS Feed
        7. Customize a site
          1. Customizing a site's dashboard
          2. Editing the site details
          3. Configuring the site dashboard RSS feed
          4. Configuring the Wiki site dashlet
          5. Subscribing to an RSS feed
          6. Tagging site content
          7. Selecting a page
          8. The Wiki page
            1. Accessing the Wiki page
            2. Browse the Wiki pages
            3. Creating the Wiki main page
            4. Creating a new Wiki page
            5. Editing a Wiki page
            6. Renaming a Wiki page
            7. Deleting a Wiki page
            8. Viewing a Wiki page's details
          9. The Document Library page
            1. Accessing the Document Library page
            2. Browsing the library
            3. Creating a folder structure
            4. Adding items to the library
            5. Working with individual library items
            6. Viewing an item
            7. Add a comment to a library item
            8. Editing a library item comment
            9. Deleting a library item comment
            10. Editing an item
            11. Downloading an item
            12. Upload updated content
            13. Deleting an item
            14. Editing item details
            15. Copying an item
            16. Moving an item
            17. Assigning workflow to an item
            18. Managing permissions for an item
          10. Working with multiple library items
            1. Selecting multiple items
            2. Performing actions on multiple items and folders
          11. The Calendar page
            1. Accessing the Calendar page
            2. Browsing the calendar
            3. Viewing an event
            4. Adding an event
            5. Editing an event
            6. Deleting an event
            7. Browsing the site's events
          12. The Blog page
            1. Accessing the Blog page
            2. Browsing the blog
            3. Creating a Blog post
            4. Editing a Blog post
            5. Viewing a blog post
            6. Deleting a blog post
            7. Configuring the external blog
            8. Publishing a post to an external Blog
            9. Working with comments
              1. Adding a comment to a post
              2. Editing a comment
              3. Deleting a comment
          13. The Discussions page
            1. Accessing the Discussions page
            2. Browsing the topics
            3. Viewing a topic
            4. Creating a new topic
            5. Editing a topic
            6. Deleting a topic
            7. Creating a reply
              1. Editing a reply
          14. Managing site users
            1. Accessing the Members page
            2. Invite users to a site
            3. Viewing the site members
              1. Changing a site member's role
              2. Removing a site member
            4. Viewing and managing the invited users
        8. Benefits of using Alfresco Share
      2. SharePoint protocol support with Alfresco Enterprise 3.0
        1. Handling documents within Microsoft Office
          1. Creating a Document Workspace
          2. Editing a document
            1. Checking out the document
            2. Checking in the document
          3. Document Versions
            1. Viewing a previous document version and then restoring the document to that version
            2. Managing the document versions
          4. Adding content to a document library
        2. Collaborating on a document
          1. Saving a document to the Document Workspace
          2. Customize the Document Workspace
            1. Editing the site name
            2. Changing the site settings
          3. Manage the Document Workspace membership
            1. Adding members to the site
            2. Viewing and editing user profiles
            3. Changing a member's role
            4. Removing a site member
          4. Working with a Document Workspace document locally
            1. Downloading document updates from the site
              1. Updating the site copy
              2. Saving an updatable copy locally
              3. Managing document updates
          5. Deleting the Document Workspace
            1. Document Workspace dashlet in Share
        3. Summary
    19. 11. Customizing the User Interface
      1. Configuring Alfresco Explorer
        1. Configuring views
          1. Configuring space views
          2. Applying a Custom View to a space
          3. Configuring forum topics sort direction
          4. Adding a custom icon to a space
          5. Configuring HTML links to appear in Alfresco Explorer
        2. User configurable dashboards
          1. Writing custom dashlets
            1. Create a custom dashlet script
            2. Create a custom dashlet JSP
            3. Configure custom dashlet JSP in Alfresco Explorer
            4. Restart Alfresco
            5. Use the Custom Dashlet in the My Alfresco Dashboard
          2. Using webscripts as dashlets
            1. Create a custom dashlet JSP
            2. Configure the custom dashlet JSP
            3. Configure the My Spaces dashlet
            4. Custom dashlet
        3. Using a FreeMarker dashlet from the repository
          1. Presentation templates
          2. The FreeMarker template engine within Alfresco
          3. The Alfresco objects available to FreeMarker
          4. FreeMarker template node model API
          5. FreeMarker directives
          6. Custom template to preview web pages
          7. Custom template for XML content
          8. Custom templates for custom space view
        4. Customizing Alfresco Share
        5. Presentation templates
          1. Custom template
        6. Configure custom webscripts
        7. Configure custom dashlets
        8. Configure custom components in Alfresco Share
        9. Rich user interface using Flex
          1. Alfresco Share 3.0 Integration support
        10. Customizing JSP Client
          1. Alfresco foundation APIs:
      2. Various user interface options
      3. Summary
    20. 12. Search
      1. Overview
      2. Search using Alfresco Explorer
        1. Simple search
          1. Search file names only
        2. Advanced search
          1. Search by content location
          2. Search by content category
          3. Search by content properties
        3. Extending the search form
          1. Configure the web client user interface
          2. Search custom content and properties
        4. Save a search as a report
          1. Define complex search criteria
          2. Save search criteria as public or private report
          3. Reuse a saved search
      3. OpenSearch
        1. Alfresco's open search engines
          1. Keyword search description
          2. Sample keyword search in HTML
          3. Sample keyword search in RSS
        2. Alfresco Explorer as an OpenSearch aggregator
          1. Registering new search engines
          2. Federated search
      4. Configuring the Alfresco search engine
        1. The theory behind the search engine
        2. Limit search results
        3. Indexing properties
        4. Configuring Lucene in Alfresco
      5. Summary
    21. 13. Implementing Imaging and Forms Processing
      1. Electronic imaging and the paperless office
      2. Forms processing
        1. Alfresco for imaging and forms processing
      3. Sample imaging solution with workflow
        1. Setting up space and security
        2. Business rule to extract important metadata
        3. Transform documents into the required format
        4. Define the workflow process
        5. Connecting the scanner to network folder
        6. Bulk upload scanned documents into the repository
      4. OCR integration
        1. Intelliant OCR-Alfresco bundle
      5. Integration with Kofax Ascent Capture
        1. Kofax release script configuration
        2. Release script functionality
      6. Integration with an eCopy-enabled scanner
      7. Summary
    22. 14. Administering and Maintaining the System
      1. Exporting and importing content
        1. Alfresco Content Package (ACP)
        2. Exporting and importing space content
          1. Export of a department space using Alfresco Explorer
          2. Importing a department space using Alfresco Explorer
        3. Using business rules to import data
        4. Using command line tools
          1. The export tool
          2. The import tool
      2. Data backup
        1. List of items to backup
          1. The content stored in the filesystem
          2. The metadata stored in the relational database
          3. Customization files
          4. Membership data
          5. Log files
        2. Backup frequency
        3. Backing up based on the Alfresco deployment
          1. Alfresco deployed as a repository application server
          2. Alfresco deployed as a Clustered Repository Server
          3. Alfresco deployed as hot backup
      3. Upgrading to newer versions of Alfresco
        1. Upgrading to a minor release
        2. Upgrading to a major release
      4. General maintenance tips
        1. Regular maintenance of deleted items
        2. Examining log files
        3. Resetting the administrator password
        4. Resetting the complete repository data
        5. Migrating servers
      5. User quota system
      6. Multi-Tenancy
        1. Enabling Multi-Tenancy
        2. Creating tenants
        3. Tenant use case
        4. Managing tenants
          1. Exporting and importing tenant data
      7. Full auditing
        1. Controlling audit information
        2. Simple audit template for displaying auditing information
      8. Summary
    23. Index