Hi Mark,

The specification does not explicitly say that the entire query string must be in the header.
The specification says for the AtomPub binding:
"Upon submission (creation) of a query document, a response must be returned with a Location header representing the feed for that query."

That is, a client should be able to repeat the query by just calling the URL in Location header (via HTTP GET). That means the URL must contain all necessary information about this query. There are two approaches to implement that. OpenCMIS uses a stateless approach and puts everything into the URL, which could be become very long. An alternative approach would be to store the query on the server, assign the query statement an id, and return an URL with that id. But that would require some sort of storage on the server side and opens up the question how long do you want to maintain these ids.


- Florian


Hello

I have question which appears to have been raised some time ago:

http://mail-archives.apache.org/mod_mbox/chemistry-dev/201106.mbox/%3C4DF8D70D.7000200%40alfresco.com%3E

In that thread, there is reference made to this:

http://tomcat.apache.org/tomcat-6.0-doc/config/http.html#Standard_Implementation
-> maxHttpHeaderSize

In the thread, it is also mentioned that:

*The CMIS specification says that the server has to add a Location
header to its query response
that is "representing the feed for that query". That basically means
that the query is repeated
in the HTTP header*.
The default header buffer size in Tomcat 6 and 7 is 8k. If you remove
all other headers you
end up with about 7884 byte -- plus/minus a few bytes.
You can increase header buffer size in Tomcat.
in the HTTP header.
The default header buffer size in Tomcat 6 and 7 is 8k. If you remove
all other headers you
end up with about 7884 byte -- plus/minus a few bytes.
You can increase header buffer size in Tomcat.

Just curious - is this something in the specification that can only be
addressed by placing the entire query String in the header?

We have a use case for which the WHERE IN( ) clause could contain up to
1000 or more 16-digit String values inside the WHERE acme:userID IN(
value1, value2, value3....) part of the query - the acme:employeeID is a
custom metadata property of the implemented content model.

FWIW... we use:

OpenCMIS 0.8.0
Alfresco Enterprise 4.1.3


Thanks

Mark
* *

Reply via email to