Versions Compared

Key

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

Signing Up

  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

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)
    • Contains a bare-bones converter ready to be modified for a new tool (with comments suggesting where to edit)
  2. Developer installs tool, creates interface script(s)
    • Adds sample input file(s)
    • Example extractor: imagemagick edge detector
    • Example converter: imagemagick jpg to ico converter
  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
    • Returns pass/fail
  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)
    • 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