3.5.3. Odysseereader-Data

Hier sind die DATEN für das OdysseeReader Projekt.

3.5.3.1. Abhängigkeiten des Repositories (Flask-Only)

  • python 3 - muss installiert sein

  • flask (pip install Flask)

3.5.3.2. Verzeichnisse des Repositories

  • cisptt - beinhaltet die Daten von Herrn Dr. Dr. Pilch sowie die aufbereiteten Daten die für den Odyssee-Reader vor der Laufzeit erzeugt werden

  • faksimile - hier werden die Bilddateien des Manuskripts Ms-104 für die lokale Verwendung abgelegt

  • Graphics - neuer Ordner um die SVG-Dateien die Herr Pilch erstellt zu speichern und später zu im Reader zu verwenden

  • IMG - Bilder und Screenshots etc. die nicht direkt im Reader verwendet werden, aber diesen betreffen (bspw. um etwas zu besprechen)

  • tools - enthält weitere Unterordner mit Werkzeugen für den E-Reader e.g. für die Daten-aufbereitung

3.5.3.3. Neue Daten erzeugen/ändern, Arbeit mit git

Was ist git: Hier eine sehr gute Einführung: https://studi.f4.htw-berlin.de/www/help/tutorial/git/

3.5.3.3.1. Installation der git Befehle für Windows

  • hier zum Download: https://git-scm.com/download/win

  • hier zum Arbeiten unter Windows: https://www.kim.uni-konstanz.de/services/datenserver-und-cloud/versionsverwaltung-git-gitlab/git-client-unter-windows/
    (hier wird auch beschrieben, wie ein ssh-Key erzeugt wird, damit die Kommunikation mit dem git-server ohne Passwort möglich ist)

3.5.3.3.2. Holen der Daten vom Server

(aus dem Git-Repository) / Herunterladen der Daten auf den eigenen Rechner in ein lokales Verzeichnis

Um die Daten aus dem Git-Repository vom CIS-Server lokal auf dem eigenen Rechner zur Verfügung zu haben (man nennt dies: clonen der Daten) und somit auch ändern zu können, öffnet man die Windows Git-Bash und es öffnet sich ein Kommandofenster, in das man entsprechende git-Befehle eingeben kann.

    1. Speichert die Daten aus dem Git-Projekt Odysseereader-Data (Branch:Master) in dem Verzeichnisss odysseereader-data lokal ab

  • $ git clone git@gitlab.cis.uni-muenchen.de:wast/odysseereader-data.git odysseereader-data

Bemerkung: Wenn das Repository schon auf den lokalen Rechner geholt wurde, dann muss es zuerst gelöscht werden: (Fehlermeldung: fatal: destination path 'odysseereader-data' already exists and is not an empty directory.)

  • $ rm -rf odysseereader-data

3.5.3.3.3. Wechseln in das geclonte Repository:

WICHTIG Nach dem Herunterladen der Daten aus dem Repository müssen Sie in das Verzeichnis der heruntergeladenen Repositories wechseln:

$ cd odysseereader-data
MINGW64 ~/odysseereader-data (master) 

3.5.3.3.4. Information über ihre Daten und den aktuellen Branch des Repositories und die geänderten Daten

Ein ganz wichtiger Befehl ist git status. Dieser git Befehl sagt ihnen, im welchem Zweig sie momentan arbeiten und welche Daten des Repositories Sie momentan geändert haben. (Am Anfang ist alles clean)

$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean

In diesem Zweig (=Branch) haben sie keine Schreibrechte, wenn Sie also was ändern wollen, dann müssen Sie einen neuen Zweig anlegen und in diesem Branch arbeiten.

3.5.3.3.5. Anzeigen aller Branches und die letzten Commits

  • $ git branch -a : um zu sehen welche Branches es gibt, beziehungsweise wie man sie schreibt (Branchname in [ ] - e.g. [master] Last commit message here!)

$ git branch -a 
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/revert-baa91de8
  remotes/origin/test

(Ein sehr ausführlicher Befehl der alle Branches und Commits zeigt, ist: $ git show-branch -a --list)

3.5.3.3.6. einen neuen Branch anlegen: wechseln in einen neuen Branch

Es ist ganz wichtig, dass man die neuen Änderungen an den EXCEL Dateien in einem neuen Branch durchführt, da sie, wie gesagt, im master-branch keine Schreibberechtigung haben.

deshalb: Erzeugen Sie einen neunen Branch und wechseln Sie in den neuen Branch

  • Durch das Kommando git checkout -b BRANCHNAME wird dann zum jeweiligen gewünschten Branch gewechselt

e.g. $ git checkout -b daten_08_02_19 erzeugt einen neuen Branch daten_5_feb_19 und wechseln Sie in diesen Branch

$ git checkout -b daten_08_02_19
Switched to a new branch 'daten_08_02_19'
Max Hadersbeck@zirbel MINGW64 ~/odysseereader-data (daten_08_02_19)

