Path: blob/main/faqs/gtn/contributors_git_advanced.md
1677 views
---
---
Most of the content is written in GitHub Flavored Markdown with some metadata (or variables) found in YAML files. Everything is stored on our [GitHub repository]({{ site.github_repository }}). Each training material is related to a topic. All training materials (slides, tutorials, etc) related to a topic are found in a dedicated directory (e.g. transcriptomics
directory contains the material related to transcriptomic analysis). Each topic has the following structure:
{: width="400px"}
a metadata file in YAML format
a directory with the topic introduction slide deck in Markdown with introductions to the topic
a directory with the tutorials:
Inside the tutorials directory, each tutorial related to the topic has its own subdirectory with several files:
a tutorial file written in Markdown with hands-on
an optional slides file in Markdown with slides to support the tutorial
a directory with Galaxy Interactive Tours to reproduce the tutorial
a directory with workflows extracted from the tutorial
a YAML file with the links to the input data needed for the tutorial
a YAML file with the description of needed tools to run the tutorial
a directory with the Dockerfile describing the details to build a container for the topic (self-study environments).
To manage changes, we use GitHub flow based on Pull Requests (check our [tutorial]({% link topics/contributing/tutorials/create-new-tutorial-content/tutorial.md %})):
Create a fork of this repository on GitHub
Clone your fork of this repository to create a local copy on your computer and initialize the required submodules (
git submodule init
andgit submodule update
)Create a new branch in your local copy for each significant change
Commit the changes in that branch
Push that branch to your fork on GitHub
Submit a pull request from that branch to the [original repository]({{ site.github_repository }})
If you receive feedback, make changes in your local clone and push them to your branch on GitHub: the pull request will update automatically
Pull requests will be merged by the training team members after at least one other person has reviewed the Pull request and approved it.
Globally, the process of development of new content is open and transparent:
Creation of a branch derived from the main branch of the GitHub repository
Initialization of a new directory for the tutorial
Filling of the metadata with title, questions, learning objectives, etc
Generation of the input dataset for the tutorial
Filling of the tutorial content
Extraction of the workflows of the tutorial
Automatic extraction of the required tools to populate the tool file
Automatic annotation of the public Galaxy servers
Generation of an interactive tour for the tutorial with the Tourbuilder web-browser extension
Upload of the datasets to Zenodo and addition of the links in the data library file.
Once ready, opening a Pull Request
Automatic checks of the changes are automatically checked for the right format and working links using continuous integration testing on Travis CI
Review of the content by several other instructors via discussions
After the review process, merge of the content into the main branch, starting a series of automatic steps triggered by Travis CI
Regeneration of the website and publication on [{{ site.url }}{{ site.baseurl }}/]({{ site.baseurl }}/)
Generation of PDF artifacts of the tutorials and slides and upload on the FTP server
Population of TeSS, the ELIXIR’s Training Portal, via the metadata

To learn how to add new content, check out our [series of tutorials on creating new content]({% link topics/contributing/index.md %}):
{% assign topic = site.data["contributing"] %}
-
{% assign topic_material = site | topic_filter:'contributing' %}
{% for material in topic_material %}
{% if material.enable != "false" %}
{% if material.type == "introduction" %}
- {{ material.title }} {% elsif material.type == "tutorial" %} {% if material.hands_on %}
- {{ material.title }} {% elsif material.slides %}
- {{ material.title }} {% endif %} {% endif %} {% endif %} {% endfor %}
We also strongly recommend you read and follow The Carpentries recommendations on lesson design and lesson writing if you plan to add or change some training materials, and also to check the structure of the training material above.