Form List API (original) (raw)

Toggle table of contents sidebar

This standard specifies how clients discover a list of available blank forms on a server.

Discovery Request

The discovery request should be sent in compliance with the HTTP 1.1 protocol.

If a server will filter the set of forms based upon the user's identity, then the server should require that the user be authenticated through either the Authentication API or through an alternative authentication mechanism. The server can then make use of the user's authenticated identity through those mechanisms to filter the set of forms to be returned.

The device will make a discovery request to a configured URI with a single query parameter, the deviceID. The deviceID should be the same id as provided by the default population mechanism defined in the Metadata Scheme. The server may filter the set of forms returned using this information.

Warning

The deviceID is advisory information only, and is inherently not authoritative. Anyone can claim to have a given IMEI, for example.

Together, the authentication and deviceID enable a server to tailor the set of forms to both the user and the device (and therefore the device's capabilities).

Query Parameters

Optional query parameters MAY also be supplied:

If not supplied or not present, the server MUST NOT include this optional information in its response.

Successful Response Document

If accepted by the server, the server will respond with a Content-Type: text/xml; charset=utf-8 response. An example of such a document is shown below:

mydomain.org:formId Form with zero or more additional files 1.1 md5:c28fc778a9291672badee04ac880a05d A possibly very long description of the form http://myhost.com/app/path/getMe/formIdA http://myothehost.com/app/path/getOtherStuff?formId=formIdA http://mydomain.org/uniqueFormXmlns Form without additional files v50 alpha md5:c28fc778a9291672badee04ac770a05d http://mysecondhost.com/a/description/getMe@formId=uniqueKey http://mysecondhost.com/a/different/path/getMe@formId=uniqueKey someId Short name of grouping http://whateverhost.com/other/path/forDownload?group=fido Longer description of what is here http://morehost.com/description/link

This document consists of:

Within each of the <xform/> tags, there must be exactly one of each of the following:

There may be zero or one

Within each <xforms-group> tag, there must be exactly one of each of the following:

There may be zero or one

The <xform/> tag provides information about a single form. The <xforms-group/> tag provides information about a group of forms; a further enumeration of the forms within that group can be obtained through the <listUrl/> of that group (which returns an <xforms/> document). Groups can be used to define sets of forms that a user may wish to download together (such as for clinical studies, for example).

Elements within <xform/>

Tip

A media description of the form (audio or video) can be especially useful in low-literacy populations.

Elements within <xforms-group/>

Note

The Manifest Document

The structure of the manifest document returned by the manifest URI is as follows:

badger.png md5:c28fc778a9291672baddd04ac880a05d http://funk.appspot.com/binaryData?blobKey=%3A477e3 path/to/agilefrog.png md5:9fd39ac868eccdc0c134b3b7a6a25eb7 http://other.appspot.com/blobSource?foo=222

This document consists of:

Elements within <mediaFile/>

<mediaFile/> attributes

Did this page help you?

Selecting an option will open a 1-question survey

👍 Yes 👎 No