Alfresco Developer Guide
|Also available on:|
- Learn to customize the entire Alfresco platform, including both Document Management and Web Content Management
- Jam-packed with real-world, step-by-step examples to jump start your development
- Content modeling, custom actions, Java API, RESTful web scripts, advanced workflow
- This book covers Alfresco Enterprise Edition version 2.2
Book DetailsLanguage : English
Paperback : 556 pages [ 235mm x 191mm ]
Release Date : October 2008
ISBN : 1847193110
ISBN 13 : 9781847193117
Author(s) : Jeff Potts
Topics and Technologies : Alfresco, All Books, CMS and eCommerce, Content Management (CMS), Open Source
Table of Contents
Chapter 1: The Alfresco Platform
Chapter 2: Getting Started with Alfresco
Chapter 3: Working with Content Models
Chapter 4: Handling Content Automatically with Actions, Behaviors, Transformers, and Extractors
Chapter 5: Customizing the Web Client User Interface
Chapter 6: Exposing Content through a RESTful API with Web Scripts
Chapter 7: Advanced Workflow
Chapter 8: Web Content Management
Chapter 9: Security
Appendix A: API Reference and Examples
Appendix B: Alfresco Configuration Reference
The core strength of book is how it teaches developer to build dynamic web applications and services that access documents from the Alfresco repository (which may be the core strength of Alfresco too)
Download the code and support files for this book.
Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.
Errata- 13 submitted: last submission 06 Aug 2012
Errata type: Code | Page number: 285
deploy alfresco|extension |workflows|Hello-world|processdefinition.xml should be deploy alfresco|extension|workflows|HelloWorld|processdefinition.xml
Errata type: Code | Page number: 222
The code that is provided with the book includes “/someco” in the descriptor, so that is part of the URL. But the snippet in the book omits the “/someco” in the descriptor which means the URLs should not contain “/someco”. So remove “/someco” from the URLs on page 222 and then the code snippets in the book will be consistent with the rest of the text or correct the book to match the source code.
Errata type: Code | Page number: 104
Error boolean activeFlag = (Boolean)action.getParameterValue(PARAM_ACTIVE); Correct Boolean activeFlag = (Boolean)action.getParameterValue(PARAM_ACTIVE);
Errata type: Code | Page number: 87
In the script "createContent.js" : whitepaperNode.addAspect(sc:webable); should be replaced by : whitepaperNode.addAspect("sc:webable"); (with double quotes) Otherwise when executing the script, an error occurs.
Errata type: Code | Page number: 78
Create a new class in your java|src should be Create a new class in your src|java
Errata type: Code | Page number: 34
Building alfresco from source Step 3 It should be: "ant build.xml" -> "ant -f build.xml" instead of: "ant build.xml" -> "ant build.xml"
Errata type: Code | Page number: 445
WEB-INF|alfresco|classes|alfresco|mode|permissionDefinitions.xml should be WEB-INF|classes|alfresco|model|permissionDefinitions.xml
Errata type: Code | Page number: 375
The fourth bullet under #11 should reference the file "application-context.xml" rather than "application-config.xml
Errata type: Others | Page number: 47
The text at the bottom of the page states: "More details on working with AMPs can be found in the Appendix".Here Appendix refers to Appendix C which is available on our web site.
Errata type: Typo | Page number: 469
Under the heading SiteService (3.0 Labs),change "Spring Bean ID ScriptService" to "Spring Bean ID Site Service".
Errata type: Code | Page number: 80
Code in numbered bullet 2 : Change config evaluator to <config evaluator
Also in sc:marketingDoc" />++, the ++ should be removed.
Errata type: Code | Page number: 104
The numbered bullet 1 should read:
Create a new class in your src | java directory called com.someco.web.action.executer.SetWebFlag.
Errata type: Code | Page numbers: 284
In step 4, setting logging to debug we have to set log4j.logger.org.alfresco.repo.jscript.ScriptLogger=debug instead of log4j.logger.org.alfresco.repo.jscript ;
What you will learn from this book
- Set up your development environment using Eclipse, Apache Ant, and MySQL
- Extend Alfresco's content model with business-specific metadata
- Customize the Alfresco web client with new UI actions, JavaServer Faces components, custom JSPs, dialogs, and wizards
- Roll your own REST API to enable a front-end web site to interact with the repository via AJAX
- Create a web form to allow non-technical content owners to contribute content into the repository, transform the content using XSLT and FreeMarker, and expos the content via REST
- Expose the WCM deployment actions external to the Alfresco web client using the AVM API and RESTful web scripts
- Secure the repository by defining custom roles, configuring Alfresco to authenticate against LDAP (including setting up your own OpenLDAP server), and integrating Alfresco with JA-SIG CAS, an open source Single Sign-On (SSO) solution
Alfresco is an open source platform for Enterprise Content Management (ECM) solutions. ECM includes things like Document Management, Web Content Management, Collaboration/Enterprise 2.0, Digital Asset Management, Records Management, and Imaging. At its core is a repository for rich content like documents, web assets, XML, and multimedia. The repository is surrounded by a services layer (supporting both SOAP and REST) that makes getting content into and out of the repository a breeze, which is why so many next generation Internet solutions are built on Alfresco.
This book takes you through a set of exercises as if you were rolling out and customizing the platform for a fictional organization called SomeCo, which wants to roll out Alfresco enterprise-wide. Each department has a set of requirements that need addressed. We will show you how to extend Alfresco to meet these requirements. By the time you've worked through the entire book, you will be familiar with the entire platform. You'll be prepared to make your own customizations whether they are part of a Document Management solution, a web site that uses Alfresco for content storage, or an entire custom application built on Alfresco's REST API. This book will give you the knowledge and confidence you need to make Alfresco do what you need it to do
Alfresco Developer Guide walks you through the customizations made as part of an enterprise-wide rollout of Alfresco; from custom actions to RESTful web scripts and everything in between.
Jeff Potts, Optaros' ECM Practice Director, blogger, and Alfresco's Community Contributor of the Year, takes you step-by-step through advanced customization examples. Whether it is customizing Alfresco's web client or creating your own application that interact with Alfresco via RESTful web scripts, it is all covered here.
This book focuses on teaching by example. Every chapter provides a bit of an overview, and then dives right in to hands-on examples so you can see and play with the solution in your own environment. All code samples run on both the latest Enterprise and Labs release.
Who this book is for
This book will be most useful to developers who are writing code to customize Alfresco for their organization or who are creating custom applications that sit on top of Alfresco.
This book is for Java developers, and you will get most from the book if you already work with Java but you need not have prior experience on Alfresco. Although Alfresco makes heavy use of open source frameworks such as Spring, Hibernate, JavaServer Faces, and Lucene, no prior experience using these is assumed or necessary.