$ git status
On branch daten_08_02_19
nothing to commit, working directory clean

3.5.3.3.7. Ändern der EXCEL Dateien:

Jetzt geht die Arbeit los… Sie öffnen im Windows-Daten-explorer das Verzeichnis mit den EXCEL-Dateien: e.g. für User max: C:\Users\max\odysseereader-data\cisptt\ptt-to-cis\opensource_nachlass\MS-104_OA\ptt und können dort EXCEL-Dateien ändern und neue Dateien abspeichern.

3.5.3.3.8. Abschliessen der Arbeit und Hochladen der lokalen Änderungen und neuen Daten auf den Server und somit in den Odyssee-Reader

Damit der Odyssee-Reader merkt, dass Sie etwas geändert haben und ihre neuen Änderungen in der WEB-Oberfläche sichtbar werden, müssen Sie dem gitlab Repository-Server am CIS ihre geänderten Daten schicken (=sie “pushen” Ihre Daten).

Man nennt diese Arbeit auch “Hochladen der Daten”

Diese Aufgabe erledigen für Sie git Befehle, die in der richtigen Reihenfolge eingegeben werden müssen. Wenn ihre geänderten Daten auf dem Repository-Server richtig angekommen sind, startet automatisch auf dem Server ein Integration-Prozess, die sogenannte: “Continious Integration”. Sie übernimmt die Verarbeitung/Aufbereitung der Daten und ruft dafür vorgesehenen Tools auf.

Immer wenn Sie also neue Daten zum git-Server “pushen” startet dieser Integrationsprozess und nach wenigen Minuten sehen Sie die Änderungen auf der WEB-Oberfläche (löschen Sie dazu den Cache Ihres Browsers mit der Tasteneingabe Control+F5)

3.5.3.3.9. Die Befehle zum Hochladen der Daten auf den Repository-Server

Um neue/geänderte Daten an den Repository-Server zu schicken und zu integrieren empfiehlt sich folgender Ablauf von Kommandos:

  • $ git status : zeigt an ob der Branch up-to-date ist oder Änderungen lokal vorhanden sind

$ git status
On branch daten_08_02_19
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   cisptt/ptt-to-cis/opensource_nachlass/MS-104_OA/ptt/003.xlsx

no changes added to commit (use "git add" and/or "git commit -a")
  • $ git add "filename" : markiert die Datei für den nächsten commit

$ git add  cisptt/ptt-to-cis/opensource_nachlass/MS-104_OA/ptt/003.xlsx

oder Kurzform

$ git add *
  • $ git commit -m "YOUR MESSAGE HERE!" : speichert die Daten für den nächsten commit zusammen mit der Beschreibung (-m “…”)

$ git commit -m "noch ein Test, geändert .xls 'Sonne_xls', Seite 3, Zeile 4"
[daten_08_02_19 967de16] noch ein Test, geändert .xls 'Sonne_xls', Seite 3, Zeile 4
 1 file changed, 0 insertions(+), 0 deletions(-)
  • $ git push origin <BRANCH> : lädt die Daten aus dem Zweig ins Gitlab - in den jeweiligen Branch -.

$ git push origin  daten_08_02_19
Counting objects: 8, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (8/8), 1.91 KiB | 0 bytes/s, done.
Total 8 (delta 3), reused 0 (delta 0)
remote:
remote: To create a merge request for daten_08_02_19, visit:
remote:   https://gitlab.cis.uni-muenchen.de/wast/odysseereader-data/merge_requests/new?merge_request%5Bsource_branch%5D=daten_08_02_19
remote:
To git@gitlab.cis.uni-muenchen.de:wast/odysseereader-data.git
 * [new branch]      daten_08_02_19 -> daten_08_02_19
  • Bei Master ist die Änderung danach auf odysseereader.wittfind.cis.lmu.de sichtbar; sonst auf dev.odysseereader.wittfind.cis.lmu.de

Kurz:

  • Befehl> git status : empfohlen um zu sehen ob Änderungen vorhanden sind

  • Befehl> git commit -am "YOUR MESSAGE HERE!" : führt “git add *” vor dem commit automatisch aus

  • Befehl> git push : Befehl ist danach trotzdem notwendig um die Neuerungen in das Gitlab hochzuladen

3.5.3.3.10. Laden von aktuellen Daten aus Gitlab

$ Befehl> git status
On branch test
Your branch is up-to-date with 'origin/test'.
nothing to commit, working tree clean

Falls hier nicht up-to-date erscheint ist der folgende Befehl zwingend notwendig um Probleme und spätere “Merges” zu vermeiden

  • Befehl> git pull : lädt die Änderungen die noch nicht lokal vorhanden sind auf das Dateisystem des Nutzers -

  • nur die des ausgewählten Branches

