wcm-7 surfing with cmis

33
Surfing with CMIS Ben Dougherty

Upload: alfresco-software

Post on 05-Dec-2014

2.214 views

Category:

Technology


1 download

DESCRIPTION

There is a high demand for companies to publish and promote their content on the web. To accommodate this demand Alfresco has provided a number of solutions covering editorial to web tier. As an example of this demand Ixxus was commissioned by a leading business information publisher to produce a microsite for ‘teaser’ content to increase subscriptions of their main site. To deliver this Ixxus utilized a number of features provided by Alfresco, such as services like the Transfer Service, the web scripts framework, and Surf. The majority of these features now make up the mainstay of Alfresco’s Web Quick Start WCM solution. The goal of this session is to demonstrate a real world example of how the combination of Alfresco, Surf and CMIS offers a great platform for developers to produce content-rich websites quickly. The session will cover: Using Spring Roo to construct a Surf application, Benefits of using Spring Surf, Using the Transfer Service, OpenCMIS in Surf, Varnish your Surf application, and What’s next

TRANSCRIPT

Page 1: WCM-7 Surfing with CMIS

Surfing with CMIS!

Ben Dougherty!

Page 2: WCM-7 Surfing with CMIS

Contents!

•  analysis.businessmonitor.com!•  Surf Framework!•  Developer tools!•  Transfer service!•  OpenCMIS!•  Performance!•  Whatʼs next!

Page 3: WCM-7 Surfing with CMIS

analysis.businessmonitor.com!

Business Monitor International •  BMI provide data, analysis, ratings and forecast content!•  Industry research, Country risk and financial market analysis!•  175 countries and 22 industry sectors !•  Provide subscription services!•  Main site www.businessmonitor.com!

Page 4: WCM-7 Surfing with CMIS

analysis.businessmonitor.com!

analysis.businessmonitor.com

•  A microsite for www.businessmonitor.com!•  Increase subscription numbers and capture leads!•  Provide teaser content!•  Ability to register interest!•  Connect to existing SalesLogix system!•  Provide a/b testing!•  seo friendly design!

Page 5: WCM-7 Surfing with CMIS

analysis.businessmonitor.com!

Page 6: WCM-7 Surfing with CMIS

analysis.businessmonitor.com!

Main pages

•  Home!•  Intelligence!•  Registration!

Page 7: WCM-7 Surfing with CMIS

analysis.businessmonitor.com!

Home page

•  Header and footer!•  Carousel!•  Description!•  Latest intelligence!

Page 8: WCM-7 Surfing with CMIS

analysis.businessmonitor.com!

Navigation bar

•  Tabbed categories!•  Region!•  Country!•  Industry!

•  Navigation options reduce on selection!

Page 9: WCM-7 Surfing with CMIS

analysis.businessmonitor.com!

Intelligence page

•  Filter column to refine selection!

•  Ajax call to populate filter!•  Tabbed component!•  List of most recent

research articles!•  View Full Story navigates

to registration page!•  RESTFul urls!

Page 10: WCM-7 Surfing with CMIS

analysis.businessmonitor.com!

Page 11: WCM-7 Surfing with CMIS

analysis.businessmonitor.com!

Registration page

•  Retains the current context!•  Auto selects area and

interest !•  User selects other areas

interest!•  SalesLogix integration!•  a/b tests!

Page 12: WCM-7 Surfing with CMIS

analysis.businessmonitor.com!

Items of note

•  Content authored and held in Alfresco!•  Only rendition content!•  CMIS query to retrieve most recent articles!•  Context specific queries!•  No java code!•  Script root object extensions!

Page 13: WCM-7 Surfing with CMIS

Surf Framework!

What is Surf?

•  View composition plug-in for SpringWeb MVC !•  Allows modelling of website through XML!•  Can build interfaces with script and templates without java!•  Scripting API though root scoped objects!•  Webscript framework used as component renderers!

Page 14: WCM-7 Surfing with CMIS

Surf Framework!

Surf object model

•  Define parts of web site!•  Chrome borders!•  Component type!•  Component!•  Page!•  Page association!•  Template type!•  Template!•  Theme!

Page 15: WCM-7 Surfing with CMIS

Surf Framework!

Templates and Regions

•  FreeMarker, PHP, and XSL!•  Create layouts that can be

reused!•  Define regions with scope!

Page 16: WCM-7 Surfing with CMIS

Surf Framework!

Region scope

•  Global!•  Template!•  Page!

Page 17: WCM-7 Surfing with CMIS

