Javascript Data Request Form

From OPeNDAP Documentation
Revision as of 15:50, 15 April 2010 by EvanKroske (talk | contribs) (Added execution path and started application structure)
⧼opendap2-jumptonavigation⧽

My goal is to create a Javascript API for accessing OpenDAP metadata and an intuitive, Javascript-based data-request construction form.

Plan of action

  1. Create generalized Javascript OpenDAP-metadata bridge
    1. Write Javascript OpenDAP-metadata retrieval module (may involve server-side modifications)
    2. Write OpenDAP-metadata parser
    3. Write JSON emitter
  2. Create data request form constructor using metadata bridge
    1. Write basic form constructor to build simple but clear HTML forms
    2. Add more advanced form controls (maps, timelines, etc.) for more capable browsers

Execution path

  1. User requests data-request form
  2. Server sends simple HTML page with form-generation Javascript
  3. Javascript requests DDS and DAS for selected data
  4. Javascript parses DDS and DAS to generate HTML form
  5. User requests data through form
  6. Server returns user-selected data

Application structure

Form generator

Public interface

The public interface gives developers a dead-simple interface to create data-specific request forms.

createDataRequestForm({"url" : "http://test.com/data.gz", "containerID" : "requestform"});

Generator

The heart of the form generator transforms the JSON-encoded DAS and DDS into an interactive HTML form.

var generator = createFormGenerator();
var form = generator.generateForm(dasData, ddsData);
document.appendChild(form);

DAS/DDS Javascript API

Public interface

HTTP request generator

DAS parser

DDS parser