...
- User/Developer signs up on BrownDog webpage
- User receives email with more information and link to survey
- User fills out survey
- User is contacted by Brown Dog developer and account is activated
- Tools catalog support for single sign-in not for April 4 demo
Creating and Adding a New Tool
- 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.
- Developer installs tool, creates interface script(s)
- Adds sample input file(s)
- Example extractor: imagemagick edge detector
- Example converter: imagemagick jpg to ico converter
- Smruti 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
- 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)
- 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
- Inna Zharnitsky has started this UI, Marcus Slavenas to support
- 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
- Admin receives status page showing number of tools deployed and where, load on each tool, etc...
- No support for this at this time.
- How to pull this from MongoDB
- Sandeep Puthanveetil Satheesan to investigate
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)