3.5.3.3.11. Direktes klonen eines bestimmten (existierenden) Branches

  • git clone git@gitlab.cis.uni-muenchen.de:wast/odysseereader-data.git -b ptt_update odysseereader-data : -b Branchname erlaubt das direkte klonen

  • Mit dem Kommando oben wird direkt der Branch ptt_update geklont - es ist nicht mehr notwendig von (master) auf (ptt_update) zu wechseln

  • Beispiel Output der Shell

STILL@TEST MINGW64 /h/Arbeit
$ git clone git@gitlab.cis.uni-muenchen.de:wast/odysseereader-data.git -b ptt_update odysseereader-data
Cloning into 'odysseereader-data'...
remote: Enumerating objects: 298, done.
remote: Counting objects: 100% (298/298), done.
remote: Compressing objects: 100% (139/139), done.
remote: Total 298 (delta 140), reused 288 (delta 133)
Receiving objects: 100% (298/298), 2.90 MiB | 1.76 MiB/s, done.
Resolving deltas: 100% (140/140), done.

STILL@TEST MINGW64 /h/Arbeit
$ cd odysseereader-data

STILL@TEST MINGW64 /h/Arbeit/odysseereader-data (ptt_update)
$ git status
On branch ptt_update
Your branch is up-to-date with 'origin/ptt_update'.
nothing to commit, working tree clean

3.5.3.4. Shell Example

3.5.3.4.1. Setup - Erstellen einer lokalen Kopie von Odysseereader-data

3.5.3.4.2. Klonen eines Branches

Kommando: git clone git@gitlab.cis.uni-muenchen.de:wast/odysseereader-data.git -b ptt_update odysseereader-data

3.5.3.4.3. Wechseln in das Verzeichnis

Kommando: cd odysseereader-data

3.5.3.4.4. Aktualisieren der lokalen Dateien

Kommando: git pull Sollte in regelmäßigen Abständen ausgeführt werden um Probleme zu vermeiden - e.g. vor Beginn der Arbeit an den Daten

git pull
remote: Enumerating objects: 13, done.
remote: Counting objects: 100% (13/13), done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 13 (delta 8), reused 0 (delta 0)
Unpacking objects: 100% (13/13), done.
From gitlab.cis.uni-muenchen.de:wast/odysseereader-data
   e7e9093..820dedc  ptt_update -> origin/ptt_update
   e7e9093..c6176de  master     -> origin/master
Updating e7e9093..820dedc
Fast-forward
 README.md | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

3.5.3.4.5. Prüfen des Verzeichnisses

Kommando: git status

  • Output mit lokalen Änderungen - Einchecken der Änderungen (falls nicht fehlerhaft; siehe unten) empfehlenswert

On branch ptt_update
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   cisptt/ptt-to-cis/opensource_nachlass/MS-104_OA/ptt/003.xlsx

no changes added to commit (use "git add" and/or "git commit -a")
  • Output ohne lokale Änderungen - kein Handeln erforderlich

On branch ptt_update
Your branch is up-to-date with 'origin/ptt_update'.
nothing to commit, working directory clean

3.5.3.4.6. Hochladen/Einchecken von lokalen Änderungen

Kommando 1: git commit -am "COMMIT-MESSAGE HERE!" Dateien/Änderungen werden beim nächsten push hochgeladen!

STILL@TEST MINGW64 /h/Arbeit/odysseereader-data (ptt_update)
$ git commit -am "README.md updated"
[ptt_update 72cdc8a] README.md updated
 1 file changed, 22 insertions(+), 2 deletions(-)

Kommando 2: git push Eigentliches hochladen der lokalen Änderungen in das Gitlab!

STILL@TEST MINGW64 /h/Arbeit/odysseereader-data (ptt_update)
$ git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 777 bytes | 0 bytes/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote:
remote: To create a merge request for ptt_update, visit:
remote:   https://gitlab.cis.uni-muenchen.de/wast/odysseereader-data/merge_requests/new?merge_request%5Bsource_branch%5D=ptt_update
remote:
To gitlab.cis.uni-muenchen.de:wast/odysseereader-data.git
   820dedc..72cdc8a  ptt_update -> ptt_update

3.5.3.5. Anmelden des Nutzers

git config –global user.email “you@example.com” git config –global user.name “Your Name”

3.5.3.5.1. Zusätzliche Meldungen eines Commits

Weitere Fragen, bzw. Bemerkungen zu einer commit-Message können, wenn der Commit im Browserfenster des gitlabs erscheint, am Ende Commit-Message eingeben werden. Sollte die Bemerkung bei bestimmten Programmieren, bzw. anderen Leuten im gitlab eine “todo” Aufgabe auslösen, dann bitte den Namen des Kollegen, z.B. @max einbauen…

3.5.3.5.2. Sehen der Änderungen auf http://dev.odysseereader.wittfind.cis.lmu.de/