SlideShare una empresa de Scribd logo
1 de 32
Alfresco CMIS 0 David Caruana Chief Architect, Alfresco twitter: @dcaruana
Alfresco CMIS 1 I’m a Software Engineer, I would like to know… Is Alfresco CMIS Ready for Use? How Is The CMIS Domain Model Mapped? What Can IQuery With CMIS QL? How Can I Use Alfresco CMIS? What Extensions Are Supported? What’s Coming Next?
Recap – Meet CMIS 2 Client consumer read write Services Domain Model Vendor Mapping provider Content Repository
Recap – CMIS is an OASIS Standard 3 CMIS Technical Committee formed at OASIS CMIS V1.0 Published Initiated by IBM, EMC & Microsoft 1st Public Review 2nd Public Review CMIS Announced Late 2007 Oct 2009 Jan 2010 Oct 2008 May 2010 Sept 2008
Alfresco CMIS Timeline 4 The ‘Unofficial’ Reference Implementation CMIS Approved  CMIS Announced Draft Labs 3c cmis.alfresco.com v1.0 CS01 Community 3.3g Enterprise 3.3 v0.61 Community 3.2 v1.0 CD07 Community 3.3 First Commit r8457 June 2010 June 2009 Mar 2008 Apr 2010 Aug 2009 Sept 2008
Alfresco CMIS Stack 5 Spring Surf Web Quick Start OpenCMIS Client Library Alfresco Server AtomPub Binding Web Services Binding Index Domain Model Mapping CMIS QL Data Model / Services Content Repository
DEMO 6 Explore The Alfresco CMIS Index Page
CMIS Type Definitions 7 Object ,[object Object]
 Parent
 Display Name
 Abstract
Queryable
 ControllableProperty ,[object Object]
 Display Name
 Type
 Required
 Default Value
 …* Document ,[object Object]
 Allow ContentFolder Relationship ,[object Object]
 Target TypesPolicy Custom Type
Domain Model Mapping 8 CMIS Document cm:content CMIS Folder cm:folder CMIS Relationship peer association only if source and target map to CMIS Document / Folder CMIS Policy  <nothing> almost, we’ll come back to this! Sub type of CMIS Document  sub type of cm:content Sub type of CMIS Folder  sub type of cm:folder Otherwise it is not mapped Type Definitions
Domain Model Mapping 9 Base Types cmis:document, cmis:folder, cmis:relationship, cmis:policy Sub Types D|F|R|P:<namespace_prefix>:<type_name> D:cm:savedquery F:st:site R:ia:subscribedCalendarList Type IDs
Domain Model Mapping 10 cmis:namecm:name cmis:objectId node ref cmis:path display path of node ref cmis:objectTypeId id of mapped type definition cmis:creationDate, cmis:lastModificationDate auditable cmis:createdBy, cmis:lastModifiedBy auditable cmis:contentStream* cm:content cmis:*version*  version store history Base Type Properties Mapped to Alfresco Equivalents
Domain Model Mapping 11 Projected on sub type of CMIS Doc / Folder Property Id = <namespace_prefix>:<property_name> st:siteVisibility st:sitePreset Some Alfresco Property Types are not supported d:any, d:qname, d:category property is not mapped Custom Properties On Alfresco Sub Types
Domain Model Mapping 12 CMIS Folder hierarchy is rooted at /Company Home / = /Company Home /Data Dictionary = /Company Home/Data Dictionary CMIS Parent / Child mapped to cm:contains Other child associations are not mapped Peer associations are mapped Exclude objects whose type is not mapped to CMIS children and associations (target) Read permissions are observed AVM nodes are not projected through CMIS Folders And Documents
Domain Model Mapping 13 Models are very similar, but different enough CMIS Single Version Series vs Alfresco Live/Versioned Stores CMIS Version Series CMIS Version  Alfresco version node Alfresco live Node projects itself as latest CMIS Version CMIS Checkout / Cancel / CheckinAlfresco equivalent CMIS PWC  Alfresco Working Copy CMIS create document auto creates first version Non-versionable documents  mock single version version label: 0.0, major: false Versions
Domain Model Mapping 14 Identical Constructs CMIS Direct  Alfresco Inherited Basic Permissions cmis:read Alfresco “Read” cmis:write Alfresco “Write” cmis:all Alfresco “All” Repository Permissions projected as is Access Control ACL ACE ,[object Object]
 Permissions
 Direct,[object Object]
