CMIS – Whatʼs coming next?"  Ryan McVeigh, Director of Enterprise Integration - Zia Consulting"
Who am I?"Ryan McVeigh  •  Director @ Zia"  •  Responsible for Ziaʼs ECM Practice"  •  CMIS Secretary and Technical Editor...
Who is Zia?
A firm with deep technical expertise & strategic insight, coupled with our Agile software methodology, provides...
Agenda"•    What’s Happened?•    CMIS Refresher•    Coming Soon – CMIS 1.1•    What’s in the Future? – CMIS 2.0•    Questi...
Whatʼs Happened?"  Development	                     CMIS	  1.0	     Plug-­‐Fest	  in	  May	   started	  by	  EMC,	        ...
Whatʼs Happened?"Original Goals and Scope  •  Enable applications to target different ECM repositories uniformly"  •  Prov...
Whatʼs Happened?"Current State of the CMIS Ecosystem  •  Implemented by every major ECM repository vendor"  •  More than 5...
Some CMIS Producers"•  Adobe (Day Software)   •  Microsoft SharePoint 2010   CRX)                          •  Nuxeo•  Alfr...
Some CMIS Client Applications"•  Adobe Drive"        •  Drupal 6.x!•  Alfresco Mobile!    •  Hippo CMS"•  Apache Chemistry...
Whatʼs Happened?"Apache Chemistry"  •  Highlighted as an open source option for provider and consumer     implementers"  •...
Whatʼs Happened?"State of the CMIS TC"  •  CMIS 1.0 errata – Any day now?"  •  CMIS Technical Committee working on CMIS 1....
CMIS Refresher"Domain Model  •  Data Model"  •  Services"Protocol Bindings  •  RESTful AtomPub"  •  Web Services"
CMIS Refresher"Repository  •  Contains folders, documents and other objects"  •  Must provide all basic services in the CM...
CMIS Refresher"Object Types  •  Stricly-typed data model"  •  Each object has an object type"  •  Four base object types:"...
CMIS Refresher"Properties  •  All objects have properties"  •  A property holds zero to many typed values"  •  Property de...
CMIS Refresher"Documents  •  Instance of the document base type or sub-type"  •  Documents have properties and optionally ...
CMIS Refresher"Folders  •  Folders can contain folders and documents"    •    Any other kind of object that is declared to...
CMIS Refresher"Relationships  •  A directional relationship between any two objects"  •  An object can have any number of ...
CMIS Refresher"Policies  •  An administrative policy that can be enforced by a repository"  •  Used to manage objects in w...
CMIS Refresher"Access Control  •  Permission"    •    An allowed action (read, write, all)"    •    Mapping to allowed act...
CMIS Refresher"Versioning  •  A document may be versioned as indicated by the type definition"  •  Versions represent the p...
CMIS Refresher"Query  •  Based on well known standard – SQL-92"    •    With ECM extensions added"  •  Each type is treate...
CMIS Refresher"Services  •  Eight sets of services:"    •    Repository, Object, Discovery, Navigation, Versioning, Relati...
CMIS Refresher"Protocol Bindings  •  Providers must implement RESTful AtomPub and SOAP"RESTful AtomPub  •  Feeds, entries ...
Coming Soon – CMIS 1.1"Browser Binding – CMIS-719  •  Designed to allow developers to build browser based applications"  •...
Coming Soon – CMIS 1.1"Browser Binding – CMIS-719  •  HTTP Protocol"  •  Predictable URLʼs"  •  JSON Data Representation" ...
Coming Soon – CMIS 1.1"Browser Binding – CMIS-719  •  Uses HTTP GET and POST exclusively"    •    HTML forms used to POST ...
Coming Soon – CMIS 1.1"Type Mutability – CMIS-669Use Cases  •  CMIS Application needs to install its own metadata and unin...
Coming Soon – CMIS 1.1"Type Mutability – CMIS-669Requirements  •  Must be optional and backward compatible with 1.0"  •  M...
Coming Soon – CMIS 1.1"Type Mutability – CMIS-669  •  Discoverable Optional Capability exposed on a type"    •    cmisType...
Coming Soon – CMIS 1.1"Secondary Object Types – CMIS-713  •  Aspects!"Use Cases  •  Additional metadata has to be attached...
Coming Soon – CMIS 1.1"Secondary Object Types – CMIS-713  •  New base type: cmis:secondary "  •  Other base types have new...
Coming Soon – CMIS 1.1"Approved  •  CMIS Repository Extensions (CMIS-693)"  •  Allow Creation of Unfiled Documents with Ato...
Coming Soon – CMIS 1.1"Under Consideration  •  External Content Reference (CMIS-705)"  •  Batch Operations (CMIS-727)"  • ...
Demo!"Browser Binding in Alfresco  •  More efficient than Web Services and the AtomPub binding"  •  Florianʼs CMIS Webinar:...
Whatʼs in the Future? – CMIS 2.0"•    Pessimistic Locking (CMIS-196)•    Multiple Content Streams on Documents (CMIS-432)•...
CMIS Technical Committee Info"All work publicly accessibleTC Wiki  •  http://bit.ly/t1IUCw"All OASIS JIRA Issues  •  http:...
Contact Me"Ryan McVeigh – ECM Business Owner:  •  rmcveigh@ziaconsulting.com"
Q & A"
PLAT-2 CMIS - What’s coming next?
Upcoming SlideShare
Loading in …5
×

