Change Tracking - Descriptions

Change Tracking has a description feature. Once enabled, after every hit of the big Apply bar you are prompted to type a description for that apply. So, a few notes on descriptions:

Don't repeat auto-generated details - Change Tracking already records the date & time, user name, and the actual configuration changes. So don't repeat them! The idea here is to write details external to ISA - stuff that ISA cannot possibly know about. Examples:
- Support the new FrobMeister 5000 router
- Resolve call ticket #123456
- Done to match John's change to the Exchange server
You get the point.

Scripts names and parameter are included - There's currently no way to add custom descriptions to the changes made in scripts. However, Change Tracking does record the command line used to make the change, and that includes the script name and parameters. For example:

    "C:\WINDOWS\System32\CScript.exe" "C:\DoStuff.vbs" /param1:yes

This usually explains the intent well enough.

[TMG update] In TMG, you can add custom descriptions to changes made in scripts. Note that you can only do it when saving from the root (fpc) or Array objects. For example:

 set fpc = CreateObject("FPC.Root")
set arr = fpc.GetContainingArray
' Make changes to arr...
arr.SaveWithDescription 0, 0, "This will appear as the Change Description" & vbCrLf & _
                              "This will appear too."

One Apply, one description - If you make changes to several arrays / enterprise and hit Apply once for all of them, you're only prompted for description once. This description will apply to any array/etc which is affected by this apply.

Asking for description depends on UI position - Configuring ask description on each array/enterprise seems straightforward. But it presents a question: Suppose you've enabled change descriptions on some array but not on another. Now you make a change to both and apply. Should ISA prompt for a change description or not?
The solution we chose works according to where you are on the UI. If the active node on the left-hand tree belongs to an array which has descriptions on, then you are prompted. Otherwise, no. And of course, if it's enabled on the Enterprise, then it takes precedence.

Or in pseudo-code:

 if (EE && ent.Enabled) return ent.AskDescription;
if (currentNode.parentArray && currentNode.parentArray.Enabled) return array.AskDescription;
return false;

[TMG update] In TMG, show description is saved per-user, without regards to UI position.

-Jonathan Barner, ISA Sustained Engineering Team