Hi, CMIS 1.0 defers to AtomPub for the implementation of the setContentStream operation (just do a PUT on the edit-media link). But this does not allow setting the filename directly, which makes higher-level abstraction layers like our Document#setContentStream Java API not symmetrical and surprising to users.
I see several things we could do: 1. pass the filename in an additional Slug: header as suggested by AtomPub (but only suggested for POSTs to collections), 2. pass the filename as an additional &filename=foo.png in the URL (or x-opencmis-filename=...), 3. in the client library do an additional call to edit the cmis:contentStreamFileName (suggested by AtomPub 9.6.1 in the examples, "The client can edit the metadata for the picture..."). For the first two this would have to be done both on the client side and on the server side so that we interoperate at least with ourselves. The question is, which of those would likely be adopted by others as "extensions", and maybe mentioned in CMIS 1.1 or 2.0. The last one involves an additional round trip to the server. Thoughts? I'm inclined to implement 3. for now, in o.a.c.o.client.bindings.spi.atompub.ObjectServiceImpl.setContentStream. Florent -- Florent Guillaume, Director of R&D, Nuxeo Open Source, Java EE based, Enterprise Content Management (ECM) http://www.nuxeo.com http://www.nuxeo.org +33 1 40 33 79 87