If we remove the exception, a document would be created without content.
Wouldn't that be confusing? It wouldn't really "work".
- Florian
On 22/11/2010 15:32, Florent Guillaume wrote:
I understand the security implications in implementing this and I
agree it shouldn't be done at least by default.
My question was more along the lines of: is it ok if I remove the
thrown exception so that OpenCMIS-based servers can work with AD2?
Florent
On Mon, Nov 22, 2010 at 3:44 PM, Florian Müller
<florian.muel...@alfresco.com> wrote:
Hi Florent,
I intentionally didn't implement that features because there are too many
difficult questions.
What basically happens here is that the CMIS repository connects to a HTTP
server to get the content.
- In many enterprise environments that's not possible because of firewalls. The
server can't talk to an arbitrary host for security reasons.
- If the content is hosted on a client machine, it is even more unlikely since
desktop firewalls will prevent that.
- Should the CMIS repository forward the given credentials to the HTTP server?
Hell, no, that would be a security hole. But, yes, it has to authenticate in
order to get access to the content...
- If we forward the credentials, we really, really should use HTTPS. Do we
accept self-signed certificates? Probably not. Does the HTTP server running on
a users laptop has a real certificate installed? Probably not.
- What if the credentials for the CMIS repository and the HTTP server are
different? A very likely scenario...
- What if the credentials are not user/password based and we can't forward them
because we don't know them?
I don't know how to provide a generic external content implementation, but I'm
open for ideas...
- Florian
On 22/11/2010 10:44, Florent Guillaume wrote:
Hi,
Adobe Drive 2 does the following when you request a checkout:
POST /.../repo/checkedout
Content-Type: application/atom+xml;type=entry
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom">
...
<atom:content
src="http://localhost.../.../repo/content?id=5f8a7a2e-6175-4111-84a3-f70e2d83702e"
type="image/jpeg" />
<cmisra:object
xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/">
...
</cmisra:object>
...
</atom:entry>
In particular it provides a content src (the one from the entry
itself), which OpenCMIS doesn't like:
HTTP/1.1 405 Method Not Allowed
This is due to code in AtomEntryParser.parseAtomContent:
} else if (ATTR_SRC.equals(attrName.getLocalPart())) {
throw new CmisNotSupportedException("External content
not supported!");
}
I'm not sure this is the right thing to do here, can we just ignore
this external content?
Florent