Description
When a user selects one or more documents to retrieve, for each document, EFServiceManager will call EFClient to get XML files depending on document type. Then it will call RetrieveDocument for the tool to import the loaded containers (document data, Metadata, tombstones).
Tools will implement this method to loop through the data objects and import them into the design tool database. (For SPPID, this means to generate tasks in the ToDo list).
The data container has data objects. The metadata container has File objects. There is one File object for each view file associated with the document. The File object has an interface called IFile, which has a property called FilePath, which points to the absolute path of the file. Tools should copy the file from this path to their local path. Adding of File objects happens only if the tool supports retrieval of view files. A tool will communicate whether it can retrieve view files or not by returning TRUE when the SupportsFeature method is called with RetrieveViewFile as an argument. See SupportsFeature As Boolean for details.
The tombstones container has four types of instructions for tombstoned objects/relationships, unclaimed objects/relationships (projects only), tombstoned properties, and UID updated objects/relationships.
DeleteInstruction (tombstoned objects and relationships)
Example of DeleteInstruction for an object:
<DeleteInstruction>
<IObject UID="{C69AF85D-DBF8-4C48-A542-E299336A510B}"
Name="Delete_EBB7F9A60CF54168A5E4A00B76C2AD0B" />
<IRefObject RefClass="PIDInstrument"
RefUID="EBB7F9A60CF54168A5E4A00B76C2AD0B" RefName="" />
<IDeleteInstruction />
<IInstruction />
</DeleteInstruction>
Example of DeleteInstruction for a relationship:
<DeleteInstruction>
<IObject UID="{8BCA6E40-B2C1-41A4-B283-17FEE4F4DD94}"
Name="Delete_PBS-EBB7F9A60CF54168A5E4A00B76C2AD0B-N3-FLZBZBMYHIXW-TP2EUSDY" />
<IRefObject RefClass="Rel"
RefUID="PBS-EBB7F9A60CF54168A5E4A00B76C2AD0B-N3-FLZBZBMYHIXW-TP2EUSDY" RefName="" />
<IRefRel RefDefUID="PBSItemCollection" RefUID1="EBB7F9A60CF54168A5E4A00B76C2AD0B"
RefUID2="N3-FLZBZBMYHIXW-TP2EUSDY" />
<IDeleteInstruction />
<IInstruction />
</DeleteInstruction>
UnclaimInstruction (unclaimed objects/relationships in projects)
Example of UnclaimInstruction for an object:
<UnclaimInstruction>
<IObject UID="{9F396FA9-FC45-4A48-B659-6172548F4F95}" Name="Unclaim_1" />
<IRefObject RefClass="PIDSignalPort" RefUID="AAGCMOD137.1" RefName="1" />
<IInstruction />
<IUnclaimInstruction />
</UnclaimInstruction>
Example of UnclaimInstrution for a relationship:
<UnclaimInstruction>
<IObject UID="{B153625C-ABDD-47E1-9F04-32A8BAC5F443}"
Name="Unclaim_AAGCMOD137N3-FLXFOYMLMZEA-CPBS5LX9" />
<IRefObject RefClass="Rel" RefUID="AAGCMOD137N3-FLXFOYMLMZEA-CPBS5LX9" RefName="" />
<IInstruction />
<IUnclaimInstruction />
<IRefRel RefUID1="AAGCMOD137" RefUID2="N3-FLXFOYMLMZEA-CPBS5LX9"
RefDefUID="PBSItemCollection" />
</UnclaimInstruction>
UpdateInstruction (tombstoned properties)
UpdateInstruction is used for tombstoned properties. Tombstoned properties are properties that were previously published but do not exist in the current publish.
If an object has any tombstoned properties, then an UpdateInstruction instance will be created for that object and will identify all of the properties for that object that have been tombstoned. The PropValues property on the IPropValues interface will identify the interface definition and property definition (delimited by \%) for each of the tombstoned properties.
Example of UpdateInstruction:
<UpdateInstruction>
<IObject UID="{29BECC40-202E-4259-88C4-75CFE62CCC9F}"
Name="Update_EQDExchangerAirSide"/>
<IRefObject RefClass="ClassDef" RefUID="EQDExchangerAirSide"
RefName="EQDExchangerAirSide"/>
<IPropValues PropValues="ISchemaObj\%DisplayName\%"/>
<IUpdateInstruction/>
<IInstruction/>
</UpdateInstruction>
UpdateUIDInstruction
If the identity of an object has changed in the publishing tool, an UpdateUIDInstruction is generated with old and new UIDs of the object.
Arguments
Name |
Data type |
Input/output |
Description |
---|---|---|---|
oDocumentIObj |
IObject |
Input |
IObject interface on the document object. |
oDocContIContainer |
IContainer |
Input |
Document container. |
oDocTombstonesIContainer |
IContainer |
Input |
Tombstones container with tombstoned objects, unclaimed objects (projects only), UpdateUIDInstructions and UpdateInstructions |
oDocMetadataIContainer |
IContainer |
Input |
Metadata container |
oMapSchContIContainer |
IContainer |
Input |
Optional. Map schema container. This argument will be passed for only the tools that support mapping schema. |
Comments
If the method fails, the tool will raise an error and set Err.Number and Err.Description appropriately.