Hi Jens,

I haven't checked it in detail, but it looks about right with one small exception:
The "atom" part in the URL is not static. It can be changed in the web.xml.


Cheers,

Florian



On 12/11/2010 11:38, Jens Hübel wrote:
HI folks,



I don't know how many times I have copied  an AtomPub URL into a browser, 
grabbed the response, looked for some links in the response to copy/paste into 
the browser again until I found what I wanted.



So I think it would be useful to document our URL schema in the wiki, because 
it helps in understanding how opencmis works and debugging things. Tools like 
browsers or wget and curl are often useful. A potential risk might be that 
people start writing clients hard-coding the opencmis schema which is not what 
the spec expects ;)



I came up with this (see below). Would others consider this to be useful? Is it 
correct, complete?



Jens



URL ::= 
http://<HOST>:<PORT>/<SERVLET-PATH>/atom/<REPOSITORY-ID>/<RESOURCE>?<PARAM=VALUE>&<PARAM=VALUE>&....



RESOURCE ::= RESOURCE_CHILDREN |

                 RESOURCE_CHILDREN |

                 RESOURCE_DESCENDANTS |

                 RESOURCE_FOLDERTREE |

                 RESOURCE_TYPE |

                 RESOURCE_TYPES |

                 RESOURCE_TYPESDESC |

                 RESOURCE_ENTRY |

                 RESOURCE_PARENTS |

                 RESOURCE_VERSIONS |

                 RESOURCE_ALLOWABLEACIONS |

                 RESOURCE_ACL |

                 RESOURCE_POLICIES |

                 RESOURCE_RELATIONSHIPS |

                 RESOURCE_OBJECTBYID |

                 RESOURCE_OBJECTBYPATH |

                 RESOURCE_QUERY |

                 RESOURCE_CHECKEDOUT |

                 RESOURCE_UNFILED |

                 RESOURCE_CHANGES |

                 RESOURCE_CONTENT



PARAM ::= PARAM_ACL |

                 PARAM_ALLOWABLE_ACTIONS |

                 PARAM_ALL_VERSIONS |

                 PARAM_CHANGE_LOG_TOKEN |

                 PARAM_CHANGE_TOKEN |

                 PARAM_CHECKIN_COMMENT |

                 PARAM_CHECK_IN |

                 PARAM_CHILD_TYPES |

                 PARAM_CONTINUE_ON_FAILURE |

                 PARAM_DEPTH |

                 PARAM_FILTER |

                 PARAM_FOLDER_ID |

                 PARAM_ID |

                 PARAM_MAJOR |

                 PARAM_MAX_ITEMS |

                 PARAM_ONLY_BASIC_PERMISSIONS |

                 PARAM_ORDER_BY |

                 PARAM_OVERWRITE_FLAG |

                 PARAM_PATH |

                 PARAM_PATH_SEGMENT |

                 PARAM_POLICY_ID |

                 PARAM_POLICY_IDS |

                 PARAM_PROPERTIES |

                 PARAM_PROPERTY_DEFINITIONS |

                 PARAM_RELATIONSHIPS |

                 PARAM_RELATIONSHIP_DIRECTION |

                 PARAM_RELATIVE_PATH_SEGMENT |

                 PARAM_REMOVE_FROM |

                 PARAM_RENDITION_FILTER |

                 PARAM_REPOSITORY_ID |

                 PARAM_RETURN_VERSION |

                 PARAM_ROPERTY_DEFINITIONS |

                 PARAM_SKIP_COUNT |

                 PARAM_SOURCE_FOLDER_ID |

                 PARAM_STREAM_ID |

                 PARAM_SUB_RELATIONSHIP_TYPES |

                 PARAM_TYPE_ID |

                 PARAM_UNFILE_OBJECTS |

                 PARAM_VERSIONIG_STATE |

                 PARAM_Q |

                 PARAM_SEARCH_ALL_VERSIONS |

                 PARAM_ACL_PROPAGATION |







RESOURCE_CHILDREN ::= "children";

RESOURCE_DESCENDANTS ::= "descendants";

