SlideShare uma empresa Scribd logo
1 de 49
Baixar para ler offline
CMIS – Whatʼs coming next?"
Jeff Potts, Chief Community Officer, Alfresco Software"
Agenda"

•    What’s Happened?
•    CMIS Refresher
•    Coming Soon – CMIS 1.1
•    What’s in the Future? – CMIS 2.0
•    CMIS in Alfresco 4
•    Questions?
Whatʼs Happening?"
Whatʼs Happened?"

  Development	
                     CMIS	
  1.0	
     Plug-­‐Fest	
  in	
  May	
  
 started	
  by	
  EMC,	
          released	
  for	
    TC	
  working	
  on	
  
IBM	
  &	
  Microso@	
          public	
  comment	
        CMIS	
  1.1	
  

               2006	
        2008	
     2009	
     2010	
     2011	
  


           IniAal	
  Proposal	
  
                                               CMIS	
  1.0	
  
         SubmiEed	
  to	
  OASIS	
  
                                             RaAfied	
  in	
  May	
  
           and	
  TC	
  formed	
  
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?
Whatʼs Happened?"

Current State of the CMIS Ecosystem
  •  Implemented by every major ECM repository vendor"
  •  More than 50 CMIS applications"
  •  Alfresco is leading the charge"




                                                         Providers
                                                         Consumers
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
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
Whatʼs Happened?"


 •  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"
Whatʼs Happened?"

State of the CMIS Technical Committee (TC)"
  •  CMIS 1.0 errata – Vote just passed; Needs to be published"
  •  CMIS Technical Committee working on CMIS 1.1"
  •  Already talking about issues and ideas for CMIS 2.0"
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 CMIS specification"
  •  Must provide REST and SOAP bindings"
  •  Advertises capabilities through a service"
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"
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"
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"
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"
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"
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"
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"
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"
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"
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"
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"
Coming Soon to CMIS"




                       Credit: Mo Morgan
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"
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	
  
         DateAme	
                                number	
  (milliseconds	
  since	
  1970/01/01,	
  UTC)	
  
         Uri	
                                    string	
  
         Id	
                                     string	
  
         Html	
                                   string	
  
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"
  •  Details here:"
    •    http://bit.ly/tlACld"
Demo!"

Browser Binding in Alfresco
  •  More efficient than Web Services and
     the AtomPub binding"
  •  Try it! http://cmis.alfresco.com/"
  •  JSONView Firefox extension"
  •  Alfresco Community 4.0b"
Coming Soon – CMIS 1.1"

Type Mutability – CMIS-669
Use 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"
Coming Soon – CMIS 1.1"

Type Mutability – CMIS-669
Requirements
  •  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"
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"
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."
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"
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"
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)"
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)
CMIS Technical Committee Info"

All work publicly accessible
TC Wiki
  •  http://bit.ly/t1IUCw"
All OASIS JIRA Issues
  •  http://bit.ly/vEHttJ"
Whatʼs new with CMIS in Alfresco 4?"
CMIS implementation is based on OpenCMIS"

Why has it been re-implemented?

 • OpenCMIS is used by several CMIS repositories.

   Alfresco automatically benefits from all bug fixes and
   improvements."
 • One code base for the AtomPub and the Web Services binding 

   (and the Browser Binding)."
 • Better CMIS specification compliance."
 • Better performance, less memory consumption, 

   handling of big documents."
CMIS implementation is based on OpenCMIS"

How does this affect CMIS clients?

 •  New URLs…"
   • The old implementation and URLs will be available but are deprecated."
   • Specification compliant, generic CMIS clients shouldnʼt see a difference."
 •  Aspects and the Alfresco OpenCMIS Extension work as before."
 •  If the CMIS Client make any assumptions about the format the
    object id, it has to change! (See next slides.)"
CMIS Document IDs in Alfresco 4"

