The DAP4 specification work has morphed into a DAP2 and DAP4 specification effort. We are going to write a formal specification for DAP2 which will be submitted to NASA/ESE for ratification as an official NASA/ESE standard. This page holds a collection of the DAP4 specification information along with a plan for writing the DAP2 specification.
DAP4 Specification Issues A collection of DAP Data Model (mostly) issues
Organization of the DAP2 specification
- The DAP2 specification will be broken down into two or more documents:
- The Data Model description --- dap_2_data_model.tex. This will hold information about all of the essential parts of DAP 2.0. Those include:
- Variables
- Attributes
- Characterization of a data source
- Request form
- Response form
- A discussion of, and pointers to, notes about the `services' such as ASCII, HTML, ...
- A note describing the ASCII response
- Other notes as people see fit.
- The Data Model description --- dap_2_data_model.tex. This will hold information about all of the essential parts of DAP 2.0. Those include:
Changes to the DAP 2.0 implementation
I'm not sure if these should be written into the 2.0 (2.x?) spec or if we should add these into a 3.x spec and pursue an iterative development of 3.x specs on the way to a 4.0 spec. These are, however, ideas that came out of reading over the old DAP 2.0 document.- Change XDODS-Server to XDAP-Version: the response should say what version of the DAP is supported, not what version of the server is responding.
- Add support (maybe in XDAP-Version 2.1?) for reliable error delivery
- Support for 'any character in a name' using double quotes.
- dap_2_data_model.pdf: The latest version of the spec, as a PDF file. This snapshot almost certainly contains errors, missing stuff, et cetera. It's here to solicit comments but not to provide guidance for implementors!
- Need to conform to ESE RFC 003
- Check the glossary and acronyms. I think both of these sections are hosed. OTOH, that's probably best saved for later.
- One other thing: we'll need to check all of the section refs to make sure they are correct given the cut & paste job we're doing with the DAP 4 text...
- Check all the footnotes and make sure none of them have MUST, MAY, ... If so, move to the body of the text.
- Sec 2.4, Names: This entire section (2.4) should be moved inside Sec 5. Names, other than that they exist should not be part of the 'information model.' My bad.
- Sec 2.7, Attribute Structures: Needs to be written. DONE; sections reworked and re-numbered
- Sec. 5.2, Response Bodies: I think we need to be more formal.
- Add a section after 5.2 which has example Request URLs and the responses. We should show the entire response document, MIME headers and all and we should show some data including Arrays and Sequences (since there are some quirks associated with those).
- Lastly, I think we should be thinking about things that seem like a failed idea. Here's my list:
- The List data type; I don't know of any client that can handle this. I suggest we remove it.
- Error objects with embedded Tcl or Java programs; like List, it has never worked.
- Attribute Aliases; I've argued these are completely necessary, but I was wrong. Only the HDF4 server used them but they are broken there.
- Adding a XDAP-Version header,
- Chunked encoding for data (so that we can have reliable error delivery in all cases) and
- Eliminating the repetition of the array size for an array of Atomic types.

