Handle archiving of previous semesters
-
Extend profile definition with new flag
archive: true/false
-
Run cron-job beginning of each semester which runs the followings tasks for all profiles with
archive: true
- Create/sync fork of Notebook Git repo into
git.rwth-aachen.de/jupyter/archive/{{ slug }}
(via GitLab API) - Add Git tag to fork repo with previous semester id (
ws2021
) - Add Docker tag to profile image with previous semester id (
ws2021
) - Clone profile definition by copying the current definition
- Existing profile definition:
- Git/Docker tag references will be updated to use archived Git/Docker tag
- New profile definition:
- Update slug to
{{ slug }}-{{ new_semester }}
- Update slug to
- Existing profile definition:
- Create/sync fork of Notebook Git repo into
-
User flow for accessing previous semesters:
- Profile selection page will be extended to group profiles according to their semester (and special group "Generic" for profiles which are not archived)
- Pod pre-start hook script will be extended:
- Check if current branch of local user repo has the same branch checked out as remote repo
- If not, switch branches
- Do some conflict resolution for uncommited files
- Run
nbgitpuller
Inside the users home directory / PVC, there will be only one Git repo clone per profile. This repo will contain multiple branches, one per semester. Depending on which semester of the profile is spawned, the pod pre-start hook will switch between the branches. (Or the Git-proficient users can switch between them on their own behalf.)
Points for Steuerungsrunde:
- Legal aspect of archiving possibly copyrighted materials
- Lifecycle management of profiles
- Stichtage?
- What do we do with current profiles?