wcm-8 a tale of two web quick start implementations

39
A Tale of Two WQS Implementations

Upload: alfresco-software

Post on 08-Jul-2015

3.036 views

Category:

Technology


0 download

DESCRIPTION

This session will cover various topics related to developing a production Web Quick Start (WQS) website along with how to customize WQS. We’ll discuss a WQS website and WQS intranet implementation. We will dive into the details of each implementation and cover lessons learned.

TRANSCRIPT

Page 1: WCM-8 A Tale of Two Web Quick Start Implementations

A Tale of Two WQS Implementations!

Page 2: WCM-8 A Tale of Two Web Quick Start Implementations

About Me

!  President and CTO of Tribloom Inc. !  Customizing Alfresco since 2008 !  Many website and customized Share

implementations on Alfresco !  Would like to share my experiences with WQS

!  Twitter: MMcCarthy01 !  Blog: www.tribloom.com\blogs\michael

11/3/11 © Tribloom, Inc. 2011 2

Page 3: WCM-8 A Tale of Two Web Quick Start Implementations

What are we talking about?

!  Background !  Web Quick Start !  Website !   Intranet !  Demo !  Q&A

11/3/11 © Tribloom, Inc. 2011 3

Page 4: WCM-8 A Tale of Two Web Quick Start Implementations

Background

Client Seeking: !  Document management !  Website !   Intranet

Leading To: !   Increased process automation !  Reduced operating costs

The Answer? !  Alfresco

11/3/11 © Tribloom, Inc. 2011 4

Page 5: WCM-8 A Tale of Two Web Quick Start Implementations

Document Management – High Level

Goals: !  Replace existing shared drive infrastructure !  Each department has its own folder on shared drive !  Some documents on shared drive are shared on

company intranet Implementation:

!  Use company AD server for SSO !  Create Share site templates for departmental sites !  Bulk load some content !  Custom versioning scheme !  UI customizations !  Content modeling !  Advanced Workflow

11/3/11 © Tribloom, Inc. 2011 5

Page 6: WCM-8 A Tale of Two Web Quick Start Implementations

Website- High Level

Goals: !  Simple, professional, website for marketing and

information !  Content for website should be managed outside of IT

department !  Outside company produced website design

Implementation: !  Create company theme in WQS !  Custom pages, templates, and components !   Incorporate Lightbox for “image gallery”

11/3/11 © Tribloom, Inc. 2011 6

Page 7: WCM-8 A Tale of Two Web Quick Start Implementations

Intranet – High Level

Goals: !  Display links to content from departmental sites !  Display area for company links and applications !  Provide FAQ functionality !  Departments responsible for their own content !  Site search should find content in departmental sites

Implementation: !  Tie Share site content to Web Quick Start site using

aspects, associations, and behaviors !  FAQs articles are tagged to allow sorting !  Modify search query to return all content

11/3/11 © Tribloom, Inc. 2011 7

Page 8: WCM-8 A Tale of Two Web Quick Start Implementations

Web Quick Start

!  Why Web Quick Start !  How do you customize WQS (Surf) !  How do you customize WQS (WQS API)

11/3/11 © Tribloom, Inc. 2011 8

Page 9: WCM-8 A Tale of Two Web Quick Start Implementations

Why Web Quick Start?

Speed !  Quick implementation, about 5 weeks each

Ease of Use !  The end user can easily maintain existing content

and add new content without any technical skills Ease of Implementation

!  Easy integration with Alfresco repository !  WQS uses technologies we already know from

Alfresco (CMIS, Surf, Webscripts)

11/3/11 © Tribloom, Inc. 2011 9

Page 10: WCM-8 A Tale of Two Web Quick Start Implementations

How Do You Customize WQS? (Surf)

!  Sample finance and government sites are Spring Surf !  Similar to Share, overwrite or add “web” assets such

as JS, CSS, and images in webapps/wcmqs !  js !  css !  images

!  Recommended method is to create directories under webapps/wcmqs/WEB-INF/classes/surf !  site/pages – for XML files !  site/templates – for XML files !  Templates – for Freemarker files !  Webscripts – for webscript files

11/3/11 © Tribloom, Inc. 2011 10

