Versions Compared

Key

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

...

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

Creating and Adding a New Tool

  1. Developer downloads BrownDog development environment in docker container (in dockerhub, link on BD webpage)
    • 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)
    • 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.
  2. Developer installs tool, creates interface script(s)
  3. 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
  4. Developer submits tool to Tools Catalog (using BrownDog account)
    • Interface script(s), dockerfile, sample input, sample output
    • Through web interface
    • Through script in development environment (probably the ideal way)
  5. Admin presses button which deploys tool in a seperate Clowder/Polyglot sandbox, passes in the given input file, and checks the obtained output file against what is provided
  6. 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
  7. Admin receives status page showing number of tools deployed and where, load on each tool, etc...

Using a Tool

  • Simple web interface (requires BrownDog account) Luigi Marini 's API work applies here
    • 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 pane will update below
      • REST API performing this same operation
      • Python code in Jupyter lab notebook
      • R code
      • Matlab code
  • Everyone with a client will need to describe how this will apply (jupyter, R, etc)