How Change Tracking gives you confidence to do more development

What is a Version Control System:

There is nothing more frustrating on an IT project when a process does not work as expected and you can't remember why or when it was changed.

In any IT project, it is very important to know when a change has been performed but also who did it. You can use a system to track such changes like GIT which is called a Version Control System (VCS).

Change Tracking and Version Control with TM1:

TM1 does not include any tools to help you understand what has been changed and by whom.

All TM1 object files are stored in the TM1 data directory. When you change a process, the "ProcessName.pro" file is updated. Most companies create a backup of the TM1 database directory on a daily or weekly basis. If you want to know all the changes that have been made between 2 dates on a specific process, you can open this .pro file from the TM1 data directory and the same .pro file from a TM1 backup folder and then compare these 2 files manually or using a comparing tool like Winmerge:

You'll be able to see all the differences between the 2 files but not when exactly they have been made and by who. 

Pulse Source Control System:

Pulse does more than just source control, Pulse can track changes, when someone makes a change, Pulse creates a notification message:

Pulse uses GIT compliant repository in order to track any changes on TM1 objects. It identifies every change that is made in your model, who made the change and when it occurred. This all happens magically in the background, it does not require your team to manually identify any of the changes they are making. 

You can then leverage the GIT repository to query the history of changes by user, time frame or by object type. A full history is kept so you can go back as far as is needed to see what has been changed.

If you click on a specific change, you will see in red what has been removed and in green what has been added:

Pulse will recover any version of the current object, allowing the developer to recover the version to any point of time from the beginning of the history of the object. For doing so a Rollback feature is provided.

If you want to know more, how the change tracking works in Pulse you can check the following how to.