Alfresco 3.X Object Ids:

 • Current version document id: "node ref

  workspace://SpacesStore/e5787fce-7583-4b74-8836-8dcc94df4493!


 • Version document id: current version node ref + “;” + version label

   workspace://SpacesStore/e5787fce-7583-4b74-8836-8dcc94df4493;1.0!


 • The creation of a new version doesnʼt change the current version
  document id.  Not spec compliant!!
 • A client must not assume that a document id always represents the
  current version!"
CMIS Document IDs in Alfresco 4"

Alfresco 4.X Object Ids:

 • Current version document id: "node ref + “;” + version label

  workspace://SpacesStore/e5787fce-7583-4b74-8836-8dcc94df4493;1.1!


 • Version document id: current version node ref + “;” + version label

   workspace://SpacesStore/e5787fce-7583-4b74-8836-8dcc94df4493;1.0!


 • The creation of a new version changes the current version document id.
   Spec compliant!!
 • General advice: Treat the object id as an opaque string."
OpenCMIS client available in web scripts"

Use case examples:
 • Alfresco Share mashups and federated queries"

 • Synchronize documents between repositories"

 • Publishing scenarios"

 • Simple migration scenarios"
OpenCMIS client available in web scripts"

New JavaScript top level object: cmis
 •  This object manages connections to CMIS servers."

 •  Three connection types:"
   •  Current Alfresco server (uses OpenCMIS local binding if possible)"
   •  Preconfigured connection"
   •  Web script configured connection"



    var cmisConnection = cmis.getConnection(myConnectionId);
    var cmisSession    = cmisConnection.getSession();

    model.folder   = cmisSession.getRootFolder();
    model.children = model.folder.getChildren().iterator();
Demo!"

Share Extras JavaScript console + cmis root object
Resources"
OASIS CMIS TC
 • http://www.oasis-open.org/committees/cmis"
 • http://tools.oasis-open.org/issues/browse/CMIS"


Live CMIS server
 • http://cmis.alfresco.com"


Apache Chemistry
 • http://chemistry.apache.org"


Florianʼs Tech Talk Live Session on CMIS"
 • Recorded webex http://bit.ly/tTW9ZX"
 • Slides: http://slidesha.re/uL8IKI"
Questions?

jeff.potts@alfresco.com

       @jeffpotts01

http://ecmarchitect.com"

Mais conteúdo relacionado

Mais procurados

Chicago Microservices Integration Talk
Chicago Microservices Integration TalkChicago Microservices Integration Talk
Chicago Microservices Integration TalkChristian Posta
 
Microservices with Spring Cloud, Netflix OSS and Kubernetes
Microservices with Spring Cloud, Netflix OSS and Kubernetes Microservices with Spring Cloud, Netflix OSS and Kubernetes
Microservices with Spring Cloud, Netflix OSS and Kubernetes Christian Posta
 
Microservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and KubernetesMicroservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and KubernetesChristian Posta
 
Java one kubernetes, jenkins and microservices
Java one   kubernetes, jenkins and microservicesJava one   kubernetes, jenkins and microservices
Java one kubernetes, jenkins and microservicesChristian Posta
 
Cloud Native Camel Riding
Cloud Native Camel RidingCloud Native Camel Riding
Cloud Native Camel RidingChristian Posta
 
Fuse integration-services
Fuse integration-servicesFuse integration-services
Fuse integration-servicesChristian Posta
 
An evolution of application networking: service mesh
An evolution of application networking: service meshAn evolution of application networking: service mesh
An evolution of application networking: service meshChristian Posta
 
Essential Camel Components
Essential Camel ComponentsEssential Camel Components
Essential Camel ComponentsChristian Posta
 
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShiftReal-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShiftChristian Posta
 
ActiveMQ 5.9.x new features
ActiveMQ 5.9.x new featuresActiveMQ 5.9.x new features
ActiveMQ 5.9.x new featuresChristian Posta
 
Camel oneactivemq posta-final
Camel oneactivemq posta-finalCamel oneactivemq posta-final
Camel oneactivemq posta-finalChristian Posta
 
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...Tony Erwin
 
