→ Slides (PDF)Key: - | - | IP | - | - | -Want to know the big picture about what is going on inside Galaxy? This workshop will give participants a practical introduction to the Galaxy code base with a focus on changing those parts of Galaxy most often modified by local deployers and new contributors.
The workshop will include the following specific content:
- A description of the various file and top-level directories in the Galaxy code base.
- An overview of important Python modules - including models, tools, jobs, workflows, visualisations, and API controllers.
- An overview of important Python objects and concepts in the Galaxy codebase - including the Galaxy transaction object ("trans"), the application object ("app") , and the configuration object ("config").
- An overview of various plugin extension points. - An overview of important JavaScript modules that power the front-end.
- An overview of important JavaScript concepts used by Galaxy - in particular Backbone MVC, Webpack, ES6, and Vue.
- An overview of the client build system used to generate compressed JavaScript, cascading stylesheets, and other static web assets.
- A demonstration of a complete start-to-finish modification of Galaxy - including forking the project on Github, modifying files, running the tests, checking style guidelines, committing the change, pushing it back to your local Github fork, and opening a pull request.
- A brief description of other projects in the Galaxy ecosystem (CloudMan, the Tool Shed, Ephemeris, bioblend, docker-galaxy-stable, Pulsar, and Planemo).
Prerequisites: