2019-03-04: Development Planning¶
Kacper, Craig, Tommy
Discussion with Craig, Kacper:
- v0.6 release
- v0.6 rc3
- Running on stage
- Tale migration is missing
- Dozens of tales don’t migrate cleanly
- Craig to run migrate script with Girder shell
- Remember, additional script in girder_wholetale for migrating datasets
- Final testing
- Deployment to prod
- v0.6 rc3
- Environment customization
- Merge sooner, even if only partially there
- User experience won’t change, but we need to commit to export format
- Export issues:
- Specific configurations:
- Forked repo2docker/version
- Template BuildPack
- Specific configurations:
- Discussed injecting files into the workspace, but opted against for now
Discussion with Craig, Kacper and Tommy
- Status with Tommy
- Tale serialization format
- Export proof of concept –> now needs to become reality
- https://github.com/whole-tale/girder_wholetale/issues/224
- Need to resolve issues with placeholders
- environment.txt
- We need to resolve what this means and looks like
- README.txt.tpl
- Jinja template with Tale JSON to render the right stuff
- LICENSE
- Licenses are in Github in gwvolman. Need to do something else
- environment.txt
- Discussions
- createdBy v author
- createdBy = Tale creator
- Authors need to be real authors
- Follow the Git model – author v committed
- createdBy v author
- BagIt version?
- /tale/{id}/export?format=zip|bagit
- Import proof of concept
- Had it working on datasets, but not the workspace
- You would upload a Tale to the home directory and given an item id, import it.
- Hasn’t been refactored to use latest PRs
- Do we import an environment/image that isn’t there?
- Check that fields match
- BuildPack, Template, urlPat
- Check that fields match
- Publish to DataONE
- Largely as-it-was
- Refactored to use workspace
- Refactored filepicker
- Craig’s preference:
- Drop the filepicker, drop entypoint selection
- v0.7 release
- Assume Craig’s PRs are merged
- Environment defined by Image object + workspace
- Target v0.7 release
- NSF panel in 1 month
- Stage version 1-2 weeks before the review
- March 22nd
- Discussion of export endpoint and new repo2docker work
- /export
- Manifest()
- Image + system information (repo2docker version)
- Tale
- repo2docker version Other:
- Author selection via ORCID
- Keep authors a string and make it editable for now
- Assume Craig’s PRs are merged
Priorities (Tommy)
- Author
- Make author field editable in Dashboard (PR Here)
- Add author field to manifest (it’s a string, don’t try to parse it for now) (See slack discussion)
- Licence selection
- Add license field to Tale object
- Add license endpoint – for v0.7 list licenses available in the system (DataONE only)
- Add license files
- Add license selector to Dashboard (PR for this and items above PR Here
- Add license to Zip on export
- Change export/manifest to no longer take license parameter
- Environment
- Change https://github.com/whole-tale/gwvolman/pull/43 to add repo2docker version in Tale.imageInfo
- Export should include environment.json based on Tale:imageInfo and Image information
- Export
- Add “Export” to Run menu PR Here
- Publish
- Remove license selection for now
- Disable filepicker, entrypoint, license selection for v0.7 (license is already selected and valid for DataONE)
docker run -v `pwd`/workspace:/someplace craigwillis/repo2docker --buildpack --template
docker run -v `pwd`/workspace:<targetmount> -p 8888:8888
metadata/environment.json
{
"config": {
"buildpack": "PythonBuildPack",
"command": "jupyter notebook --no-browser --port {port} --ip=0.0.0.0 --NotebookApp.token={token} --NotebookApp.base_url=/{base_path} --NotebookApp.port_retries=0",
"port": 8888,
"targetMount": "/home/jovyan/work",
"template": "base.tpl",
"urlPath": "?token={token}",
"user": "jovyan"
},
"description": null,
"icon": "https://raw.githubusercontent.com/whole-tale/jupyter-base/master/squarelogo-greytext-orangebody-greymoons.png",
"iframe": true,
"name": "Jupyter Classic"
}