Turning Open Stack Swift Into A Rich Business Ready Cloud Service
Turning Open Stack Swift Into A Rich Business Ready Cloud ServiceTurning Open Stack Swift Into A Rich Business Ready Cloud Service
Turning Open Stack Swift Into A Rich Business Ready Cloud Servicejimliddle
 
Restful web services with nodejs
Restful web services with nodejsRestful web services with nodejs
Restful web services with nodejsAspenware
 
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO Christian Posta
 
Serverless: The future of application delivery
Serverless: The future of application deliveryServerless: The future of application delivery
Serverless: The future of application deliveryDoug Vanderweide
 

Mais procurados (20)

Chicago Microservices Integration Talk
Chicago Microservices Integration TalkChicago Microservices Integration Talk
Chicago Microservices Integration Talk
 
Microservices with Spring Cloud, Netflix OSS and Kubernetes
Microservices with Spring Cloud, Netflix OSS and Kubernetes Microservices with Spring Cloud, Netflix OSS and Kubernetes
Microservices with Spring Cloud, Netflix OSS and Kubernetes
 
Microservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and KubernetesMicroservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and Kubernetes
 
Java one kubernetes, jenkins and microservices
Java one   kubernetes, jenkins and microservicesJava one   kubernetes, jenkins and microservices
Java one kubernetes, jenkins and microservices
 
Cloud Native Camel Riding
Cloud Native Camel RidingCloud Native Camel Riding
Cloud Native Camel Riding
 
Fuse integration-services
Fuse integration-servicesFuse integration-services
Fuse integration-services
 
An evolution of application networking: service mesh
An evolution of application networking: service meshAn evolution of application networking: service mesh
An evolution of application networking: service mesh
 
DevNexus 2015
DevNexus 2015DevNexus 2015
DevNexus 2015
 
Essential Camel Components
Essential Camel ComponentsEssential Camel Components
Essential Camel Components
 
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShiftReal-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
 
ActiveMQ 5.9.x new features
ActiveMQ 5.9.x new featuresActiveMQ 5.9.x new features
ActiveMQ 5.9.x new features
 
End-to-end W3C APIs
End-to-end W3C APIsEnd-to-end W3C APIs
End-to-end W3C APIs
 
Camel oneactivemq posta-final
Camel oneactivemq posta-finalCamel oneactivemq posta-final
Camel oneactivemq posta-final
 
On being RESTful
On being RESTfulOn being RESTful
On being RESTful
 
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
 
Turning Open Stack Swift Into A Rich Business Ready Cloud Service
Turning Open Stack Swift Into A Rich Business Ready Cloud ServiceTurning Open Stack Swift Into A Rich Business Ready Cloud Service
Turning Open Stack Swift Into A Rich Business Ready Cloud Service
 
Restful web services with nodejs
Restful web services with nodejsRestful web services with nodejs
Restful web services with nodejs
 
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
 
Blockchain on AWS
Blockchain on AWSBlockchain on AWS
Blockchain on AWS
 
Serverless: The future of application delivery
Serverless: The future of application deliveryServerless: The future of application delivery
Serverless: The future of application delivery
 

Semelhante a PLAT-3 CMIS — What’s coming next?

PLAT-18 Alfresco iOS Mobile Application Details and Design
PLAT-18 Alfresco iOS Mobile Application Details and DesignPLAT-18 Alfresco iOS Mobile Application Details and Design
PLAT-18 Alfresco iOS Mobile Application Details and DesignAlfresco Software
 
PLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and DesignPLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and DesignAlfresco Software
 
OpenStack Block Storage 101
OpenStack Block Storage 101OpenStack Block Storage 101
OpenStack Block Storage 101NetApp
 
Getting Started with CMIS
Getting Started with CMISGetting Started with CMIS
Getting Started with CMISJeff Potts
 
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 GrailsAlfresco Software
 
Tech talk-live-alfresco-drupal
Tech talk-live-alfresco-drupalTech talk-live-alfresco-drupal
Tech talk-live-alfresco-drupalAlfresco Software
 
