Vorlagen für den Installer-Assistenten
Rolle: Administrator
Überblick
Aus den Vorlagen erzeugt der Assistent Paket aus Installer
die Scripte und Dateien eines neuen Pakets. Es sind die Vorlagen des opsi-setup-detectors (template-files), die oPBWeb mitbringt. Beim ersten Start übernimmt oPBWeb sie in die Datenbank; dort kannst du sie in der Ansicht Vorlagen ändern, eigene hinzufügen, löschen oder eine neuere Fassung aus einem ZIP importieren. Ein neues Image ist dafür nicht nötig.
Die Ansicht Vorlagen in der Aktivitätsleiste sehen alle Benutzer. Ändern dürfen nur Administratoren; alle anderen sehen den Hinweis „Nur lesen: Vorlagen ändern dürfen nur Administratoren.“
Aufbau: Kanäle und Gruppen
Die Vorlagen sind wie beim opsi-setup-detector in Kanäle und Gruppen gegliedert. Jede Datei hat den Pfad <Kanal>/<Gruppe>/<Datei>.
| Kanal | Inhalt |
|---|---|
Training (ausführlich kommentiert) (training) | Scripte mit vielen Erklärungen |
Standard (default) | die üblichen Vorlagen des opsi-setup-detectors; Rückfallebene für alle anderen Kanäle |
Strukturiert (structured) | Scripte, die stärker in einzelne Dateien aufgeteilt sind |
Eigene (custom) (custom) | leer ausgeliefert; Platz für eure eigenen Vorlagen |
| Gruppe | Verwendet für |
|---|---|
win, lin, mac | Pakete für ein Betriebssystem |
multi | Pakete für mehrere Betriebssysteme |
with-user | Installation im Benutzerkontext |
generic | Bausteine, die alle Arten einbinden (Desktop-Icon, Lizenz, Custom-Verzeichnis, Profilanpassung, osd-lib.opsiscript …) |
images | Standardbilder der Produkte je Betriebssystem |
Welchen Kanal ein neues Paket verwendet, wählt der Packager im Assistenten; vorbelegt ist der Kanal aus den Einstellungen .
Reihenfolge der Suche
Der Generator sucht jede Datei in dieser Reihenfolge und nimmt den ersten Treffer:
- im gewählten Kanal in der Gruppe des Pakets, zum Beispiel
custom/win/setup.opsiscript, - im Kanal Standard in derselben Gruppe,
default/win/setup.opsiscript, - in
default/generic.
Im Kanal Eigene (custom) musst du deshalb nur die Dateien anlegen, die von Standard abweichen. Findet der Generator eine Datei nirgends, lässt er den Baustein aus und meldet „Vorlage … fehlt, der Baustein wird ausgelassen“.
Platzhalter
Die Vorlagen enthalten Platzhalter der Form #@name*#, zum Beispiel #@productId*# für die Product-ID oder #@installCommandLine1*# für den Installationsbefehl des ersten Installers. Beim Erzeugen eines Pakets ersetzt der Generator sie durch die Werte aus dem Assistenten; Groß- und Kleinschreibung spielt dabei keine Rolle. Steht ein Platzhalter für mehrere Zeilen, rückt der Generator alle Zeilen wie die Zeile des Platzhalters ein.
Rechts neben dem Editor listet der Bereich Platzhalter alle Platzhalter der geöffneten Datei auf. Bleibt beim Erzeugen ein Platzhalter übrig, für den der Generator keinen Wert kennt, meldet der Job „Nicht ersetzte Platzhalter in den erzeugten Dateien: …“. Eigene Platzhalter kannst du nicht einführen; verwende in eigenen Vorlagen nur die Namen, die in den mitgelieferten Dateien vorkommen.
Die Ansicht Vorlagen
Links steht der Baum mit Kanälen, Gruppen und Dateien, darüber ein Filterfeld. Ein Klick auf einen Kanal oder eine Gruppe klappt ihn zu oder auf; ein Klick auf eine Gruppe wählt sie außerdem als Ziel für neue Dateien und Uploads. Jede Datei trägt ein Abzeichen:
| Abzeichen | Bedeutung |
|---|---|
| mitgeliefert | unverändert, wie im Image von oPBWeb |
| geändert | mitgelieferte Datei mit geändertem Inhalt; lässt sich zurücksetzen |
| eigene | von einem Administrator angelegt, hochgeladen oder importiert |
| gelöscht | gelöschte mitgelieferte Datei; nur sichtbar mit Gelöschte mitgelieferte Vorlagen |
Ein Klick auf eine Datei öffnet sie rechts im Editor. Textdateien bearbeitest du dort mit denselben Funktionen wie im Scripteditor ; Bilder und andere Binärdateien kannst du nur herunterladen oder per Upload ersetzen.
Vorlage bearbeiten
- Öffne Vorlagen in der Aktivitätsleiste.
- Klick im Baum auf die Datei, zum Beispiel
Standard › win › setup.opsiscript. - Ändere den Text im Editor.
- Klick auf Speichern oder drück
Strg S. Die Meldung „Vorlage gespeichert“ bestätigt das. Eine mitgelieferte Datei trägt danach das Abzeichen geändert.
Die Änderung gilt für alle Pakete, die danach mit dem Assistenten entstehen. Bereits erzeugte Pakete ändern sich nicht.
Weitere Aktionen
| Schaltfläche | Wirkung |
|---|---|
| Herunterladen | lädt die Datei herunter (alle Rollen) |
| Zurücksetzen | setzt eine geänderte mitgelieferte Datei nach einer Rückfrage auf den mitgelieferten Stand zurück; deine Änderungen gehen verloren |
| Umbenennen | nur bei eigenen Dateien: neuer Dateiname, Unterordner mit /. Mitgelieferte Dateien lassen sich nicht umbenennen; lege stattdessen eine Kopie als eigene Vorlage an |
| Löschen | löscht nach einer Rückfrage die Datei, siehe unten |
| + (Neue Vorlage) | legt eine leere Textdatei an: Kanal, Gruppe, Dateiname |
| Pfeil nach oben (Datei hochladen) | lädt eine Datei in Kanal und Gruppe; mit Vorhandene Datei ersetzen überschreibt sie eine gleichnamige Datei |
| Ordner mit Plus (Vorlagen importieren) | importiert ein ZIP, siehe ZIP importieren |
Dateinamen bestehen aus Buchstaben, Ziffern, Punkt, Plus, Leer-, Binde- und Unterstrich, Unterordner trennst du mit /. Gruppennamen bestehen aus Kleinbuchstaben, Ziffern, Binde- und Unterstrich. Eine Datei darf höchstens 16 MB groß sein.
Löschen und Wiederherstellen
- Eine eigene Datei ist nach dem Löschen weg.
- Eine mitgelieferte oder geänderte Datei bleibt als gelöschter Eintrag erhalten. Der Generator verwendet sie nicht mehr, und auch ein Update von oPBWeb bringt sie nicht zurück. Hake unter dem Baum Gelöschte mitgelieferte Vorlagen an, um diese Einträge zu sehen; Wiederherstellen holt den mitgelieferten Stand zurück.
Löschst du eine Datei im gewählten Kanal, greift beim Erzeugen die Suchreihenfolge
: Der Generator nimmt dann die Datei aus Standard bzw. default/generic, falls es sie dort gibt.
Vorlagen bei einem Update
Ein neues Image von oPBWeb kann neuere Vorlagen mitbringen. Beim Start gleicht die API die Datenbank damit ab:
- Unveränderte mitgelieferte Dateien bekommen den neuen Inhalt.
- Geänderte Dateien behalten deinen Inhalt. Zurücksetzen führt dann auf die neue mitgelieferte Fassung.
- Gelöschte mitgelieferte Dateien bleiben gelöscht.
- Neue Dateien kommen hinzu, eigene Dateien bleiben unberührt.
Vorlagen aus einem ZIP importieren
So übernimmst du eine neuere Fassung der Vorlagen des opsi-setup-detectors, ohne auf ein neues Image zu warten, oder verteilst eure eigenen Vorlagen auf eine zweite oPBWeb-Installation.
- Besorg dir den Ordner
template-filesdes opsi-setup-detectors: aus dem GitHub-Repository opsi-org/lazarus (Ordneropsi-misc/opsisetupdetector/template-files) oder aus der Installation eines opsi-setup-detectors. - Pack ihn als ZIP. Erlaubt sind zwei Aufbauten, jeweils auch mit einem zusätzlichen Ordner darüber wie
template-files/:<Kanal>/<Gruppe>/<Datei>mit einem oder mehreren Kanälen (training,default,structured,custom),<Gruppe>/<Datei>für einen einzelnen Kanal; den Kanal wählst du dann beim Import.
- Klick in der Ansicht Vorlagen über dem Baum auf Vorlagen importieren.
- Wähl unter ZIP-Datei die Datei aus.
- Wähl unter In Kanal importieren den Zielkanal oder wie im ZIP.
- Hake Vorhandene Vorlagen ersetzen an, wenn vorhandene Dateien den Inhalt aus dem ZIP bekommen sollen. Ohne Haken kommen nur neue Dateien dazu.
- Klick auf Importieren. Die Meldung nennt das Ergebnis, zum Beispiel „Import: 3 neu, 12 ersetzt, 140 übersprungen“.
Neue Dateien aus dem ZIP werden eigene Vorlagen. Ersetzte mitgelieferte Dateien gelten als geändert und lassen sich weiter zurücksetzen. Gelöschte mitgelieferte Dateien, die im ZIP vorkommen, holt der Import zurück. Übersprungen werden unveränderte Dateien, Ordner, Links, Dateien über 16 MB und Namen, die der Editor nicht annimmt. Ein ZIP darf höchstens 5000 Dateien enthalten.
Die Vorlagen für winget-Pakete (setupwinget.opsiscript, uninstallwinget.opsiscript, delincwinget.opsiinc in default/win, HandleWingetSections.opsiscript und osd-winget-exitcode.opsiscript in default/generic) fehlen im Repository des opsi-setup-detectors. oPBWeb bringt dafür eigene Fassungen mit, im Kopf mit „created for oPBWeb“ markiert. Ein Import aus dem Original lässt sie unverändert, weil das ZIP sie nicht enthält.
Protokoll
Jede Änderung an den Vorlagen erscheint im Protokoll
: detector.template_created, detector.template_uploaded, detector.template_updated, detector.template_reset, detector.template_deleted und detector.templates_imported.