Allow features to be turned off

Allow features to be turned off

Benefits

Description

You’ve spent all this time coding cool new features, why on earth would you want to turn them off? Well, there are several good reasons, reducing excessive customization, allowing for easier rollout, and greater administrator control, to name a few.

Allowing administrators to turn off features which aren’t needed by most users, or cause a lot of confusion, can reduce support costs and allow administrators to match application features more closely to the needs of users. For example, you could provide a policy to turn off all “advanced features” or break features up into job groups so the administrator could turn on only “purchasing clerk features”.

The ability to selectively turn on or off features also gives administrators more options when it comes to rolling out new versions. Let’s say a company has 1700 users and it wants to upgrade them to the latest version of your application. Sure, they can automatically push installation from a central location over the weekend (you did use the new Windows Installer didn’t you?), but training the users to use all the new features is going to take a lot longer. Fortunately you thought ahead, and provided an option to allow administrators to turn off all new features. That way they can selectively turn on features for users as they complete training.

Considerations

Reading each of these settings, to see if the feature is enabled, can involve a slight performance hit. Just checking them once (most often done at startup) is fine, unless your application designed to run continuously for extended periods. In cases such as this, you would need a strategy to update the settings while running.

If you absolutely require that your application know when policies change, you can implement a solution using the WM_SETTINGCHANGE message.

See Also

Administrative Template File Format, Reflect policy changes in your UI, Registry Overview, Using Group Policy, WM_SETTINGCHANGE