Data Relationship Management Best Practices


Use default values for properties. When a value is used often, defining it as the property default helps reduce database size.

Use inheritance for the same reason. (Local inheriting means from the hierarchy you are looking at; Global means from the node’s position in a specific hierarchy, the Controlling Hierarchy.)

Use Global Properties unless

– the value must be different for the same node in different hierarchies or

– the value for shared nodes must be different from the primary node in the same hierarchy

Consider the performance implications of derived properties. Functions that are recursive, such as NumDescendantsWith, are much slower than simple functions. The order of items in, say, IF functions can affect performance too.

Do not delete properties once the system is live. You will lose historical data and it may have unexpected effects if anything else uses the property, such as exports, queries and derived properties. To deprecate a property, hide it instead.


Define a naming standard for versions so that it is easy to determine what is what in the future.

Baseline versions, together with the Transaction History, are used to create As-Of versions. If you do not require this functionality, you can turn off Baseline versions using the System Preference AllowAsOf. After setting this to false and restarting the DRM application, you will find they are no longer created when you create a new version.

Copy versions on a periodic basis. For example, start each month with copies of the previous months’. If you do not, the Transaction History for the version will eventually become unmanageable. Employing DRM’s versioning functionality gives the following benefits:

– allows the use of version status to lock older versions

– enables you to delete older versions and their transaction history

– permits easy comparisons with prior business states

– ensures the As-Of capability performs well.


It is best practice to use separate hierarchies rather than shared nodes if possible. For example, instead of having one Organization hierarchy that contains Legal, Managerial and Line of Business, separate them into three separate hierarchies and put them back together when exporting to downstream systems.


Creating properties with the validation logic (i.e. placing the logic inside a single derived boolean property rather than having complex tests in the validation itself) permits re-use of the properties in Queries, Exports and other Validations.

Real time validations have significant performance cost, especially complicated ones, because all of them are run on each change, including every line of Action Scripts. Use them wisely!

Note that Real Time usage does not protect against changes in values from inheritance or derivation. Consider whether certain validations should also be run as batch validations before performing exports etc.

Node Types

Once Node Types are in use, any new validations or properties must be added to the appropriate node types or they will not visible to users.


For best performance use a recent version of a supported browser. At the time of writing the supported browsers are FireFox 17 ESR and Internet Explorer 7.0, 8.0 and 9.0, but we recommend Firefox or IE 9.0 for the best UI performance. “JavaScript performance has been much improved over older versions of Internet Explorer.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s