SlideShare a Scribd company logo
1 of 33
Download to read offline
Surfing with CMIS!
    Ben Dougherty!
Contents!

  •    analysis.businessmonitor.com!
  •    Surf Framework!
  •    Developer tools!
  •    Transfer service!
  •    OpenCMIS!
  •    Performance!
  •    Whatʼs next!
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!
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!
analysis.businessmonitor.com!
analysis.businessmonitor.com!

Main pages
  •  Home!
  •  Intelligence!
  •  Registration!
analysis.businessmonitor.com!

Home page
  •    Header and footer!
  •    Carousel!
  •    Description!
  •    Latest intelligence!
analysis.businessmonitor.com!

Navigation bar
  •  Tabbed categories!
    •    Region!
    •    Country!
    •    Industry!
  •  Navigation options reduce
     on selection!
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!
analysis.businessmonitor.com!
analysis.businessmonitor.com!

Registration page
  •  Retains the current context!
  •  Auto selects area and
     interest !
  •  User selects other areas
     interest!
  •  SalesLogix integration!
  •  a/b tests!
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!
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!
Surf Framework!
Surf object model
  •    Define parts of web site!
  •    Chrome borders!
  •    Component type!
  •    Component!
  •    Page!
  •    Page association!
  •    Template type!
  •    Template!
  •    Theme!
Surf Framework!
Templates and Regions
  •  FreeMarker, PHP, and XSL!
  •  Create layouts that can be
     reused!
  •  Define regions with scope!
Surf Framework!
Region scope
  •  Global!
  •  Template!
  •  Page!
Surf Framework!
Request architecture
                  Request	
                                                    Response	
  
                                1	
                                                        7	
  



                                          Spring	
  MVC	
  Dispatcher	
  
                                                                                                                                  Web	
  Script	
  Run,me	
  

  2	
                                                                                                             6	
                     Web	
  Script	
  Run,me	
  
                                        Spring	
  Applica,on	
  Context	
  

                       Controllers	
                                          View	
  



                                                                                                                          5	
  

                                                    Model	
                        4	
  



          3	
  




                                                                                                   Services	
  
Surf Framework!
Surf API
  •  root scoped objects!
  •  Available in script and
     templates!
  •  remote!
  •  sitedata!
  •  user!
  •  context!
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!
Developer tools!

Roo
  •    SpringSource project!
  •    Rapid application development tool!
  •    Command line driven!
  •    SpringSurf Roo commands Add-on!
  •    Commands aid surf site construction!
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!
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!
Developer tools - Roo!
Roo command extensions

  •    surf addon install!                •    surf page list!
  •    surf addon list!                   •    surf report page!
  •    surf component create!             •    surf site create!
  •    surf component list!               •    surf template create!
  •    surf component property create!    •    surf template instance create!
  •    surf component resource create!    •    surf template instance list!
  •    surf content association create!   •    surf template list!
  •    surf page association create!      •    surf template region list!
  •    surf page association list!        •    surf webscript list!
  •    surf page create!
Using Transfer Service!

Requirement
  •  Publish articles to web tier!
  •  Scheduled!
  •  Batched!
  •  Categories ʻflattenedʼ to
     properties!
  •  Handle failed transactions!
  •  User interface view queue!
  •  Provide reports!
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!
Transfer customizations
  •    Bulk transfer action!
  •    Present transfer queue!
  •    A flattened aspect!
  •    A Scheduled service to batch transfer!
  •    Handled failures!
  •    Receiver code!
Transfer Service!

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

Changes in 4
  •  Transfer to file system!
OpenCMIS!

CMIS
  •  Common data model!
  •  Services!
    •    Repository!
    •    Object!
    •    Discovery services!
    •    Versioning!
    •    ACL!
  •  SOAP and REST bindings!
OpenCMIS!

CheMIStry
  •    Implementation of CMIS specification!
  •    Client and server libraries in java!
  •    Single point of access!
  •    Cache objects!
  •    CMIS Workbench!
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!
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!
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!
Q and A!

More Related Content

What's hot

