Project DescriptionThe best way to introduce the Environment Settings Manager is to explain the motivations behind its creation:
1. Most software projects have dynamic configuration settings, and their values usually vary per deployment environment (dev, test, production, etc.).
2. Maintaining the values of many settings across many environments is a difficult, error-prone task.
3. Configuration settings and their values must be understood and communicated across departmental boundaries, for instance from development to IT support.
4. It is common to store configuration settings in XML, whether they exist as an XML file in the file system or as XML stored in a database column.
5. Configuration settings must be synchronized with ever-changing program code, usually in a source control/versioning tool.
The Environment Settings Manager consists of an Excel spreadsheet and an associated command-line exporter tool. Here’s how the Environment Settings Manager’s spreadsheet and exporter can help with the issues described above:
1. Settings are maintained with a well-known, user-friendly tool – Microsoft Excel 2003 or newer.
2. The spreadsheet can store hundreds of settings and their values for dozens of environments in an easy-to-read tabular format.
3. Cell comments allow descriptions to be entered along with the setting name, which can provide context and meaning to the setting name itself.
4. Settings may be saved in XML or native Excel binary format – the editing experience in Excel is identical either way.
5. The settings spreadsheet (in XML or binary format) can be easily shared between interested parties.
6. Excel’s cell locking allows selected setting values/names to be easily protected from editing by other users.
7. The command-line exporter tool makes it easy to export the settings and values to a set of simple XML files, one per environment. These simple XML files can be consumed by other tools to, for example, substitute the values into a configuration file template.
The Environment Settings Manager is integrated into the
BizTalk Deployment Framework.