DEMO 16 Explore The Alfresco CMIS Domain Model
Query 17 Query Engine built on Alfresco Lucene Index Can also access via Java SearchService Relational Model Types mapped to Tables Properties mapped to Columns Query names Type name: ns_prefix:name Property name: ns_prefix:name Two language variants Strict & Alfresco No Join (well, more on this later)  CMIS QL
Query 18 SELECT and FROM clauses Identify which properties from which types to return WHERE clause Restrict returned rows to those that meet all constraints Predicates: comparison, in, like, null, any, is null Function Predicates: contains(), in_folder(), in_tree() Operators: and, or, not ORDER BY clause Order results by one or more columns Language Features

Más contenido relacionado

La actualidad más candente

Alfresco Share - Recycle Bin Ideas
Alfresco Share - Recycle Bin IdeasAlfresco Share - Recycle Bin Ideas
Alfresco Share - Recycle Bin Ideas
AlfrescoUE
 

La actualidad más candente (20)

Replacing Your Shared Drive with Alfresco - Open Source ECM
Replacing Your Shared Drive with Alfresco - Open Source ECMReplacing Your Shared Drive with Alfresco - Open Source ECM
Replacing Your Shared Drive with Alfresco - Open Source ECM
 
Guide to alfresco monitoring
Guide to alfresco monitoringGuide to alfresco monitoring
Guide to alfresco monitoring
 
(Re)Indexing Large Repositories in Alfresco
(Re)Indexing Large Repositories in Alfresco(Re)Indexing Large Repositories in Alfresco
(Re)Indexing Large Repositories in Alfresco
 
Alfresco devcon 2019: How to track user activities without using the audit fu...
Alfresco devcon 2019: How to track user activities without using the audit fu...Alfresco devcon 2019: How to track user activities without using the audit fu...
Alfresco devcon 2019: How to track user activities without using the audit fu...
 
Scale your Alfresco Solutions
Scale your Alfresco Solutions Scale your Alfresco Solutions
Scale your Alfresco Solutions
 
Moving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryMoving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco Repository
 
Upgrading to Alfresco 6
Upgrading to Alfresco 6Upgrading to Alfresco 6
Upgrading to Alfresco 6
 
Exciting New Alfresco REST APIs
Exciting New Alfresco REST APIsExciting New Alfresco REST APIs
Exciting New Alfresco REST APIs
 
Alfresco DevCon 2019 - Alfresco Identity Services in Action
Alfresco DevCon 2019 - Alfresco Identity Services in ActionAlfresco DevCon 2019 - Alfresco Identity Services in Action
Alfresco DevCon 2019 - Alfresco Identity Services in Action
 
Alfresco DevCon 2019 Performance Tools of the Trade
Alfresco DevCon 2019   Performance Tools of the TradeAlfresco DevCon 2019   Performance Tools of the Trade
Alfresco DevCon 2019 Performance Tools of the Trade
 
Intro to the Alfresco Public API
Intro to the Alfresco Public APIIntro to the Alfresco Public API
Intro to the Alfresco Public API
 
Alfresco - You probably didn't know that
Alfresco - You probably didn't know thatAlfresco - You probably didn't know that
Alfresco - You probably didn't know that
 
Bulk Export Tool for Alfresco
Bulk Export Tool for AlfrescoBulk Export Tool for Alfresco
Bulk Export Tool for Alfresco
 
Alfresco Certificates
Alfresco Certificates Alfresco Certificates
Alfresco Certificates
 
Collaborative Editing Tools for Alfresco
Collaborative Editing Tools for AlfrescoCollaborative Editing Tools for Alfresco
Collaborative Editing Tools for Alfresco
 
Alfresco Bulk Import toolのご紹介
Alfresco Bulk Import toolのご紹介Alfresco Bulk Import toolのご紹介
Alfresco Bulk Import toolのご紹介
 
Alfresco Share - Recycle Bin Ideas
Alfresco Share - Recycle Bin IdeasAlfresco Share - Recycle Bin Ideas
Alfresco Share - Recycle Bin Ideas
 
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
 