Microservices: A developer's approach
Microservices: A developer's approachMicroservices: A developer's approach
Microservices: A developer's approachFoyzul Karim
 
Migrating Enterprise Microservices From Cloud Foundry to Kubernetes
Migrating Enterprise Microservices From Cloud Foundry to KubernetesMigrating Enterprise Microservices From Cloud Foundry to Kubernetes
Migrating Enterprise Microservices From Cloud Foundry to KubernetesTony Erwin
 
Microservices and Best Practices
Microservices and Best Practices Microservices and Best Practices
Microservices and Best Practices Weaveworks
 
Nuxeo World Session: CMIS - What's Next?
Nuxeo World Session: CMIS - What's Next?Nuxeo World Session: CMIS - What's Next?
Nuxeo World Session: CMIS - What's Next?Nuxeo
 
Introduction to AWS Kinesis
Introduction to AWS KinesisIntroduction to AWS Kinesis
Introduction to AWS KinesisSteven Ensslen
 
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 MigrationAlfresco Software
 
Evolution of the IBM Cloud Console: From Monolith to Microservices and Beyond
Evolution of the IBM Cloud Console: From Monolith to Microservices and BeyondEvolution of the IBM Cloud Console: From Monolith to Microservices and Beyond
Evolution of the IBM Cloud Console: From Monolith to Microservices and BeyondTony Erwin
 
AWS Community Nordics Virtual Meetup
AWS Community Nordics Virtual MeetupAWS Community Nordics Virtual Meetup
AWS Community Nordics Virtual MeetupAnahit Pogosova
 
Microservices Journey Summer 2017
Microservices Journey Summer 2017Microservices Journey Summer 2017
Microservices Journey Summer 2017Christian Posta
 
Aws Solution Architecture Associate - summary
Aws Solution Architecture Associate - summaryAws Solution Architecture Associate - summary
Aws Solution Architecture Associate - summaryonoffshake
 
How to grow your own Microservice?
How to grow your own Microservice?How to grow your own Microservice?
How to grow your own Microservice?Dmitry Buzdin
 

Semelhante a PLAT-3 CMIS — What’s coming next? (20)

PLAT-18 Alfresco iOS Mobile Application Details and Design
PLAT-18 Alfresco iOS Mobile Application Details and DesignPLAT-18 Alfresco iOS Mobile Application Details and Design
PLAT-18 Alfresco iOS Mobile Application Details and Design
 
PLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and DesignPLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and Design
 
OpenStack Block Storage 101
OpenStack Block Storage 101OpenStack Block Storage 101
OpenStack Block Storage 101
 
Getting Started with CMIS
Getting Started with CMISGetting Started with CMIS
Getting Started with CMIS
 
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
 
Tech talk-live-alfresco-drupal
Tech talk-live-alfresco-drupalTech talk-live-alfresco-drupal
Tech talk-live-alfresco-drupal
 
Microservices: A developer's approach
Microservices: A developer's approachMicroservices: A developer's approach
Microservices: A developer's approach
 
Migrating Enterprise Microservices From Cloud Foundry to Kubernetes
Migrating Enterprise Microservices From Cloud Foundry to KubernetesMigrating Enterprise Microservices From Cloud Foundry to Kubernetes
Migrating Enterprise Microservices From Cloud Foundry to Kubernetes
 
CMIS Introduction
CMIS IntroductionCMIS Introduction
CMIS Introduction
 
Microservices and Best Practices
Microservices and Best Practices Microservices and Best Practices
Microservices and Best Practices
 
Nuxeo World Session: CMIS - What's Next?
Nuxeo World Session: CMIS - What's Next?Nuxeo World Session: CMIS - What's Next?
Nuxeo World Session: CMIS - What's Next?
 
Introduction to AWS Kinesis
Introduction to AWS KinesisIntroduction to AWS Kinesis
Introduction to AWS Kinesis
 
ITB2016 - ContentBox Modular CMS
ITB2016 - ContentBox Modular CMSITB2016 - ContentBox Modular CMS
ITB2016 - ContentBox Modular CMS
 
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
 