Page 11: WCM-8 A Tale of Two Web Quick Start Implementations

Surf Override File Structure

11/3/11 © Tribloom, Inc. 2011 11

Page 12: WCM-8 A Tale of Two Web Quick Start Implementations

Surf Override File Structure (cont)

11/3/11 © Tribloom, Inc. 2011 12

Page 13: WCM-8 A Tale of Two Web Quick Start Implementations

How Do You Customize WQS? (WQS API)

WQS API !  The WQS API is written in Java and uses Spring !  Create subclasses as necessary and load them using

Spring !  Subclass:

!  Spring bean:

11/3/11 © Tribloom, Inc. 2011 13

Page 14: WCM-8 A Tale of Two Web Quick Start Implementations

How Do You Customize WQS? (WQS API)

!  Can build against WQS client API jar !  /webapps/wcmqs/WEB-INF/lib/*

!  May need to download the WQS source code and modify classes for extension !  Before:

!  After:

11/3/11 © Tribloom, Inc. 2011 14

Page 15: WCM-8 A Tale of Two Web Quick Start Implementations

The Website

!  Platform !  The good !  The bad

!  Publishing !  Customization details

!  Theme !  Pages, Templates,

& Components !  Webscripts !  Information schema !  Image gallery

11/3/11 © Tribloom, Inc. 2011 15

Page 16: WCM-8 A Tale of Two Web Quick Start Implementations

The Platform

!  SUSE Linux 11.1 !  MySQL 5.5.8 !  Tomcat 6.0.29 !   Java 1.6.0_24 !  Alfresco 3.4.2 initially, later Alfresco 3.4.3

!  There is a CMIS bug in 3.4.2

11/3/11 © Tribloom, Inc. 2011 16

Page 17: WCM-8 A Tale of Two Web Quick Start Implementations

Old New

11/3/11 © Tribloom, Inc. 2011 17

WQS Implementation #1 – The Website

Page 18: WCM-8 A Tale of Two Web Quick Start Implementations

The Website

The Best Of Times !  OOTB Finance and Government sites easy to modify !  Very little customization !  Most work was creating theme from static designs

11/3/11 © Tribloom, Inc. 2011 18

Page 19: WCM-8 A Tale of Two Web Quick Start Implementations

The Website

The Worst Of Times !  Download documents does not work OOTB (in IE)

(this has been fixed in later versions) !  Publishing from editorial to live is not cross server

OOTB, only simple single server publishing is supported OOTB without customization

11/3/11 © Tribloom, Inc. 2011 19

Page 20: WCM-8 A Tale of Two Web Quick Start Implementations

Single Server Publishing

Supported OOTB !  Transfer Service used

internally for Editorial to Live publishing

11/3/11 © Tribloom, Inc. 2011 20

Page 21: WCM-8 A Tale of Two Web Quick Start Implementations

Two Server Publishing

Not Supported OOTB !  Option 1: Replicate

Editorial to Delivery and republish from Editorial to Live there

!  Option 2: Publish on Editorial and transfer from Editorial to Delivery !  Use

onEndInboundTransfer policy to hook into Editorial Editorial to Live transfer and begin transfer to Delivery Live

11/3/11 © Tribloom, Inc. 2011 21

Page 22: WCM-8 A Tale of Two Web Quick Start Implementations

Website Customization Details

!  Theme !  Duplicate existing theme and modify CSS and

images /webapps/wcmqs/css/<theme>/* !  styles.css !  Some image files

!  Create custom pages, templates, components and webscripts

11/3/11 © Tribloom, Inc. 2011 22

Page 23: WCM-8 A Tale of Two Web Quick Start Implementations

Surf Page

!  Surf page XML binds to a URI !  Defines template instance !  Defines components

11/3/11 © Tribloom, Inc. 2011 23

Page 24: WCM-8 A Tale of Two Web Quick Start Implementations

Surf Template and Template Instance

11/3/11 © Tribloom, Inc. 2011 24

!  Defines template !  Defines components

!  Binds components to regions

Page 25: WCM-8 A Tale of Two Web Quick Start Implementations

Webscript

!  Descriptor

!  Controller

11/3/11 © Tribloom, Inc. 2011 25

Page 26: WCM-8 A Tale of Two Web Quick Start Implementations

Webscript (cont)

!  View

11/3/11 © Tribloom, Inc. 2011 26

Page 27: WCM-8 A Tale of Two Web Quick Start Implementations

Website Customization Details (cont)

!  WQS Share site information schema !  Create folders and collections (i.e. for image

collections on the side of each page)

11/3/11 © Tribloom, Inc. 2011 27

Page 28: WCM-8 A Tale of Two Web Quick Start Implementations

Website Customization Details (cont)

!   Image Gallery !  WQS already uses LightBox, incorporated it into

site to allow image gallery functionality

11/3/11 © Tribloom, Inc. 2011 28

Page 29: WCM-8 A Tale of Two Web Quick Start Implementations

The Intranet

!  The good !  The bad !  Customization details

!  Non WQS content !  Content model !  Object diagram !  Policies !  API extenstions !  Pages, Templates, & Components !  Searcy query

!  Information Schema

11/3/11 © Tribloom, Inc. 2011 29

Page 30: WCM-8 A Tale of Two Web Quick Start Implementations

Old New

11/3/11 © Tribloom, Inc. 2011 30

WQS Implementation #2 – The Intranet

Page 31: WCM-8 A Tale of Two Web Quick Start Implementations

The Intranet

The Best of Times !   It is easy to use the WQS API to access properties of

content that are not directly exposed via the API !   It is easy to override the search query

11/3/11 © Tribloom, Inc. 2011 31

Page 32: WCM-8 A Tale of Two Web Quick Start Implementations

The Intranet

The Worst of Times !  The WQS API needed some changes in order to

usefully extend the core classes (this has been fixed in later versions)

!  The Editorial to Live process does not work well with outside associations on WQS content, we needed to modify the process to re-create the association at the end of the transfer (this process is very similar to how you would create a two server publishing scheme)

11/3/11 © Tribloom, Inc. 2011 32

Page 33: WCM-8 A Tale of Two Web Quick Start Implementations

Intranet Customization Details

!  Biggest customization to display non-WQS content !  Content model changes

!  New aspects (internal/external links) !  Custom WQS article subclass with association to Share

site content

11/3/11 © Tribloom, Inc. 2011 33

Page 34: WCM-8 A Tale of Two Web Quick Start Implementations

Object Diagram

11/3/11 © Tribloom, Inc. 2011 34

fni:article fni:intranetContent

ws:article

fni:intranetExternalLink ws:image

fni:site

fni:app

Page 35: WCM-8 A Tale of Two Web Quick Start Implementations

Intranet Customization Details

!  Behaviors (Policies) !  Automatically create content in WQS when aspect added,

move when renamed or moved (need to move not rename for QName path to be accurate) !  onAddAspect !  onMoveNode

!  Automatically delete content from WQS when aspect removed or deleted !  onRemoveAspect !  beforeDeleteNode

!  Extensions to WQS API to handle non-WQS content !  AssetFactoryWebscriptImpl !  AssetImpl

11/3/11 © Tribloom, Inc. 2011 35

Page 36: WCM-8 A Tale of Two Web Quick Start Implementations

Intranet Customization Details (cont)

!  Custom components and webscripts to display !  Search modifications (updated query to include

associated non-WQS content) !  Duplicate

org.alfresco.module.org_alfresco_module_wcmquickstart.webscript.AssetSearch with corresponding descriptor

!  Other customizations !  Custom components and webscripts for “Apps”,

“Corporate Sites”, and FAQ !  Create folders and collections to easily maintain

11/3/11 © Tribloom, Inc. 2011 36

Page 37: WCM-8 A Tale of Two Web Quick Start Implementations

Conclusion

!  Building websites is quick and relatively painless using WQS

!  Since WQS uses Surf for a front end OOTB, it is easy to learn and requires little coding to create a custom feeling website

!  WQS provides easy management of website content for end users

11/3/11 © Tribloom, Inc. 2011 37

Page 38: WCM-8 A Tale of Two Web Quick Start Implementations

Demo

11/3/11 © Tribloom, Inc. 2011 38

Page 39: WCM-8 A Tale of Two Web Quick Start Implementations

Q&A

11/3/11 © Tribloom, Inc. 2011 39