1 Browser Binding URL Patterns 2 3 The URLs used by the Browser Binding are meant to be predictable in order to simplify client development. This section specifies the URL patterns. 4 1.1 Browser Binding URLs 5 1.1.1 Service URL 6 7 The document returned by the Service URL provides repository infos for all available repositories. How the client will get the Service URL is repository specific. 8 (Abbreviation in this document: <service>.) 9 10 11 Each repository info MUST contain two additional URLs: 12 The Repository URL (repository info property: repositoryUrl) 13 The Root URL (repository info property: rootUrl) 14 1.1.2 Repository URL 15 16 The Repository URL provides access to data that is independent of the folder hierarchy such as type definitions, query and content changes. 17 (Abbreviation in this document: <repository>.) 18 1.1.3 Root URL 19 The Root URL is used to build Object URLs. 20 (Abbreviation in this document: <root>.) 21 1.1.4 Object URLs 22 (Abbreviation in this document: <object>.) 23 1.1.4.1 HTTP GET Object URLs 24 25 An object is either identified by a parameter “objectId” added to the Root URL or by a path that is appended to the Root URL. If the parameter “objectId” is set, it takes precedence over the path. 26 27 The two forms of an Object URL for HTTP GET are: 28 29 <root>?objectId=<objectId> where <objectId> is a CMIS object id. 30 31 <root>/<path> where <path> is an absolute CMIS path to an object. 32 33 Examples: 34 35 36 If the Root URL is “http://myrepository/cmis/repository/123” and the object id is “1a2b-3c4d-5e6f” the Object URL is: http://myrepository/cmis/repository/123?objectId=1a2b-3c4d-5e6f 37 38 39 If the Root URL is “http://myrepository/cmis/repository/123” and the object path is “/myFolder/myDocument” the Object URL is: http://myrepository/cmis/repository/123/myFolder/myDocument 40 41 1.1.4.2 HTTP POST Object URLs 42 43 An object is either identified by a form field “objectId” or by a path that is appended to the Root URL. If the form field “objectId” is set, it takes precedence over the path. 44 45 The two forms of an Object URL for HTTP POST are: 46 47 <root> where the CMIS object id transferred in the form data field “objectId”. 48 49 <root>/<path> where <path> is an absolute CMIS path to an object. 50 51 1.2 Operations 52 53 Almost all read operations (operations without side effects) use HTTP GET. The data returned by a read operation is determinate by the query parameter “selector”. 54 If the "selector" parameter is absent, the following values are assumed: 55 For document objects: content 56 For folder objects: children 57 For relationship objects: object 58 For policies objects: object 59 The value of the "selector" parameter is case insensitive. 60 61 62 All operations that create, modified or delete objects or change the state of the repository use HTTP POST. The action executed by such an operation is determinate by the form parameter “action”. 63 The “action” parameter MUST be set. The value of the "action" parameter is case insensitive. 64 65 The following table assigns “selector” and “action” values to CMIS operations: 66 Service Operation Repository Service getRepositories GET <service> getRepositoryInfo GET <repository> repositoryInfo getTypeChildren GET <repository> typeChildren getTypeDescendants GET <repository> typeDescendants getTypeDefinition GET <repository> typeDefintion getChildren GET <object> children getDescendants GET <object> descendants Navigation Service HTTP Method URL Selector Action Object Service getFolderTree GET <object> folder getFolderParent GET <object> parent getObjectParents GET <object> parents getCheckedOutDocs GET <object> checkedout getCheckedOutDocs GET <repository> checkedout createDocument POST <object> createDocument createDocument POST <repository> createDocument createDocumentFromSource POST <object> createDocumentFromSource createDocumentFromSource POST <repository> createDocumentFromSource createFolder POST <object> createFolder createRelationship POST <repository> createRelationship createPolicy POST <object> createPolicy createPolicy POST <repository> createPolicy getAllowableActions GET <object> allowableActions getObject GET <object> object getContentStream GET <object> content getRenditions GET <object> renditions getProperties getObjectByPath Multi-filing Service Discovery Service Versioning Service updateProperties POST updateProperties moveObject POST <object> move deleteObject POST <object> delete deleteTree POST <object> deleteTree setContentStream POST <object> setContent deleteContentStream POST <object> deleteContent addObjectToFolder POST <object> addObjectToFolder removeObjectFromFolder POST <object> removeObjectFromFolder query POST <repository> query query GET <repository> query getContentChanges GET <repository> contentChanges checkOut POST <object> checkOut cancelCheckOut POST <object> cancelCheckOut checkIn POST <object> checkIn GET <object> object getAllVersions GET <object> versions Relationship Service getObjectRelationships GET <object> relationships Policy Service applyPolicy POST <object> applyPolicy removePolicy POST <object> removePolicy GET <object> POST <object> getObjectOfLatestVersion getPropertiesOfLatestVersion ACL Service getACL applyACL 67 68 acl applyACL
© Copyright 2026 Paperzz