Skip to main content link. Accesskey S
  • Overview ▾ Show Menu▼
  • APIs ▾ Show Menu▼
  • THIS WIKI IS READ-ONLY. Learn more...
  • IBM
  • Connections Developers
  • Home
  • Dev Guide
  • API Docs
  • SDK
  • Community
Dev Guide API Docs SDK Community This category IBM Social Business API Reference IBM Social Business Toolkit documentation Custom Search Scope...
Search
Content Management Interoperability Services > CMIS: Files > Files CMIS API extensions: Browser binding extensions
  • Share Show Menu▼
  • Subscribe Show Menu▼

About the Original Author

Click to view profileIBM contributorIBM
Contribution Summary:
  • Articles authored: 853
  • Articles edited: 788
  • Comments Posted: 0

Recent articles by this author

Removing multiple members

To delete multiple members from an activity with one API request, send an Atom feed as part of a delete request to the activity ACL.

Adding multiple members

To add multiple members to an activity with one API request, send an Atom feed document containing entries of the new members to be added to the activity ACL.

Moving Nodes Under Different Activities or Nodes

To move an activity node to another activity node, use an HTTP POST request.

Moving fields between nodes

To move a field to another activity node, use an HTTP PUT request.

Working with following profiles using the Administration API

Working with following profiles using the Administration API
Files CMIS API extensions: Browser binding extensions
Added by IBM contributorIBM on January 6, 2011 | Version 1
  • Actions Show Menu▼
Rate this article 1 starsRate this article 2 starsRate this article 3 starsRate this article 4 starsRate this article 5 stars
expanded Abstract
collapsed Abstract
The Files CMIS API provides the following extensions for use in CMIS clients to simplify interaction from a browser client that needs to use an HTML form to perform binary transfer operations.
Tags: Connections, Connections_3



The Files CMIS API provides the following extensions for use in CMIS clients to simplify interaction from a browser client that needs to use an HTML form to perform binary transfer operations.

These extensions allow clients to perform the following CMIS operations using an HTML form endpoint:
  • createDocument
  • createFolder
  • updateProperties

To invoke these operations, the RESTful Atompub Binding has been extended with two new link relations.

Document Entry, Folder Entry, Policy Entry, Relationship Entry
Link relations:
  • http://www.ibm.com/xmlns/prod/sn/cmis/multipart-form/object
    • PUT (mediatype="multipart/form-data"), response=text/html
      • updateProperties

Folder Entry
Link relations:
  • http://www.ibm.com/xmlns/prod/sn/cmis/multipart-form/folderChildrenCollection
    • POST (mediatype="multipart/form-data"), response=text/html
      • createDocument
      • createFolder

To make a multipart form-data request, the following conversion is used to translate a CMIS Object domain model representation into a HTML multipart form-data request:
  • For each property defined on the CMIS object, a corresponding part is produced in the HTML form, where the part is identified by the CMIS object property id.
  • To transfer a binary resource, a file part is needed in the HTML form with an identifier of cmis:contentStream. If a file part is included, it is used to set the associated file contents for the resource in the CMIS server.
  • To apply tags on a resource, a form part with the name snx:tags should be supplied. The form value should be a space delimited set of tags to apply to the resource.

Sample request form:

<form 
  // action link depends on which operation wish to perform
  action="{insert link from rel="http://www.ibm.com/xmlns/prod/sn/cmis/multipart-form/folderChildrenCollection"}"
  action="{insert link from rel="http://www.ibm.com/xmlns/prod/sn/cmis/multipart-form/object"}"
  method="POST"
  enctype="multipart/form-data">
  // for each cmis object type property, create a corresponding input text field mapped to that properties value
  <input type="text" name="cmis:name" value="{value of cmis:name}"/>
  <input type="text" name="cmis:objectTypeId" value="{value of cmis:objectTypeId (i.e. snx:file, snx:collection, etc.) }"/>
  ...
  // for an object type that has a content stream (i.e. cmis:document, snx:file, etc.)
  <input type="file" name="cmis:contentStream"/>
</form>


Sample response form, Media Type: text/html:

<html>
  <head>
    <meta name="status" content="{HTTP-STATUS-CODE-FOR-OPERATION-SUCCESS}"/>
  </head>
  <body>
    // cmis object in JSON syntax, where each property id on object is a key in the json object
    {
      "properties":  [
        // for each property on type
        { "displayName":"Id",
          "value": [{"value":"snx:file!1234"}],
          "propertyDefinitionId":"cmis:objectId",
          "queryName":"cmis:name",
          "propertyType":"string"
        }
      ],
      "links":  [
        // for each link relation per Restful Atompub Binding declared on resource
        { "href":"link-to-resource",
          "type":"media-type-of-linked-resource",
          "rel":"rel-name (i.e. edit, self, alternate, etc.)"
      ]
    }
  </body>
</html>

Parent topic: Files CMIS API extensions

  • Actions Show Menu▼


expanded Attachments (0)
collapsed Attachments (0)
Edit the article to add or modify attachments.
expanded Versions (1)
collapsed Versions (1)
Version Comparison     
VersionDateChanged by              Summary of changes
This version (1)Jan 6, 2011, 1:17:16 PMIBM  IBM contributor
expanded Comments (0)
collapsed Comments (0)
Copy and paste this wiki markup to link to this article from another article in this wiki.
Go ElsewhereStay ConnectedHelpAbout
  • IBM Collaboration Solutions wikis
  • IBM developerWorks
  • IBM Software support
  • Twitter LinkIBMCnxDev on Twitter
  • ForumsIBMCnxDev on Stack Overflow
  • FacebookIBMSocialBizUX on Facebook
  • ForumsIBM Collaboration Solutions product forums
  • Community LinkThe Social Lounge
  • Wiki Help
  • Forgot user name/password
  • About the wiki
  • About IBM
  • Privacy
  • Accessibility
  • IBM Terms of use
  • Wiki terms of use