Adding a new field to the collection or extended metadata display (Bathymetry Solution)

Once you have created at least one BIS geodatabase, you can link bathymetry data to the BIS geodatabase and associate metadata to the bathymetry data.

ArcGIS for Maritime: Bathymetry allows you to add new metadata fields to or retire existing metadata fields from the Manage Collections and Add Bathymetry dialog boxes and the Explore Bathymetry and Compose Surface windows. In addition to adding and retiring fields, you can append a new selection to a drop-down menu and add validation rules to ensure the metadata values meet your business rule requirements.

Adding new fields to the BIS metadata display will most likely be common practice. For example, you may need to add multiple vessel fields to your collection manager metadata display. The following steps provide an example of how to add a new text field to the collection metadata XML file. You will verify the change from the Manage Collections dialog box, but the update will also modify the field display within the Add Bathymetry dialog box and the Explore Bathymetry and Compose Surface windows. These steps can also be used to add a text field to the extended metadata XML file.

The new metadata field will not be applied to any BAG files that have already been associated with a collection. Ideally, you should add the new collection or extended metadata field before associating a BAG file with a BIS geodatabase. However, you can use the Edit Metadata dialog box available from the Explore Bathymetry and Compose Surface windows to apply the new metadata field value to bathymetry data previously associated with your BIS geodatabase.

If you use multiple BIS geodatabases that require custom metadata, you will need to make changes to the metadata files for each of those BIS geodatabases.

CautionCaution:

You should make backups of your metadata XML files before making any major configuration changes. This will prevent you from jeopardizing the BIS tool functionality in ArcMap in the event of an XML formatting mistake. It is highly recommended that you place the metadata XML files in a networked or shared location so all BIS users can benefit from the configuration changes.

NoteNote:

You must modify the XML file through a third-party XML editing application. Esri does not endorse or promote any particular XML editing or viewing application, but it is highly recommended that you choose an XML editing application with XML format validation. The tools will not function if your modifications result in an invalid XML format.

