This document provides an overview of the Alfresco content management platform, including its architecture, development model, and features. Alfresco is an open source enterprise content management system that can manage files and metadata. It provides versioning, security, and a workflow engine. Developers can build custom applications using its APIs, Spring framework, and web script capabilities.
4. Alfresco Overview Alfresco is an Enterprise Content Management platform Can manage any kind of file Stores the file and metadata about the file Metadata model is extensible All content and metadata is searchable Files can be secured to specific users and groups
5. Alfresco Overview (Cont’d) Provides versioning and check-in/check-out Has a built-in workflow engine Can be accessed through a browser or from desktop applications via CIFS, WebDAV, FTP, IMAP, etc. Community Edition (Community supported) Enterprise Edition (Alfresco supported for a paid subscription)
6. Origins Founded in 2005 John Newton Founding developer of Ingres Co-founded Documentum John Powell COO of Business Objects President of Oracle UK Lots of Engineers from Documentum, Interwoven, Vignette Assembled from Open Source components
8. Add-ons WCM QuickStart Sharepoint integration Google Docs integration Facebook integration Plus many add-ons and extensions available from the community Alfresco Forge Google Code Github Alfresco Wiki Alfresco Community Committer Program (ACCP)
9. What can I do with it? Out-of-the-box Document Management Web Content Management Team/Project Collaboration Records Management Imaging/Digital Asset Management Sharepoint Replacement Custom content-centric applications Lots of options here API’s discussed later Source: craigrodway
10. Obtaining Alfresco Requirements An operating system that can run Java A servletcontainer such as Tomcat or JBoss A Hibernate-compliant database Where to get it Alfresco home page Public SVN for Community source Alfresco Customer/Partner site for Enterprise binaries Private SVN for Enterprisesource
11. Obtaining Alfresco (cont’d) Distribution Repository (bundled with Tomcat or WAR-only) Includes Alfresco Explorer and Alfresco Share SDK WCM add-on WCM FSR deployment process Source includes all of the above
12. Installing Alfresco Alfresco deploys as a web application Alfresco-Tomcat bundle Unzip, update the startup script (if needed) and run If no specific database is provided, an embedded database will be used Alfresco WAR file Deploys like any other WAR By default, looks for MySQL db alfresco/alfresco
21. Data Modeling Repository is a collection of nodes Everything is a node, nodes are typed Content Model is expressed in XML Cold-deploy most common, hot deploy possible Types, aspects, properties, associations, constraints Hierarchical Types inherit from super types
22. Forms/UI Config Forms are modeled in XML Form Service Processes and persists form data Filters for intercepting form data before and after form submit RESTful API for retrieving form model as JSON
25. Security - Authentication Spring Security Framework (ACEGI) under the covers Alfresco can handle it or pass it off to others ActiveDirectory LDAP Kerberos NTLM SSO Custom Source: rooreynolds
27. What is the Web Script Framework? Web Script Framework used to declare a URL, bind it to logic, provide views Model-View-Controller pattern Controller implemented in JavaScript or Java Views implemented in FreeMarker Deployed to the repository or the classpath Part of the Spring Surf Projecthttp://springsurf.org/
28. What is Spring Surf? Web application development framework built on web scripts Essentially web scripts++ Page definition Declarative handshakes to HTTP end points Page, page type, and object dispatching Includes built-in hooks for talking to Alfresco and loading objects from the repository
29. What is CMIS? OASIS standard Alfresco, IBM, Microsoft, Oracle, FileNet support Alfresco was first to production with CMIS Two parts Interoperability through standard SOAP and Atom Pub bindings SQL-based query language for rich content repositories New JSON binding coming soon
30. What is CMIS? (Cont’d) Think of it as a language-independent, repository-independent API for content management CRUD functions for nodes Check-in/check-out Associations Permissions (Access Control Lists) Policies Queries Repository traversal
32. For More Information… Alfresco Community http://www.alfresco.org Alfresco Forums http://forums.alfresco.com Alfresco Wiki http://wiki.alfresco.com Alfresco Blogroll http://blogs.alfresco.com/planet/ ECM Architect http://ecmarchitect.com