cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

We are happy to announce the new Windchill Customization board! Learn more.

Comparing ACL Rules Between Systems Using CSV File Comparison Tools

DarrenStorey
7-Bedrock

Comparing ACL Rules Between Systems Using CSV File Comparison Tools

There are various ways to export ACL rules from Windchill

  • QML Report – shows created rules as required
  • winDU Output – shows effective rules by domain
  • ACL Export Utility – shows effective rules by domain

If you need to quickly compare ACL rules between 2 systems e.g. production & test, additional steps are required so that file comparison tools can be used. The following method uses the comparison tool “Beyond Compare” to check for differences between CSV files, generated by a QML report (attached).

The ACL CSV output

  1. One line per rule.
  2. To make it readable the results are sorted (context, domain, object type, state, principal)
  3. To ensure the comparison tool knows which rule on left to compare to which rule on the right we must add comparison key columns to the data output. The key is expected to be the same on both systems, else the ACL rule is considered to be unique to just one system.

The attached QML, generates a suitable CSV output file and contains 2 keys which can be used for comparison. You can create more keys to suit your requirements. The key is simply a concatenation of data.

17-46-54.png

ID Hash Key

Compares ACL rules where, for each rule, all of the following match between systems.

  • Context ID
  • Domain ID
  • Policy Rule ID

If you created your test system by rehosting your production system these keys would match on the outputs from each system. Any new rules created after the rehost would potentially be considered unique as you have little control over the assigned IDs.

If the display names of the context or domain are changed, the rules will still compare, a delta will be recorded in the appropriate fields.

Name Hash Key

If you wish to compare ACL rules which have been created independently in 2 systems but are effectively the same then we can’t rely on IDs to compare. For this purpose an alternative key is included which is formed from a hash of names. So long as the names are the same in both systems then the ACL rule will be compared even if the IDs are different.

  • Context type class name
  • Context Name
  • Object Type Name
  • State Name
  • Principal Name
  • All Except Principal (true/false)

When comparing rules from a single context or domain, filter the report before generating a CSV file.

export CSV.png

1 REPLY 1

Attached QML updated, previous version did not show rules where principal = ALL. Outer join added on principal object, so rule is shown when principal reference is null.

Top Tags