You can create all configuration files using FileNet Deployment Manager. In some cases, however, you might want to create or modify the following deployment files manually, or by using a custom-created tool:
For example, to update a principal half map with new or changed security principal information, you might want to create a custom tool to perform specialized LDAP queries.
To understand the XML formats of the deployment files for file editing purposes, see the format descriptions in this topic. Additionally, you can refer to the formal schema definitions contained in the *.xsd files (such as DataMap_ObjectStore.xsd). The *.xsd files reside in the Samples folder, and define what constitutes valid XML syntax. The XML within a deployment file must be valid in order for the FileNet Deployment Manager to use the file as part of a deployment operation.
Editing a deployment file might include creating the file from scratch. Alternatively, you can start with one of the sample files provided in the Samples folder, or with a file created by FileNet Deployment Manager. For example, you might use the graphical user interface (GUI) of FileNet Deployment Manager to create the initial version of a DeploymentOperation file, and then make edits as needed. Note that DeploymentOperation files are created in the ../Temp folder. For half map files and data map files, you also have the option of using the command-line interface to create the initial file if you have a DeploymentOperation file configured for this purpose (since half map and data map creation is a deployment operation).
The ../ portion in the folder paths (such as in ../Temp) refers to the deployment tree root. When using the command-line interface, the root path is set by the <DeploymentOperation> element in the DeploymentOperation file. When using the GUI, you are prompted for the root path.
For information on the purpose of these files and other configuration files, see About deployment files. For information on the sample files and Samples folder, see the --samples argument in Deployment command-line reference.
<?xml version="1.0" encoding="UTF-8"?> <HalfMap version="1" type="ObjectStore"> <List> <Item label="{label}"> <!-- Each <Item> represents an object store in this environment. <List> can contain more than one <Item>.
{label} is the user-defined label for the item. When you use FileNet Deployment Manager to merge two half maps together as part of a data map creation operation, this item is paired with the item in the other half map that has the same label value as this item. For items with zero-length labels, the pairing occurs based on <Name>. For example: <Item label="OS1"> --> <ID>{guid}</ID> <!-- {guid} is the identifier for the object store. For example: <ID>{0ED7DF5A-AEA8-47F3-951B-E96F62730045}</ID> --> <Name>{name}</Name> <!-- {name} is the name for the object store. For example: <Name>LaurelTree</Name> --> <SymbolicName>{name}</SymbolicName> <!-- {name} is the symbolic name for the object store. For example: <SymbolicName>LaurelTree</SymbolicName> --> </Item> <Item label="_default">
<!-- FileNet Workplace objects might use "_default" as the name of the object store.
Always include this item as part of an object store half map.
-->
<ID></ID> <Name>_default</Name> <SymbolicName>_default</SymbolicName>
</Item> </List> </HalfMap>
<?xml version="1.0" encoding="UTF-8"?> <HalfMap version="1" type="Principal"> <List> <Item label="{label}"> <!-- Each <Item> represents a security principal in this environment. <List> can contain more than one <Item>. {label} is the user-defined label for the item. When you use FileNet Deployment Manager to merge two half maps together as part of a data map creation operation, this item is paired with the item in the other half map that has the same label value as this item. For items with zero-length labels, the pairing occurs based on <Name>. For example: <Item label="Administrator"> --> <SID>{identifier}</SID> <!-- {identifier} is the security identifier for the principal. For example: <SID>S-1-5-21-665270499-1575821905-1417038006-500</SID> --> <ShortName>{name}</ShortName> <!-- {name} is the short name for the principal. For example: <ShortName>Administrator</ShortName> --> <DisplayName>{name}</DisplayName> <!-- {name} is the display name for the principal. For example: <DisplayName>Administrator</DisplayName> --> <PrincipalType>{type-code}</PrincipalType> <!-- {type-code} is the code for the type of principal: 0 for user, and 1 for group. For example: <PrincipalType>0</PrincipalType> --> <Name>{name}</Name> <!-- {name} is the full LDAP name for the principal. For example: <Name>Administrator@cempdev1.eng.filenet.com</Name> --> </Item> </List> </HalfMap>
<?xml version="1.0" encoding="UTF-8"?> <DataMap version="1" type="ObjectStore"> <List> <MapItem> <!-- Each <MapItem> represents a pair of object stores, with one object store from the source environment and one object store from the destination environment. <List> can contain more than one <MapItem>. --> <Source label="{label}"> <!-- {label} is the user-defined label for this source object store. The label has significance when you use FileNet Deployment Manager to generate the data map from half maps. For more information, see the Half map format - object store. For example: <Source label="OS1"> --> <ID>{guid}</ID> <!-- {guid} is the identifier for the source object store. For example: <ID>{0ED7DF5A-AEA8-47F3-951B-E96F62730045}</ID> --> <Name>{name}</Name> <!-- {name} is the name for the source object store. For example: <Name>LaurelTree</Name> --> <SymbolicName>{name}</SymbolicName> <!-- {name} is the symbolic name for the source object store. For example: <SymbolicName>LaurelTree</SymbolicName> --> </Source> <Destination label="{name}"> <!-- <Destination> represents the destination object store. It has the same structure as <Source> --> <ID>{guid}</ID> <Name>{name}</Name> <SymbolicName>{name}</SymbolicName> </Destination> </MapItem> <MapItem>
<!-- FileNet Workplace objects might use "_default" as the name of the object store.
Always include this item as part of an object store data map.
-->
<Source label="_default">
<ID></ID>
<Name>_default</Name>
<SymbolicName>_default</SymbolicName>
</Source>
<Destination label="_default">
<ID></ID> <Name>_default</Name> <SymbolicName>_default</SymbolicName> </Destination>
</MapItem> </List> </DataMap>
<?xml version="1.0" encoding="UTF-8"?> <DataMap version="1" type="Principal"> <List> <MapItem> <!-- Each <MapItem> represents a pair of security principals, with one principal from the source environment and one principal from the destination environment. <List> can contain more than one <MapItem>. --> <Source label="{label}"> <!-- {label} is the user-defined label for this source security principal. The label has significance when you use FileNet Deployment Manager to generate the data map from half maps. For more information, see the Half map format - principal. For example: <Source label="Administrator"> --> <SID>{identifier}</SID> <!-- {identifier} is the security identifier for the source principal. For example: <SID>S-1-5-21-665270499-1575821905-1417038006-500</SID> --> <ShortName>{name}</ShortName> <!-- {name} is the short name for the source principal. For example: <ShortName>Administrator</ShortName> --> <DisplayName>{name}</DisplayName> <!-- {name} is the display name for the source principal. For example: <DisplayName>Administrator</DisplayName> --> <PrincipalType>{type-code}</PrincipalType> <!-- {type-code} is the code for the type of source principal: 0 for user, and 1 for group. For example: <PrincipalType>0</PrincipalType> --> <Name>{name}</Name> <!-- {name} is the full LDAP name for the source principal. For example: <Name>Administrator@cempdev1.eng.filenet.com</Name> --> </Source> <Destination label=""> <!-- <Destination> represents the destination security principal. It has the same structure as <Source>. --> <SID>{identifier}</SID> <ShortName>{name}</ShortName> <DisplayName>{name}</DisplayName> <PrincipalType>{type}</PrincipalType> <Name>{name}</Name> </Destination> </MapItem> </List> </DataMap>
In the following schema, three types of retrieve operations are shown:
In an actual DeploymentOperation file, only one of these operations are valid.
<DeploymentOperation operation="Retrieve" version="1" deploymentTreeLocation="{path}"> <!-- {path} is the path to the deployment tree. For example: <DeploymentOperation operation="Retrieve" version="1" deploymentTreeLocation="c:\P8Deployment\P8DeploymentData"> --> <Retrieve mode="{mode}"> <!-- {mode} is the retrieval mode. Valid values are as follows: * merge: Merges the retrieved information into the existing half map file. Existing half map items are updated as needed. * overwrite: Regenerates the contents of the half map file based on the retrieved information. For example: <Retrieve mode="merge"> --> <RetrieveObjectStoreInfo> <Environment name="{dir-name}" /> <!-- {dir-name} is the ../Environments subfolder that contains the half map to update (HalfMap_ObjectStore.xml). For example: <Environment name="LaurelTree"> --> <RetrieveFromP8/> </RetrieveObjectStoreInfo> <RetrievePrincipalInfoFromExportManifest> <Environment name="{dir-name}"/> <!-- {dir-name} is the ../Environments subfolder that contains the half map to update (HalfMap_Principal.xml). The half map is updated with the principal information found in the files exported from Content Engine (versus from LDAP). For example: <Environment name="LaurelTree"> --> <CEExportXML> <ExportDescriptorFileName>{path}</ExportDescriptorFileName> <!-- {path} is the file path to the manifest file for the files exported from Content Engine. For example: <ExportDescriptorFileName>C:\Set1_CEExport_Manifest.xml</ExportDescriptorFileName> --> <ExternalContentSourceDirectory>{dir-name}</ExternalContentSourceDirectory> <!--{dir-name} is the directory containing the external content for the data exported from Content Engine. ({dir-name} has no significance if content is not stored externally.) For example: <ExternalContentSourceDirectory>C:\Export\content</ExternalContentSourceDirectory> --> <ContentIsExternal value="{flag}"/> <!-- {flag} is an indicator of whether external content exists or not. Valid values are true and false. For example: <ContentIsExternal value="true"> --> </CEExportXML> </RetrievePrincipalInfoFromExportManifest> <RetrievePrincipalInfoFromLDAP> <Environment name="{dir-name}" /> <!-- {dir-name} is the ../Environments subfolder that contains the half map to update (HalfMap_Principal.xml). For example: <Environment name="LaurelTree"> --> <LDAPDataSource filter="{filter-name}" value="{filter-value}"> <!-- {filter-name} is the type of filter to apply when retrieving security principal information. Valid values are as follows: * None No filtering is in effect; updates the half map with all principals found in LDAP. ({filter-value} has no significance in this case.) * HalfMap Updates the half map from LDAP for the principals listed in another principal half map file. Set {filter-value} to the ../Environments subfolder that contains this other principal half map that is to be used as a filter. * LabelFile Updates the half map from LDAP with the principals listed in the label file specified by {filter-value}. Set {filter-value} to be the full path for this file. Note: The label file is a text file containing the short name and a label for each principal. Each principal is on a separate line, with the short name first, the label second, and a comma between the two. For example: <LDAPDataSource filter="HalfMap" value="LaurelTree"> --> <Realms> <Realm name="{realm-name}" /> <!-- {realm-name} is the LDAP realm that contains the security principals to be retrieved. For example: <Realm name="dc=cempdev1,dc=eng,dc=filenet,dc=com"/> --> </Realms> </LDAPDataSource> </RetrievePrincipalInfoFromLDAP> </Retrieve> </DeploymentOperation>
<DeploymentOperation operation="MapIt" version="1" deploymentTreeLocation="{path}"> <!-- {path} is the path to the deployment tree. For example: <DeploymentOperation operation="Retrieve" version="1" deploymentTreeLocation="c:\P8Deployment\P8DeploymentData"> --> <MapIt> <Pair name="{dir-name}"/> <!-- {dir-name} is the ../Pairs subfolder that contains the PairConfig.xml file and the data map files (such as DataMap_ObjectStore.xml). For example: <Pair name="GnarledTree"> --> <MapType>{data-map-type}</MapType> <!-- {data-map-type} is the type of data map file to create. Valid values are as follows: * ObjectStore * Principal For example: <MapType>ObjectStore</MapType> --> </MapIt> </DeploymentOperation>
<DeploymentOperation operation="Convert" version="1" deploymentTreeLocation="{path}"> <!-- {path} is the path to the deployment tree. For example: <DeploymentOperation operation="Retrieve" version="1" deploymentTreeLocation="c:\P8Deployment\P8DeploymentData"> --> <Pair name="{dir-name}"/> <!-- {dir-name} is the ../Pairs subfolder that contains the PairConfig.xml file and the data map files (such as DataMap_ObjectStore.xml). For example: <Pair name="GnarledTree"> --> <ConvertCEExportXML> <CEExportXML> <ExportDescriptorFileName>{path}</ExportDescriptorFileName> <!-- {path} is the file path to the manifest file for the files exported from Content Engine. For example: <ExportDescriptorFileName>C:\Set1_CEExport_Manifest.xml</ExportDescriptorFileName> --> <ExternalContentSourceDirectory>{dir-name}</ExternalContentSourceDirectory> <!--{dir-name} is the folder containing the external content for the data exported from Content Engine. ({dir-name} has no significance if content is stored within the exported XML files.) For example: <ExternalContentSourceDirectory>C:\Export\content</ExternalContentSourceDirectory> --> <ContentIsExternal value="{flag}"/> <!-- {flag} is an indicator of whether external content exists or not. Valid values are true and false. For example: <ContentIsExternal value="true"> --> </CEExportXML> <CEConvertDestination> <DestinationDirectory>{path}</DestinationDirectory> <!-- {path} is the file path for the folder designated to contain processed files. The FileNet Deployment Manager processes the files that have been exported from a Content Engine, prepares them for import, and places them in this folder. For example: <DestinationDirectory>C:\Export\Converted</DestinationDirectory> --> <ExternalContentDestinationDirectory>{dir-name}</ExternalContentDestinationDirectory> <!-- {dir-name} is the <DestinationDirectory> subfolder designated to contain external content. ({dir-name} has no significance if content is stored within the exported XML files.) For example: <ExternalContentDestinationDirectory>Content</ExternalContentDestinationDirectory> --> </CEConvertDestination> </ConvertCEExportXML> </DeploymentOperation>