CMIS Spec Uncovered
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

CMIS Spec Uncovered

  • 2,323 views
Uploaded on

CMIS became an OASIS standard earlier this year. It has the potential to impact content repositories in the same way that SQL impacted relational databases all those years ago. In this session......

CMIS became an OASIS standard earlier this year. It has the potential to impact content repositories in the same way that SQL impacted relational databases all those years ago. In this session you'll learn about the goals of CMIS, its domain model and services, without any of the hype from a member of the CMIS technical committee. If you attend this session, you'll save yourself from the 250 pages of the specification. This is knowledge that will apply not only to Alfresco, but also all other major content repositories.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,323
On Slideshare
2,323
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
66
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. CMIS Specification Uncovered
    0
    David Caruana
    Chief Architect, Alfresco
    twitter: @dcaruana
  • 2. CMIS Specification
    1
    I’m a Software Engineer, I would like to know…
    What Is Its Purpose?
    Should I Invest?
    What's Specified?
    How Do I Use It?
    Where Can I Learn More?
  • 3. Meet CMIS
    2
    Client
    consumer
    read
    write
    Services
    Domain Model
    Content
    Management
    Interoperability
    Services
    Vendor Mapping
    provider
    Content Repository
  • 4. Some Use Cases
    3
    Client
    Content Repository
    Client
    Content Repository
    Content Repository
    Content Repository
    Content Repository
    Content Repository
    • Workflow & BPM
    • 5. Archival
    • 6. Virtual Documents
    • 7. DAM / WCM
    • 8. Collaborative Content Creation
    • 9. Portals
    • 10. Client Application Integration
    • 11. Mashup
  • DEMO
    4
    Spring Surf meets CMIS…
  • 12. CMIS is an OASIS Standard
    5
    Alfresco Releases 1st Implementation
    Alfresco Releases 1st Supported Implementation
    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
  • 13. CMIS Developed By 30+ ECM Vendors
    6
    Implementations Already Available…
    Providers
    Consumers
  • 14. It’s Good For You
    7
    Focal point for content management ecosystem
    Communities
    Tools
    Libraries
    Training
    Your knowledge is re-usable
    Growth in Content Applications
    Just as SQL boosted the Database Industry
    Developers
  • 15. Applications Applications Applications
    8
  • 16. 300 Pages of Specification Condensed
    9
    Domain Model
    Data Model (core entities, query)
    Services (operations against Data Model)
    Web Services Binding
    Services in WSDL
    AtomPub Binding
    Services in Atom Publishing Protocol
    Guiding Design Principal
    Encapsulate existing ECM approach, rather than invent
    You already know the concepts
    Three Sections…
    App Developers
    Library Developers
  • 17. Data Model Base Types
    10
    Document
    Folder
    Described by
    Type Definitions
    Relationship
    • Source Object
    • 22. Target Object
    Policy
    • Target Object
  • Type Definitions
    11
    Object
    Property
    *
    Document
    • Versionable
    • 33. Allow Content
    Folder
    Relationship
    • Source Types
    • 34. Target Types
    Policy
    Custom Type
  • 35. Base Properties
    12
    Hierarchy
    parentId
    path
    allowedChildObjectTypeIds
    Identifers
    objectId
    typeId
    baseTypeId
    name
    Content
    contentStreamLength
    contentStreamMimeType
    Audit
    createdBy
    creationDate
    lastModifiedBy
    lastModificationDate
    Version
    isLatestVersion
    isMajorVersion
    versionLabel
    checkinComment
  • 36. Content Streams
    Document
    • Mime Type
    Rendition
    *
    Content Stream
    • Stream Id
    * Maximum length is repository specific
    13
  • 38. Access Control
    ACL
    Object
    ACE
    Permissionscmis:read
    cmis:write
    cmis:all
    repository specific
    14
  • 41. CMIS QL
    15
    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
    Each Type is projected as a Table
  • 42. Do You Understand These Queries?
    16
    select cmis:namefrom cmis:documentwhere contains('alfresco’)
    select cmis:name, cmis:lastModificationDatefrom cmis:documentwhere cmis:lastModifiedBy = 'admin’order by cmis:lastModificationDatedesc
    select cmis:name, cmis:contentStreamLengthwhere in_tree(‘<folderObjectId>’)and cmis:contentStreamLength > 102400order by cmis:contentStreamLength
  • 43. Advanced Features
    17
    Document Versions
    Document
    Repository Vendor May Support
    • Version Specific Folder Filing
    • 44. Query All Versions
    • 45. Create Minor, Major, PWCs
    V1
    Minor
    V2
    Major
    Version Series
    checkout
    PWC
    V3
    Major
    checkin
    latest
  • 46. Advanced Features
    18
    Change Log
    * Note: Optional Capability
    Change Events
    Create
    Update
    Delete
    Client
    Repo
    logs
    discover
    Change Event:
    • Object Id
    • 47. Change Time
    • 48. Change Type – created, updated, deleted, security
    • 49. Properties – for updated events
  • Advanced Features
    19
    Policies
    * Note: Optional Capability
    Repository specific Policies
    Retention
    Security

    discover
    Client
    apply
    Document
  • 50. DEMO
    20
    CMIS through the eyes of the OpenCMIS Workbench…
  • 51. CMIS Services
    21
    Browse
    Inspect
    Act
    Object
    - Read Content
    - Get Properties
    - Get ACLs
    - Get Allowable Actions
    Object
    - Write Content
    - Set Properties
    - Create Folder / Doc / Relation
    - Delete
    Repository
    • Get Server Information
    • 53. Get Type Definitions
    Navigation
    - Walk Folder / Doc Hierarchy
    - Get Checked-out
    Versioning
    • Walk Version History
    Versioning
    - Check-out / In
    - Cancel Check-out
    - Delete Version(s)
    Relationship
    • Traverse Relationship(s)
    Discovery
    - Issue Query
    - Get Change Log
    Policy
    • Get Applied Policies
    Policy
    - Apply / Remove
  • 54. Use CMIS Services Anywhere
    22
    Bindings are neutral
    Any Programming Language
    Any Operating System
    Any Environment
    Only requirement is one of…
    Web Service Client Library
    HTTP Client Library
    As a developer, you’ll probably want to build a wrapper API
    But, don’t…
  • 55. 23
    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
  • 56. DEMO
    24
    OpenCMIS API…
  • 57. CMIS Take Away
    25
    OASIS Standard
    Defines ECM Domain Model and Services
    SQL like Query Language
    Plenty of Vendor Support
    Use In Any Environment
    Apache Chemistry Client APIs
    Re-use Your Knowledge Across ECM Industry
    Remember This
  • 58. Learn More
    26
    docs.oasis-open.org/cmis/CMIS/v1.0/cs01/
    cmis.alfresco.com
    incubator.apache.org/chemistry/
  • 59. 27
    Shape & Color Pallette
    Normal Text
    Normal Text
    Normal Text
  • 60. 28