A basic CMS feature is not implemented for the Windchill adapter : CMSObject.getVersions.
The useful function of CMSObject.getVersions is described well by the AOM documentation but Arbortext 6.0 lacks an implementation of it for PTC Server . ( Executing the methods results in in an "not implemented" error message/exception).
I started a discussion with PTC Support about this situation. My point of view is that this methods implementation is essential to use PTC Server as a CMS system. There is a proposed "workaround" using workspaces and baselines instead direct access to previous object versions but this has limitations:
- Workspaces are a user-dependant concept
- Baselines can only be saved to specific workspaces - so user dependant as well
- I can only add the most recent objects to a baseline - in a mutli user / parallel working scenario this is not safe.
- I can create but I cannot access a certain baselines of objects throught Arbortext UI
I do not like the idea to save each needed baseline in a separate workspace. I think the strength of a baseline concept is to save baseline dependances either independantly in baseline objects (lists) or as references within the objects iterations. A pseudo workspace/baseline concept seems not practiable for me in a buisness use case.
I would rather propose basic baseline functionality to add to map / href concepts by using full interpretation of the existing logical id format, this would provide a method to freeze a certain multi-object version and allow routing this "baseline map" to other users / translation processes / publishing processes and so on.
Interestingly you can access a certain (known) iteration via the logicial id format: x-wc://file=0000014024.xml&iteration=C.1 gets iteration C.1. But only with certain methods (constructObject for example) - it does not work for maps referencing topic for example (no error message, but always the most recent versions are used instead ). The specific behaviour is undocumented as well.
A workaround meanwhile is : use a versioning scheme (-.1,- .2, -.3) which can be interpreted - so if you access the most recent object (-.4) you can estimate and build you versions list yourself by counting down.