Designing your API Server for mobile apps
Designing your API Server for mobile appsDesigning your API Server for mobile apps
Designing your API Server for mobile apps
Mugunth Kumar
 
Web Development using Ruby on Rails
Web Development using Ruby on RailsWeb Development using Ruby on Rails
Web Development using Ruby on Rails
Avi Kedar
 
MongoDB at Gilt Groupe
MongoDB at Gilt GroupeMongoDB at Gilt Groupe
MongoDB at Gilt Groupe
MongoDB
 
Mongodb at-gilt-groupe-seattle-2012-09-14-final
Mongodb at-gilt-groupe-seattle-2012-09-14-finalMongodb at-gilt-groupe-seattle-2012-09-14-final
Mongodb at-gilt-groupe-seattle-2012-09-14-final
MongoDB
 

What's hot (20)

RESTful Services
RESTful ServicesRESTful Services
RESTful Services
 
Demystifying Ruby on Rails
Demystifying Ruby on Rails Demystifying Ruby on Rails
Demystifying Ruby on Rails
 
Designing your API Server for mobile apps
Designing your API Server for mobile appsDesigning your API Server for mobile apps
Designing your API Server for mobile apps
 
Project Fedena and Why Ruby on Rails - ArvindArvind G S
Project Fedena and Why Ruby on Rails - ArvindArvind G SProject Fedena and Why Ruby on Rails - ArvindArvind G S
Project Fedena and Why Ruby on Rails - ArvindArvind G S
 
React.js for Rails Developers
React.js for Rails DevelopersReact.js for Rails Developers
React.js for Rails Developers
 
React on rails v6.1 at LA Ruby, November 2016
React on rails v6.1 at LA Ruby, November 2016React on rails v6.1 at LA Ruby, November 2016
React on rails v6.1 at LA Ruby, November 2016
 
Azure Serverless Conf
Azure Serverless ConfAzure Serverless Conf
Azure Serverless Conf
 
Ruby w/o Rails (Олександр Сімонов)
Ruby w/o Rails (Олександр Сімонов)Ruby w/o Rails (Олександр Сімонов)
Ruby w/o Rails (Олександр Сімонов)
 
RichFaces CDK: Rapid JSF Component Development
RichFaces CDK: Rapid JSF Component DevelopmentRichFaces CDK: Rapid JSF Component Development
RichFaces CDK: Rapid JSF Component Development
 
Intro to Ruby on Rails
Intro to Ruby on RailsIntro to Ruby on Rails
Intro to Ruby on Rails
 
Going mobile with RichFaces
Going mobile with RichFacesGoing mobile with RichFaces
Going mobile with RichFaces
 
Web Development using Ruby on Rails
Web Development using Ruby on RailsWeb Development using Ruby on Rails
Web Development using Ruby on Rails
 
REST and ASP.NET Web API (Tunisia)
REST and ASP.NET Web API (Tunisia)REST and ASP.NET Web API (Tunisia)
REST and ASP.NET Web API (Tunisia)
 
Isomorphic JavaScript – future of the web
Isomorphic JavaScript – future of the webIsomorphic JavaScript – future of the web
Isomorphic JavaScript – future of the web
 
Riding IronRuby on Rails
Riding IronRuby on RailsRiding IronRuby on Rails
Riding IronRuby on Rails
 
Integrating Alfresco @ Scale (via event-driven micro-services)
Integrating Alfresco @ Scale (via event-driven micro-services)Integrating Alfresco @ Scale (via event-driven micro-services)
Integrating Alfresco @ Scale (via event-driven micro-services)
 
MongoDB at Gilt Groupe
MongoDB at Gilt GroupeMongoDB at Gilt Groupe
MongoDB at Gilt Groupe
 
Mongodb at-gilt-groupe-seattle-2012-09-14-final
Mongodb at-gilt-groupe-seattle-2012-09-14-finalMongodb at-gilt-groupe-seattle-2012-09-14-final
Mongodb at-gilt-groupe-seattle-2012-09-14-final
 