Evolution of the IBM Cloud Console: From Monolith to Microservices and Beyond
Evolution of the IBM Cloud Console: From Monolith to Microservices and BeyondEvolution of the IBM Cloud Console: From Monolith to Microservices and Beyond
Evolution of the IBM Cloud Console: From Monolith to Microservices and Beyond
 
AWS Community Nordics Virtual Meetup
AWS Community Nordics Virtual MeetupAWS Community Nordics Virtual Meetup
AWS Community Nordics Virtual Meetup
 
Microservices Journey Summer 2017
Microservices Journey Summer 2017Microservices Journey Summer 2017
Microservices Journey Summer 2017
 
Aws Solution Architecture Associate - summary
Aws Solution Architecture Associate - summaryAws Solution Architecture Associate - summary
Aws Solution Architecture Associate - summary
 
TechBeats #2
TechBeats #2TechBeats #2
TechBeats #2
 
How to grow your own Microservice?
How to grow your own Microservice?How to grow your own Microservice?
How to grow your own Microservice?
 

Mais de Alfresco Software

Alfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Software
 
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 applicationAlfresco Software
 
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 HogescholenAlfresco Software
 
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 AmsterdamAlfresco Software
 
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 AlfrescoAlfresco Software
 
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 GroupAlfresco Software
 
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 FlowAlfresco Software
 
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 Software
 
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 Software
 
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 APIAlfresco Software
 
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-KonsoleAlfresco Software
 
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 AlfrescoAlfresco Software
 
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 Software
 
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: WesternacherAlfresco Software
 
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 Software
 
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-novumAlfresco Software
 
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 Software
 
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 Software
 
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 - SafranAlfresco Software
 
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 BusinessAlfresco Software
 

Mais de 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
 

Último

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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 MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
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...Miguel Araújo
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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 SolutionsEnterprise Knowledge
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
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 MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
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.pptxHampshireHUG
 
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...apidays
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 

