http://www.freelists.org/archives/wc-programming/01-2004/msg00001.html I've been thinking about the rules that should be employed to move an EPMDocument to the hidden repository (non-removal delete). There are 4 main links that can be created with an EPMDocument, EPMDescribeLink, EPMReferenceLink, EPMMemberLink and EPMContainedIn. There is one other the EPMVariantLink but I'm not sure of its purpose (Anyone? Anyone? Bueller?). There seems to be not much issue if the object being removed links to other objects. If you could, give some brain cells to this list to make sure there will be no issues: 1. EPMDescribesLink - This is part of the build rules to WTParts. If any of these exist for the EPMDocument, it cannot be removed to the hidden folder. 2. EPMReferenceLink - If any other EPMDocument references this object, it cannot be removed. Suggest, editing the referencing cad file such as the part or drawing and removing the reference. Older iterations will still show a reference so it should be up to user to determine whether to apply this rule. As tests indicate, reference will still show to removed object but user will not be able to access it. 3. EPMMemberLink - If this object is used by any other EPMDocument, it cannot be removed. This should go for older iterations. The reverse is not true if this object uses other EPMDocuments. The case would be for removing an assembly only. The components will no longer show the used by link. 4. EPMContainedIn - This is a link between a generic and its instances. If the object being removed is an instance, it should not be allowed to be removed. The generic can be removed but only with all of its instances going with it. This is explained below. 5. Baseline - If object is part of a baseline, it cannot be removed. This cannot be overridden. This could mean that the object is in a workspace. If we use the mass delete feature, any violation of the rules above can be overridden if the linked object also exists in the deletion list. These rules would be applied after all attempts to complete delete (remove from database) have been exhausted. We can assume at this point, there is some reference to this object, preventing it from being removed. The tests will determine if we can hide the item away in the hidden repository. To the user, it would seem as if the object was deleted. Antonio Villanueva Sun Certified Java Programmer tonyv1009@xxxxxxxxxxx 203-775-0685 IM:tonyv1009 on AIM Get the community together and spread the word. Join the Windchill lists at Freelist.org (bottom)