Surf Framework!

Request architecture

Spring  Applica,on  Context  

Controllers   View  

1  

Model  

Spring  MVC  Dispatcher  

Request  

2  

Services  

3  

4  

7  

Response  

6  

Web  Script  Run,me  

5  

Web  Script  Run,me  

Page 18: WCM-7 Surfing with CMIS

Surf Framework!

Surf API

•  root scoped objects!•  Available in script and

templates!•  remote!•  sitedata!•  user!•  context!

Page 19: WCM-7 Surfing with CMIS

Developer tools!

SpringSource Tool Suite

•  Spring project and bean file wizards!•  Graphical Spring configuration editor!•  SpringSource tc Server deployment!•  Provides editors!•  Roo project wizard and shell!•  Surf specific extension!

Page 20: WCM-7 Surfing with CMIS

Developer tools!

Roo

•  SpringSource project!•  Rapid application development tool!•  Command line driven!•  SpringSurf Roo commands Add-on!•  Commands aid surf site construction!

Page 21: WCM-7 Surfing with CMIS

Developer tools!

Create project with roo

•  Create new roo project !•  New->Project..->Roo Project!•  Enter project name!•  Enter package name!•  Click finish!

•  Produces top level project!•  Spring Application context!•  Maven enabled!

Page 22: WCM-7 Surfing with CMIS

Developer tools - Roo!Install Surf artifacts

•  Open Roo Shell!•  Surf install!

•  Surf site structure!•  Example pages and components!•  Updates maven pom!

•  Deployable application!•  mvn clean package jetty:run!

Page 23: WCM-7 Surfing with CMIS

Developer tools - Roo!

•  surf addon install!•  surf addon list!•  surf component create!•  surf component list!•  surf component property create!•  surf component resource create!•  surf content association create!•  surf page association create!•  surf page association list!•  surf page create!

•  surf page list!•  surf report page!•  surf site create!•  surf template create!•  surf template instance create!•  surf template instance list!•  surf template list!•  surf template region list!•  surf webscript list!

Roo command extensions

Page 24: WCM-7 Surfing with CMIS

Using Transfer Service!

Requirement

•  Publish articles to web tier!•  Scheduled!•  Batched!•  Categories ʻflattenedʼ to

properties!•  Handle failed transactions!•  User interface view queue!•  Provide reports!

Page 25: WCM-7 Surfing with CMIS

Transfer Service!

What is it?

•  New feature in 3.3!•  Transfer target!•  Node crawler build set of

nodes!•  Manifest created!•  Manifest sent to target server!•  Required node list returned!•  Provides events to monitor

transfer status!

Page 26: WCM-7 Surfing with CMIS

Transfer customizations

•  Bulk transfer action!•  Present transfer queue!•  A flattened aspect!•  A Scheduled service to batch transfer!•  Handled failures!•  Receiver code!

Page 27: WCM-7 Surfing with CMIS

Transfer Service!

Changes in 3.4

•  Replication service!•  Sync mode!•  Transferred and alien aspect!•  Read only option!

Changes in 4

•  Transfer to file system!

Page 28: WCM-7 Surfing with CMIS

OpenCMIS!

CMIS

•  Common data model!•  Services!

•  Repository!•  Object!•  Discovery services!•  Versioning!•  ACL!

•  SOAP and REST bindings!

Page 29: WCM-7 Surfing with CMIS

OpenCMIS!

CheMIStry

•  Implementation of CMIS specification!•  Client and server libraries in java!•  Single point of access!•  Cache objects!•  CMIS Workbench!

Page 30: WCM-7 Surfing with CMIS

OpenCMIS!

Use in analysis

•  Query filtered by context and type!•  Only rendition objects!•  Use of spring-cmis-components !•  No java code use with query!•  Easy to enable in maven!

Page 31: WCM-7 Surfing with CMIS

Performance!

Analysis improvements

•  OpenCMIS OperationContext !•  Rendition filter!•  Disable unwanted information like Acls, relationships, policies etc!•  Enable object cache!•  Set maximum results!

•  Select named properties in CMIS Query!•  Modeled types and aspects for simpler query!•  Varnish!•  CDN!

Page 32: WCM-7 Surfing with CMIS

Whatʼs next?!

•  Upgrade from 3.3!•  Transfer service improvements!•  Replication service!•  Search optimizations!

•  WCM author static content!•  Disable permission checks!•  Dynamic Asset Collections!•  Mapping file managed in Alfresco!

Page 33: WCM-7 Surfing with CMIS

Q and A!