clarencen/lshift — Issue #214: Inventory submission
Author: clarencen
Created: 2011-11-14 22:42:08+00:00
State: open

For apps that don't have scan based participants, it would be useful to be able to push the entire application inventory for into Diffa. For example, an app may not be able to receive inbound network requests (for security purposes), they don't require partitioning or don't need the complexity that a scan based participant brings.

One way to solve this problem is to provide a bulk ingestion feature that allows an app to submit a complete inventory of all of the data it wants to have matched. For example, we could define a file upload facility to which apps post their own inventory. If the pairing is configured with a category, the app can choose to send a partitioned subset of its total inventory.

The requirements for this are:

* The upload format needs to be readable in a streaming fashion
* The format needs to specify:
* The endpoint and pairing that is sending the data;
* For each entity record, the following fields:
* Entity id;
* Entity version;
* (Optionally) An array of attributes - if supplied, these must type check with the categories defined on the pairing.
* (Optionally) A last updated field
* A optional footer containing a checksum of the inventory
* There needs to be some way that the submission and processing
results can be notified back to the submitted, e.g. via mail