slatex / sTeX-React

GNU Affero General Public License v3.0
2 stars 2 forks source link

gl.mathhub.info reorganization: getting rid of MiKo{MH,Problems,Courses} #276

Open kohlhase opened 2 months ago

kohlhase commented 2 months ago

I want to get rid of https://gl.mathhub.info/MiKo{MH,Problems,Courses}, they were good when my courses were the only thing around, but now they are a liability. I have already moved out my old courses to https://gl.mathhub.info/courses/Jacobs and https://gl.mathhub.info/courses/FAU/{LBS,KRMT} and now I want to do the same with the rest (most importantly AI and IWGS which are in current use. The rest (bits and pieces) will follow when I have time.

The target structure for active courses is the following (here for AI):

Less active courses have a subset of this setup. This seems to be working well for LBS and KRMT so far. For the reorganization we have to

While we are doing all of this the system is in a limbo. So I will try to get this going as fast as possible.

I will keep track of the replacements here (all under the prefix https://gl.mathhub.info/

MiKoMH/{AI,IWGS} --> courses/FAU/{AI,IWGS}/course
MiKoProblems/{AI,IWGS} --> courses/FAU/{AI,IWGS}/problems
MiKoCourses/{AI,IWGS} --> courses/FAU/{AI,IWGS}/hwexam
courses/FAU/{AI,KRMT,IWGS,LBS}/problems/*/mod --> courses/FAU/{AI,KRMT,IWGS,LBS}/problems/*/prob
MiKoCourses/AIquiz --manually merged into--> courses/FAU/AI/problems (a bit messy)
MiKoMH/talks --> mkohlhase/talks
MiKoMH/GenCS --> courses/Jacobs/GenCS/course
MiKoMH/GenICT --> courses/Jacobs/GenICT/course
MiKoMH/TDM --> courses/Jacobs/TDM/course
MiKoMH/ComSem --> courses/Jacobs/ComSem
MiKoMH/CompLog --> courses/Jacobs/CompLog
MiKoMH/ACS --> courses/Jacobs/ACS/course

I do not think we need to do anything about the problem URIs, right?

Jazzpirate commented 2 months ago
kohlhase commented 2 months ago

So, here is the summary of the files that should be on the build server:

kohlhase commented 2 months ago

And another batch of build server maintenance things:

kohlhase commented 2 months ago

I figured out how to use git-filter-repo to remove the *.xlsx and *.odsfiles from history of hwexam and deposit them in a new repository grades.

  1. make sure that the private fork courses/FAU/LBS/hwexam-private of courses/FAU/LBS/hwexam are synchronized.
  2. make a new clone of the archive with e.g. git clone git@gl.mathhub.info:courses/FAU/LBS/hwexam.git in ~/tmp/hwexam.
  3. make a new public repository hwexam-new on GitLab, but do not clone it yet, and unprotect the main branch: https://gl.mathhub.info/courses/FAU/LBS/hwexam-new/-/settings/repository#js-protected-branches-settings
  4. cd ~/tmp/hwexam (this will only work on a new clone) and then
    • git filter-repo --invert-paths --path-glob '*/*.xlsx' --path-glob '*/*.ods' --path-glob '*/*.csv' (this keeps all files but (cf. --invert-paths) the spreadsheets)
    • git remote add new git@gl.mathhub.info:courses/FAU/LBS/hwexam-new.git
    • git push new main
    • check that everything but the spreadsheets is there on https://gl.mathhub.info/courses/FAU/LBS/hwexam-new`
    • if so, rm -Rf ~/tmp/hwexam
  5. make a new repository courses/FAU/LBS/grades, clone it in the right place, and unprotect the main branch: https://gl.mathhub.info/courses/FAU/LBS/grades/-/settings/repository#js-protected-branches-settings
  6. re-clone the archive git clone git@gl.mathhub.info:courses/FAU/LBS/hwexam.git in ~/tmp/hwexam.
  7. cd ~/tmp/hwexam (this will only work on a new clone) and then
    • git filter-repo --path-glob '*/*.xlsx' --path-glob '*/*.ods' --path-glob '*/*.csv' (this keeps only the spreadsheets)
    • git remote add new git@gl.mathhub.info:courses/FAU/LBS/grades.git
    • git push new main
    • check that the spreadsheets are there on https://gl.mathhub.info/courses/FAU/LBS/grades`
    • if so, rm -Rf ~/tmp/hwexam
  8. manually delete the hwexam and the hwexam-private repositories (in gitlab; see https://gl.mathhub.info/courses/FAU/KRMT/hwexam/edit --> General --> Advanced --> delete project)
  9. in gitlab rename courses/FAU/LBS/hwexam-new to hwexam and make it public
    • in Settings --> General --> Naming, topics, avatar (do not forget to save)
    • in Settings --> General --> Visibility set to public (do not forget to save)
    • in Settings --> General --> Advanced --> Change Path
  10. in gitlab make a new private fork courses/FAU/LBS/hwexam-private of hwexam.