Plug-in system notes

Example: GET-Evidence

  1. Researcher uploads sequence data and tags with {huID} and {sampleID}. GET-Evidence generates variant report.
  2. GET-Evidence notifies Tapestry that a new report for {huID} relating to {sampleID} is available at {private-location}.
  3. Tapestry fetches report, and notifies participant that report is available.
  4. Report remains private for 30 days in case participant chooses to withdraw rather than publish.
  5. Report appears on participant's public profile page.
  6. Tapestry notifies GET-Evidence that report is now public.

Example: Telomere length widget

  1. Researcher uploads spreadsheet of {sampleID, length} to TelomereApp -- possibly via Google Docs + oAuth
  2. TelomereApp produces a graph (png or html+js) for each sampleID and notifies Tapestry: N x "report for {sampleID} is available at {url-with-secret-token}".
  3. Tapestry fetches graph object, notifies participant, displays object on participant's private profile page, etc.
  4. Possibly after a 30 day delay, Tapestry notifies TelomereApp that report at {private-location} is now public.

Implementation

  • Display
    • Tapestry has to produce a presentable profile page, incorporating various sizes/shapes/forms of data coming from plugins. * Use OBJECT tag
  • API
    • Could use Indivo to store these data objects (or locators, for big or dynamic objects) -- then applets and tapestry would implement Indivo API instead of inventing a new API