Alfresco 5.2 REST API
Alfresco 5.2 REST APIAlfresco 5.2 REST API
Alfresco 5.2 REST API
 
Terraform -- Infrastructure as Code
Terraform -- Infrastructure as CodeTerraform -- Infrastructure as Code
Terraform -- Infrastructure as Code
 

Destacado

Digital Asset Management
Digital Asset ManagementDigital Asset Management
Digital Asset Management
private
 
Setting the Record Straight: Drupal as an Enterprise Web Content Management S...
Setting the Record Straight: Drupal as an Enterprise Web Content Management S...Setting the Record Straight: Drupal as an Enterprise Web Content Management S...
Setting the Record Straight: Drupal as an Enterprise Web Content Management S...
Acquia
 
DSpace und das Semantic Web
DSpace und das Semantic WebDSpace und das Semantic Web
DSpace und das Semantic Web
Pascal-Nicolas Becker
 
API Management architect presentation
API Management architect presentationAPI Management architect presentation
API Management architect presentation
sflynn073
 

Destacado (18)

Fred frankfurt alfresco user day de 2015
Fred frankfurt alfresco user day de 2015Fred frankfurt alfresco user day de 2015
Fred frankfurt alfresco user day de 2015
 
Alfresco im Einsatz bei SWM – Stadtwerke München, Simon Rittsteiger, Projekt ...
Alfresco im Einsatz bei SWM – Stadtwerke München, Simon Rittsteiger, Projekt ...Alfresco im Einsatz bei SWM – Stadtwerke München, Simon Rittsteiger, Projekt ...
Alfresco im Einsatz bei SWM – Stadtwerke München, Simon Rittsteiger, Projekt ...
 
Apache Chemistry: The Alfresco Open Source Implementation of CMIS
Apache Chemistry: The Alfresco Open Source Implementation of CMISApache Chemistry: The Alfresco Open Source Implementation of CMIS
Apache Chemistry: The Alfresco Open Source Implementation of CMIS
 
Alfresco Day Milano 2016 - Pernexas
Alfresco Day Milano 2016 - PernexasAlfresco Day Milano 2016 - Pernexas
Alfresco Day Milano 2016 - Pernexas
 
Anwendungsbeispiele verschiedener SAP-Alfresco Umgebungen - Volker Bläsig, CE...
Anwendungsbeispiele verschiedener SAP-Alfresco Umgebungen - Volker Bläsig, CE...Anwendungsbeispiele verschiedener SAP-Alfresco Umgebungen - Volker Bläsig, CE...
Anwendungsbeispiele verschiedener SAP-Alfresco Umgebungen - Volker Bläsig, CE...
 
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 im Einsatz bei SIGNA, Franz Hillebrand, Managing Director, SIGNA Inf...
Alfresco im Einsatz bei SIGNA, Franz Hillebrand, Managing Director, SIGNA Inf...Alfresco im Einsatz bei SIGNA, Franz Hillebrand, Managing Director, SIGNA Inf...
Alfresco im Einsatz bei SIGNA, Franz Hillebrand, Managing Director, SIGNA Inf...
 
Digital Asset Management
Digital Asset ManagementDigital Asset Management
Digital Asset Management
 
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...
 
Connecting Content Management Applications with CMIS
Connecting Content Management Applications with CMISConnecting Content Management Applications with CMIS
Connecting Content Management Applications with CMIS
 
Intro To Alfresco Part 1
Intro To Alfresco Part 1Intro To Alfresco Part 1
Intro To Alfresco Part 1
 
Dokumentenmanagement mit Alfresco
Dokumentenmanagement mit AlfrescoDokumentenmanagement mit Alfresco
Dokumentenmanagement mit Alfresco
 
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
 
Setting the Record Straight: Drupal as an Enterprise Web Content Management S...
Setting the Record Straight: Drupal as an Enterprise Web Content Management S...Setting the Record Straight: Drupal as an Enterprise Web Content Management S...
Setting the Record Straight: Drupal as an Enterprise Web Content Management S...
 
Alfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossier
 
DSpace und das Semantic Web
DSpace und das Semantic WebDSpace und das Semantic Web
DSpace und das Semantic Web
 
Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration Strategies
 
