This document outlines the following:
This work is needed because...
In the form editing panel, navigate to the following element of the XML document:
/form/model/instance/ecs:request
On the line below <ecs:REQUEST_MODE>, place this element:
<ecs:BBOX_EDIT_DISABLED_MSG>Bounding coordinates for spatial subsetting must match the rectangle entered to filter granules on the previous map page. If you wish to modify these coordinates, please go back to the previous page and select the rectangle option under the spatial filter icon.</ecs:BBOX_EDIT_DISABLED_MSG>
(You may modify the text inside this new element as desired.)
For each processing service configured for the target collection, there is an element in the data model, <ecs:<SERVICE_NAME>-request> and multiple corresponding <group> elements in the user interface section of the form. For example, the interface for spatial subsetting is configured by the section:
/form/ui/group[id=<SERVICE_NAME>-spatial]
Inside the group, add the following XML snippet as the last item in the group, substituting <SERVICE_NAME> appropriately:
<output ref="../../../ecs:BBOX_EDIT_DISABLED_MSG" relevant="../../../ecs:SUBAGENT_ID/ecs:value='<SERVICE_NAME>' and ../../ecs:spatial_subset_flag='true'"/>
.
.
.
<model> <instance> <ecs:request xmlns:ecs="http://ecs.nasa.gov/options"> <!--NOTE: elements in caps losely match the ESI API, those in lowercase are helper elements --> <ecs:requestInfo> <ecs:email /> </ecs:requestInfo> <!--Dataset ID will be injected by Reverb--> <ecs:CLIENT>ESI</ecs:CLIENT> <!--First SubsetAgent in the input capabilities XML is used as the default.--> <ecs:SUBAGENT_ID> <ecs:value>HEG</ecs:value> </ecs:SUBAGENT_ID> <!-- hardcode to async for Reverb services --> <ecs:REQUEST_MODE>async</ecs:REQUEST_MODE>
<ecs:BBOX_EDIT_DISABLED>Bounding coordinates for spatial subsetting must match the rectangle entered to filter granules on the previous map page. If you wish to modify these coordinates, please go back to the previous page and select the rectangle option under the spatial filter icon.</ecs:BBOX_EDIT_DISABLED>
<ecs:SPATIAL_MSG>Click the checkbox to enable spatial subsetting.</ecs:SPATIAL_MSG>
<ecs:NO_PROJ_MSG>No projection options available with current selection.</ecs:NO_PROJ_MSG>
.
.
.
Inside the same <group> element where the output message was placed, there will be 4 different input fields, each corresponding to one of the cardinal directions used to define the bounding box. For example:
<input label="South" ref="ecs:lrlat" relevant="../../../ecs:SUBAGENT_ID/ecs:value='<SERVICE_NAME>' and ../../ecs:spatial_subset_flag='true'" required="true()" type="xsd:double">
In the declaration of the <input> element–inside the tag markers (<>)–there are 3 attributes defined: relevant, required, and type. Add the following attribute to each input element:
readonly='true'
This will render the input fields as read-only objects in Earthdata Search Client.
<input label="South" ref="ecs:lrlat" relevant="../../../ecs:SUBAGENT_ID/ecs:value='<SERVICE_NAME>' and ../../ecs:spatial_subset_flag='true'" required="true()" type="xsd:double" readonly='true'>