RESOURCE_FOLDERTREE ::= "foldertree";

RESOURCE_TYPE ::= "type";

RESOURCE_TYPES ::= "types";

RESOURCE_TYPESDESC ::= "typedesc";

RESOURCE_ENTRY ::= "entry";

RESOURCE_PARENTS ::= "parents";

RESOURCE_VERSIONS ::= "versions";

RESOURCE_ALLOWABLEACIONS ::= "allowableactions";

RESOURCE_ACL ::= "acl";

RESOURCE_POLICIES ::= "policies";

RESOURCE_RELATIONSHIPS ::= "relationships";

RESOURCE_OBJECTBYID ::= "id";

RESOURCE_OBJECTBYPATH ::= "path";

RESOURCE_QUERY ::= "query";

RESOURCE_CHECKEDOUT ::= "checkedout";

RESOURCE_UNFILED ::= "unfiled";

RESOURCE_CHANGES ::= "changes";

RESOURCE_CONTENT ::= "content";





     // parameter

PARAM_ACL ::= "includeACL";

PARAM_ALLOWABLE_ACTIONS ::= "includeAllowableActions";

PARAM_ALL_VERSIONS ::= "allVersions";

PARAM_CHANGE_LOG_TOKEN ::= "changeLogToken";

PARAM_CHANGE_TOKEN ::= "changeToken";

PARAM_CHECKIN_COMMENT ::= "checkinComment";

PARAM_CHECK_IN ::= "checkin";

PARAM_CHILD_TYPES ::= "childTypes";

PARAM_CONTINUE_ON_FAILURE ::= "continueOnFailure";

PARAM_DEPTH ::= "depth";

PARAM_FILTER ::= "filter";

PARAM_FOLDER_ID ::= "folderId";

PARAM_ID ::= "id";

PARAM_MAJOR ::= "major";

PARAM_MAX_ITEMS ::= "maxItems";

PARAM_ONLY_BASIC_PERMISSIONS ::= "onlyBasicPermissions";

PARAM_ORDER_BY ::= "orderBy";

PARAM_OVERWRITE_FLAG ::= "overwriteFlag";

PARAM_PATH ::= "path";

PARAM_PATH_SEGMENT ::= "includePathSegment";

PARAM_POLICY_ID ::= "policyId";

PARAM_POLICY_IDS ::= "includePolicyIds";

PARAM_PROPERTIES ::= "includeProperties";

PARAM_PROPERTY_DEFINITIONS ::= "includePropertyDefinitions";

PARAM_RELATIONSHIPS ::= "includeRelationships";

PARAM_RELATIONSHIP_DIRECTION ::= "relationshipDirection";

PARAM_RELATIVE_PATH_SEGMENT ::= "includeRelativePathSegment";

PARAM_REMOVE_FROM ::= "removeFrom";

PARAM_RENDITION_FILTER ::= "renditionFilter";

PARAM_REPOSITORY_ID ::= "repositoryId";

PARAM_RETURN_VERSION ::= "returnVersion";

PARAM_ROPERTY_DEFINITIONS ::= "includePropertyDefinitions";

PARAM_SKIP_COUNT ::= "skipCount";

PARAM_SOURCE_FOLDER_ID ::= "sourceFolderId";

PARAM_STREAM_ID ::= "streamId";

PARAM_SUB_RELATIONSHIP_TYPES ::= "includeSubRelationshipTypes";

PARAM_TYPE_ID ::= "typeId";

PARAM_UNFILE_OBJECTS ::= "unfileObjects";

PARAM_VERSIONIG_STATE ::= "versioningState";

PARAM_Q ::= "q";

PARAM_SEARCH_ALL_VERSIONS ::= "searchAllVersions";

PARAM_ACL_PROPAGATION ::= "ACLPropagation";



HOST ::=<String>

PORT ::=<Integer>

SERVLET-PATH ::=<String>

REPOSITORY-ID ::=<String>

VALUE ::=<String>



Examples:

getChildren feed of folder with id=2FF200 in repository A1:

http://localhost:8080/opencmis/atom/A1/children?id=2FF2000







Reply via email to