Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Signing Up

  1. (Done) User/Developer signs up on BrownDog webpage
  2. User (Done) User receives email with more information and link to survey
  3. (Automatic email) User fills out survey
  4. (Done) User is contacted by Brown Dog developer and account is activated
  5. (Not for April 4) Tools catalog support for single sign-in not for April 4 demo

Creating and Adding a New Tool

  1. (Gregory Jansen, Rui Liu) Developer downloads BrownDog development environment in docker container (in dockerhub, link on BD webpage)
    Jira
    serverJIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
    keyBD-956
    Jira
    serverJIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
    keyBD-957
    Jira
    serverJIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
    keyBD-958
    Jira
    serverJIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
    keyBD-959
    Jira
    serverJIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
    keyBD-960
    Jira
    serverJIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
    keyBD-1009
    Jira
    serverJIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
    keyBD-1017
    Jira
    serverJIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
    keyBD-1007
    Jira
    serverJIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
    keyBD-1016
    • Contains running Clowder instance, Polyglot instance, basic development tools, mabye even an IDE configured and ready to go
    • Contains a bare-bones extractor ready to be modified for a new tool (with comments suggesting where to edit) (Rui Liu has started this, in various languages e.g. python, C++, Java, ..., and docker sample file)
    • Contains a bare-bones converter ready to be modified for a new tool (with comments suggesting where to edit)
    • Formerly Rob's work. Gregory Jansen to drive out this step.
    • , in various languages e.g. bash, bat, ahk, python, ..., and docker sample file)
    • (Done) Polyglot changes from redirecting to SS to downloading and serving converted files to users' "/file/" requests, to support 1 Pol + multi SS docker containers on the same VM.
    • (Done - Rui provided the files/images.) docker-compose.yml file, docker images for Polyglot server + 2 different SS to work together on the same VM.
  2. (Gregory JansenSmruti Padhy) Developer installs tool, creates BrownDog interface script(s)
    • Adds sample input file(s)
    • Example extractor: imagemagick edge detector
    • Example converter: imagemagick jpg to ico converter
  3. (Gregory JansenSmruti Padhy and Inna Zharnitsky will assist Gregory Jansen here)Developer creates dockerfile
    • For extractors this should contain only the tool, its dependencies, and the extractor
    • For converters this should contain the basic Polyglot setup, ideally only the Software Server, the tool, its dependencies, and the converter interface script
    • Jira
      serverJIRA
      columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
      serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
      keyBD-983
  4. (Rui Liu, Inna Zharnitsky) Developer Developer submits tool to Tools Catalog (using BrownDog account)
    Jira
    serverJIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
    keyBD-961
    Jira
    serverJIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
    keyBD-962

    • (Done) BrownDog interface Interface script(s), dockerfile, sample input, sample output
    • TODO: Documentation on how to add tool to Tools Catalog
    • (Done) Through web interface
    • Through script in development environment (probably the ideal way)
      Jira
      serverJIRA
      columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
      serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
      keyBD-962
  5. (Inna ZharnitskyMarcus Slavenas) Admin reviews and tests tool by pressing Admin presses button which deploys tool in a seperate separate Clowder/Polyglot sandbox, passes in the given input file, and checks the obtained output file against what is provided
    1. Manual review source code and docker file
    2. If ok, reviewer submits tool for testing from tool catalog ui 
      Jira
      serverJIRA
      columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
      serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
      keyBD-968
      Jira
      serverJIRA
      columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
      serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
      keyBD-969
      Jira
      serverJIRA
      columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
      serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
      keyBD-1055
      1. Build docker image using local parameters
      2. If user provides sample output run script to test inputs/outputs
        1. if not, manual inspections is required
      3. Scripts show pass/fail in tool script
    • Admin click accept or reject
  6. (Rui Liu, Inna Zharnitsky) Admin deploys tool by selecting instances to deploy interface on 
    Jira
    serverJIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
    keyBD-916
    Jira
    serverJIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
    keyBD-954
    Jira
    serverJIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
    keyBD-733
    Admin selects instances to deploy interface on
    • e.g. dts-dev or dts
    • selects minimum number of instances to provision (e.g. 5 instances)
    • presses button to deploy
    • Elasticity backend:  deploy docker images
      Jira
      serverJIRA
      columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
      serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
      keyBD-890
      , deploy VM images
      Jira
      serverJIRA
      columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
      serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
      keyBD-930
      , stop
      Jira
      serverJIRA
      columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
      serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
      keyBD-941
      .
    • Tool Catalog UI: BD-733 (deploy), BD-954 (stop).
    • Task: integration testing after the web UI part is done.
      Jira
      serverJIRA
      columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
      serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
      keyBD-975
  7. (Sandeep Puthanveetil Satheesan) Admin Admin receives status page showing number of tools deployed and where, load on each tool, etc...

Using a Tool

  • (Luigi Marini) API Gateway with keys and tokens (uses Crowd credentials)
    • (Not for April 4) Forwarding user credentials to Clowder
    • Clients
      • (Marcus Slavenas) Matlab 
        Jira
        serverJIRA
        columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyBD-620
        • Working and includes test script: DAP Outputs, DAP Convert, DTS Extract, and Download File
        • Not yet translated from bd.py: index, find, descriptor distance
      • (Smruti Padhy) R – available
      • (Luigi Marini) bash script using curl 
        Jira
        serverJIRA
        columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyBD-984
      • (Luigi Marini) Python – available bd-cli
      • (Smruti Padhy) Windows – Dap is there, for DTS not sure 
        Jira
        serverJIRA
        columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyBD-1004
        Jira
        serverJIRA
        columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
        serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
        keyBD-1005
      • (Smruti Padhy) Bookmarklet - 
      • (Smruti Padhy) Chrome Extension
      • Add keys and tokens to all clients
        • Jira
          serverJIRA
          serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
          keyBD-986
          Jira
          serverJIRA
          serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
          keyBD-987
          Jira
          serverJIRA
          serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
          keyBD-988
          Jira
          serverJIRA
          serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
          keyBD-988
          Jira
          serverJIRA
          serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
          keyBD-989
          Jira
          serverJIRA
          serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
          keyBD-990
          Jira
          serverJIRA
          serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
          keyBD-991
  • (Jong Lee, Eugene Roeder) Simple web interface (requires BrownDog account) Luigi Marini 's API work applies here
    Jira
    serverJIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
    keyBD-967
    Jira
    serverJIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
    keyBD-970
    Jira
    serverJIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdb14d4ad9-eb00-3a94-88ac-a843fb6fa1ca
    keyBD-976

    • Web form with field box for file URL or upload
    • Tool selection dropdown box (means of selecting a specific tool)
    • Output select dropdown box (means of allowing system to select tool)
      • Clowder will run all relevant extractors (obtained by selecting "json" as the output)
      • Polyglot will use I/O-graph
    • Suggetions Suggestions pane will update below
      • REST API performing this same operation
      • Python code in Jupyter lab notebook
      • R code
      • Matlab code
      • curl commands
    Everyone with a client will need to describe how this will apply (jupyter, R, etc)
      • php