sequenceDiagram participant LMH Maintainer participant LMH Contributor LMH Contributor ->>+ LMH Maintainer: 1. Open fork request in issues loop Content editing LMH Maintainer ->>+ LMH Contributor: 2. Open content questions as issues. LMH Contributor ->> LMH Contributor: 3a. Makes changes and commits. LMH Contributor ->> LMH Contributor: 3b. Answers issues questions. LMH Contributor ->>- LMH Contributor: 4. Closes issues. end LMH Maintainer -->>- LMH Contributor: 5. Forks repository to LMH activate LMH Maintainer loop Site format editing LMH Maintainer ->> LMH Maintainer: 6. Makes edits necessary for quarto rendering. LMH Maintainer ->> LMH Maintainer: 7. Pushes commits to LMH Fork. end LMH Maintainer ->>- LMH Contributor: 8. Sends pull request activate LMH Contributor LMH Contributor ->>- LMH Contributor: 9 Merges pull request activate LMH Maintainer LMH Maintainer ->>- LMH Maintainer: 10 Adds repo as submodule to main site. opt problem with render LMH Contributor ->>+ LMH Maintainer: Opens issue about how the tutorial renders on the site. LMH Maintainer ->> LMH Maintainer: Makes necessary edits to tutorial. LMH Maintainer ->>- LMH Maintainer: Closes issue. end opt updates to tutorial activate LMH Contributor LMH Contributor ->> LMH Contributor: Makes updates to tutorial LMH Contributor ->>- LMH Maintainer: Sends pull request to the LMH Fork activate LMH Maintainer LMH Maintainer ->> LMH Maintainer: Merges pull request LMH Maintainer ->>- LMH Maintainer: Updates submodules end
Contributing Workflow
The point of this page
The point of this page is to provide clarity to the process, and provide a roadmap for Linguistics Methods Hub maintainers to refer to. It is not important that you have a clear understanding of all components in this page before submitting a tutorial. Simply review the requirements and recommendations, and submit a fork request to begin the process.
Planned process for reviewing and adding submissions.
Below is a sequence diagram of the planned communication systems and events involved in adding and maintaining a tutorial on LMH, which is described more explicitly below.
- Linguist Methods Hub contributor opens an issue on the main site repository requesting a fork of their tutorial repository.
- After reviewing the contributor’s repository, a LMH Maintainer will address any questions or possible content edits in the form of github issues on the contributor’s repository. Examples could be
Contributor did not include license information.
If there are multiple renderable files (
.Rmd
,.md
,.qmd
or.ipynb
) clarifying what order they should appear in.What content topic or subtopic the tutorials should appear in on the main site.
The code in the tutorial loads data that is not included in the repository.
Suggestions for content titles.
Requesting file renaming.
- In response to these questions, the contributor will either:
Make the changes, if appropriate.
Answer the information seeking questions, then
- The contributor will close the issues.
- If no more content issues arise (going back to step 2), the LMH maintainer will fork the contributor’s repository.
- Some edits for the purpose of rendering the tutorial to the site may be necessary, including:
Reformatting metadata (e.g. date published, author metadata, zenodo DOI).
Reformatting code chunk options.
- After committing these edits, the LMH Maintainer will:
- Send a pull request to the contributor’s repo.
- If the contributor is happy with this final product, they will merge the pull request into their local repo.
- After 9, the LMH maintainer will at the tutorial repo to the main site as a submodule, and re-publish the site.
After this final stage, some issues may still arise that don’t require substantial updates to the tutorial content, in which case the LMH contributor can open an issue.
If further content updates are necessary (e.g. broken links, necessary updates to tutorials given new versions of dependent libraries etc) the contributor can make any necessary commits to their local repository, then send a pull request to the LMH fork.
Git view of process
This flow chart illustrates the git procedures involved in the process described above.
flowchart TB subgraph contributor repo direction TB a1-->|edits| a2 a2-->|edits| a3 a4-->|edits| a5 end a3 -->|fork| b1 b2 -->|pull request| a4 a5-->|pull request| b3 subgraph lmh fork direction TB b1 -->|edits| b2 b3 end b2 --->|submodule| c2 b3 -.-> c3 subgraph lmh site direction TB c1 --------> c2 c2 -->|submodule update| c3 end
Citation
@online{untitled,
author = {},
title = {Contributing {Workflow}},
series = {Linguistics Methods Hub},
url = {https://lingmethodshub.github.io/content/contributing/03_workflow.html},
langid = {en}
}