PLAT-2 CMIS - What’s coming next?

1,841 views

Published on

CMIS 1.0 has been ratified for over a year and is proving to be incredibly useful and popular. What now? Come and learn what the CMIS Technical Committee is focused on for the next version of the specification. We will discuss new features including Content Type Mutability, Repository Extensions, the new Browser Binding, Secondary Object Types (such as Aspects), Retention and Legal Hold Policies, and Tagging. We will lend an eye to the future to review other possible features and invite the audience to suggest what they feel the specification lacks.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,841
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
82
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

PLAT-2 CMIS - What’s coming next?

  1. 1. CMIS – Whatʼs coming next?" Ryan McVeigh, Director of Enterprise Integration - Zia Consulting"
  2. 2. Who am I?"Ryan McVeigh •  Director @ Zia" •  Responsible for Ziaʼs ECM Practice" •  CMIS Secretary and Technical Editor" •  Represented BEA Systems and Oracle" •  Ziaʼs lead CMIS representative"
  3. 3. Who is Zia?
A firm with deep technical expertise & strategic insight, coupled with our Agile software methodology, provides numerousbenefits to our customers:" Benefits" •  Achieve ROI by delivering improved operational efficiencies " •  Boost productivity by creating collaborative work environments" Our  Partners   •  Maintain access and control of information through the enterprise" •  Allow employees to find the information they need, when they need it" •  Increase end-user adoption! •  Agile training by using Zia methodology and Rally tools" •  Raving fan customers" Professional Qualifications" •  Highly-experienced, accredited senior staff consisting of Business Analysts, Enterprise Architects, Software Engineers and Data Architects" •  Platinum Alfresco Professional Services & OEM Partner" •  Platinum Ephesoft Partner" •  Alfresco 2010 Implementation of the Year with Denver" •  MuleSoft Partner"
  4. 4. Agenda"•  What’s Happened?•  CMIS Refresher•  Coming Soon – CMIS 1.1•  What’s in the Future? – CMIS 2.0•  Questions?
  5. 5. Whatʼs Happened?" Development   CMIS  1.0   Plug-­‐Fest  in  May   started  by  EMC,   released  for   TC  working  on  IBM  &  MicrosoC   public  comment   CMIS  1.1   2006   2008   2009   2010   2011   IniDal  Proposal   CMIS  1.0   SubmiFed  to  OASIS   RaDfied  in  May   and  TC  formed  
  6. 6. Whatʼs Happened?"Original Goals and Scope •  Enable applications to target different ECM repositories uniformly" •  Provide a set of basic services enabling richer ECM applications and use cases" •  Allow for loose coupling of an ECM application and the underlying repository" •  Use popular protocol bindings" •  REST / AtomPub" •  Web Services / SOAP"Were we successful?
  7. 7. Whatʼs Happened?"Current State of the CMIS Ecosystem •  Implemented by every major ECM repository vendor" •  More than 50 CMIS applications"
  8. 8. Some CMIS Producers"•  Adobe (Day Software) •  Microsoft SharePoint 2010 CRX) •  Nuxeo•  Alfresco! •  O3spaces•  Apache Chemistry" •  OpenIMS•  eXo Platform" •  OpenText•  Fabasoft" •  OpenWGA•  IBM FileNet, Lotus" •  Seapine Surround SCM•  ISIS Papyrus" •  Sense/Net•  KnowledgeTree" •  TYPO3
  9. 9. Some CMIS Client Applications"•  Adobe Drive" •  Drupal 6.x!•  Alfresco Mobile! •  Hippo CMS"•  Apache Chemistry" •  Liferay"•  cmislib" •  Wordpress•  cmis-php-client" •  Papyrus•  DotCMIS" •  WeWebU•  OpenCMIS" •  Open Workdesk"•  CMIS Spaces" •  Zero-Install Desktop"•  DITALabs" •  Zia Fresh Docs
  10. 10. Whatʼs Happened?"Apache Chemistry" •  Highlighted as an open source option for provider and consumer implementers" •  Top-level Apache project" •  Client libraries / APIʼs" •  Java (OpenCMIS)" •  .NET (DotCMIS)" •  PHP (CMIS PHP Client)" •  Python (cmislib)" •  CMIS Workbench: graphical client, groovy console" •  OpenCMIS Server – interfaces to implement for a java provider"
  11. 11. Whatʼs Happened?"State of the CMIS TC" •  CMIS 1.0 errata – Any day now?" •  CMIS Technical Committee working on CMIS 1.1" •  Already talking about issues and ideas for CMIS 2.0"
  12. 12. CMIS Refresher"Domain Model •  Data Model" •  Services"Protocol Bindings •  RESTful AtomPub" •  Web Services"
  13. 13. CMIS Refresher"Repository •  Contains folders, documents and other objects" •  Must provide all basic services in the CMIS specification" •  Must provide REST and SOAP bindings" •  Advertises capabilities through a service"
  14. 14. CMIS Refresher"Object Types •  Stricly-typed data model" •  Each object has an object type" •  Four base object types:" •  Document, Folder, Relationship & Policy" •  Base types may have sub-types"
  15. 15. CMIS Refresher"Properties •  All objects have properties" •  A property holds zero to many typed values" •  Property definitions have attributes" •  Common attributes e.g. ID, PropertyType, Cardinality" •  Property type specific attributes e.g. precision for decimals" •  Property data types" •  String, Boolean, Decimal, Integer, Datetime, Id, Uri and Html"
  16. 16. CMIS Refresher"Documents •  Instance of the document base type or sub-type" •  Documents have properties and optionally a content stream and renditions" •  Content streams are normally set and retrieved in separate operations" •  Documents may be versionable"
  17. 17. CMIS Refresher"Folders •  Folders can contain folders and documents" •  Any other kind of object that is declared to be fileable" •  Folders cannot have more than one parent folder" •  Folders can decide what types they contain" •  A folder can specify it may only contain document of a given content type" •  Documents may optionally be unfiled" •  Documents may optionally belong to multiple folders"
  18. 18. CMIS Refresher"Relationships •  A directional relationship between any two objects" •  An object can have any number of relationships including with itself" •  A relationship has a source and target but this ʻdirectionʼ has no CMIS-defined semantics" •  Referential integrity is not enforced" •  When the relationship is created, both end-points must exist" •  Repository support for relationships is optional"
  19. 19. CMIS Refresher"Policies •  An administrative policy that can be enforced by a repository" •  Used to manage objects in ways that are, by themselves, outside the scope of CMIS" •  Such as records retention" •  policyText property contains the details of the policy" •  Policy text is opaque to the CMIS repository" •  Repository support for policies is optional"
  20. 20. CMIS Refresher"Access Control •  Permission" •  An allowed action (read, write, all)" •  Mapping to allowed actions is repository specific and discoverable" •  Principal – a user or a group" •  Access Control Entry (ACE)" •  One or more permissions granted to a Principal" •  Access Control List (ACL)" •  A collection of ACEʼs" •  Can be assigned to an object and can be propagated" •  Repository support for Access Control is optional"
  21. 21. CMIS Refresher"Versioning •  A document may be versioned as indicated by the type definition" •  Versions represent the properties and content of a document at a given point in time" •  All versions of a document collectively define its Version Series" •  CheckOut creates a Private Working Copy which can be edited and checked in"
  22. 22. CMIS Refresher"Query •  Based on well known standard – SQL-92" •  With ECM extensions added" •  Each type is treated as a logical relational table" •  Joins may be supported" •  Either inner, or both inner and outer joins" •  Repository specific behavior" •  Query supports metadata and/or full-text" •  Repository support for full-text search is optional"
  23. 23. CMIS Refresher"Services •  Eight sets of services:" •  Repository, Object, Discovery, Navigation, Versioning, Relationship, Policy and ACL" •  Support for create, read, update and delete operations for various types" •  Some examples:" •  Repository Services: getRepositories, getRepository, getTypeDefinition" •  Navigation Services: getChildren, getFolderParent, getObjectParents" •  Object Services: createDocument, createFolder, getObject, getObjectByPath, getContentStream, deleteObject" •  Versioning Servcies: checkOut, cancelCheckOut, checkIn, getAllVersions"
  24. 24. CMIS Refresher"Protocol Bindings •  Providers must implement RESTful AtomPub and SOAP"RESTful AtomPub •  Feeds, entries & links" •  GET, POST, PUT, DELETE" •  Example: createDocument by POST to parent folderʼs collection" •  Recommend HTTP Basic Authentication"Web Services •  SOAP" •  WSDL and XSD are defined in the specification" •  Recommend Basic Authentication and WS Security UsernameToken"
  25. 25. Coming Soon – CMIS 1.1"Browser Binding – CMIS-719 •  Designed to allow developers to build browser based applications" •  Use already understood technologies including" •  HTML, HTML Forms, JavaScript and JSON" •  Does not require a JavaScript library" •  Optimized for use in a browser, also useful for HTTP based bindings for other application types"
  26. 26. Coming Soon – CMIS 1.1"Browser Binding – CMIS-719 •  HTTP Protocol" •  Predictable URLʼs" •  JSON Data Representation" •  Described by orderly: http://orderly-json.org" CMIS   JSON   String   string   Boolean   boolean   Decimal   number   Integer   number   DateDme   number  (milliseconds  since  1970/01/01,  UTC)   Uri   string   Id   string   Html   string  
  27. 27. Coming Soon – CMIS 1.1"Browser Binding – CMIS-719 •  Uses HTTP GET and POST exclusively" •  HTML forms used to POST content must include “cmisaction” to describe the action to perform e.g. createDocument, createFolder, etc." •  Various controls specified per operation" •  Demo in a few minutes" •  Details here:" •  http://bit.ly/tlACld"
  28. 28. Coming Soon – CMIS 1.1"Type Mutability – CMIS-669Use Cases •  CMIS Application needs to install its own metadata and uninstall if removed" •  CMIS Repository migration application would not only migrate documents from one repository to another; but would be able to migrate and preserve the metadata as well" •  General purpose Administration applications that allow administrators to edit metadata for new systems"
  29. 29. Coming Soon – CMIS 1.1"Type Mutability – CMIS-669Requirements •  Must be optional and backward compatible with 1.0" •  Must be implemented in a way such that is it obvious to someone familiar with CMIS 1.0 how these operations would be implemented" •  POST to the ʻTypes Childrenʼ collection creates a new type, etc." •  Must allow an application to setup new types with associated new properties" •  Optionally allows an application to delete types it has created" •  Exposed schema changes will be confined to a small footprint" •  A Type Mutability aware CMIS 1.1 client MUST work fine with a CMIS 1.0 (non Type Mutability) aware server"
  30. 30. Coming Soon – CMIS 1.1"Type Mutability – CMIS-669 •  Discoverable Optional Capability exposed on a type" •  cmisTypeMutabilityCapabilitiesType enum" •  create (new child types), update, delete" •  New services: createType, updateType and deleteType" •  Details here:" •  http://bit.ly/v9zeYg"
  31. 31. Coming Soon – CMIS 1.1"Secondary Object Types – CMIS-713 •  Aspects!"Use Cases •  Additional metadata has to be attached after the document has been created" •  Adding a new set of properties is necessary for some business cases" •  Some technical metadata derived from the content can only be added after the repository has analyzed the content" •  Some common and crosscutting concepts such as tags, comments and ratings can be implemented with secondary types." •  Secondary types and their properties can reveal and control the status of an object. Examples are legal holds, workflows, storage/ archiving information, publishing information, etc."
  32. 32. Coming Soon – CMIS 1.1"Secondary Object Types – CMIS-713 •  New base type: cmis:secondary " •  Other base types have new attribute: cmis:secondaryObjectTypeIds " •  Added to updateProperties and checkIn services" •  Properties are returned via query operations" •  Can be filtered using property filter syntax" •  Details here:" •  http://bit.ly/syhlzW"
  33. 33. Coming Soon – CMIS 1.1"Approved •  CMIS Repository Extensions (CMIS-693)" •  Allow Creation of Unfiled Documents with AtomPub (CMIS-711)" •  Description Property for all Base Types (CMIS-712)" •  Retention & Hold (CMIS-714)" •  Currently proposed to split these into separate proposals"
  34. 34. Coming Soon – CMIS 1.1"Under Consideration •  External Content Reference (CMIS-705)" •  Batch Operations (CMIS-727)" •  Is PWC the latest version? (CMIS-728)" •  Query Wildcard Clarification (CMIS-729)"
  35. 35. Demo!"Browser Binding in Alfresco •  More efficient than Web Services and the AtomPub binding" •  Florianʼs CMIS Webinar: http://bit.ly/tTW9ZX" •  Florianʼs Slides: http://slidesha.re/uL8IKI" •  Try it! http://cmis.alfresco.com/"
  36. 36. Whatʼs in the Future? – CMIS 2.0"•  Pessimistic Locking (CMIS-196)•  Multiple Content Streams on Documents (CMIS-432)•  Remove base64 content stream encoding (CMIS-466)•  Reconsider Renditions Implementation (CMIS-645)•  Annotations (CMIS-722)•  Tagging (CMIS-726)
  37. 37. CMIS Technical Committee Info"All work publicly accessibleTC Wiki •  http://bit.ly/t1IUCw"All OASIS JIRA Issues •  http://bit.ly/vEHttJ"
  38. 38. Contact Me"Ryan McVeigh – ECM Business Owner: •  rmcveigh@ziaconsulting.com"
  39. 39. Q & A"

×