You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Purpose

This document outlines the following:

  • Rationale for modifying the ECHO forms.
  • Instructions for rendering spatial subset fields read-only.

Table of Contents

Premise

These changes were requested by NSIDC and LPDAAC to reduce the number of failed requests that enter the system. On the front page of Earthdata Search Client, if an end user searches for granules using a bounding rectangle, the coordinates of that rectangle will be pre-populated into any ECHO form loaded in that user's same session. Applying a read-only attribute to the spatial subset fields prevents the user from modifying the pre-populated values, thus guaranteeing that a valid spatial subset will be submitted with the request. For any collection to which the following fixes have been applied, the resulting behavior will force users to specify a spatial subset by searching for granules using the bounding search rectangle; they will not be able to edit the bounding box in the form itself.


Instructions

Locate ECHO Form XML

To locate the ECHO form XML document in the Metadata Management Tool (MMT):
  1. Visit mmt.uat.earthdata.nasa.gov or mmt.earthdata.nasa.gov for the UAT or production environments, respectively.
  2. In MMT, choose your provider (probably <DAAC_NAME> or <DAAC_NAME>_<MODE>, ex. NSIDC_TS1).
  3. Choose Manage CMR.
  4. Under the Service Management panel, choose View Service Options.
  5. The target form XML document will most likely be named <SHORTNAME.VERSIONID> ESI Service.
  6. Once located, choose Edit, under the Actions column.
Expected Results


Edit the ECHO form XML document

Add Explanation Text

  1. In the form editing panel, navigate to the following element of the XML document:

    /form/model/instance/ecs:request

  2. On the line below <ecs:REQUEST_MODE>, insert 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.)

  3. 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]

    1. 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'"/>

Expected Results

.

.

.

<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>

.

.

.

Mark Spatial Subset Fields Read-Only

  1. 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">

    1. 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.

  2. Submit the form changes.
Expected Results

<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'>


Verification

Expected Results

Once the aforementioned updates have been submitted, the changes should be rendered in Earthdata Search Client. If not immediately visible, wait for the beginning of the next hour, as CMR may have a backlog of updates to process.

ECHO Form Rendering

When input fields are marked read-only, the border of the field will appear to be faded and the cursor will not change on mouse-over.

Screen Shot 2018-08-03 at 12.37.29 PM.png

  • No labels