API Management architect presentation
API Management architect presentationAPI Management architect presentation
API Management architect presentation
 

Similar a Alfresco CMIS

DEVCON-Alfresco i os mobile application details and design
DEVCON-Alfresco i os mobile application details and designDEVCON-Alfresco i os mobile application details and design
DEVCON-Alfresco i os mobile application details and design
Zia Consulting
 
0910 cagliari- spring surf and cmis - the dynamic duo
0910 cagliari- spring surf and cmis - the dynamic duo0910 cagliari- spring surf and cmis - the dynamic duo
0910 cagliari- spring surf and cmis - the dynamic duo
Symphony Software Foundation
 
"Running CF in a Shared Hosting Environment"
"Running CF in a Shared Hosting Environment""Running CF in a Shared Hosting Environment"
"Running CF in a Shared Hosting Environment"
webhostingguy
 
DoD-Enterprise-DevSecOps-Initiative.pptx
DoD-Enterprise-DevSecOps-Initiative.pptxDoD-Enterprise-DevSecOps-Initiative.pptx
DoD-Enterprise-DevSecOps-Initiative.pptx
fengerqiang
 
Dot netsupport in alpha five v11 coming soon
Dot netsupport in alpha five v11 coming soonDot netsupport in alpha five v11 coming soon
Dot netsupport in alpha five v11 coming soon
Richard Rabins
 

Similar a Alfresco CMIS (20)

DEVCON-Alfresco i os mobile application details and design
DEVCON-Alfresco i os mobile application details and designDEVCON-Alfresco i os mobile application details and design
DEVCON-Alfresco i os mobile application details and design
 
Alfresco for Salesforce
Alfresco for SalesforceAlfresco for Salesforce
Alfresco for Salesforce
 
CMIS Spec Uncovered
CMIS Spec UncoveredCMIS Spec Uncovered
CMIS Spec Uncovered
 
TechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefern
TechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefernTechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefern
TechDays 2017 - Asp.NET Core Anwendungen automatisiert als Container ausliefern
 
0910 cagliari- spring surf and cmis - the dynamic duo
0910 cagliari- spring surf and cmis - the dynamic duo0910 cagliari- spring surf and cmis - the dynamic duo
0910 cagliari- spring surf and cmis - the dynamic duo
 
PowerPoint Presentation
PowerPoint PresentationPowerPoint Presentation
PowerPoint Presentation
 
"Running CF in a Shared Hosting Environment"
"Running CF in a Shared Hosting Environment""Running CF in a Shared Hosting Environment"
"Running CF in a Shared Hosting Environment"
 
TYPO3 and CMIS
TYPO3 and CMISTYPO3 and CMIS
TYPO3 and CMIS
 
AUG Belgium - Introduction to ColdFusion 9
AUG Belgium - Introduction to ColdFusion 9AUG Belgium - Introduction to ColdFusion 9
AUG Belgium - Introduction to ColdFusion 9
 
Relational Won't Cut It: Architecting Content Centric Apps
Relational Won't Cut It: Architecting Content Centric AppsRelational Won't Cut It: Architecting Content Centric Apps
Relational Won't Cut It: Architecting Content Centric Apps
 
Mike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and PatternsMike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and Patterns
 
Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?
 
IBM Bluemix cloudfoundry platform
IBM Bluemix cloudfoundry platformIBM Bluemix cloudfoundry platform
IBM Bluemix cloudfoundry platform
 
IDI 2020 - Containers Meet Serverless
IDI 2020 - Containers Meet ServerlessIDI 2020 - Containers Meet Serverless
IDI 2020 - Containers Meet Serverless
 
Getting Started With CMIS
Getting Started With CMISGetting Started With CMIS
Getting Started With CMIS
 
What Every New Developer Should Know About Alfresco (Jeff Potts)
What Every New Developer Should Know About Alfresco (Jeff Potts)What Every New Developer Should Know About Alfresco (Jeff Potts)
What Every New Developer Should Know About Alfresco (Jeff Potts)
 
DoD-Enterprise-DevSecOps-Initiative.pptx
DoD-Enterprise-DevSecOps-Initiative.pptxDoD-Enterprise-DevSecOps-Initiative.pptx
DoD-Enterprise-DevSecOps-Initiative.pptx
 
Serverless Applications on AWS
Serverless Applications on AWSServerless Applications on AWS
Serverless Applications on AWS
 
Serverless Apps on AWS
Serverless Apps on AWS Serverless Apps on AWS
Serverless Apps on AWS
 
Dot netsupport in alpha five v11 coming soon
Dot netsupport in alpha five v11 coming soonDot netsupport in alpha five v11 coming soon
Dot netsupport in alpha five v11 coming soon
 

Más de Alfresco Software

Más de Alfresco Software (20)

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: 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 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
 
Alfresco Day Warsaw 2016: Podpis elektroniczny - BMS
Alfresco Day Warsaw 2016: Podpis elektroniczny - BMSAlfresco Day Warsaw 2016: Podpis elektroniczny - BMS
Alfresco Day Warsaw 2016: Podpis elektroniczny - BMS
 
Alfresco Day Warsaw 2016: Next-Generation Business Process Management with Al...
Alfresco Day Warsaw 2016: Next-Generation Business Process Management with Al...Alfresco Day Warsaw 2016: Next-Generation Business Process Management with Al...
Alfresco Day Warsaw 2016: Next-Generation Business Process Management with Al...
 
Alfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo DataAlfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo Data
 

Alfresco CMIS

  • 1. Alfresco CMIS 0 David Caruana Chief Architect, Alfresco twitter: @dcaruana
  • 2. Alfresco CMIS 1 I’m a Software Engineer, I would like to know… Is Alfresco CMIS Ready for Use? How Is The CMIS Domain Model Mapped? What Can IQuery With CMIS QL? How Can I Use Alfresco CMIS? What Extensions Are Supported? What’s Coming Next?
  • 3. Recap – Meet CMIS 2 Client consumer read write Services Domain Model Vendor Mapping provider Content Repository
  • 4. Recap – CMIS is an OASIS Standard 3 CMIS Technical Committee formed at OASIS CMIS V1.0 Published Initiated by IBM, EMC & Microsoft 1st Public Review 2nd Public Review CMIS Announced Late 2007 Oct 2009 Jan 2010 Oct 2008 May 2010 Sept 2008
  • 5. Alfresco CMIS Timeline 4 The ‘Unofficial’ Reference Implementation CMIS Approved CMIS Announced Draft Labs 3c cmis.alfresco.com v1.0 CS01 Community 3.3g Enterprise 3.3 v0.61 Community 3.2 v1.0 CD07 Community 3.3 First Commit r8457 June 2010 June 2009 Mar 2008 Apr 2010 Aug 2009 Sept 2008
  • 6. Alfresco CMIS Stack 5 Spring Surf Web Quick Start OpenCMIS Client Library Alfresco Server AtomPub Binding Web Services Binding Index Domain Model Mapping CMIS QL Data Model / Services Content Repository
  • 7. DEMO 6 Explore The Alfresco CMIS Index Page
  • 8.
  • 13.
  • 18.
  • 19.
  • 20. Target TypesPolicy Custom Type
  • 21. Domain Model Mapping 8 CMIS Document cm:content CMIS Folder cm:folder CMIS Relationship peer association only if source and target map to CMIS Document / Folder CMIS Policy  <nothing> almost, we’ll come back to this! Sub type of CMIS Document  sub type of cm:content Sub type of CMIS Folder  sub type of cm:folder Otherwise it is not mapped Type Definitions
  • 22. Domain Model Mapping 9 Base Types cmis:document, cmis:folder, cmis:relationship, cmis:policy Sub Types D|F|R|P:<namespace_prefix>:<type_name> D:cm:savedquery F:st:site R:ia:subscribedCalendarList Type IDs
  • 23. Domain Model Mapping 10 cmis:namecm:name cmis:objectId node ref cmis:path display path of node ref cmis:objectTypeId id of mapped type definition cmis:creationDate, cmis:lastModificationDate auditable cmis:createdBy, cmis:lastModifiedBy auditable cmis:contentStream* cm:content cmis:*version*  version store history Base Type Properties Mapped to Alfresco Equivalents
  • 24. Domain Model Mapping 11 Projected on sub type of CMIS Doc / Folder Property Id = <namespace_prefix>:<property_name> st:siteVisibility st:sitePreset Some Alfresco Property Types are not supported d:any, d:qname, d:category property is not mapped Custom Properties On Alfresco Sub Types
  • 25. Domain Model Mapping 12 CMIS Folder hierarchy is rooted at /Company Home / = /Company Home /Data Dictionary = /Company Home/Data Dictionary CMIS Parent / Child mapped to cm:contains Other child associations are not mapped Peer associations are mapped Exclude objects whose type is not mapped to CMIS children and associations (target) Read permissions are observed AVM nodes are not projected through CMIS Folders And Documents
  • 26. Domain Model Mapping 13 Models are very similar, but different enough CMIS Single Version Series vs Alfresco Live/Versioned Stores CMIS Version Series CMIS Version  Alfresco version node Alfresco live Node projects itself as latest CMIS Version CMIS Checkout / Cancel / CheckinAlfresco equivalent CMIS PWC  Alfresco Working Copy CMIS create document auto creates first version Non-versionable documents  mock single version version label: 0.0, major: false Versions
  • 27.
  • 29.
  • 30. DEMO 16 Explore The Alfresco CMIS Domain Model
  • 31. Query 17 Query Engine built on Alfresco Lucene Index Can also access via Java SearchService Relational Model Types mapped to Tables Properties mapped to Columns Query names Type name: ns_prefix:name Property name: ns_prefix:name Two language variants Strict & Alfresco No Join (well, more on this later) CMIS QL
  • 32. Query 18 SELECT and FROM clauses Identify which properties from which types to return WHERE clause Restrict returned rows to those that meet all constraints Predicates: comparison, in, like, null, any, is null Function Predicates: contains(), in_folder(), in_tree() Operators: and, or, not ORDER BY clause Order results by one or more columns Language Features
  • 33. Query 19 Full Alfresco FTS language in CONTAINS() http://wiki.alfresco.com/wiki/Full_Text_Search_Query_Syntax SCORE() used without CONTAINS() Multiple CONTAINS() Order by unselected columns Restrictions for IN, comparisons and LIKE are dropped Multi-value properties can use single-value syntax Implicit ANY Alfresco Language Variant
  • 34. Query 20 All properties may be selected A property is queryable if indexed A property is orderable if Untokenized Both Untokenized and Tokenized Or one of the following types: d:boolean, d:datetime, d:double, d:float, d:integer, d:long, d:path NOTE: 3.2  3.3 upgrade requires re-index to support CMIS exact matching and ordering for cmis:name Lucene Indexing Considerations
  • 35. DEMO 21 Example Queries
  • 36. Aspects 22 Bad News CMIS v1.0 does not include Aspect support
  • 37. Alfresco Wouldn’t Be Alfresco Without Aspects 23 Good News We Added Them Anyway
  • 38. Domain Model Mapping 24 Aspect Definition  CMIS Policy Sub Type P:cm:titled P:cm:ownable Query via Join onto Aspect Policy Sub Type Aspect Properties  CMIS Extension Apply / Remove Aspect Get / Set Aspect Properties OpenCMIS support Aspects
  • 39. DEMO 25 Aspects Do Exist…
  • 40. 26 Hide complexity of on-the-wire protocol Provides concise Object-Oriented API Use with any CMIS Content Repository Tested with all major players Think of as JDBC of CMIS Varieties Java – OpenCMIS PHP Python Open Source CMIS Client Libraries
  • 41. What’s Next? 27 http://cmis.alfresco.com/preview OpenCMIS Server refactoring Browser Binding (JSON) plus lots more…
  • 42. Alfresco CMIS Take Away 28 Alfresco CMIS first released over 2 years ago Full support for CMIS v1.0 AtomPub and Web Service Bindings CMIS QL Aspects Extension OpenCMIS Client API Community 3.3, Enterprise 3.3, cmis.alfresco.com Remember This
  • 43. Learn More 29 docs.oasis-open.org/cmis/CMIS/v1.0/cs01/ cmis.alfresco.com incubator.apache.org/chemistry/
  • 44. 30 Shape & Color Pallette Normal Text Normal Text Normal Text
  • 45. 31