I have done some experiments like this in the past and most query
strings are getting longer rather than shorter.
I have also played with some domain specific compression and that looks
promising. But I haven't finished it yet.
Florian
For very long and probably repetitive query strings, which should
compress well, you could use a representation based on gzip + base64
of the query string.
Florent
On Fri, Jun 7, 2013 at 11:03 AM, Florian Müller <[email protected]>
wrote:
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
* *