Steps:
  1. Start ArcMap.
  2. On the main menu, click Customize > Toolbars > Bathymetry.
  3. Click the Manage BIS Settings button Manage BIS Settings on the Bathymetry toolbar.

    The Manage BIS Settings dialog box appears. The settings for your active BIS geodatabases are shown in the dialog box.

    Manage BIS Settings dialog box
  4. Locate the Metadata settings location property.

    This is where the BisDatasetExtMetadataDef.xml, BisCollectionExtMetadataDef.xml, and ONSBagInternalMetadataDef.xml configuration files are stored. These are the files you will need to modify to configure the BIS metadata field display.

  5. In Windows Explorer, navigate to your metadata settings location.
    TipTip:

    Before performing the steps that follow, it is strongly recommended that you create a backup of your metadata XML file.

  6. Open the metadata XML file with a third-party XML editing application.

    In this example, use BisCollectionExtMetadataDef.

  7. Within the BisExtXmlMetadataDefinitionFields element block, create space where you want to add your new field.

    The field order in the display is determined by the element order in the XML file.

  8. Create a new BisExtXmlMetadataDefinitionField element block.
    TipTip:

    To streamline the adding field process within the XML file, you might find it faster to copy an existing string fields element block, paste it, then modify the applicable attributes. This approach will also reduce the possibility of formatting errors.

    <BisExtXmlMetadataDefinitionFields>
    <BisExtXmlMetadataDefinitionField>
    </BisExtXmlMetadataDefinitionField>
    
  9. Nest the following attributes within your opening BisExtXmlMetadataDefinitionField tag to create the text field.
    <BisExtXmlMetadataDefinitionFields>
    <BisExtXmlMetadataDefinitionField xmlNodeName=”” title=”” dataType=”” required=”” searchable=”” displayed=””>
    </BisExtXmlMetadataDefinitionField>
    
  10. Type a value for the xmlNodeName within the double quotes using the following naming convention.
    xmlNodeName=”nodeName”
    
  11. Type a value for the title within the double quotes.
    title=”New Field Name”
    
  12. Define the dataType nested attribute as “xmlTypeString”.
    dataType=”xmlTypeString”
    
  13. Define the required nested attribute as “true”.
    required=”true”
    
  14. Define the searchable nested attribute as “true”.
    searchable=”true”
    
  15. Define the displayed nested attribute as “true”.
    displayed=”true”
    

    When complete, the BisExtXmlMetadataFieldDefinitionField element block should look like this.

    <BisExtXmlMetadataDefinitionFields>
    <BisExtXmlMetadataDefinitionField xmlNodeName=”nodeName” title=”NewFieldName” dataType=”xmlTypeString” required=”true” searchable=”true” displayed=”true”>
    </BisExtXmlMetadataDefinitionField>
    
  16. Create a new element block within the BisExtXmlMetadataFieldDefinitionField element block called xmlDataRestriction.

    This element block will be used to restrict the number of characters used in the text.

    <BisExtXmlMetadataDefinitionFields>
    <BisExtXmlMetadataDefinitionField xmlNodeName=”nodeName” title=”NewFieldName” dataType=”xmlTypeString” required=”true” searchable=”true” displayed=”true”>
    </BisExtXmlMetadataDefinitionField>
    <xmlDataRestriction>
    </xmlDataRestriction>
    
  17. Nest the attribute restrictionType=”” within the opening xmlDataRestriction tag.
    <BisExtXmlMetadataDefinitionFields>
    <BisExtXmlMetadataDefinitionField xmlNodeName=”nodeName” title=”NewFieldName” dataType=”xmlTypeString” required=”true” searchable=”true” displayed=”true”>
    </BisExtXmlMetadataDefinitionField>
    <xmlDataRestriction restrictionType=””>
    </xmlDataRestriction>
    
  18. Define the restrictionType nested attribute “XmlMetadataFieldStringRestriction”: restrictionType=”XmlMetadataFieldStringRestriction”.

    You are defining field restrictions on the new string field.

  19. Create two new element blocks within the xmlDataRestriction element block.

    In this example, it uses MinLength and MaxLength.

    <BisExtXmlMetadataDefinitionFields>
    <BisExtXmlMetadataDefinitionField xmlNodeName=”nodeName” title=”NewFieldName” dataType=”xmlTypeString” required=”true” searchable=”true” displayed=”true”>
    </BisExtXmlMetadataDefinitionField>
    <xmlDataRestriction restrictionType=”XmlMetadataFieldStringRestriction”>
    <MinLength></MinLength>
    <MaxLength></MaxLength>
    </xmlDataRestriction>
    
  20. Type a value of 1 between the MinLength element block.
    <MinLength>1</MinLength>
    
  21. Type an applicable value for the maximum number of characters for the text field between the MaxLength element block.
    <MaxLength>255</MaxLength>
    

    Your new string field has to have a value between 1 and 255 characters in length.

  22. Save the metadata XML file.

    When complete, the new field entry should look like this:

    <BisExtXmlMetadataDefinitionFields>
    <BisExtXmlMetadataDefinitionField xmlNodeName=”nodeName” title=”NewFieldName” dataType=”xmlTypeString” required=”true” searchable=”true” displayed=”true”>
    </BisExtXmlMetadataDefinitionField>
    <xmlDataRestriction restrictionType=”XmlMetadataFieldStringRestriction”>
    <MinLength>1</MinLength>
    <MaxLength>255</MaxLength>
    </xmlDataRestriction>
    
  23. Close the third-party XML editing application.
  24. Close ArcMap.
    NoteNote:

    Metadata will not update dynamically within your ArcMap interface. You will need to close and restart ArcMap to see the applied changes.

  25. Start ArcMap.
  26. Click the Manage Collections button Manage Collections on the Bathymetry toolbar.

    The Manage Collections dialog box appears.

Your new text field will be visible and editable.

5/18/2015