Último (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced 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...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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
 
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...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

PLAT-3 CMIS — What’s coming next?

  • 1. CMIS – Whatʼs coming next?" Jeff Potts, Chief Community Officer, Alfresco Software"
  • 2. Agenda" •  What’s Happened? •  CMIS Refresher •  Coming Soon – CMIS 1.1 •  What’s in the Future? – CMIS 2.0 •  CMIS in Alfresco 4 •  Questions?
  • 4. Whatʼs Happened?" Development   CMIS  1.0   Plug-­‐Fest  in  May   started  by  EMC,   released  for   TC  working  on   IBM  &  Microso@   public  comment   CMIS  1.1   2006   2008   2009   2010   2011   IniAal  Proposal   CMIS  1.0   SubmiEed  to  OASIS   RaAfied  in  May   and  TC  formed  
  • 5. 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?
  • 6.
  • 7. Whatʼs Happened?" Current State of the CMIS Ecosystem •  Implemented by every major ECM repository vendor" •  More than 50 CMIS applications" •  Alfresco is leading the charge" Providers Consumers
  • 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. 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. Whatʼs Happened?" •  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. Whatʼs Happened?" State of the CMIS Technical Committee (TC)" •  CMIS 1.0 errata – Vote just passed; Needs to be published" •  CMIS Technical Committee working on CMIS 1.1" •  Already talking about issues and ideas for CMIS 2.0"
  • 12.
  • 13. CMIS Refresher" Domain Model •  Data Model" •  Services" Protocol Bindings •  RESTful AtomPub" •  Web Services"
  • 14. 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"
  • 15. 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"
  • 16. 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"
  • 17. 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"
  • 18. 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"
  • 19. 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"
  • 20. 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"
  • 21. 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"
  • 22. 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"
  • 23. 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"
  • 24. 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"
  • 25. 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"
  • 26. Coming Soon to CMIS" Credit: Mo Morgan
  • 27. 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"
  • 28. 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   DateAme   number  (milliseconds  since  1970/01/01,  UTC)   Uri   string   Id   string   Html   string  
  • 29. 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" •  Details here:" •  http://bit.ly/tlACld"
  • 30. Demo!" Browser Binding in Alfresco •  More efficient than Web Services and the AtomPub binding" •  Try it! http://cmis.alfresco.com/" •  JSONView Firefox extension" •  Alfresco Community 4.0b"
  • 31. Coming Soon – CMIS 1.1" Type Mutability – CMIS-669 Use 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"
  • 32. Coming Soon – CMIS 1.1" Type Mutability – CMIS-669 Requirements •  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"
  • 33. 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"
  • 34. 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."
  • 35. 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"
  • 36. 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"
  • 37. 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)"
  • 38. 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)
  • 39. CMIS Technical Committee Info" All work publicly accessible TC Wiki •  http://bit.ly/t1IUCw" All OASIS JIRA Issues •  http://bit.ly/vEHttJ"
  • 40. Whatʼs new with CMIS in Alfresco 4?"
  • 41. CMIS implementation is based on OpenCMIS" Why has it been re-implemented? • OpenCMIS is used by several CMIS repositories.
 Alfresco automatically benefits from all bug fixes and improvements." • One code base for the AtomPub and the Web Services binding 
 (and the Browser Binding)." • Better CMIS specification compliance." • Better performance, less memory consumption, 
 handling of big documents."
  • 42. CMIS implementation is based on OpenCMIS" How does this affect CMIS clients? •  New URLs…" • The old implementation and URLs will be available but are deprecated." • Specification compliant, generic CMIS clients shouldnʼt see a difference." •  Aspects and the Alfresco OpenCMIS Extension work as before." •  If the CMIS Client make any assumptions about the format the object id, it has to change! (See next slides.)"
  • 43. CMIS Document IDs in Alfresco 4" Alfresco 3.X Object Ids: • Current version document id: "node ref
 workspace://SpacesStore/e5787fce-7583-4b74-8836-8dcc94df4493! • Version document id: current version node ref + “;” + version label
 workspace://SpacesStore/e5787fce-7583-4b74-8836-8dcc94df4493;1.0! • The creation of a new version doesnʼt change the current version document id.  Not spec compliant!! • A client must not assume that a document id always represents the current version!"
  • 44. CMIS Document IDs in Alfresco 4" Alfresco 4.X Object Ids: • Current version document id: "node ref + “;” + version label
 workspace://SpacesStore/e5787fce-7583-4b74-8836-8dcc94df4493;1.1! • Version document id: current version node ref + “;” + version label
 workspace://SpacesStore/e5787fce-7583-4b74-8836-8dcc94df4493;1.0! • The creation of a new version changes the current version document id.  Spec compliant!! • General advice: Treat the object id as an opaque string."
  • 45. OpenCMIS client available in web scripts" Use case examples: • Alfresco Share mashups and federated queries" • Synchronize documents between repositories" • Publishing scenarios" • Simple migration scenarios"
  • 46. OpenCMIS client available in web scripts" New JavaScript top level object: cmis •  This object manages connections to CMIS servers." •  Three connection types:" •  Current Alfresco server (uses OpenCMIS local binding if possible)" •  Preconfigured connection" •  Web script configured connection" var cmisConnection = cmis.getConnection(myConnectionId); var cmisSession = cmisConnection.getSession(); model.folder = cmisSession.getRootFolder(); model.children = model.folder.getChildren().iterator();
  • 47. Demo!" Share Extras JavaScript console + cmis root object
  • 48. Resources" OASIS CMIS TC • http://www.oasis-open.org/committees/cmis" • http://tools.oasis-open.org/issues/browse/CMIS" Live CMIS server • http://cmis.alfresco.com" Apache Chemistry • http://chemistry.apache.org" Florianʼs Tech Talk Live Session on CMIS" • Recorded webex http://bit.ly/tTW9ZX" • Slides: http://slidesha.re/uL8IKI"
  • 49. Questions?
 jeff.potts@alfresco.com
 @jeffpotts01
 http://ecmarchitect.com"