Anpassung Kalibrierscheine & Protokolle
Quelltext
Der Quellcode zur Protokollerzeugung ist im Projekt “protocol-server” verankert. Aktuell ist das Projekt hier zu finden.
Der Protocol-Server basiert im Kern auf den Frameworks React und Chromium. React ist ein UI Framework, welches auch für das normale Web-Frontend des OLP genutzt wird. Der Protocol-Server ist an sich also auch eine Web-Applikation, d.h. der Kalibrierschein wird als Website gerendert und danach durch Chromium über programmatisches Ansprechen der “Print-to-PDF” Schnittstelle ein PDF umgewandelt.
Zum Entwickeln werden folgende Tools benötigt:
- VS Code
- go
- git
- nodejs & npm
- Chromium
Wenn alle tools vorhanden sind, kann das Projekt mittels git clone heruntergeladen werden.
Danach müssen über die folgenden Kommandos die Abhängigkeiten heruntergeladen werden:
go mod download
cd renderer
npm ci --legacy-peer-deps
cd ..
Anpassungen am Kalibrierschein
Im Ordner renderer/src/slip/Slip.tsx ist der Quelltext für den Kalibrierschein zu finden.
Innerhalb dieser Datei kann durch simple Text-Anpassungen die rechte Sidebar (Rechtliche Informationen) und die Fußleiste (Geschäftsführer etc.) angepasst werden.
Die Schriftart kann über die Datei renderer/src/index.css verändert werden (Zeile 4, font-family). Falls dabei eine Schriftart gewählt wird, welche nicht im System vorinstalliert ist, so muss diese manuell definiert und paketiert werden.
Weitergehende Informationne finden sich hier. Schriftarten werden typischerweise als woff oder ttf verschickt, beide Formate können problemlos eingebunden werden.
Ausrollen der Anpassungen
Die Infrastruktur ist mit GitOps organisiert, siehe Systemarchitektur.
Das Ausrollen von Anpassungen ist vergleichsweise einfach, nichtsdestrotrotz sind ein paar Schritte notwendig.
Zuerst müssen die vorgenommenen Änderungen, sofern getestet und funktionierend, in git committed werden und ein Tag mit einer neuen Versionsnummer erzeugt werden.
Wenn das Tag gepusht wird, erzeugt die GitLab CI Pipeline automatisiert aus dem Quelltext ein Container-Image. Nachdem dieser Schritt fertig gestellt wurde, kann der Benutzer im deploy-Repository in der Datei kalibri.auto.tfvars referenziert werden. Für die Protokollerzeugung muss die Variable proto_server_version angepasst werden.
Wenn die Änderungen aus dem deploy-Repository im prod branch gepusht wurden, werden sie automatisiert auf dem CTDI-System ausgerollt. Analog existiert ein dev branch für das interne Testsystem.
Die Änderungen im deploy-Repository dürfen natürlich erst gepusht werden, wenn die CI Pipeline zur Erzeugung des Container Images erfolgreich ausgeführt wurde!