Alfresco Study
By : Yashjit Teotia
Agenda
Introduction User Interface The Basics Spaces and Content Creating and Editing Content Permissions Searching Collaboration Versioning Check in/out Forums and Discussions Automating Tasks Rules and Actions Simple Workflow Demonstration Further Information Q and A
What is Alfresco?
Alfresco is the Open Source Alternative to Enterprise Content Management (ECM)
Document Management
Records Management
Collaboration
Web Content Management
What does it do?
Facilitates the collaborative creation and organization of all content. Manages content lifecycle and track changes. Includes email notifications, RSS, personalized dashboards and more Accessible Alfresco Web Client, FTP, WebDAV, CIFS (network share), MS Office Add-in. Alfresco Web Content Management Authoring, Virtualization, Staging and Deployment for Web Site Management
Feature Overview
Web Client
Java and SOAP API Virtual File Server
Site 2 Site 1
Alfresco Virtual Machine
Site 3
Alfresco ECM Repository
Versioning Search Workflow Scripting Security Templates Modeling X-Forms
Document Management Multi-Channel Web Content Management Filesystem Interface
FTP, WebDAV, CIFS
Transformations
Rules Engine
Metadata Modeling BPM-Based Workflow Multiple APIs
LDAP Directory
Database
Java, JSR-170 (JCR), SOAP (.NET, PHP, Ruby, Java)
Broad Platform Support
Community or Enterprise?
Community Development Version Experimental; Minimal Testing Functionally Equivalent
Enterprise Functionally Equivalent
Same Code Base
Same Code Base
Nightly builds available. Support via Wiki and Forums
No SLA
Rigorous QA and Fixes Production Quality Regular Maintenance Releases Officially Supported
Guaranteed SLA Email Telephone Developer Support (Optional) Certified SI Partners
Alfresco Connect for Enterprise (ACE)*
* Available Q3 07
Where do I get it?
Installers for Windows & Linux AlfrescoCommunity-2.0-Setup.exe AlfrescoCommunity-2.0-Linuxx86-Install Includes: Alfresco, Tomcat, JDK, Database (HSQL DB) and OpenOffice Community Links from www.alfresco.com SourceForge Downloads
Enterprise Register at www.alfresco.com Hosted Trial
Self Contained Bundles alfresco-community-tomcat2.0.0.zip alfresco-community-tomcat2.0.0.tar.gz Includes: Alfresco, Tomcat and Database (HSQL DB) Download JDK, OpenOffice (Optional) Separately
30 Days Followed by 30 days read only Email Support: [email protected] 30 Days All Clients Same bundles as Community Email Support: [email protected]
Downloadable Enterprise Trial
What is a Space?
Just like a folder, but capable of more Can hold any type of content Give a description and choose an icon Add sub-spaces and content View/Modify details about a space Smart Spaces Rules Work with other users Map to Windows network folder
What is Content?
Often can be thought of as a file or document Made of two main elements The content itself Information about the content (meta-data) Content Anything: documents, video, audio, images, XML, HTML
Properties Format, language, creator, dates Classifications Links to related content
Translations Different formats (e.g. PDF, HTML, Text) OCRd text of scanned image
Creating and Editing Content
HTML or plain Text created and edited in-line WYSIWYG editor in the browser Upload content Select file from user computer in the browser Network folders, FTP and WebDAV Download from Alfresco to user computer Standard browser feature, choose where to save Network folders, FTP and WebDAV Update documents by uploading changed file Edit Microsoft Office documents directly
Searching Content
Combined search of both contents and properties Full-text search Any words in content, regardless of format Best-match based on number of matched words Property constraints By category Between dates Custom properties Path constraints Only content below a given space
OpenSearch
Standard Interface Client IE7 and Firefox Server Alfresco Repositories 3rd Party Applications Shelf and My Alfresco Dashlet One Interface for all Searches Google eBay Wikipedia Alfresco Auto-Discovery Language Aware For setup details see:
http://wiki.alfresco.com/wiki/OpenSearch Alfresco as an OpenSearch Server Alfresco as an OpenSearch Client
Forums and Discussions
Forum spaces may be defined to contain Forums Using Advanced Space Wizard From Scratch Forums may also be associated with spaces and content items Using the Start Discussion action Discussions move with the item Forums contain Topics which contain Posts Posts may have Replies Searchable
Using Versioning
Allows a history of previous versions of an item to be kept A new version is created when content is saved, by default An item needs to be versionable for versions to be kept Individually, via smart spaces, by type or globally An example of an aspect Can look at version history, view previous versions of content future, revert to version Content id always points to the most recent version
Check In and Check Out
Check Out locks the item and creates a working copy which can be edited (content and details) Everyone else can just view the item Check In replaces the original item with the working copy and releases the lock
Rules and Actions Conditions
Rules are applied to a Space Rules make a space Smart Rules are triggered by an Event Inbound - content arriving into a space Outbound content leaving a space, moved, deleted Update content being modified Rules are filtered based on conditions All Items (no filter) Items with a specific MIME Type (e.g. .pdf) Specific Content Type Applied to a specific aspect File name pattern (e.g. *-context.xml) Falls within a Category (e.g. Region, Language) Rule filter can be applied to NOT e.g. not in MIME Type *.pdf No limit on the number of conditions that can be applied to each rule
Rules and Actions Actions
Items that successfully meet the rule conditions have an Action applied to them Actions can triggered to run manually No limit on the number of Actions per rule Rules are used to organise, structure, enrich content in the repository Used in conjunction with: Alfresco Web Client FTP WebDAV CIFS (Shared Network Folder) Web Services API Use your imagination
Simple Workflow
Special case of a Rule Applies automated management of document lifecycles Moves / Copies content based on user actions
Space Templates
Re-useable templates of spaces and content Create a library of standard projects Different types of projects have different structures Standardized documents Standardized management Create a template in the same way as a space Add sub-spaces and content Create spaces based on other spaces
Accessing Content Without The Alfresco Client
CIFS Root URL: \\<machine name>_A\Alfresco Same as a network share folder Can mount as a share drive Drag and Drop files into Alfresco Edit content directly with other programs Network folders can be smart spaces Provides user with a link to the same space in the web client FTP/WebDAV/CIFS All rules are applied All permissions are enforced If versioning is enabled, then content will be versioned
Alfresco WCM
Add-on Module to Alfresco Content Repository All DM and WCM capabilities available within a single repository Complementary Content and Web Content services Community and Enterprise Versions Community - Free to use
Limited QA NO support Use at your own risk! Production Ready Service Level Agreement Warranty and Indemnity
Enterprise - No license fees, annual support subscription
See Alfresco in an Hour in the Content Community for more information on core repository services.
Alfresco s Model for WCM
Content Production Production Model
Sandboxes Transparent Layers
Workflow Roles Content Modelling Versioning Virtualisation Filesystem Projection
Content Delivery Static vs Dynamic Runtimes Alfresco Runtimes Deployment
Alfrescos Model for WCM
Low traffic Read / write Alfresco focuses on:
High traffic Read mostly Alfresco focuses on:
Ease of content entry Content QA (workflow / approval) Version control / rollback
Deployment Flexibility Technology agnosticism Performance / scalability
Production Model
Production Model Transparent Layers
No changes yet made
Production Model Transparent Layers
Alice creates a new page called "products.html"
Production Model Transparent Layers
Alice edits "index.html" to add a link to her new page
Production Model Transparent Layers
Alice submits her changes (change set) to workflow, they are approved and promoted to staging
Alfrescos Model for WCM
Deployment In a Nutshell
What kind of sites can Alfresco manage?
Static or Dynamic or Both
Static HTML, Images Dynamic - JSP, ASP, Coldfusion, PHP..
. Delivery technology Page compositing Deployment mechanism Personalization Performance Application developer skill-sets Static Web servers Submission time Filesystem Limited Ultimate Freemarker, XSLT, XSLT-FO Dynamic Application servers Request time Alfresco Runtime Unlimited Less than static Any web technology
Alfresco Runtimes
Runtime Repository (in production) Can be used: As the search engine for the web site (applicable for both dynamic and static web sites) As a runtime content store that can be queried by a dynamic web application.
Web Scripts REST (HTTP) Based Technology Independent Data Access API HTML, XML, Text, JSON, Atom, RSS..... Supports cached results Authentication Can be used to provide: Search Navigation Dynamic Page Assembly
A Hybrid Model?
Hybrid Mix Static and Dynamic Page Composition Options Inside Out Each page is dynamic and includes all page components dynamically (regardless of whether those components are static or dynamic) Outside In
Each page is static HTML with static components already embedded, but dynamic components included via an inclusion mechanism (eg. server side includes)
Note: The tradeoff between these two models is management complexity vs runtime performance.
Share Core Concepts
New Collaboration Application
Document Management Collaboration Social Networking
Sites
Teams or projects maintain their own collaboration site Collaboration sites are websites
Sites and site pages are bookmarkable Configurable by business users from a library of UI components
Site Components
Site Dashboards, DocLibrary, Wiki, Blog, Discussions (Forums), Calendar
Activities Service Personal Dashboards
Share Sites
Sites
Collaboration areas for extranets, new products, communities of interest/practice and more Set of themed, templated collaboration sites
Site Dashboard
Configurable by Site Manager Layout Templates Dashlets
Site Components
Library of Web-script-based GUI components Add/remove components
Personal Dashboard
Activities Rich profile management avatars, contact info
Share Page Components
DocLibrary
Multi-file upload Multi-select operations
Wiki
WYSIWYG editing and Simple Wiki Markup Version History Comments Publish MediaWiki
e.g copy/move
Commenting Social Tagging Filters Thumbnails Flash Previews
Blog
WYSIWYG editing Publish to WordPress & TypePad
Discussions
Threaded Commenting
Calendar
Day/Week/Month and Agenda views
iCal support
Share Site and Personal Dashboards
Drag n Drop Configuration Dashlets Calendar
Site and Personal Rollups consolidate view from all my calendars Events automatically posted by actions in other components E.g add document, edit document, new calendar event etc
Activities People Finder Site Finder RSS Feeds
Flash Document Viewer
Automatic Generation of Flash Renditions including:
Word, PowerPoint, Excel OpenOffice And more
Pluggable Rendition Engine
Flash Video/Audio
Reduced Bandwidth High Performance Viewing Remove Client Application Dependencies
38
Share Services
Activities Exposed via Dashlets and Feeds Tagging Searching, Filtering Thumbnail Automatic Previews Site Creating, invites, membership, management
Share APIs
Standardised Public API
REST based Language independent Developer productivity
Examples:
Create site Invite Members Create blog post Create calendar event ...
See http://wiki.alfresco.com/wiki/3.0_REST_API for full details
Further Information
Content Community http://www.alfresco.com AMPs, Documentation, Tutorial, Tech Tips Alfresco Wiki Technical information on configuration, administration and customisation http://wiki.alfresco.com Alfresco Forums Community Postings Alfresco Staff http://forums.alfresco.com Alfresco Forge Contributions from the community
E.g. Metadata extractors, transformations . http://forge.alfresco.com
Thank you for Attending
Alfresco
Yashjit Teotia Software Engineer