My favorites | Sign in
Project Home Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Project Information
Members
Links

Developing robust, enterprise-friendly Settings Management for Desktop Applications is a hassle

When developing C#.Net applications for the Windows Desktop in an Enterprise environment, Settings Management is typically a tedious exercise left to the developer. When targeting large-scale deployment, main pain-points are:

  1. Certain settings must be managed by a centrally maintained Policy (typically Group Policies applied to the Registry)
  2. User should have the ability to customize her experience (read settings) but should not be allowed to overwrite every setting
  3. As Requirements change or projects evolve any additions or subtraction to exposed Settings requires code revision in multiple areas of code. This repetitive and time-consuming process is undesirable.

Netscape's Autoconfig paradigm generalized

Netscape was one of the first to develop an autoconfig mechanism called MissionControl which applied 3 tiers of settings in succession, each tier trumping the one beneath it when permissioned to do so. The tiers are:

  1. Default Settings Tier - Settings hard-coded or deemed "defaults" by the application. These are loaded first.
  2. Policy Tier - Delivered from a trusted, local or remote location. This tier overwrites the Defaults and also assigns locks to select setting telling the application that it cannot permit further overwrites of the settings' values for the duration of the session.
  3. User Settings Tier - These are user's customizations applied on top of the policy tier, only "unlocked" settings accept user's values.

The policy tier was optional but proved very useful in an enterprise setting. MissionControl.Net was inspired by the configuration model still used in Firefox today.

XML modeling and Code Generations make things easy

Expanding on the Mission Control mechanism and generalizing for use with any desktop application, MissionControl.NET allows you to:

  1. Model your settings in an XML file and designate which you intend to lock by default
  2. Choose your templates for code generation formats and Setting styles
  3. Click a metaphorical button
  4. Use the generated code to Load, Save and Access your settings while focusing on more important things in life -- like business logic.

Technology at Play

Powered by Google Project Hosting