Hello,

Can anybody help to clarify the scenario of applying/removing holds to an 
object? I raised a similar subject before but still have some questions left.

Here is a given scenario:

Target CMIS repository defines the following secondary types:

-          cmis:rm_hold (inherited from cmis:secondary)

-          child_hold_1 (inherited from cmis:rm_hold)

-          child_hold_2 (inherited from cmis:rm_hold)

Target document object has two holds (child_hold_1 & child_hold_2) applied to 
it and has the following properties/values:

-          cmis:secondaryObjectTypeIds = [ child_hold_1, child_hold_2] 
according to 2.1.9.1 section of CMIS 1.1

-          cmis:rm_holdIds = [ child_hold_1, child_hold_2] according to 
2.1.16.3 section of CMIS 1.1. The property is defined by cmis:rm_hold, shared 
by derived types, and added to an object when any hold is applied.

The question is: What would be the correct way of removing child_hold_2 from 
target object using "updateProperties" method?:

1.       Pass only cmis:secondaryObjectTypeIds = [ child_hold_1 ] and do not 
pass cmis:rm_holdIds

2.       Pass only cmis:rm_holdIds = [ child_hold_1 ] and do not pass 
cmis:secondaryObjectTypeIds (may not work if other "non-hold" secondary have to 
be applied/removed at the same time)

3.       Pass cmis:secondaryObjectTypeIds = [ child_hold_1 ] and 
cmis:rm_holdIds = [ child_hold_1 ]. Both property values are expected to have 
the same set of hold IDs

Regards,

Vyacheslav Pascarel

Reply via email to