Change project rules
For publishing the approved Change Projects on the production environment, each installation or deployment must define its own project rules:
- Export projects: Projects in a "Developer" environment must be exported to a "Staging" environment. When projects are approved, they must be moved to the "Production" environment.
- Maintain entity changes: Entity changes must be logged to send modified data to another environment.
The project rules are stored in a resource XML file called changeDataManagementRules.xml. For example,
<ChangeDataManagementRules DeploymentName="STAGING">
<Rules>
<Rule Name="MaintainEntityChanges" Value="Y">
<TableTypeList>
<TableType Type="CONFIGURATION"/>
<TableType Type="MASTER"/>
</TableTypeList>
</Rule>
<Rule Name="EnableChangeProjectManagement" Value="Y"/>
<Rule Name="ChangeProjectIDPrefix" Value="ST"/>
<Rule Name="ExportProjects" Value="N"/>
<Rule Name="PreventTableImport" Value="Y">
<TableList>
<Table Name="YFS_SYNC_DB_EXPORT"/>
</TableList>
</Rule>
<Rule Name="DisableChangeTracking" Value="Y">
<TableList>
<Table Name="YFS_CUSTOMER"/>
<Table Name="YFS_CUSTOMER_GRADE"/>
<Table Name="YFS_CUSTOMER_ASSIGNMENT"/>
<Table Name="YFS_CONSUMER"/>
<Table Name="YFS_CUSTOMER_ADDNL_ADDRESS"/>
<Table Name="YFS_CUSTOMER_ANALYTICS"/>
<Table Name="YFS_CUSTOMER_CONTACT"/>
<Table Name="YFS_CUSTOMER_CURRENCY"/>
<Table Name="YFS_CUSTOMER_PAYMENT_METHOD"/>
<Table Name="YFS_CUSTOMER_SCH_PREFERENCE"/>
<Table Name="YFS_CUSTOMER_SLOT_PREFERENCE"/>
<Table Name="YFS_PARTICIPANT_NOTE"/>
</TableList>
</Rule>
<Rule Name="ExcludeFromSync" Value="Y">
<ExcludeList>
<Exclude Name="YFS_SYNC_SUBSCRIPTION"/>
<Exclude Name="YFS_SYNC_DB_EXPORT"/>
</ExcludeList>
</Rule>
</Rules>
</ChangeDataManagementRules>
Set the following rules in changeDataManagementRules.xml:
- DeploymentName
- Define the installation or deployment. For example, "Development", "Staging".
- MaintainEntityChanges
- Set this rule to "Y" to track changes for the table types configured under the rule.
- EnableChangeProjectManagement:
- Set this rule to "Y" to track changes through Change Projects and Change Requests.
- ChangeProjectIDPrefix
- A prefix used to generate Change Project IDs. Specify a unique prefix for each deployment. For example, ST for Staging, DV for development.
- ExportChangeProjects
- Set this rule to "Y" to export Change Project definitions to another environment.
- PreventTableImport
- You can prevent certain tables from being imported as part of entity transformation. Set this rule to "Y" to prevent import of tables specified under the rule.
- DisableChangeTracking
- You can prevent change tracking for records in certain tables. Set this rule to "Y" to prevent change tracking for the tables specified under this rule.
- ExcludeFromSync
- You can exclude certain tables from the data synchronization process. Set this rule to "Y" to prevent synchronization of the tables specified under this rule.
Entity Transformation
Configuration parameters differ for different environments. For example, the configuration (URLs, IP addresses etc.) of a "Developer" environment is different from that of a "Staging" environment. When data from one environment is exported to another environment, the configuration also must be changed to suit the target environment. For example, when data from "Staging" environment is exported to "Production", the IP addresses for records must be changed to 10.10.20.81 from 10.10.20.80. This is called "Entity Transforms", which is defined for an entity and is associated with a source-target pair deployment.
The entity transforms for export and import of records is defined and stored in a resource XML file, entityTransforms.xml. For example:
<Transformations>
<Table Name="YFS_SUB_FLOW>
<Columns>
<Column Name="CONFIG_XML>
<Transform Match="t3://localhost:7001
Replace="${PROVIDER_URL}" XPath
="xml:/SubFlowConfig/Link/Properties/@ProviderURL">
</Column>
</Columns>
</Table>
</Transformations>
During export, configuration parameters of the source environment for an entity are replaced with the configuration parameters of the target environment, which is specified in entityTransforms.xml.