📜 Protokolldesigner
1. Import vorgefertigter Protokolle
1.1 In den Einstellungen “Protokolldesigner” auswählen
1.2 Im Protokolldesigner “Import” auswählen
1.3 Importieren
Danach Auswählen, ob der Import durch eine Datei oder über einen Link oder QR-Code durchgeführt werden soll
1.3.1. Bei “Datei”
Hier kann eine ZIP-Datei, welche Sie zuvor lokal exportiert oder gespeichert haben, aus dem Download-Ordner des Tablets/Smartphones eingelesen werden
1.3.2. Bei “Link/QR-Code”
Hier kann direkt ein Link eingeben oder QR-Code eingescannt werden
2. Editieren einer Vorlage
Nur ab der Comfort Version sind selbst angepasste Protokollvorlagen verwendbar.
2.1 Protokollvorlage kopieren
Bevor Sie Veränderungen in der Protokollvorlage vornehmen, empfiehlt es sich die Vorlage zuvor zu klonen:
Klonen/Kopieren eines bestehendes Protokolls
2.2 HTML-Text kopieren
Kopieren Sie den HTML Code aus dem Feld “Protokollvorlage”.
Achten Sie hierbei, dass der komplette Text übernommen wird. (Bei Windows: kompletten Text mit STRG+A markieren und mit STRG+C kopieren)
2.3 HTML-Code im Editor anpassen
Nun können Sie die Vorlage in einem HTML Editor einfügen und beliebig anpassen
Beispiel: HTML5 Editor - Free Online Content Composer
In diesem Beispiel wird der “Anlass der Prüfung” und die “Vorschrift” im Protokoll geändert.
2.4 HTML-Code in Remote-Master-Protokollvorlage einfügen
Nach dem Editieren den angepassten Code vollständig kopieren und den alten Code im Feld “Protokollvorlage” ersetzen.
3. Zusätzliche Informationen
3.1 Vorhandene Datenfelder
3.2 Vorhandene Funktionen
3.2.1 Beispiel für einen Zähler mit einer Variablen
<!-- initialize the variable -->
<div expr="vars['counterMeas'] = 0"></div>
<div expr="vars['counterVis'] = 0"></div>
<div loop="n of data['nodes']">
<div loop="s of data['n']['sessions']">
<!-- Lets count all the visuals -->
<div loop="m of data['s']['visuals']">
<div expr="vars['counterVis'] = vars['counterVis'] + 1"></div>
</div>
<!-- Lets count all the measurements -->
<div loop="m of data['s']['onlyMeasurements']">
<div expr="vars['counterMeas'] = vars['counterMeas'] + 1"></div>
</div>
</div>
</div>
<!-- print the result -->
<div>Measurements: {{vars['counterMeas']}}</div>
<div>Visuals: {{vars['counterVis']}}</div>
3.2.2 Beispiel für das Auslesen aller Prüfer, welche an einer Prüfung teilgenommen haben
<div>All technicians:</div>
<div loop="t of data['techniciansNames']">{{data['t']}}</div>
<div loop="n of data['nodes']">
<div loop="s of data['n']['sessions']">
<div>Session {{data['s']['session']['id']}} technicians:</div>
<div loop="t of data['s']['session']['technicians']">{{data['t']['name']}}</div>
</div>
</div>
3.3 Cascading Style Sheets - CSS
Das Layout der Seite wird nicht nur durch HTML-Code bestimmt, sondern sehr wesentlich auch durch CSS-Code.
3.3.1 break-inside (
Zitat von break-inside - CSS: Cascading Style Sheets | MDN :
The break-inside
CSS property sets how page, column, or region breaks should behave inside a generated box. If there is no generated box, the property is ignored.
Die CSS -Eigenschaft break-inside
legt fest, wie sich Seiten-, Spalten- oder Bereichsumbrüche innerhalb einer generierten Box verhalten sollen. Wenn keine generierte Box vorhanden ist, wird die Eigenschaft break-inside
ignoriert.
Beispiel: tr { break-inside: avoid; }