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

The PTC Community email address has changed to Learn more.

How do I keep track of Admin Staging migrations with Integrity?

No ratings

This has been a question which gets asked of PTC Support time and again. Unfortunately there is no *good* way to do it with out-of-the-box Integrity functionality so I am making this blog post to share with everyone what one of our largest Workflows and Documents customers has done. If you have worked with Integrity for some amount of time, you know that if you can dream it, you can build a system to track it.

Attached is a Powerpoint presentation outlining the basic set-up of one customer's process with a few redactions and rewording to remove sensitive data. At a high level, here is what they did:

  1. Created a new type to hold data about each admin object in the system (Admin Objects).
  2. Created an IBPL field backed with those items to make a nice drop-down list of objects to choose when tracking their changes.
  3. Created a couple types to track the user requests and actual configuration work details ('Change Request' from end users and 'Integrity Dev Task' for the admin team to break-down the work needed for the change. These are related to each other.).
  4. When working on an Integrity Dev Task, admins could enter data like which objects would be affected by the change, estimated implementation date, user priority, a quick summary, and a long text field for more detailed notes. There is also a place to put actions to perform before and after the migration (ie removing inactive pick list values from active items).
  5. When changes were pushed from Dev to Staging, other admin members would test and verify that the changes did not break any common operations which use those objects. There are fields on the dev task to indicate passed/failed testing and comments.
  6. There are many more small details which I will not go into (like using triggers to validate certain field data).

All of this is great since they had leveraged Integrity functionality to audit their changes and gain these benefits:

  • See who made what changes, to which objects, and when using queries/reports.
  • Easily adapt the process to meet changing admin needs since the solution is controlled entirely by the admins.
  • Replaced their old, MS Word sneakernet-based process where documents were emailed around and was prone to mistakes.

Using Integrity like this is good but it is really addressing a need that most of our customers have and is not met by native product functionality. If you are an organization which uses the Admin Migration process, you will most likely want to contact PTC Support to be attached to the following Requests For Change (RFCs):

  • 98068 (This RFC asks for the ability for Integrity to better control admin object changes in a similar way to how Integrity handles source code management. A change package style of item or object to contain all of the object changes, for example)
  • 135839 (This RFC asks for a way to review details about an admin migration after it occurs. Currently there is no way to go back and report on migrations.
  • 115366 (This RFC asks for the ability to export pending admin object changes to a file prior to actually migrating them)
  • 104542 (This RFC asks for a new audit logging category to track just admin migrations. Currently, admin migrations are only tracked if all "admin" events are enabled. in

Is there any additional detail on the IBPL field which lists the objects i.e. things that could be promoted (fields, types, states, triggers and etc.) How is the query built over those fields or do I miss understand?

In order to build those IBPL items, there was a bit of manual set-up (running im fields, im states, im types, im reports, im queries, etc). After the whole system was set-up, it became part of the process that when creating a new field or other object, a new backing IBPL item was also created at that time.

Of course, this was easy in that particular customer's case since they had a team of about 6 people dedicated to doing nothing but configuration changes and were familiar with the process.

So I’ve created a .bat file with the CLI to create text delimited out files for each of the following

·        Fields

·        Projects

·        States

·        Types

·        Users

·        Groups

·        Charts

·        Dashboards

·        Dynamic groups

·        Reports

·        Queries

·        Triggers

How would I take advantage of the files and how do I get the Presentation Template and View set list

You can get the Presentation Template (IPT) list via another command:
im diag --diag=listdbfiles

You will see output similar to:

Fri Jun 08 16:55:51 EDT 2012data/im/issue/templates/ALM_changeorder.xml
Fri Jun 08 16:55:51 EDT 2012data/im/issue/templates/ALM_changerequest.xml

The actual name of the IPT is at the end after ".../templates/".

The Viewsets can be gotten with a command similar to the other objects:

im viewsets

For how to use those output files to create the backing IBPL items, that is up to you. You could use a shell script to manipulate the text and have each of those lines now becoming something like...

im createissue --type=AdminObjectTracker --field=ObjectName=MyField1 --field=AdminObjectType=Field

im createissue --type=AdminObjectTracker --field=ObjectName=MyField2 --field=AdminObjectType=Field

im createissue --type=AdminObjectTracker --field=ObjectName=MyType1 --field=AdminObjectType=Type


The good news is that this data load-in should only have to be done once on this scale when you first set it up and should be much easier to maintain as you go along and create new objects.

In verision 10.2 I don't see the properties settings in is this a proposed setting and if not where would I insert this value

The section only has a couple examples and is not a complete list of the options for Audit Logging. I suggest looking at the "Setting Up Audit Logging on Integrity Server" section in the 10.4 Integrity Server Installation and Configuration Guide for more details.

Version history
Last update:
‎Jan 02, 2014 04:22 PM
Updated by: