Versions Compared

Key

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

...

Creating and Adding a New Tool

  1. (Gregory Jansen) (Smruti Padhy) 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. (Gregory Jansen) (Smruti Padhy)  Developer 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. (Gregory Jansen) (Smruti Padhy) Developer 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. (Rui Liu) 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. (Inna Zharnitsky) 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. (Rui Liu) 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. (Sandeep Puthanveetil Satheesan) Admin receives status page showing number of tools deployed and where, load on each tool, etc...

...