Skip to content
temas edited this page May 20, 2011 · 5 revisions

Expressing Data Set Requirements

Applications need to express their used data sets in their manifest file for dependency purposes. For example they would include a line such as:

required:["photo/*"]

This example would need access to all photos in the locker. The * could also be used in place of the primary type for example:

required:["*/facebook"]

Here we need access to all facebook data, regardless of primary type. Finally, multiple service-types could be required.

required:["photo/facebook", "status/twitter", "message/*"]

We've needed access to facebook photos, twitter statuses and all messages.

Initialization

After an application has started and done any processing it needs to do, and is finally ready to interact with the data, it makes a request to the Locker core /getShares?types=[...]. The passed in list of types are all of the types that the access will be using. These requested shares could, in the future, then be presented to the user for selection of what they will actually allow access to. The approved shares will be saved in the access manager and a private/tokened URL is generated for this share access. The application is then returned an array of all of the available shares.

Data Usage

When the application is ready to use the authorized data sets it will use private share URL supplied from /getShares.

This URI is then used for the query system defined in API Design. Queries are parsed, checked for authorization to the requested data store and then turned into actual data store queries.

Clone this wiki locally