ModuleConfiguration Table

The ModuleConfiguration table identifies the configurable attributes of the module. This table is not merged into the database.

The ModuleConfiguration table has the following columns.

Column Type Key Nullable
Name Identifier Y N
Format Integer N N
Type Text N Y
ContextData Text N Y
DefaultValue Text N Y
Attributes Integer N Y
DisplayName Text N Y
Description Text N Y
HelpLocation Text N Y
HelpKeyword Text N Y

 

Columns

Name

This field defines the name of the configurable item. This name is referenced in the formatting template in the Value column of the ModuleSubstitution table.

Format

This column specifies the format of the data being changed.

Format Value
Text 0
Key 1
Integer 2
Bitfield Format 3

 

Type

This column specifies the type for the data being changed. This type is used to provide a context for any user-interface and is not used in the merge process. The valid values for this column depend on the value in the Format column.

ContextData

This column specifies a semantic context for the requested data. The type is used to provide a context for any user-interface and is not used in the merge process. The valid values for this column depend on the values in the Format and Type columns.

DefaultValue

This column specifies a default value for the item in this record if the merge tool declines to provide a value. This value must have the format, type, and context of the item. If this is a "Key" format item, the foreign key must be a valid key into the tables of the module. Null may be a valid value for this column depending on the item. For "Key" format items, this value is in CMSM special format. For all other types, the value is treated literally.

Module authors must ensure that the module is valid in its default state. This ensures that versions of Mergemod.dll earlier than version 2.0 can still use the module in its default state.

Attributes

This column is a bit field containing attributes for this configurable item. Null is equivalent to 0. All other bits in this column are reserved for future use and must be 0.

Name Decimal Hexadecimal Description
msmConfigurableOptionKeyNoOrphan 1 0x00000001 This attribute only applies to records that list a foreign key to a module table in their DefaultValue field. The merge tool ignores the attribute for any formats other than the Key Format Types. Items not listed in the ModuleSubstitution table are excluded from the following check. The merge tool does not merge the row referenced by the DefaultValue column into the target database if the following conditions are satisfied after completing all configuration options.
Every row in the ModuleConfiguration table with the same DefaultValue has the msmConfigurationItemsKeyNoOrphan set.
No rows use the DefaultValue because the authoring tool declined to provide a value.
The merge tool merges the row if any of the following conditions are satisfied.
The merge tool finds any row that does not have msmConfigItemsKeyNoOrphan set.
If the merge tool finds any row using DefaultValue because the authoring tool declined to provide a value.
msmConfigurableOptionNonNullable 2 0x00000002 When this attribute is set, null is not a valid response for this item. This attribute has no effect for Integer Format Types or Bitfield Format Types.

 

DisplayName

This column provides a short description of this item that the authoring tool may use in the user interface. This column may not be localized. Set this column to null to have the module is request that the authoring tool not expose this property in the UI. The tool may disregard the value in this field.

Description

This column provides a description of this item that the authoring tool may use in UI elements. This string may be localized by the module's language transform. This column may be null.

HelpLocation

This column provides either the name of a help file (without the .chm extension) or a semicolon delimited list of help namespaces. This column can be null if no help is available. This column can be null only if the HelpKeyword column is null.

HelpKeyword

This column provides a keyword into the help file or namespace from the HelpLocation column. The interpretation of this keyword depends on the HelpLocation column. This column may be null.

Remarks

The ModuleConfiguration table is used by Configurable Merge Modules. Mergemod.dll 2.0 or later is required to create a configurable merge module.

To ensure compatibility with older versions of Mergemod.dll, the ModuleConfiguration table and ModuleSubstitution table should be added to the ModuleIgnoreTable table of every module.

Validation

ICE03
ICE06
ICE25
ICE45