Flexible UI Components for a Multi-Framework World
Flexible UI Components for a Multi-Framework WorldFlexible UI Components for a Multi-Framework World
Flexible UI Components for a Multi-Framework World
 
Sudheer d desertcodecamp_11_05_2011
Sudheer d desertcodecamp_11_05_2011Sudheer d desertcodecamp_11_05_2011
Sudheer d desertcodecamp_11_05_2011
 

Similar to WCM-7 Surfing with CMIS

Web Application Frameworks (WAF)
Web Application Frameworks (WAF)Web Application Frameworks (WAF)
Web Application Frameworks (WAF)
Ako Kaman
 

Similar to WCM-7 Surfing with CMIS (20)

PLAT-7 Spring Web Scripts and Spring Surf
PLAT-7 Spring Web Scripts and Spring SurfPLAT-7 Spring Web Scripts and Spring Surf
PLAT-7 Spring Web Scripts and Spring Surf
 
Next Generation Web Development Techniques with Cloud Foundry
Next Generation Web Development Techniques with Cloud FoundryNext Generation Web Development Techniques with Cloud Foundry
Next Generation Web Development Techniques with Cloud Foundry
 
Developer’s intro to the alfresco platform
Developer’s intro to the alfresco platformDeveloper’s intro to the alfresco platform
Developer’s intro to the alfresco platform
 
Web Application Frameworks (WAF)
Web Application Frameworks (WAF)Web Application Frameworks (WAF)
Web Application Frameworks (WAF)
 
Mastering asp.net mvc - Dot Net Tricks
Mastering asp.net mvc - Dot Net TricksMastering asp.net mvc - Dot Net Tricks
Mastering asp.net mvc - Dot Net Tricks
 
Restful风格ž„web服务架构
Restful风格ž„web服务架构Restful风格ž„web服务架构
Restful风格ž„web服务架构
 
Full Stack Developer Course | Infinite Graphix Technologies
Full Stack Developer Course | Infinite Graphix TechnologiesFull Stack Developer Course | Infinite Graphix Technologies
Full Stack Developer Course | Infinite Graphix Technologies
 
BP-8 Global Federation and Search
BP-8 Global Federation and SearchBP-8 Global Federation and Search
BP-8 Global Federation and Search
 
Alfresco Tech Talk Live on WCM to WCS Migration
Alfresco Tech Talk Live on WCM to WCS MigrationAlfresco Tech Talk Live on WCM to WCS Migration
Alfresco Tech Talk Live on WCM to WCS Migration
 
Backbonification for dummies - Arrrrug 10/1/2012
Backbonification for dummies - Arrrrug 10/1/2012Backbonification for dummies - Arrrrug 10/1/2012
Backbonification for dummies - Arrrrug 10/1/2012
 
CUST-2 New Client Configuration & Extension Points in Share
CUST-2 New Client Configuration & Extension Points in ShareCUST-2 New Client Configuration & Extension Points in Share
CUST-2 New Client Configuration & Extension Points in Share
 
PLAT-16 Using Enterprise Content in Grails
PLAT-16 Using Enterprise Content in GrailsPLAT-16 Using Enterprise Content in Grails
PLAT-16 Using Enterprise Content in Grails
 
Integrating Alfresco with Portals
Integrating Alfresco with PortalsIntegrating Alfresco with Portals
Integrating Alfresco with Portals
 
Portal and Intranets
Portal and Intranets Portal and Intranets
Portal and Intranets
 
BP-9 Share Customization Best Practices
BP-9 Share Customization Best PracticesBP-9 Share Customization Best Practices
BP-9 Share Customization Best Practices
 
Play Framework and Activator
Play Framework and ActivatorPlay Framework and Activator
Play Framework and Activator
 
Web services soap rest training
Web services soap rest trainingWeb services soap rest training
Web services soap rest training
 
Introduction to ASP.NET 5
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5
 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swagger
 
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
JDD 2016 - Jacek Bukowski - "Flying To Clouds" - Can It Be Easy?
 

More from Alfresco Software

More from Alfresco Software (20)

Alfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossier
 
Alfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management applicationAlfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management application
 
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion HogescholenAlfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
 
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente AmsterdamAlfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
 
Alfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of AlfrescoAlfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of Alfresco
 
Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo GroupAlfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
 
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About FlowAlfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
 
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
 
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
 
Alfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest API
 
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-KonsoleAlfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
 
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit AlfrescoAlfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
 
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
 
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: WesternacherAlfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
 
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
 
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novumAlfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
 
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
 
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
 
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - SafranAlfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
 
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital BusinessAlfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

WCM-7 Surfing with CMIS

  • 1. Surfing with CMIS! Ben Dougherty!
  • 2. Contents! •  analysis.businessmonitor.com! •  Surf Framework! •  Developer tools! •  Transfer service! •  OpenCMIS! •  Performance! •  Whatʼs next!
  • 3. 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!
  • 4. 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!
  • 6. analysis.businessmonitor.com! Main pages •  Home! •  Intelligence! •  Registration!
  • 7. analysis.businessmonitor.com! Home page •  Header and footer! •  Carousel! •  Description! •  Latest intelligence!
  • 8. analysis.businessmonitor.com! Navigation bar •  Tabbed categories! •  Region! •  Country! •  Industry! •  Navigation options reduce on selection!
  • 9. 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!
  • 11. analysis.businessmonitor.com! Registration page •  Retains the current context! •  Auto selects area and interest ! •  User selects other areas interest! •  SalesLogix integration! •  a/b tests!
  • 12. 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!
  • 13. 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!
  • 14. Surf Framework! Surf object model •  Define parts of web site! •  Chrome borders! •  Component type! •  Component! •  Page! •  Page association! •  Template type! •  Template! •  Theme!
  • 15. Surf Framework! Templates and Regions •  FreeMarker, PHP, and XSL! •  Create layouts that can be reused! •  Define regions with scope!
  • 16. Surf Framework! Region scope •  Global! •  Template! •  Page!
  • 17. Surf Framework! Request architecture Request   Response   1   7   Spring  MVC  Dispatcher   Web  Script  Run,me   2   6   Web  Script  Run,me   Spring  Applica,on  Context   Controllers   View   5   Model   4   3   Services  
  • 18. Surf Framework! Surf API •  root scoped objects! •  Available in script and templates! •  remote! •  sitedata! •  user! •  context!
  • 19. 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!
  • 20. Developer tools! Roo •  SpringSource project! •  Rapid application development tool! •  Command line driven! •  SpringSurf Roo commands Add-on! •  Commands aid surf site construction!
  • 21. 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!
  • 22. 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!
  • 23. Developer tools - Roo! Roo command extensions •  surf addon install! •  surf page list! •  surf addon list! •  surf report page! •  surf component create! •  surf site create! •  surf component list! •  surf template create! •  surf component property create! •  surf template instance create! •  surf component resource create! •  surf template instance list! •  surf content association create! •  surf template list! •  surf page association create! •  surf template region list! •  surf page association list! •  surf webscript list! •  surf page create!
  • 24. Using Transfer Service! Requirement •  Publish articles to web tier! •  Scheduled! •  Batched! •  Categories ʻflattenedʼ to properties! •  Handle failed transactions! •  User interface view queue! •  Provide reports!
  • 25. 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!
  • 26. Transfer customizations •  Bulk transfer action! •  Present transfer queue! •  A flattened aspect! •  A Scheduled service to batch transfer! •  Handled failures! •  Receiver code!
  • 27. Transfer Service! Changes in 3.4 •  Replication service! •  Sync mode! •  Transferred and alien aspect! •  Read only option! Changes in 4 •  Transfer to file system!
  • 28. OpenCMIS! CMIS •  Common data model! •  Services! •  Repository! •  Object! •  Discovery services! •  Versioning! •  ACL! •  SOAP and REST bindings!
  • 29. OpenCMIS! CheMIStry •  Implementation of CMIS specification! •  Client and server libraries in java! •  Single point of access! •  Cache objects! •  CMIS Workbench!
  • 30. 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!
  • 31. 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!
  • 32. 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!