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

Compare with Current View Page History

« Previous Version 2 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

This work is needed because...

Considerations


Instructions

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>, 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.)

  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.

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

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


Other Designs


  • No labels