How to use an index file with Dexterity to ensure resource IDs do not change in new builds and versions

This article describes how to use an index file and the Microsoft Dynamics GP Dexterity source code control functionality to make sure that the resources that you create maintain the same resource ID in different builds and versions of your code. These resources include items such as forms, reports, tables, and fields.

Applies to:   Microsoft Dynamics GP
Original KB number:   894699

More information

When you use the source code control functionality that is built into Dexterity, all resources are stored as text in your source code repository. Microsoft Visual SourceSafe is one such repository. These resources are stored by using their names as the unique identifier.

In your development dictionary, the unique identifier is the internal resource ID that is generated by Dexterity. For third-party developers, the resource ID starts at 22,000. Each resource that you add is assigned the next available resource ID for that resource type. Therefore, your resources are typically numbered in the order that they were created. However, if you deleted resources, the resource ID is reused.

When you create a new build, you start by using a copy of an unmodified Dynamics.dic dictionary file. Then, you update this dictionary file to include the resources from your source code repository. During this process, resources are added to the dictionary in alphabetical order, and new resource IDs are assigned to the resources.

The fact that the resource IDs are now ordered alphabetically may cause several issues:

  • You may have trouble updating forms and reports that you modified for your project.
  • Security records that are used to manage access to windows and reports that you modified will now be incorrect.

Using an index file can help prevent these issues. The index file tracks the resource ID that is assigned to each resource. The index file makes sure that the resource ID for each resource remains the same in each build of your Dexterity project.

If you have multiple developers who are working on a single project, you must assign one developer as the administrator of the project. The administrator's role is to create the new builds and to maintain the index file. To create and maintain an index file, the administrator must follow these steps on their computers:

  1. In Dexterity, select Edit, point to Options, and then select the Source Control tab. Make sure the Enable Administrative Features check box is selected.

  2. Create an index file by using your current development dictionary.

    Every time a build is completed, select Source Control on the Dexterity Explorer menu. Then, select Update Index File.

    This creates the index file if it does not already exist. Or, it updates the existing file so that file can be used for the next build.

  3. On the Explorer menu, select Source Control, and then select Update. In the Update from Repository window, select the Use Index File check box.

Following these steps helps make sure that resource IDs remain consistent in new builds and versions.


For more information, review the Part 9: Source Code Control section of Volume 1 of the Programmer's Guide that is included with Dexterity.