Rating: No reviews yet
Downloads: 95
Change Set: 85951
Released: Apr 22, 2013
Updated: Apr 22, 2013 by lorenh
Dev status: Stable Help Icon

Recommended Download

Application XmlPreprocessBinaries.zip
application, 207K, uploaded Apr 22, 2013 - 95 downloads

Release Notes

What's new in this release
  • Added three built-in properties useful in building absolute paths without hard-coding drive letters.
    • ${_dest_root} – Expands to the root of the destination file path (ex: “C:\”)
    • ${_system_root} – Expands to the root of the system directory (ex: “C:\”)
    • ${_current_root} – Expands to the root of the current directory as determined by Environment.CurrentDirectory (ex: “C:\”)
  • Nested Properties: You can build property names from other properties.
    • Example: ${PROPERTY_${_machine_name}}. - In this example if your machine is named SERVER1 the nested property will be resolved first, the preprocessor will then look for a property named ${PROPERTY_SERVER1}
    • Note: This is not supported when using custom tokens with the start and end tokens matching.
  • Fallback Properties: You can now specify multiple property names delimited by semicolons in a single macro, and the preprocessor will try each one and perform the substitution for the first property it finds that was defined.
    • Example: ${PROPERTY1;PROPERTY2;PROPERTY3} – In this example, the preprocessor will first look for PROPERTY1, if it was not defined it will proceed to check for PROPERTY2 etc. When it encounters a property that is defined, it will substitute that value and stop.
    • Note: This change makes it invalid to have semicolons in your property names.
  • Machine-Specific Settings: If you have settings that are unique to specific machines, you can do the following: (This common requirement is just an application of the new nested and fallback features)
    1. Define a set of properties (typically done in your Excel spreadsheet) for each machine and usually a fallback value
      • PROPERTY = fallback value
      • PROPERTY_SERVER1 = server 1’s value
      • PROPERTY_SERVER2 = server 2’s value
    2. Use this nice and tidy replacement macro in your configuration file. (Note the use of both nested and fallback properties and compare to the legacy way to accomplish this in #3 below)
      • ${PROPERTY_${_machine_name};PROPERTY}
      • When deployed on SERVER1, it will use the value for PROPERTY_SERVER1
      • When deployed on SERVER2, it will use the value for PROPERTY_SERVER2
      • On all other machines (ex: SERVER3), it will look for PROPERTY_SERVER3, not find it defined, and just fall back to PROPERTY
    3. Note: This was possible before the addition of nested and fallback properties, but it was fairly ugly and involved using scripting to do something like this:
      • ${Script= defined("PROPERTY_" + GetProperty("_machine_name")) ? GetProperty("PROPERTY_" + GetProperty("_machine_name")) : GetProperty("PROPERTY") }
Issues Fixed
  • Fix for Issue 12863 : Fix for resolving content when using custom token that differs in length from the default of "$ and ".

Reviews for this release

No reviews yet for this release.