You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

This story board concentrates on the way a developer would contribute an extractor or a format converter to the Brown Dog service. It includes setup of the development environment, testing, packaging/description and submission.

I am leaning more toward having the developer begin from the template project, i.e. an empty or bare-bones extractor or converter. We can include all the docker files that are necessary for the runtime environment with the template project, making it easy install/start/stop whatever is needed via docker-compose.

Question: Is there any way to make the docker container can describe itself in more detail and maybe include some sample files, such that a single upload will capture everything we need for submission of the contribution?

  1. Developer visits the Brown Dog developer/contributor web page, which provides an overview of what and how they can contribute. (TODO: create contributor web page)
  2. Developer installs prerequisites: possibly a development VM, Docker
  3. Developer downloads extractor / converter template project. (TODO: need a template project for converters)
  4. Developer runs docker-compose to create development environment with docker containers (TODO: Docker compose YAML for complete BD environment) (TODO: Any missing Docker containers)
    • Includes running Clowder instance, Polyglot instance, basic development tools
    • Maybe even an IDE configured and ready to go? (I'd assume any developer will have their own IDE -Gregory Jansen)
    • Includes a bare-bones extractor container 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)
  5. Developer installs tool, creates interface script(s)
  6. 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
  7. 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)

 

  • No labels