Three-org setup

This is the infrastructure part. It explains the three-organization model the course runs on, and what you actually have to set up to teach an iteration.

The important thing to understand up front: you are not creating three organizations from scratch. The course already lives in two long-lived organizations, gitforsci and gitforsci-dev, and they stay as they are from one iteration to the next. To run a course, you create one new organization for your specific iteration, generated from the templates in gitforsci-dev. That single new org is the bulk of the setup work in this part.

flowchart TD
    classDef layer fill:#f7f9fc,stroke:#c7d2e0,color:#1f2933;

    A["<b>Understand the model</b><br/>three-orgs"]:::layer
    B["<b>Create your iteration org</b><br/>from the dev templates (create-orgs)"]:::layer
    C["<b>Build and publish the cohort website</b><br/>website"]:::layer

    A --> B --> C

You would only ever create a new central or development organization if you were starting a substantially different course, with its own pedagogy and structure. For running another iteration of this course, the answer is always one new iteration org.

Everything here is described as manual steps in the GitHub web interface and RStudio, with the learner-invitation work scripted through the ghclass R package (8  Create the iteration organization).