Implementing a New Version of Rules Extensions

Applies To: Windows Server 2003 with SP1

Previous Sections in This Guide

If you need to change a rules extension, test it thoroughly on a test installation before transferring it to the production environment. If this testing is not possible, test it by using the process below. If at any stage errors are found, they should be fixed, the database restored, and the process repeated from step 2:

  1. Back up the SQL Server MIIS 2003 database. It backs up configuration and data.

  2. Thoroughly test all synchronization runs that could trigger the new rules extensions:

    • Disable any automated run profiles until you are sure that the metaverse is in a stable state.

    • Perform discovery imports to ensure that data from any new data sources is joined to existing data in the metaverse.

    • Perform a full synchronization runs for the management agents that might cause changes to the metaverse, that affect export or deprovision rules extensions, or that have changed.

    • For metaverse rules extensions, perform full synchronization runs for management agents so that every metaverse object is processed at least once.

    • Where time allows, the above process can be achieved by simply performing a full synchronization for every management agent.

  3. Do not perform any export runs until you have checked the effects of synchronization and they meet your expectations. You can check these effects by using tools in the UI (Search Connector Space tool and statistics), and/or by performing export runs in which the option has been set to “Create a log file and stop the run.”

  4. When the new rules extensions have been shown to behave as expected, you should perform a full run cycle manually, checking results at each stage as an added precaution and to simply allow this cycle to be performed in a reasonable time. These manual runs can be done by using the threshold setting in each run profile to limit the number of object processed.

  5. Reactivate the scheduled run cycle(s), continuing to monitor the output during the first few cycles.

Version Control

Rules extensions typically go through many versions, and it is typical for more than one developer to work on the different assemblies. Therefore, use of version control software is strongly recommended.

Microsoft® Visual Source Safe® version control software integrates with Visual Studio .NET 2003 and might be a good choice for managing MIIS 2003 rules extension code. A typical setup is to have one version control solution holding a project for each management agent, and one or more for the metaverse project. This organization keeps all source code neatly together and enables debugging across rules extensions. You can check out individual files for editing, and check them back in when you’ve finished editing.

You can also keep other kinds of files in Visual Source Safe, either relating to specific projects (like .XML control files) or to the solution as a whole. You can also export the metaverse and management agent configuration files and store them in the relevant projects.


Rules extensions enable you to add functionality to MIIS 2003 synchronization rules. By using one of a number of programming languages, you can modify default instructions that are called by the underlying synchronization process of MIIS 2003. You can build rules extensions for management agents or for the metaverse by using information provided in the synchronization rule specification of the dataflow design document. To ensure that your MIIS 2003 deployment is as efficient as possible, build your rules extensions by using the following process:

  • write a design specification

  • build your management agent rules extensions

  • build your metaverse rules extension

  • prepare your rules extensions for execution

  • test your rules extensions

  • write a functional specification

When you have built and tested your rules extensions, you can finalize your functional specification in the system dataflow design document. By using your specification, the configuration planner decides on an appropriate configuration for the deployment.

See Also

Community Additions