ArcFM Desktop Overview > Designer Overview > Workflow Manager Integration > Designer's Use of XML |
Designer uses a set design structure in its editing environment. When a design is opened, the necessary information (in the correct structure) is passed from Workflow Manager to Designer so that the design can be modeled geographically. Since the XML model is hierarchical in nature, it is well suited for the transmission of design information from Workflow Manager to Designer and vice-versa. The Designer API provides the tools that programmatically load designs as XML, encapsulating the details of translating the XML into the design object tree that Designer uses. Figure 1 provides an overview of a Designer implementation - note the role of XML in the overall scheme.
The Workflow Manager integration is where design information from Workflow Manager is written into the Designer-compliant XML object and where updated design information is received from Designer (again, as XML) and written back to Workflow Manager.
Figure 1, Basic Integration Concept
Load Designs as XML
When a design is loaded as XML, the Designer API performs the following tasks:
It loads the proper stored display. It looks for a stored display name based on the work request and design versions. It looks for a design version first, then a work request version. If a stored display doesn’t yet exist, a new one is created. These stored displays are a special type specific to Designer and are not available through the user interface for stored displays, but they do function in the same way as normal stored displays.
It finds the map workspace. If the map uses feature classes from more than one workspace, the user will be queried as to which workspace they wish to use. This process is similar to what happens when the user starts the editor on a multiple workspace map. The workspace may also be specified in the XML, rather than retrieved from the current document. Below is sample XML code that specifies the workspace.
XML Snippet |
Copy Code
|
---|---|
<!ELEMENT DATABASE (SERVER?, INSTANCE?, USER?, DBVERSION?, DBNAME?)> <!ATTLIST DATABASE LOCATION (Local | File | Remote> "Local" <!ELEMENT SERVER (#PCDATA)> <!ELEMENT INSTANCE (#PCDATA)> <!ELEMENT USER (#PCDATA)> <!ELEMENT DBVERSION (#PCDATA)> <!ELEMENT DBNAME (#PCDATA)> |
It loads the correct SDE version from XML. The user may specify the work request version is created from SDE.DEFAULT, and the design version may be created from the work request version or SDE.DEFAULT. The user may also specify the parent versions. If the design has already been loaded once before, the Designer API will simply switch to the existing version.
It starts the editor on the current version.
It loads the design from XML.
It sets the title bar in ArcMap. The user may set this in the design XML. Otherwise, the default behavior is to show the current Work Request and Design with the original document name in parentheses.
It sets the active node. Again, here the user may specify the default node in the XML. Otherwise the active node is set to the first design in the work request.
Finally, it sets the Mode Selector to Designer mode.