Thanks! Good point I will add this. Jens
-----Original Message----- From: Florian Müller [mailto:[email protected]] Sent: Freitag, 12. November 2010 13:02 To: [email protected] Subject: Re: Documentation of URL patterns of opencmis AtomPub? 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 > > > > > >
