When adding a child document to a logical set using aaApi_AddLSetMember it is required to define the relation type (which could be a "group", "redline", ref" or a "satellite") and transfer type ("CO" or "C") types.
Unfortunately (but not suprisingly), the documentation is so poor that it is only listing the possible type without providing any explanations of what are the behavior or each type.
Thus my question : what are the difference between a redline, satellite or ref relation ?
What am trying to achieve is a behavior where if I checkout a master document of a set all the documents of the set would be also checked out. I have then created a LSet using relation of type "ref" and transfer "CO", but when I check out the master document, the other documents of the set are not.
I will now try all the other combinations to see if one of them could suit my needs but I find the lack of good documentation very annoying...(hopefully exists the forum, thank you guys !)
After testing the different options, I found out the "satellite" type seems to be the one I was looking for. I haven't seen any differences between "redline" and "ref" type. Using the "group" type always provoqued an error so I suppose it is reserved for flat set.
Actually, the satellite relation type does not seem to work when the child document projectId is different than the master project id !
Does any one know if this is done on purpose ("satellite" type would be used on a very specific cases where all documents of the set would be in the same project) or if it is a ProjectWise bug ?
To fetch on cascade a whole logical set, one might have to manually fetch all child of a set, that the cumbersome path I will follow for now waiting for a better workaround...
Just found out that a logical set created with relationship of type "redline" or "ref" could be fetched on cascade (i.e the whole set is fetched when the master doc is fetched) when using PWExplorer. I will either try other fetch method variant (so far I was using "aaApi_FetchDocumentFromServer" but aaApi_FetchDocumentFromServerExt/2/3 ) or fetch flags...
For the record, I think I now have the set behaving up to my needs with cascading fetch/free if I create logicial set either with redline or ref relations and if I fetch the whole fetching the master document with either AADMS_DOCFETCH_MASTER_AS_SET or AADMS_DOCFETCH_NESTED_REFERENCES.