Alfresco 3 Cookbook
By Snig Bhaumik
()
About this ebook
Snig Bhaumik
Snig Bhaumik is the technical director of InfoAxon Technologies, located in New Delhi, India, and Bracknell, UK. He also heads the open source evangelist team of InfoAxon. He is an active member of, and contributor to, various open source products, such as Alfresco, Liferay, and Pentaho. Having more than 12 years of software development and architecture experience in various tools and technologies, his prime interests now lie in mobile development, social media implementations, digital governance, Internet of Things, and traditional practices such as knowledge management and business intelligence. He authored a popular cookbook on the Alfresco Content Management System named Alfresco 3 Cookbook, Packt Publishing in 2011 (https://www.packtpub.com/web-development/alfresco-3-cookbook) and was also a part of the technical review team for Learning Alfresco Web Scripts, Packt Publishing (https://www.packtpub.com/web-development/learning-alfresco-web-scripts) in 2014.
Related to Alfresco 3 Cookbook
Related ebooks
PHP Ajax Cookbook Rating: 2 out of 5 stars2/5PhpStorm Cookbook Rating: 0 out of 5 stars0 ratingsjQuery UI Cookbook Rating: 0 out of 5 stars0 ratingsVisual Studio 2013 Cookbook Rating: 0 out of 5 stars0 ratingsDotNetNuke 5.4 Cookbook Rating: 5 out of 5 stars5/5Beginning DotNetNuke Skinning and Design Rating: 0 out of 5 stars0 ratingsASP.NET 2.0 Web Parts in Action: Building Dynamic Web Portals Rating: 0 out of 5 stars0 ratingsApache Cordova in Action Rating: 0 out of 5 stars0 ratingsMySQL 5.1 Plugin Development Rating: 0 out of 5 stars0 ratingsNW.js Essentials Rating: 0 out of 5 stars0 ratingsjQuery UI in Action Rating: 0 out of 5 stars0 ratingsContinuous Integration in .NET Rating: 0 out of 5 stars0 ratingsExt JS in Action Rating: 0 out of 5 stars0 ratingsjQuery Mobile Web Development Essentials - Third Edition Rating: 0 out of 5 stars0 ratingsCSS Mastery: Styling Web Pages Like a Pro Rating: 0 out of 5 stars0 ratingsOSGi in Depth Rating: 0 out of 5 stars0 ratingsMastering Kotlin for Android 14: Build powerful Android apps from scratch using Jetpack libraries and Jetpack Compose Rating: 0 out of 5 stars0 ratingsLinux Shell Scripting: From Basics to Expert Proficiency Rating: 0 out of 5 stars0 ratingsEmber.js in Action Rating: 0 out of 5 stars0 ratingsMastering Apache Cassandra - Second Edition Rating: 0 out of 5 stars0 ratingsReal-World Next.js: Build scalable, high-performance, and modern web applications using Next.js, the React framework for production Rating: 0 out of 5 stars0 ratingsCentOS Stream 9 Essentials: Learn to Install, Administer, and Deploy CentOS Stream 9 Systems Rating: 0 out of 5 stars0 ratingsInstant Highcharts Rating: 0 out of 5 stars0 ratingsJava SE 21 Developer Study Guide Rating: 5 out of 5 stars5/5AJAX Interview Questions, Answers, and Explanations: AJAX Certification Review Rating: 0 out of 5 stars0 ratingsJava Complete Self-Assessment Guide Rating: 0 out of 5 stars0 ratingsStart Concurrent: An Introduction to Problem Solving in Java with a Focus on Concurrency, 2014 Rating: 0 out of 5 stars0 ratingsProgramming Constructs in Java Rating: 1 out of 5 stars1/5
Information Technology For You
An Ultimate Guide to Kali Linux for Beginners Rating: 3 out of 5 stars3/5Summary of Super-Intelligence From Nick Bostrom Rating: 4 out of 5 stars4/5Data Analytics for Beginners: Introduction to Data Analytics Rating: 4 out of 5 stars4/5CompTIA A+ CertMike: Prepare. Practice. Pass the Test! Get Certified!: Core 1 Exam 220-1101 Rating: 0 out of 5 stars0 ratingsCompTia Security 701: Fundamentals of Security Rating: 0 out of 5 stars0 ratingsSupercommunicator: Explaining the Complicated So Anyone Can Understand Rating: 3 out of 5 stars3/5Creating Online Courses with ChatGPT | A Step-by-Step Guide with Prompt Templates Rating: 4 out of 5 stars4/5Learning Microsoft Endpoint Manager: Unified Endpoint Management with Intune and the Enterprise Mobility + Security Suite Rating: 0 out of 5 stars0 ratingsA Mind at Play: How Claude Shannon Invented the Information Age Rating: 4 out of 5 stars4/5Self-Sovereign Identity Rating: 0 out of 5 stars0 ratingsCompTIA Network+ CertMike: Prepare. Practice. Pass the Test! Get Certified!: Exam N10-008 Rating: 0 out of 5 stars0 ratingsHow to Write Effective Emails at Work Rating: 4 out of 5 stars4/5Cybersecurity for Beginners : Learn the Fundamentals of Cybersecurity in an Easy, Step-by-Step Guide: 1 Rating: 0 out of 5 stars0 ratingsInkscape Beginner’s Guide Rating: 5 out of 5 stars5/5CompTIA ITF+ CertMike: Prepare. Practice. Pass the Test! Get Certified!: Exam FC0-U61 Rating: 5 out of 5 stars5/5Cyber Security Consultants Playbook Rating: 0 out of 5 stars0 ratingsCOMPUTER SCIENCE FOR ROOKIES Rating: 0 out of 5 stars0 ratingsGet Programming with Haskell Rating: 0 out of 5 stars0 ratingsGetting started with Audacity 1.3 Rating: 5 out of 5 stars5/5Linux Command Line and Shell Scripting Bible Rating: 3 out of 5 stars3/520 Windows Tools Every SysAdmin Should Know Rating: 5 out of 5 stars5/5Health Informatics: Practical Guide Rating: 0 out of 5 stars0 ratingsGoogle SketchUp for Game Design: Beginner's Guide Rating: 5 out of 5 stars5/5Machine Learning Interview Questions Rating: 5 out of 5 stars5/5CODING INTERVIEW: Advanced Methods to Learn and Excel in Coding Interview Rating: 0 out of 5 stars0 ratingsWordPress Plugin Development: Beginner's Guide Rating: 0 out of 5 stars0 ratingsUnity Game Development Essentials Rating: 5 out of 5 stars5/5
Reviews for Alfresco 3 Cookbook
0 ratings0 reviews
Book preview
Alfresco 3 Cookbook - Snig Bhaumik
Table of Contents
Alfresco 3 Cookbook
Credits
About the Author
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. Getting Started
Introduction
Alfresco products
Alfresco Explorer
Alfresco Share
Setting up a database for Alfresco
Getting ready
How to do it...
How it works...
Installing Alfresco on Windows
Getting ready
How to do it...
How it works...
There's more...
Installing Alfresco on Linux
Getting ready
How to do it...
How it works...
There's more...
Running Alfresco for the first time
Getting ready
How to do it...
There's more
Toolbar
Sidebar
Breadcrumb
Current space information
Actions Links
Sub-spaces panel
Content items panel
Footer
2. Creating and Organizing Contents
Introduction
Content metadata
Creating a space
Getting ready
How to do it...
How it works...
See also
Creating content
How to do it...
There's more...
See also
Uploading a document
How to do it...
There's more...
Viewing content details
Getting ready...
How to do it...
There's more...
Tagging a document
How to do it...
There's more...
Detaching a tag
Categorizing content
Getting ready
How to do it...
Making a document versionable
How to do it...
How it works...
3. Securing and Searching Contents
Introduction
The Alfresco security model
Creating users
How to do it...
There's more...
Creating groups
How to do it...
Adding users into groups
How to do it...
There's more...
Securing your folders
How to do it...
How it works...
Securing your files
How to do it...
How it works...
Searching in Alfresco
Performing normal search
How to do it...
Performing advanced search
How to do it...
Using saved search
How to do it...
See also
4. Rules—the Smart Spaces
Introduction
Understanding the components of a rule
How to do it...
How it works...
Creating and applying rules
How to do it...
How it works...
Understanding conditions of a rule
Understanding possible actions of a rule
How it works...
There’s more...
Rule inheritance
Asynchronous rule
Disabled rule
Editing rule
Permissions
5. Alfresco Administration Console
Introduction
Managing system users
Getting ready
How to do it...
There's more...
Changing the user password
See also
Managing user groups
Getting ready
How to do it...
Managing categories
How to do it...
See also
Exporting Alfresco content packages
How to do it...
There's more...
Importing content items
Using Administration Console
Using Import Action
Using the Alfresco Node Browser
Getting ready
How to do it...
There's more
Configuring the Alfresco Dashboard
How to do it...
There's more...
6. Customizing Alfresco Web Client
Introduction
Getting ready...
Changing the default view of Items in Space contents
How to do it...
Changing languages in the Login page
How to do it...
How it works...
There’s more...
Changing textbox length and text area size
How to do it...
How it works...
Controlling the Date Picker
Getting ready
How to do it ...
How it works...
Controlling the sidebar display
How to do it...
Including custom Icons in your Spaces
How to do it...
Changing the default font and color
How to do it...
How it works...
7. Alfresco Content Model
Introduction
Content Type
Content Aspect
Creating new custom content type
Getting ready
How to do it...
How it works...
See also
Displaying custom Content Type while content uploading
How to do it...
How it works...
Showing custom properties
How to do it...
How it works...
Creating custom aspects and associations
Getting ready
How to do it...
How it works...
There's more...
Showing custom Aspects and Associations
Getting ready
How to do it...
How it works...
There's more...
Displaying custom type in Type Specialization
Getting ready
How to do it...
How it works...
Customizing Advanced Search to include custom content types
Getting started
How to do it...
How it works...
8. Alfresco JavaScript API
Introduction
Available JavaScript APIs
The JavaScript API model
Writing and executing scripts
Getting ready
How to do it...
How it works...
There’s more...
ScriptNode API
People API
Search API
See also
Add/Change contents of a document
Getting ready
How to do it...
How it works...
Creating a backup copy of a document
How to do it...
How it works...
See also
Adding a tag to a document
How to do it...
How it works...
Assigning permissions to a user
How to do it...
How it works...
Debugging Alfresco JavaScript
How to do it...
How it works...
9. FreeMarker Templates
Introduction
FreeMarker templates in Alfresco
Template models
There's more...
Creating a FreeMarker template
How to do it...
How it works...
Displaying all documents in current space
How to do it...
How it works...
Displaying all versions of a particular document
How to do it...
How it works...
Displaying all assigned tasks of the current user
How to do it...
How it works...
See also
Displaying all spaces and sub-spaces recursively
How to do it...
How it works...
10. Web Scripts
Introduction
What is a Web Script?
Web Script architecture
Types of Web Scripts
Web Script files
Web Script parameters
Writing and deploying Web Scripts
How to do it...
How it works...
There's more...
Using the Alfresco Web Script browser
Displaying details of documents
How to do it...
How it works...
There's more...
Sending e-mails using a mail template
How to do it...
How it works...
There's more...
11. Working with Workflows
Introduction
Workflow components
Invoking a workflow
How to do it...
How it works...
Creating and deploying custom workflows
How to do it...
How it works...
Using the Alfresco Workflow Console
How to do it...
12. Integrating with MS Outlook and MS Office
Introduction
Why integration is required
Integrating Alfresco with Microsoft Outlook
Getting ready...
How to do it...
There’s more...
Integrating Alfresco with MS Outlook
Getting ready...
How to do it...
How it works...
13. Configuring Alfresco E-Mail and File Servers
Introduction
Configuring Alfresco to send e-mails
Getting started
How to do it...
How it works...
See also
Sending e-mails via JavaScript API
How to do it...
How it works...
Configuring Alfresco to receive e-mails
Getting ready
How to do it...
How it works...
Configure and use Alfresco file servers
How to do it...
How it works...
14. Building Alfresco
Introduction
Installing Subversion client - TortoiseSVN
Getting ready
How to do it...
Downloading Alfresco's source code
How to do it...
How it works...
Compiling and building Alfresco
Getting ready
How to do it...
How it works...
Running Alfresco on your machine
How to do it...
How it works...
Index
Alfresco 3 Cookbook
Alfresco 3 Cookbook
Copyright © 2011 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 author, 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: July 2011
Production Reference: 1180711
Published by Packt Publishing Ltd.
32 Lincoln Road
Olton
Birmingham, B27 6PA, UK.
ISBN 978-1-849511-08-7
www.packtpub.com
Cover Image by Duraid Fatouhi (<duraidfatouhi@yahoo.com>)
Credits
Author
Snig Bhaumik
Reviewers
Piergiorgio Lucidi
Adit Patel
Khazret Sapenov
Snehal Shah
Acquisition Editor
Steven Wilding
Development Editor
Alina Lewis
Technical Editor
Gauri Iyer
Copy Editor
Leonard D'Silva
Project Coordinator
Shubhanjan Chatterjee
Proofreader
Mario Cecere
Indexer
Tejal Daruwale
Graphics
Nilesh.R.Mohite
Production Coordinators
Adline Swetha Jesuthas
Arvindkumar Gupta
Cover Work
Adline Swetha Jesuthas
Arvindkumar Gupta
About the Author
Snig Bhaumik is the Technical Director at InfoAxon Technologies Ltd, based in India. He is also the Director of Open Source Innovation and heads the Knowledge Management Practice at InfoAxon—India's first and pioneer Open Source Integration Company.
A computer engineer by education and developer at heart, Snigdhendu has in total ten years of experience in various technologies such as Alfresco, Liferay, Pentaho, and Microsoft .NET. An open source enthusiast and regular community participant, Snigdhendu was the original contributor of Alfresco Calendar component. He specializes in Knowledge Management and Business Intelligence domains, and is responsible for designing and architecting KM and BI solution offerings.
My sweet wife Chaitali was so patient with my late nights, and I want to thank her for her faithful support while writing this book.
I would also like to thank my mother for everything. She has always been the guiding force for me.
Writing of this book could not have been possible but for the ungrudging support from my colleagues at InfoAxon.
Finally, I sincerely thank Packt Publishing for giving me the opportunity to write this book.
About the Reviewers
Piergiorgio Lucidi is an Open Source Product Specialist and a certified Alfresco Trainer at Sourcesense. Sourcesense is a European Open Source systems integrator providing consultancy, support, and services around key open source technologies.
He works as a software engineer and has seven years of experience in the areas of Enterprise Content Management (ECM), system integrations, and web and mobile applications.
He is an expert in integrating ECM solutions in web and portal applications. He regularly contributes to the Alfresco Community Forum supporting newbie and expert users.
He is a project leader and committer of the JBoss Community; he 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.
He is an author and an affiliate partner at Packt Publishing, he has written the technical book Alfresco 3 Web Services in collaboration with Ugo Cei. He also writes and publishes book reviews on his website Open4Dev (http://www.open4dev.com/).
I would like to thank Packt Publishing for this great opportunity to work again in a very interesting project about Alfresco.
Adit Patel has done his Master's in Computer Applications. He started his career with CIGNEX Technologies in the year 2004. He has successfully handled complex projects for enterprise customers for implementing enterprise content management systems. He has helped many enterprise customers migrate from proprietary content management systems to more efficient and scalable content management systems—like Alfresco. He holds in-depth knowledge and experience of Alfresco architecture and implementations.
I would like to thank and dedicate my contribution to this book to my guru H.D.H. Pramukh Swami Maharaj.
Khazret Sapenov, a 20-year veteran of ICT, is the founder and chief technology officer of Cloudcor, which serves hundreds of enterprise clients and works closely with a set of managed partners and independent software vendors. In this role, Sapenov is responsible for leading overall strategy and technology direction across the United States and Canada, including employees in IT, partner, marketing, operations, and vertical industry teams.
Sapenov previously served as the corporate director of research and development at Enomaly, where he was responsible for growing the company's virtualization solutions business, including development and service delivery.
Prior to working with Enomaly, Sapenov held positions in technology solutions development in various Fortune 100 companies where he was responsible for global network, data centers, and information security, help desk, core IT services, and enterprise line-of-business applications.
Cloudcor's organizations under Sapenov's leadership have developed into one market and gained wide recognition as thought leader in cloud computing.
Sapenov founded Cloudcor in 2008. Before that, he was in corporate and academic research roles, covering oil and gas resources prospecting and development. Sapenov is a graduate of the University of Karaganda, where he received his Master's degree in Applied Mathematics.
I'd like to thank my parents for giving me life and supporting all my initiatives, my wife Saule and sons Asan and Aidos for being tactful and quiet when working on this book.
Snehal Shah has served as the manager and architect of the engineering teams for seven years in the area of internet applications, system software, and legal applications for customers in the United States, UK, and India.
He is an expert in Content Management Systems (CMS). At CIGNEX, he has successfully delivered various CMS applications using various open source technologies. Snehal earned his Bachelor's degree in Computer Engineering from DDIT, India.
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
Alfresco is the renowned and multiple award-winning open source Enterprise content management system which allows you to build, design, and implement your very own ECM solutions.
You have read a number of tutorials, blogs, and books on Alfresco. Now you're in the real world, trying to use Alfresco, but you're running into problems with it. This is the book you want, packed full of solutions that can be instantly applied to this cookbook with its practical-based recipes and minimal explanation meets that demand.
This Alfresco 3 Cookbook boasts a comprehensive selection of recipes covering everything from the basics to the advanced. The book has recipes for quickly installing Alfresco in Windows and Linux and helping you use custom content model, rules, and search. There is also a collection of recipes focused on creating Scripts, Freemarker templates, Web Scripts, and new workflow definitions. Steps to integrate Alfresco with other systems like MS-Office are also included. You will be able to use Alfresco's File and e-mail servers. Finally, step-by-step recipes are presented to create an Alfresco build environment and compile the source code. This Alfresco 3 Cookbook is perfect for developers looking to start working on Alfresco quickly, gain complete understanding, write custom implementations, and achieve expertise very easily.
What this book covers
Chapter 1, Getting Started: It introduces Alfresco with brief demonstration of the Alfresco Explorer application. Get Alfresco downloaded and installed on your machine, and finally be acquainted with the default distribution and architecture of Alfresco.
Chapter 2, Creating and Organizing Contents: It explains how to use Alfresco as Content Management System, how to upload or create contents, how to apply tagging or categorization of content, understand content metadata, use the document versioning capability of Alfresco.
Chapter 3, Securing and Searching Contents: It is about another important aspect of the Content Management System—Security. It helps you understand how to secure your contents and folders. How to create users and user groups—and assign permissions for who can do what. You will also know about the search capabilities offered by Alfresco, how to search contents and how search works in Alfresco.
Chapter 4, Rules—the Smart Spaces: It will help you learn how to make your Alfresco repository dynamic, how to implement your business requirements that works automatically in the repository. You will understand how to create and apply rules in the repository; you will also be familiar with different actions that can be performed via a rule.
Chapter 5, Administering Alfresco: It contains recipes for administering Alfresco, demonstrating how to manage users, user groups, create taxonomies, manage content categories. You will also be aware of how to use the Alfresco Node Browser to view and search contents stored in the repository. You will also know how to manage your Alfresco explorer dashboard.
Chapter 6, Customizing Alfresco Web Client: Alfresco offers customization of the Web Client application via a number of XML configuration files. This chapter elaborates various recipes for changing the view and appearance of the web client, customizing the application as per your requirements, and so on.
Chapter 7, Alfresco Content Model: Designing and modeling the content properties and architecture is one of the most important requirements in a content management system. Alfresco offers dynamic capabilities for designing the content models. Using these recipes you will be able to understand the core architecture of Alfresco content models, create your own custom content models, use your custom models in the Alfresco explorer application.
Chapter 8, Alfresco JavaScript API: Alfresco offers the repository functionalities in form of JavaScript APIs. In this chapter, you will understand the API structure and features offered. Several example recipes help you implement various functionalities. You will also learn how to write, execute, and debug scripts written using the APIs.
Chapter 9, Freemarker Templates: Freemarker Template is the presentation layer technology used in Alfresco applications. The recipes of this chapter would help you understand the technologies and model behind the Freemarker templates in Alfresco. Several template examples are included for commonly-used functions such as displaying folder contents, showing workflow tasks, showing contents recursively, displaying content properties and details, and so on.
Chapter 10, Web Scripts : Alfresco Web Scripts provide RESTful APIs of the repository services and functions. The chapter elaborates all related concepts, knowledge and how-to do it recipes that would help you write, deploy and debug web scripts. You will also understand the usage of default web scripts library that come with Alfresco. Several sample web scripts are included, for example sending e-mails using templates, searching and displaying documents, and so on.
Chapter 11, Working with Workflows: Workflow implementation is one of the major requirements in a content management system in a business. This chapter would help you understand the Alfresco business process engine in detail. You will understand how the workflows are implemented in Alfresco repository along with various components of the workflow engine. Several detailed examples and recipes are included to guide you create custom workflows, custom task models, specific resource bundles, customizing the web client to render the custom tasks and workflows properly. You will also be able to use the Alfresco workflow console interface which is useful for debugging the task execution within the BPM