Alfresco WCM in an Hour Michael Farman www.alfresco.com
Agenda ●
Introduction
●
Alfresco's Model for WCM ● Production Model ● Deployment
●
What type of uses are supported?
●
User Roles
●
Authoring Content
●
Previewing Updates
●
Reviewing and Approving Updates
●
Tracking Updates
●
Deployment
●
Demonstration
●
Further Information
●
Q and A
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 • • •
●
Enterprise - No license fees, annual support subscription • • •
●
Limited QA NO support Use at your own risk! Production Ready Service Level Agreement Warranty and Indemnity
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 v’s Dynamic Runtimes ● Alfresco Runtimes ● Deployment
Alfresco’s Model for WCM
●
Low traffic
●
High traffic
●
Read / write
●
Read mostly
●
Alfresco focuses on:
●
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
Alfresco’s 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…..
.
S tatic
Dynamic
D elivery technology
Web s ervers
Application servers
P age compositing
S ubmission time
R eques t time
D eployment mechanism
Filesys tem
Alfresco R untime
P ers onalization
Limited
Unlimited
P erformance
Ultimate
Less than static
Application developer s killsets
Freemarker, X S LT, X S LT-FO
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.
Deployment – Static
Deployment – Dynamic
Deployment – Hybrid
What types of users are supported? ●
Web Designers / Developers ● ● ●
●
Application Developers ●
●
XML-based publishing, transformation, preview
Content Reviewers ●
●
Code versioning, testing, staging
Content Managers / Web Publishers ●
●
Support any tool for authoring, development Support any number, type of website Integrated staging, preview, and deployment
Email-based task notification, management
Content Contributors ● ●
Drag-and-drop Word document Automatic transformation, publishing to Web
What types of users are supported? ● WCM Roles ● Content Manager ● Content Publisher
Editorial Power
● Content Contributor ● Content Reviewer
Role
Relative User Population
Content Manager
Few
Content Publisher
Some
Content Contributor
Many
Content Reviewer
Implementation Dependent
What types of users are supported? ● WCM Roles ●
●
Content Manager ● Build Import content into the staging sandbox ● Invite users to the Web Project ● Perform any action in any user sandbox Content Publisher ● Create/Edit/Delete Content from within their own sandbox ● Submit to the Staging area
●
Content Contributor ● Create/Edit content within their sandbox ● Submit content from within their sandbox to the Staging area
●
Content Reviewer ● Edit content in their own sandbox ● Submit content from within their sandbox to the Staging area ● Note: Cannot create new content
Authoring Content ● Web Forms ● ● ● ● ●
XML Schema XForms Form Library and Form Configuration Templates (XSLT, Freemarker, XSL-FO, Custom) Multi-channel output (renditions)
● Support for wizard-driven content authoring ● ● ●
Enforce rules for content authoring Enable complex authoring Enforce rules for content generation
Authoring Content ● Web Forms
Authoring Content Web Forms ●
Web Forms ● Simple Wizard based content authoring
●
Form Definition ● XML Schema •
W YS IW YG editor with formatting options, Text area, C heckbox, S lider control, Time picker, R adio buttons, dropdown, As set picker and more
1) Generate XML - content
●
Template Processing ● 1 – Many Formatting Templates ● XSLT, XSLT-FO and Freemarker • •
Multiple output Generate HTML, Text, PDF, JSP……
2) Generate assets - presentation
Authoring Content Web Forms Alfresco uses XML Schema to define web content entry forms. For this purpose it uses the Chiba forms engine, an open source implementation of the XForms standard.
Authoring Content Template Processing Alfresco provides 3 server-side templating languages: XSLT, XSLT-FO and Freemarker. After a content item (XML file) is created, each template configured for that content type is executed, producing an output file per template.
Typical output formats include HTML, JSP, PDF etc.
Web Forms Are Content Too! Managed in the repository Web Forms and their associated output templates are global to an Alfresco installation and must be associated to a Web Project before they can be used within that Web Project. You can view all configured Web Forms by navigating to: Company Home > Data Dictionary > Web Forms
Authoring Content File System Access ● Filesystem Projection ● CIFS projection provides: ● ● ●
Access to all available sandboxes (HEAD) Access to all available layers (preview, review) Access to all available snapshots Contained in special top-level VERSIONS directory Available as read-only views
●
Access to all available file metadata Contained in special top-level METADATA directory Accessed as normal files Metadata file names, dir structure mimic regular site
Authoring Content File System Access ● Filesystem Projection
Previewing Updates ● Virtualisation ●
Isolated preview environment for every user sandbox and the staging sandbox • •
● ●
No physical servers required Users only see their changes
Supports preview of modified content & code (JSP pages, class files, jars) Minimizes in-memory footprint
● User Sandbox ●
Preview, undo, check links for individual updates and sites
● Staging Sandbox ● ● ●
Preview all approved updates Review snapshots (previous versions) Revert to previous
Previewing Updates User Sandbox Preview All Updates
Preview Individual Updates Undo Updates
Reviewing and Approving Updates ● Change Sets and Workflows ●
Tasks
Contain an entire change set Includes deleted files and folders XML and generated output always associated within context of a task Cannot promote an XML or a generated without promoting the other associated assets
●
Review Layers
Any change set associated with a task isolated in own review layer within user’s sandbox Reviewers see in-context view of user’s changes against current site User’s can continue to work in sandbox without breaking the reviewer’s context
● Workflow configuration ● ●
Workflows can be configured for each form or for any arbitrary set of non-form assets Sample n-reviewer serial and parallel review configurable OOTB Includes email notification and email-based task management
Reviewing and Approving Updates ● Submit Content ●
Submission details ● Change Set
●
Check Links ● Link Validation Report • href, src, includes
●
Workflow - Review, Approve and Publish ● Serial/Parallel ● Email integration
●
Content Launch/Expiry ● Date & Time – Auto review ● Change set/individual assets
●
List of submitted assets
Tracking Updates ● Versioning ● ● ● ●
File versioning Directory versioning Snapshoting Rollback
● Automatic support for site snapshots, rollback to any snapshot ● ● ●
Each submission versions each file & parent directories Each submission snapshots staging sandbox Each snapshot available for rollback Recovers deletions, moves, renames, etc. Allows website to rollback to any point in time
Tracking Updates Staging Sandbox Snapshots
Site Snapshots - Rollback to any previous version of the site
Deploying Updates Manual or Automatic ● Deploy Staging to 1 or more: ● ●
Remote File Servers Alfresco runtime servers
● Can also deploy any snapshots ● Monitoring and logging ● Transactional ● Incremental
Alfresco WCM In Action
Demo
Further Information ●
WCM Evaluation Guide ● Link from http://wiki.alfresco.com
●
Content Community ● http://www.alfresco.com ● AMPs, Documentation, Tutorial, Tech Tips
●
Alfresco Wiki ● Detailed 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
Q and A
Alfresco WCM in an Hour
Thank you for Attending
Alfresco WCM in an Hour Michael Farman www.alfresco.com
Alfresco WCM in an Hour Michael Farman www.alfresco.com