CMIS V: Semantics of multi-parent document entries

First a disclaimer: I haven’t read the CMIS domain model completely, but I think I understand the premise broadly.

CMIS allows a document to be hard-linked from several folders. Therefore the same document entry may occur in several folder children feeds. The CMIS AtomPub extension spec does not clarify whether the entry occurring in different folder feeds corresponding to a shared document is the exact same Atom entry. (Atom uniquely identifies entries using the atom:id element.)
Let’s take an example.
<feed>
  <link rel="self" href="/a/b"/>
  <id>tag:example.org,2009:1</id>
  <entry>
    <id>tag:example.org,2009:2</id>
    <link rel="edit" href="/a/1"/>
    &content src="..." type="..."/>
    ...
  </entry>
  ...
</feed>
<feed>
  <link rel="self" href="/a/c"/>
  <id>tag:example.org,2009:3</id>
  <entry>
    <id>tag:example.org,2009:2</id>
    <link rel="edit" href="/a/1"/>
    &content src="..." type="..."/>
    ...
  </entry>
  ...
</feed>
If by some deduction we find out that both representations above are of collection feeds, then it is going to raise some questions for AtomPub. I have not seen two completely different collections claiming membership of the same entry.
In any case, another unaddressed issue with shared documents is what happens when one of the folders containing it is DELETEd. The behavior specified in Section 3.4.5.4.2.4 is silent about this matter. One of the problems of the CMIS model is that it extends Atom’s semantic model and creates encumbrances across collections. AtomPub steers clear of this problem, but CMIS will need to address this issue as it defines a specific data model that includes this problem.

Leave a Reply

Your email address will not be published. Required fields are marked *