Benutzerhandbuch
Pakete erstellen, bearbeiten, bauen und verteilen
Rollen: Leser, Packager, Releaser, Administrator
Überblick
Das Benutzerhandbuch beschreibt die tägliche Arbeit mit oPBWeb: Pakete anlegen oder importieren, control-Daten und Scripte bearbeiten, Pakete bauen und auf die Depots deiner opsi-Configserver verteilen, von der Test- bis zur Produktionsstufe. Dazu kommen die Bereiche Snippets, Depots und Jobs sowie die Einstellungen für dein eigenes Konto.
Was du davon nutzen kannst, hängt von deiner Rolle ab. Schaltflächen, die deine Rolle nicht erlaubt, blendet oPBWeb aus oder deaktiviert sie. Der Server prüft jede Aktion zusätzlich.
Rollen
Die Rollen bauen aufeinander auf: Jede Rolle hat alle Rechte der Rolle davor. Deine Rolle siehst du im Avatar-Menü oben rechts unter deinem Namen.
| Rolle | Was du damit tun darfst |
|---|
| Leser | Alles ansehen außer Benutzer und Rollen und Einstellungen: Paketliste, Paket-Editor (nur lesen), Quelltext, Snippets, Jobs, Depots, Systemstatus. Gebaute .opsi- und .md5-Dateien herunterladen. |
| Packager | Zusätzlich Pakete anlegen, importieren und bearbeiten, bauen, neue Versionen anlegen, Versionen löschen, eigene Snippets pflegen, Depots abgleichen, mit der Workbench abgleichen. Installieren, Deinstallieren und Pakete übernehmen auf Depots der Stufen Test und Staging. |
| Releaser | Zusätzlich Installieren, Deinstallieren und Pakete übernehmen auf Depots der Stufe Produktion. |
| Administrator | Zusätzlich Benutzer, Configserver, Einstellungen, Stufen von Configservern und Depots, globale Snippets und die Speicherbereinigung. Siehe Fachliche Administration
. |
Depot-Stufen
oPBWeb kann mehrere opsi-Configserver verwalten. Jeder Configserver hat eine Stufe: Produktion, Staging oder Test. Seine Depots erben diese Stufe, solange ein Administrator für ein Depot keine eigene festlegt; neue Configserver stehen zunächst auf Produktion. Die Stufe entscheidet, wer auf dem Depot installieren, deinstallieren, Pakete übernehmen, gesperrte Produkte entsperren und Repository-Dateien löschen darf:
| Stufe | Benötigte Rolle |
|---|
| Test | Packager oder höher |
| Staging | Packager oder höher |
| Produktion | Releaser oder höher |
Im Installationsdialog sind Depots, für die deine Rolle nicht reicht, mit „erfordert Rolle Releaser“ markiert und nicht auswählbar. Eine getestete Version bringst du mit Übernehmen … unverändert von einer Stufe auf die nächste, siehe Auf andere Stufe übernehmen
.
Lebenszyklus eines Pakets
Jede Paketversion ist entweder Entwurf oder Freigegeben:
- Entwurf: Eine neue, importierte oder kopierte Version ist ein Entwurf. Du kannst sie beliebig bearbeiten.
- Bauen: Bauen erzeugt die
.opsi-Datei. Die Version bleibt ein Entwurf, und du kannst sie beliebig oft neu bauen. Änderst du danach etwas, zeigt oPBWeb „seit dem Bauen geändert“ an. - Installieren gibt frei: Mit Installieren … verteilst du den aktuellen Build auf Depots. Dabei wird die Version freigegeben und schreibgeschützt.
- Übernehmen: Mit Übernehmen … bringst du die getestete, freigegebene Version (denselben Build) auf die Depots der nächsten Stufe, etwa von Test nach Staging und dann nach Produktion.
- Weiterarbeiten: Für Änderungen legst du eine Neue Version an (bearbeitbare Kopie mit neuer Versionsnummer) oder setzt die Version Zurück auf Entwurf (gleiche Versionsnummer).
Details findest du in Bauen und verteilen
.
Kapitel
- Erste Schritte
– Anmeldung, Aufbau der Oberfläche, Suche
- Pakete
– Paketliste, neue Pakete, Import, Meta-Pakete
- Paket-Editor
– control-Daten, Abhängigkeiten, Properties, Changelog
- Dateien des Pakets
– Dateibaum, Hochladen, MSI-Informationen, Struktur
- Scripteditor
– opsi-script bearbeiten mit Vervollständigung, Hilfe und Prüfung
- Bauen und verteilen
– Bauen, Installieren, Deinstallieren, Freigabe, Übernehmen auf andere Stufen
- Snippets
– Textbausteine anlegen, einfügen, importieren
- Depots
– Configserver und Depots, installierte Produkte, Dateien, Repository, Vergleich
- Jobs
– laufende und abgeschlossene Aufträge verfolgen
- Konto und Sprache
– Standardsprache, Passwort, Abmelden
Erste Schritte
Anmelden, Aufbau der Oberfläche und schnelles Navigieren mit der Suche
Rollen: Leser, Packager, Releaser, Administrator
Überblick
Dieses Kapitel zeigt dir, wie du dich anmeldest, wie die Oberfläche von oPBWeb aufgebaut ist und wie du mit der Suche schnell zu Paketen, Dateien und Befehlen springst. Am Ende findest du eine kurze Übersicht über Rollen und den Lebenszyklus eines Pakets.
Anmelden
- Öffne oPBWeb im Browser. Ohne gültige Sitzung landest du auf der Anmeldeseite.
- Gib deinen Benutzernamen und dein Passwort ein.
- Klick auf Anmelden.
Nach der Anmeldung öffnet sich die Paketliste, oder die Seite, die du ursprünglich aufrufen wolltest. Auf der Anmeldeseite kannst du oben in der Ecke schon die Sprache (DE/EN) und Hell/Dunkel umschalten.
Hinweis
Nach fünf fehlgeschlagenen Anmeldeversuchen wird ein lokales Konto für 15 Minuten gesperrt („Konto gesperrt bis HH:MM Uhr.“), und zwar für den Rechner, von dem die Versuche kamen. Ein Administrator kann die Sperre vorzeitig aufheben. Wenn deine Organisation LDAP nutzt, meldest du dich mit deinem Verzeichniskonto an; deine Rolle ergibt sich dann aus deinen LDAP-Gruppen.
Deine Sitzung bleibt bis zu sieben Tage erhalten, solange du dich nicht abmeldest. Abmelden kannst du dich über das Avatar-Menü, siehe Konto und Sprache
.
Aufbau der Oberfläche
Die Oberfläche ist wie eine Entwicklungsumgebung aufgebaut: oben die Kopfleiste, links die Bereichsleiste, in der Mitte der Arbeitsbereich und unten die Statusleiste.

Kopfleiste
Von links nach rechts findest du:
| Element | Funktion |
|---|
| ☰ | Blendet die Beschriftungen der Bereichsleiste ein oder aus (Tooltip „Menü mit Beschriftung ein-/ausklappen“). |
| Logo oPBWeb | Führt zurück zur Paketliste. |
| Titel | Zeigt, wo du gerade bist, im Paket-Editor zum Beispiel „Pakete › firefox“. |
| Suchfeld „Paket, Datei oder Befehl …“ | Öffnet die Suche
(Tastenkürzel Strg K, am Mac ⌘ K). |
| Buch-Symbol | Öffnet dieses Handbuch in einem neuen Tab (Handbuch (neuer Tab)), in der aktuellen Sprache der Oberfläche. |
| DE / EN | Schaltet die Sprache für diese Sitzung um. Beim nächsten Anmelden gilt wieder deine Standardsprache. |
| Mond-Symbol | Wechselt zwischen hellem und dunklem Design (Hell oder dunkel umschalten). Solange du nichts wählst, folgt oPBWeb der Einstellung deines Betriebssystems. |
| Avatar | Zeigt deine Initialen. Das Menü enthält deinen Namen und deine Rolle, Standardsprache, Mein Konto (Kontodaten und Syntaxfarben im Editor
), Passwort ändern und Abmelden. |
Bereichsleiste
Über die Bereichsleiste links wechselst du zwischen den Bereichen:
| Bereich | Inhalt |
|---|
| Pakete | Liste aller Pakete mit Details, Startseite nach der Anmeldung |
| Paket-Editor | Öffnet das zuletzt bearbeitete Paket |
| Snippets | Textbausteine für opsi-script |
| Jobs | Alle Aufträge mit Live-Protokoll; ein Zähler zeigt deine laufenden Jobs |
| Depots | Configserver und ihre Depots, installierte Produkte, Dateien, Repository |
| Systemstatus (unten) | Erreichbarkeit der Dienste |
| Benutzer und Rollen, Einstellungen (unten) | Nur für Administratoren sichtbar |
Ohne Beschriftung zeigt die Leiste nur Symbole; fahr mit der Maus darüber, um den Namen als Tooltip zu sehen.
Statusleiste
Die Statusleiste unten zeigt links die Versionen von Frontend und Backend. Ist der Server nicht erreichbar, steht dort „Backend nicht verbunden“.
Daneben erscheint ein orangefarbener Hinweis, wenn mit einem Configserver etwas zu tun ist, etwa „Kein Configserver eingerichtet“, „Configserver 1: neues CA-Zertifikat“ oder „Configserver 1: CA läuft in 30 Tagen ab“. Für Administratoren führt der Hinweis in die Ansicht Depots. Rechts siehst du den Fortschritt der Jobs, die du in diesem Browser-Tab gestartet hast. Ein Klick darauf öffnet den Job im Bereich Jobs
.
Bereiche in der Breite anpassen
Viele Ansichten sind in Bereiche geteilt, zum Beispiel Paketliste und Paketdetails. Die Trennlinien kannst du verschieben:
- Ziehen mit der Maus ändert die Breite.
- Mit Fokus auf der Trennlinie verschieben die Pfeiltasten sie um 20 Pixel.
- Ein Doppelklick setzt die Breite zurück.
oPBWeb merkt sich die Breiten in deinem Browser.
Suche
Mit der Suche springst du per Tastatur zu Paketen, Dateien und Befehlen, ohne zu klicken.
- Drück
Strg K (am Mac ⌘ K) oder klick in das Suchfeld „Paket, Datei oder Befehl …“. - Tipp ein paar Buchstaben ein.
- Wähl mit den Pfeiltasten ↑ und ↓ einen Treffer aus und drück
Enter. Mit Esc schließt du die Suche.

Die Treffer sind in Gruppen sortiert, höchstens 14 auf einmal:
| Gruppe | Inhalt |
|---|
| Dateien im Paket | Dateien des gerade geöffneten Pakets (nur, wenn ein Paket offen ist). Ein Treffer öffnet die Datei im Editor. |
| Pakete | Pakete nach Product-ID, mit Version und Name als Hinweis |
| Befehle | Die Bereiche (Pakete, Paket-Editor, Snippets …), Meine Jobs und Hell oder dunkel umschalten |
Exakte Treffer stehen vor Treffern am Wortanfang, danach folgen Treffer irgendwo im Namen. Findet die Suche nichts davon, sucht sie unscharf (die Buchstaben in dieser Reihenfolge, auch mit Lücken).
Rollen im Überblick
Was du in oPBWeb tun darfst, legt deine Rolle fest:
| Rolle | Kurz gesagt |
|---|
| Leser | nur lesen |
| Packager | Pakete bearbeiten, bauen, auf Test- und Staging-Depots installieren |
| Releaser | zusätzlich auf produktive Depots verteilen |
| Administrator | zusätzlich Benutzer, Server und Einstellungen |
Die ausführliche Tabelle findest du in der Übersicht des Benutzerhandbuchs
.
Lebenszyklus in einem Bild
Entwurf ──Bauen (beliebig oft)──► „gebaut“
▲ │ Installieren …
│ ▼
└──── Zurück auf Entwurf ──── Freigegeben (schreibgeschützt)
│ Neue Version
▼
neuer Entwurf (Kopie)
Ein Entwurf lässt sich bearbeiten und bauen. Erst das Installieren auf einem Depot gibt die Version frei. Wie das im Einzelnen abläuft, steht in Bauen und verteilen
.
Pakete
Paketliste, neue Pakete anlegen, .opsi-Dateien und Workbench-Ordner importieren, Meta-Pakete erstellen
Rollen: Leser, Packager, Releaser, Administrator
Überblick
Der Bereich Pakete ist die Startseite von oPBWeb. Hier siehst du alle Pakete mit ihrer neuesten Version, prüfst in den Paketdetails, auf welchen Depots sie installiert sind, und legst neue Pakete an. Als Leser kannst du die Liste und die Details ansehen; Anlegen, Importieren und alle ändernden Aktionen brauchen mindestens die Rolle Packager.
Die Paketliste

Die Tabelle zeigt pro Paket die neueste Version:
| Spalte | Inhalt |
|---|
| Product-ID | Eindeutige Kennung des Produkts |
| Name | Anzeigename |
| Version | Produktversion und Paketversion, zum Beispiel 1.0-3 |
| Typ | localboot oder netboot |
| Format | Format der control-Datei: INI oder TOML |
| Status | Entwurf oder Freigegeben |
| Geändert von, Geändert | Wer die Version zuletzt geändert hat und wann |
Ein Klick wählt ein Paket aus und zeigt rechts seine Details. Ein Doppelklick öffnet es im Paket-Editor
.
Filtern
- Die Schaltflächen Alle, Entwürfe und Freigegeben filtern nach dem Status der neuesten Version. Die Zahl dahinter zeigt, wie viele Pakete jeweils passen.
- Archiv zeigt statt der aktiven Pakete die archivierten (siehe Paket archivieren
). Gibt es keine, erscheint „Keine archivierten Pakete.“
- Im Feld „Filtern …“ suchst du nach Product-ID oder Name.
Passt kein Paket, erscheint „Kein Paket passt zum Filter.“
Paketdetails
Im rechten Bereich siehst du zum ausgewählten Paket:
- Kopf: Produktlogo (falls vorhanden), Product-ID, Version, Status, Name und die erste Zeile der Beschreibung.
- Schaltflächen: Im Editor öffnen und Quelltext (öffnet den Editor direkt in der Quelltext-Ansicht). Als Packager zusätzlich Bauen (nur bei Entwürfen) und Installieren … (nur, wenn die neueste Version aktuell gebaut ist). Ist der Build veraltet, steht dort „seit dem Bauen geändert“.
- Eckdaten: Typ, Priorität, setup- und uninstall-Script, Abhängigkeiten, Properties, Anzahl der Dateien und Scripte, Format (zum Beispiel „INI · Changelog eingebettet“) und Herkunft („neu angelegt“, „importiert“, „kopiert von …“ oder „aus der Workbench“).
- Verteilung: Für jedes Depot die Stufe (Produktion, Staging oder Test) und die dort installierte Version, gruppiert nach Configserver (siehe Verteilung
). Als Packager übernimmst du das Paket mit Auf andere Stufe übernehmen … von einer Stufe auf die nächste (siehe Auf andere Stufe übernehmen
). Ist das Produkt irgendwo installiert, kannst du es mit Deinstallieren … entfernen.
- Workbench: Auf welcher Workbench das Paket liegt, siehe Workbench
.
- Versionen: Alle Versionen des Pakets mit Status und Datum. Ein Klick öffnet die jeweilige Version im Editor.
- Paket (ab Packager): Archivieren bzw. bei archivierten Paketen Wiederherstellen und Paket löschen …, siehe Paket archivieren
und Paket löschen
.
Verteilung

Die Tabelle Verteilung fasst die Depots je Configserver zusammen. Die Kopfzeile eines Servers nennt, auf wie vielen seiner Depots das Paket installiert ist („1 von 3 installiert“). Darunter steht je Depot die Stufe und die installierte Version:
- Eine kursive Stufe hat das Depot von seinem Configserver geerbt.
- Weicht die installierte Version von der neuesten ab, ist sie orange markiert.
- Ein Klick auf die Kopfzeile eines Configservers klappt seine Depots zu oder auf. oPBWeb merkt sich das in diesem Browser.
- „Depot suchen“ grenzt die Depots nach Depot-ID oder Name des Configservers ein; während der Suche sind alle Gruppen aufgeklappt.
- Der Chip Nur installierte blendet alle Depots aus, auf denen das Paket nicht installiert ist. Die Zahl im Chip nennt die Depots mit Installation.
Workbench
Der Abschnitt Workbench zeigt, in welchen Projektordnern der Workbenches das Paket liegt: Configserver, Projektordner und Version. Weicht die Version von der neuesten in oPBWeb ab, ist sie orange markiert. Liegt das Paket auf keiner Workbench, steht dort „Auf keiner Workbench.“
oPBWeb liest die Workbench nicht bei jedem Öffnen, sondern merkt sich, was es zuletzt gesehen hat. Aktuell wird die Angabe
Die Zeile „Stand:“ darunter nennt je Configserver, wann seine Workbench zuletzt vollständig gelesen wurde, oder „nie gelesen“. Hast du die Workbench direkt auf dem Server geändert, gleich vorher ab.
Bauen, Installieren und Deinstallieren sind in Bauen und verteilen
beschrieben. Mehrere Pakete auf einmal von einer Stufe auf die nächste bringst du mit Übernehmen … in der Werkzeugleiste der Paketliste, siehe Auf andere Stufe übernehmen
.
Neues Paket anlegen
Rollen: Packager, Releaser, Administrator
Klick in der Paketliste auf Neues Paket.

Füll die Felder aus:
- Product-ID (Pflicht): nur Kleinbuchstaben, Ziffern, Punkt, Binde- und Unterstrich. Das erste Zeichen muss ein Kleinbuchstabe oder eine Ziffer sein, insgesamt höchstens 128 Zeichen. Beispiel: firefox-esr.
- Name: Anzeigename. Lässt du ihn leer, übernimmt oPBWeb die Product-ID.
- Produktversion (Pflicht): Version der Software, vorbelegt aus den Einstellungen (Standard
1.0). - Paketversion (Pflicht): Version des Pakets, vorbelegt aus den Einstellungen (Standard
1).
Klick auf Anlegen. Solange die Product-ID ungültig ist, bleibt die Schaltfläche deaktiviert.
oPBWeb legt das Paket als Entwurf an und öffnet es im Paket-Editor. Das neue Paket enthält bereits ein setup- und ein uninstall-Script als Vorlage (CLIENT_DATA/setup.opsiscript, CLIENT_DATA/uninstall.opsiscript) und einen leeren Ordner SERVER_DATA/. Priorität, control-Format und Ablage des Changelogs kommen aus den Einstellungen für neue Pakete
.
Erlaubte Zeichen in Versionen
Produkt- und Paketversion dürfen nur Buchstaben, Ziffern und die Zeichen ., + und ~ enthalten. Die Produktversion darf höchstens 32, die Paketversion höchstens 16 Zeichen lang sein. Gibt es die Product-ID schon, meldet oPBWeb „Das Produkt … existiert bereits.“ – lege dann im Paket-Editor eine Neue Version an.
.opsi-Dateien importieren
Rollen: Packager, Releaser, Administrator
Vorhandene Pakete übernimmst du, indem du ihre .opsi-Dateien importierst. Jede importierte Version wird ein Entwurf.
Klick auf Importieren. Der Dialog „Pakete importieren“ öffnet sich.

Zieh eine oder mehrere .opsi-Dateien in das Feld „.opsi-Dateien hierher ziehen oder auswählen“ oder klick auf Dateien auswählen. Andere Dateitypen und doppelt gewählte Dateien werden ignoriert.
Optional: Aktivier Vorhandene Entwurfsversion gleicher Nummer überschreiben, wenn eine schon vorhandene Version ersetzt werden soll.
Klick auf Import starten.
oPBWeb lädt die Dateien nacheinander hoch und importiert sie. Jede Zeile zeigt den Zustand: „bereit“, „lädt hoch“, „wird importiert“, „importiert“ oder „fehlgeschlagen“. Unter der Liste läuft das Protokoll aller Importe in einem gemeinsamen Feld mit. Solange der Import läuft, ist Schließen deaktiviert.
Wann wird überschrieben?
Gibt es die Version (Produktversion und Paketversion) schon, schlägt der Import ohne die Option fehl. Mit der Option wird nur ein Entwurf überschrieben, eine freigegebene Version nie. In diesem Fall meldet der Job „Die vorhandene Version ist freigegeben und wird nicht überschrieben.“
Beim Import übernimmt oPBWeb die control-Daten und den Changelog in seine Datenbank. Das Format der control-Datei (INI oder TOML) und die Ablage des Changelogs bleiben erhalten. Alte Sicherungen control-*.bak des opsiPackageBuilders übernimmt oPBWeb nicht; das Job-Protokoll nennt ihre Anzahl.
Aus der Workbench importieren
Rollen: Packager, Releaser, Administrator
Liegen Paketquellen als Projektordner in der Workbench eines Configservers, kannst du sie direkt übernehmen – einzeln, mehrere oder alle auf einmal.

Klick auf Workbench …. Der Dialog „Import aus der Workbench“ öffnet sich.
Wähl oben unter Configserver den Server, dessen Workbench du lesen willst. Die Liste zeigt jeden Server mit Name und Stufe. oPBWeb merkt sich deine Wahl in diesem Browser; ohne frühere Wahl ist der erste Server der Stufe Test vorbelegt, sonst der erste Server. Der Dialog liest die Workbench automatisch ein („Lese Workbench …“), auch nach jedem Wechsel des Servers.
Prüf die Tabelle. Sie zeigt Projektordner, Product-ID, Version, Format und Zustand:
| Zustand | Bedeutung |
|---|
| „neues Paket“ | Die Product-ID gibt es in oPBWeb noch nicht. |
| „neue Version“ | Das Paket gibt es, diese Version noch nicht. |
| „Entwurf vorhanden“ | Die Version gibt es schon als Entwurf. |
| „freigegeben vorhanden“ | Die Version gibt es schon und sie ist freigegeben. |
| „archiviert“ | Das Paket ist archiviert und lässt sich nicht importieren. |
Ordner ohne OPSI-Ordner oder mit unlesbarer control-Datei zeigen den Grund in der Spalte Format und haben kein Häkchen. Mit dem Filterfeld grenzt du die Liste ein.
Setz die Häkchen bei den Projektordnern, die du importieren willst. Das Häkchen im Tabellenkopf wählt alle aus, Alle neuen auswählen wählt alle Ordner, deren Version es in oPBWeb noch nicht gibt.
Leg unter Vorhandene Versionen fest, was mit Ordnern geschehen soll, deren Version es schon gibt:
- „überspringen“ (voreingestellt): Der Ordner wird nicht importiert.
- „Entwürfe überschreiben“: Ein vorhandener Entwurf wird ersetzt. Freigegebene Versionen werden übersprungen.
- „als nächste Paketversion importieren“: oPBWeb legt die Version mit der nächsten freien Paketversion an (höchste numerische Paketversion dieser Produktversion + 1).
Klick auf Ausgewählte importieren (n).
Der Import läuft als ein einziger Job „Import aus Workbench (Server), Projekte: n“ und arbeitet die Ordner nacheinander ab. Den Fortschritt siehst du als „Importiere … 40 %“. Schließt du den Dialog, läuft der Job trotzdem weiter. Schlägt ein Ordner fehl, macht oPBWeb mit den übrigen weiter.
Danach zeigt jede Zeile ihr Ergebnis: „importiert als 1.0-2“, „übersprungen“ oder „fehlgeschlagen“ (den Grund zeigt der Tooltip). Unten steht eine Zusammenfassung wie „3 importiert, 1 übersprungen, 0 fehlgeschlagen“. Das Job-Protokoll unter Jobs
enthält eine Zeile pro Projekt.
Übernommen werden nur die Ordner OPSI, CLIENT_DATA und SERVER_DATA; andere Inhalte der Projektordner bleiben unberührt. Mit Neu einlesen aktualisierst du die Liste. Freigegebene Versionen überschreibt der Import nie.
Einzelne Ordner kannst du auch unter Depots im Reiter Dateien mit In oPBWeb importieren übernehmen, siehe Depots
. Wurde eine importierte Version später direkt auf der Workbench geändert, holst du die Änderungen mit Mit Workbench abgleichen … im Paket-Editor nach, siehe Paket-Editor
.
Übergabe vom opsi-setup-detector
Rollen: Packager, Releaser, Administrator
Der opsi-setup-detector kann nach dem Erzeugen der Produktdateien den alten opsiPackageBuilder starten. Mit dem Launcher von oPBWeb öffnet sich an dieser Stelle stattdessen oPBWeb im Browser und fragt, ob du den neuen Workbench-Ordner importieren willst.
Launcher einrichten
Lade den Launcher für dein System herunter: im Dialog „Import aus der Workbench“ über Launcher für den opsi-setup-detector herunterladen oder direkt unter /downloads/ deiner oPBWeb-Adresse. Es gibt je eine ZIP-Datei für Windows, macOS und Linux (amd64 und arm64).
Entpack die Datei. Sie heißt opsipackagebuilder.exe (Windows) bzw. opsipackagebuilder. Den Namen darfst du nicht ändern, der opsi-setup-detector akzeptiert nur diesen.
Leg sie an einen Ort, an dem der opsi-setup-detector sie findet, oder trag den Pfad in dessen Konfiguration unter PathToOpsiPackageBuilder ein:
| System | Standardpfad |
|---|
| Windows | C:\Program Files (x86)\opsi PackageBuilderNG\opsipackagebuilder.exe |
| macOS | /Applications/opsiPackageBuilder.app/Contents/MacOS/opsipackagebuilder |
| Linux | /usr/bin/opsipackagebuilder |
Hinterleg einmalig die Adresse von oPBWeb:
opsipackagebuilder --set-url https://opbweb.example.org
Alternativ legst du neben dem Launcher eine Datei opb-launcher.conf mit der Zeile url = https://opbweb.example.org an (gilt dann für alle Benutzer des Rechners) oder setzt die Umgebungsvariable OPBWEB_URL.
Arbeitet der opsi-setup-detector mit einem verbundenen Laufwerk (zum Beispiel W:\) statt mit einem UNC-Pfad, hinterleg zusätzlich den Configserver dieser Workbench:
opsipackagebuilder --set-server opsi-test.example.org
Alternativ trägst du in opb-launcher.conf die Zeile server = opsi-test.example.org ein oder setzt die Umgebungsvariable OPBWEB_SERVER.
Der opsi-setup-detector und oPBWeb müssen dieselbe Workbench verwenden: Der opsi-setup-detector schreibt in die Workbench-Freigabe eines Configservers, und dieser Server muss in oPBWeb eingerichtet sein. Der Launcher teilt oPBWeb mit, um welchen Configserver es geht: Bei einem UNC-Pfad wie \\opsi-test.example.org\opsi_workbench\firefox ist es der Hostname aus dem Pfad, sonst der mit --set-server hinterlegte Server.
Hinweis
Der Launcher ist nicht signiert. Windows SmartScreen warnt beim ersten Start. Unter macOS entfernst du nach dem Download die Quarantäne mit xattr -d com.apple.quarantine opsipackagebuilder.
Übergabe nutzen
Wähl im opsi-setup-detector als Modus create opsi product files and start the interactive PackageBuilder und erzeuge das Produkt.
oPBWeb öffnet sich im Browser. Bist du nicht angemeldet, meldest du dich zuerst an.
Der Dialog „Übergabe vom opsi-setup-detector“ liest den Workbench-Ordner. Sind mehrere Configserver eingerichtet, ist unter Configserver der Server vorgewählt, den der Launcher übergeben hat (Hostname oder Kurzname). Kennt oPBWeb diesen Server nicht, erscheint ein Hinweis und vorbelegt ist der zuletzt gewählte; dann wählst du den passenden Server aus. Danach fragt der Dialog je nach Lage:
| Lage | Auswahl |
|---|
| Das Paket gibt es in oPBWeb noch nicht | Importieren oder Abbrechen |
| Das Paket gibt es, die Version noch nicht | Neue Version anlegen oder Abbrechen |
| Die Version gibt es schon | Als … anlegen (nächste freie Paketversion, zum Beispiel 1.0-3 statt 1.0-2), Entwurf überschreiben (nur wenn die vorhandene Version ein Entwurf ist) oder Abbrechen |
| Das Paket ist archiviert | nur Abbrechen; stell das Paket erst wieder her |
Nach dem Import öffnet sich die neue Version im Editor.
Die Modi Bauen und Bauen + Installieren des opsi-setup-detectors brauchen den Launcher nicht: Ab opsi 4.2.0.311 baut der opsi-setup-detector dann direkt über den opsi-Service. Ruft er den Launcher trotzdem zum Bauen auf, meldet der Launcher einen Fehler, denn oPBWeb baut nicht über die Kommandozeile.
Rollen: Packager, Releaser, Administrator
Ein Meta-Paket installiert eine Reihe anderer Produkte. Es enthält selbst kein Programm, sondern nur Abhängigkeiten: Jedes gewählte Produkt wird zur Abhängigkeit „setup, installiert, vorher“. Das Script des Meta-Pakets tut nichts.
Klick auf Meta-Paket …. Der Dialog „Neues Meta-Paket“ öffnet sich.

Füll links die Felder aus:
- Product-ID: vorbelegt mit dem Präfix aus den Einstellungen (Standard
meta-). Es gelten dieselben Regeln wie bei einem neuen Paket. - Name, Beschreibung: optional.
- Produktversion, Paketversion: vorbelegt aus den Einstellungen.
Wähl rechts die Produkte aus. Mit „Produkte filtern …“ grenzt du die Liste ein. Zur Auswahl stehen alle Pakete in oPBWeb und alle Produkte, die auf den Depots gefunden wurden; Produkte, die es nur auf einem Depot gibt, sind mit „nur im Depot“ markiert.
Bring die Produkte unter Reihenfolge mit ↑ und ↓ in die gewünschte Installationsreihenfolge. Mit × entfernst du ein Produkt aus der Auswahl.
Klick auf Anlegen. Die Schaltfläche ist aktiv, sobald die Product-ID gültig ist und mindestens ein Produkt gewählt ist.
oPBWeb öffnet das neue Meta-Paket im Editor. Es bekommt die Priorität und den Namen des Setup-Scripts aus den Einstellungen (Standard: Priorität −100, Script dummy.opsiscript) und kein uninstall-Script. Ein Meta-Paket kann sich nicht selbst enthalten; maximal sind 200 Produkte möglich.
Version löschen
Rollen: Packager, Releaser, Administrator
Eine einzelne Version löschst du im Paket-Editor:
- Öffne die Version im Paket-Editor
und wähl den Abschnitt Produkt.
- Klick unten auf Diese Version löschen.
- Bestätige die Rückfrage „Version … endgültig löschen?“.
Das Löschen ist auch bei freigegebenen Versionen möglich und lässt sich nicht rückgängig machen. Ist die Version auf einem Produktions-Depot installiert, darf sie nur ein Releaser löschen (siehe Stufenregel
). Die gebaute .opsi-Datei der Version wird mit gelöscht. Ist es die letzte Version, verschwindet das ganze Paket aus der Liste. Danach öffnet oPBWeb eine andere Version des Pakets oder die Paketliste.
Achtung
Das Löschen in oPBWeb entfernt nichts von den Depots. Ein dort installiertes Produkt entfernst du vorher mit Deinstallieren …, siehe Bauen und verteilen
.
Paket archivieren
Rollen: Packager, Releaser, Administrator
Ein Paket, das du nicht mehr brauchst, aber behalten willst, archivierst du:
- Wähl das Paket in der Paketliste aus.
- Klick in den Details unter Paket auf Archivieren.
- Bestätige die Rückfrage „… archivieren? Das Paket verschwindet aus der Liste und wird schreibgeschützt, die gebauten .opsi-Dateien werden gelöscht.“
Ein archiviertes Paket
- erscheint nur noch unter dem Filter Archiv und nicht in der Suche,
- ist schreibgeschützt: Du kannst es im Editor ansehen, aber nicht bearbeiten, bauen, keine neue Version anlegen und keine Version löschen; auch ein Import in das Paket wird abgelehnt,
- hat keine Build-Ergebnisse mehr und lässt sich deshalb nicht installieren.
Laufen für das Paket noch Jobs oder warten welche, lehnt oPBWeb das Archivieren ab. Auf den Depots installierte Produkte bleiben erhalten; du kannst sie in den Details weiterhin mit Deinstallieren … entfernen.
Zum Zurückholen wählst du das Paket unter Archiv aus und klickst auf Wiederherstellen. Die Versionen behalten ihren Status. Vor dem nächsten Installieren musst du das Paket neu bauen.
Paket löschen
Rollen: Packager, Releaser, Administrator
Ein ganzes Paket mit allen Versionen löschst du in der Paketliste, auch wenn es archiviert ist:
- Wähl das Paket aus.
- Klick in den Details unter Paket auf Paket löschen ….
- Gib zur Bestätigung die Product-ID ein und klick auf Endgültig löschen. Die Schaltfläche ist erst aktiv, wenn die Eingabe genau stimmt.
Gelöscht werden alle Versionen, ihre Dateien und Build-Ergebnisse. Das lässt sich nicht rückgängig machen. Ist irgendeine Version des Produkts auf einem Produktions-Depot installiert, darf nur ein Releaser das Paket löschen.
Achtung
Auch hier bleibt auf den Depots alles erhalten. Ein dort installiertes Produkt entfernst du vorher mit Deinstallieren ….
Paket-Editor
control-Daten eines Pakets bearbeiten: Produkt, Abhängigkeiten, Properties, Changelog und Quelltext
Rollen: Leser, Packager, Releaser, Administrator
Überblick
Im Paket-Editor bearbeitest du eine Paketversion: die control-Daten (Produktangaben, Scripte, Abhängigkeiten, Properties), den Changelog und die Dateien des Pakets. Dieses Kapitel beschreibt den Reiter control. Wie du mit Dateien und Scripten arbeitest, steht in Dateien des Pakets
und Scripteditor
.
Bearbeiten kannst du nur Entwürfe, und nur mit mindestens der Rolle Packager. Als Leser und bei freigegebenen Versionen sind alle Felder gesperrt; ansehen kannst du alles.
Editor öffnen
Du öffnest den Editor auf einem dieser Wege:
- Doppelklick auf ein Paket in der Paketliste, oder Im Editor öffnen in den Paketdetails.
- Paket-Editor in der Bereichsleiste öffnet das zuletzt bearbeitete Paket.
- Über die Suche (
Strg K) ein Paket auswählen.
Aufbau
Der Editor ist in drei Bereiche geteilt:
- Links: Oben die Liste aller Pakete (Filtern …, orangefarbener Punkt = Entwurf, blauer Punkt = freigegeben). Darunter die Reiter Dateien (Dateibaum) und Struktur (Include-Baum der Scripte).
- Mitte: Reiter control für die Paketdaten und je ein Reiter pro geöffneter Datei. Ein ● zeigt ungespeicherte Änderungen.
- Unten: Das Panel JOBS mit den letzten 30 Jobs dieses Pakets und dem Live-Protokoll des ausgewählten Jobs. Mit × schließt du es, mit „Jobs ▴“ öffnest du es wieder.
Werkzeugleiste des control-Reiters
| Element | Funktion |
|---|
| Bearbeiten | Quelltext | Wechselt zwischen Formular und erzeugtem Quelltext. |
| Produkt | Abhängigkeiten | Properties | Changelog | Abschnitte des Formulars. Bei Abhängigkeiten und Properties steht die Anzahl dahinter, ein ● markiert ungespeicherte Änderungen. |
| Versionsauswahl | Alle Versionen des Pakets mit Status (zum Beispiel „1.0-2 · Entwurf“). Eine Auswahl wechselt zu dieser Version. |
| „gebaut“ / „seit dem Bauen geändert“ | Zustand des letzten Builds (nur bei Entwürfen mit Build). |
| Bauen | Erzeugt die .opsi-Datei. Deaktiviert, solange es ungespeicherte Änderungen gibt. |
| Speichern | Speichert alle geänderten Abschnitte und geänderten offenen Dateien. Nur aktiv, wenn es Änderungen gibt. |
| .opsi herunterladen | Lädt den letzten Build herunter (nur, wenn einer existiert). |
| Installieren … | Verteilt den Build auf Depots. |
| ⋯ (Weitere Aktionen) | Neue Version, In Workbench exportieren …, Mit Workbench abgleichen …, .opsi herunterladen, .md5 herunterladen, Deinstallieren … |
Bauen, Speichern und Installieren … siehst du nur mit mindestens der Rolle Packager. Bauen, Installieren und Exportieren beschreibt Bauen und verteilen
. In Workbench exportieren … fragt dabei unter Configserver, in welche Workbench geschrieben wird. Den Abgleich mit der Workbench beschreibt Mit Workbench abgleichen
.
Speichern und ungespeicherte Änderungen
Änderungen im Formular landen erst mit Speichern auf dem Server. oPBWeb zeigt nach dem Speichern kurz „Gespeichert“.
Willst du den Editor oder die Version mit ungespeicherten Änderungen verlassen, fragt oPBWeb nach: „Es gibt ungespeicherte Änderungen. Trotzdem verlassen?“. Auch der Browser warnt beim Schließen des Tabs.
Abschnitt Produkt

Produkt
| Feld | Beschreibung |
|---|
| Product-ID | Nur lesbar. Die Product-ID lässt sich nach dem Anlegen nicht mehr ändern. |
| Name | Anzeigename des Produkts |
| Typ | localboot oder netboot |
| Priorität | Ganzzahl von −100 bis 100. Produkte mit höherer Priorität werden auf dem Client früher ausgeführt. |
| Produktversion, Paketversion | Nur lesbar. Eine andere Versionsnummer bekommst du über Neue Version. |
| Lizenzpflicht | „nein“, „ja“ oder „nicht gesetzt“ |
| Produktklassen | Optional, mehrere durch Komma getrennt |
| Beschreibung | Beschreibung des Produkts |
| Hinweis (Advice) | Hinweistext für Administratoren in opsi |
Scripte je Aktion
Für jede Aktion (setup, uninstall, update, always, once, custom, userLogin) wählst du das Script aus. Zur Auswahl stehen „—“ (kein Script) und alle Script-Dateien unter CLIENT_DATA/ mit den Endungen .opsiscript, .ins und .opsiinc.
Verweist die control-Datei auf ein Script, das es nicht gibt, steht dahinter „(Datei fehlt)“. So ein Paket lässt sich nicht bauen, bis du die Datei anlegst oder die Auswahl änderst.
Paket
| Feld | Beschreibung |
|---|
| Format control | „INI (Altformat)“ erzeugt OPSI/control, „TOML“ erzeugt OPSI/control.toml. |
| Changelog | Wo der Changelog liegt: „Changelog eingebettet“ (als Abschnitt [Changelog] in der INI-control-Datei), „changelog.txt“ oder „changelog.md“ im Ordner OPSI/. Bei TOML ist „Changelog eingebettet“ nicht möglich. |
| Paketabhängigkeiten | Pakete, die auf dem Depot vorhanden sein müssen, als Liste mit Komma, optional mit Bedingung: zum Beispiel opsi-script (>=4.12), mshotfix. Ohne Bedingung gilt >=. |
Änderst du das Format, erscheint der Hinweis „Beim Speichern wird das Format des Pakets umgestellt. Die Quelltext-Ansicht zeigt das Ergebnis vorher.“ Steht beim Wechsel auf TOML der Changelog noch auf „eingebettet“, legt oPBWeb ihn beim Speichern als changelog.txt ab.
Diese Version löschen
Unter dem Abschnitt Produkt findest du als Packager die Schaltfläche Diese Version löschen. Sie funktioniert auch bei freigegebenen Versionen. Details stehen in Pakete
.
Abschnitt Abhängigkeiten
Hier legst du fest, welche anderen Produkte vor oder nach diesem Produkt installiert sein müssen.

- Klick auf + Abhängigkeit. Eine neue Zeile mit „setup / setup / before“ erscheint.
- Füll die Spalten aus:
- Für Aktion: Bei welcher Aktion dieses Produkts die Abhängigkeit gilt (
setup, uninstall, update, always, once, custom, userLogin). - Benötigtes Produkt: Product-ID des anderen Produkts. Bekannte Product-IDs werden beim Tippen vorgeschlagen.
- Benötigte Aktion: Aktion, die für das andere Produkt gesetzt wird, oder „—“.
- Benötigter Status:
installed, not_installed, unknown oder „—“. - Reihenfolge:
before (vorher), after (nachher) oder „—“. - Version: optional, die benötigte Version.
- Klick auf Speichern.
Pro Abhängigkeit muss entweder eine benötigte Aktion oder ein benötigter Status angegeben sein. Mit × am Zeilenende entfernst du eine Abhängigkeit.
Abschnitt Properties
Properties sind Einstellungen, die opsi-Administratoren pro Client oder Depot setzen können und die deine Scripte auslesen.

Property anlegen oder bearbeiten
- Klick auf + Property. oPBWeb legt ein Property
property_<n> vom Typ unicode an und klappt den Editor auf. Ein Klick auf ▸ klappt ein vorhandenes Property auf. - Füll die Felder aus:
- Name: Buchstaben, Ziffern,
_, . und -; jeder Name darf in der Version nur einmal vorkommen. - Typ:
unicode (Text) oder bool (true/false). - Bei unicode: Mehrfachwerte (mehrere Werte gleichzeitig wählbar) und editierbar (eigene Werte erlaubt).
- Beschreibung.
- Bei unicode: Werte unter „Werte · Klick markiert/entfernt Default“. Tipp einen Wert in „Wert hinzufügen …“ und drück
Enter. Ein Klick auf einen Wert markiert ihn als Default oder hebt das auf, × entfernt ihn. - Bei bool: Default
true oder false.
- Klick auf Speichern.
Scripte prüfen
Scripte prüfen durchsucht alle Scripte des Pakets nach GetProductProperty, GetConfidentialProductProperty und GetProductPropertyList und vergleicht die gelesenen Properties mit den definierten:
- „… im Script gelesene Properties fehlen im control:“ listet Properties, die ein Script liest, die aber nicht definiert sind, mit Fundstelle (Datei und Zeile) und dem im Script verwendeten Default. Mit Anlegen übernimmst du ein Property direkt.
- „Von keinem Script gelesen: …“ nennt definierte Properties, die kein Script verwendet.
- „Alle … gelesenen Properties sind definiert.“ bedeutet: alles passt.
Geprüft werden nur die Scripte dieses Pakets, nicht die uib-Bibliotheken auf dem Client. Die Prüfung kannst du auch als Leser starten; Anlegen braucht einen Entwurf und die Rolle Packager.
Abschnitt Changelog
Ein Etikett neben der Überschrift nennt, wo der Changelog liegt (OPSI/changelog.md, OPSI/changelog.txt oder OPSI/control [Changelog]). Daneben schaltest du zwischen Einträge und Freitext um.

Einträge
Entspricht der Changelog der Standardform, öffnet oPBWeb ihn als Liste der Einträge. Standardform heißt:
- txt und eingebettet (Debian-Stil, wie im opsiPackageBuilder): je Eintrag die Kopfzeile
produkt (version) status; urgency=dringlichkeit, der Text und die Fußzeile -- Name <E-Mail> Datum. - md (Format des opsi-setup-detectors): optional ein Titel
# Changelog …, dann je Eintrag ## [version] - Datum, der Text und (Name <E-Mail>).
Ein Klick auf eine Zeile klappt den Eintrag auf. Dort änderst du Version, Status und Dringlichkeit (nur Debian-Stil), Text, Autor, E-Mail und Datum; Jetzt setzt das aktuelle Datum. Mit ↑ und ↓ verschiebst du einen Eintrag, × löscht ihn nach einer Rückfrage. Gespeichert wird mit Speichern in der Werkzeugleiste. Unveränderte Einträge schreibt oPBWeb zeichengenau zurück, eine Änderung betrifft also nur die Zeilen des geänderten Eintrags.
Freitext
Im Freitext bearbeitest du den Changelog direkt im Texteditor; speichern kannst du mit Speichern oder Strg S. Weicht der Text von der Standardform ab, steht darüber „Der Changelog entspricht nicht der Standardform. Bearbeiten ist nur als Freitext möglich.“ und Einträge ist gesperrt. Sobald der Text wieder der Standardform entspricht, kannst du zurückschalten.
Eintrag hinzufügen
- Klick auf + Eintrag für … (die aktuelle Version steht im Namen der Schaltfläche).
- Trag im Dialog „Neuer Changelog-Eintrag“ unter Änderungen (eine pro Zeile) deine Änderungen ein.
- Bei txt- und eingebettetem Changelog: Wähl Status (
testing, stable, unstable; Standard testing) und Dringlichkeit (low, medium, high, critical; Standard low). - Klick auf Hinzufügen.
Der Eintrag wird oben eingefügt, mit deinem Namen, deiner E-Mail-Adresse und dem aktuellen Datum. Hast du keine E-Mail-Adresse hinterlegt, verwendet oPBWeb benutzername@<Mail-Domain> aus den Einstellungen. In der Ansicht Einträge ist der neue Eintrag danach aufgeklappt und wird mit Speichern gespeichert; im Freitext speichert oPBWeb ihn sofort.
Mit Workbench abgleichen
Rollen: Packager, Releaser, Administrator
Manchmal ändert jemand ein Paket direkt in der Workbench eines Configservers, zum Beispiel ein Script, und baut es dort neu. Mit ⋯ › Mit Workbench abgleichen … holst du solche Änderungen in die Version in oPBWeb, damit sie nicht verloren gehen.

Der Abgleich geht nur in eine Richtung, von der Workbench nach oPBWeb, und bietet nur an, was auf der Workbench neuer ist. Später in oPBWeb geänderte Dateien überschreibt er nicht, Dateien, die auf der Workbench fehlen, löscht er nicht.
Öffne die Version im Editor und wähl ⋯ › Mit Workbench abgleichen …. Der Dialog „Abgleich mit der Workbench: firefox 128.0-1“ öffnet sich und vergleicht sofort.
Prüf oben die Vorgaben und klick nach einer Änderung auf Vergleichen:
- Configserver: der Server, dessen Workbench verglichen wird.
- Projektordner: vorbelegt mit dem Ordner, aus dem die Version importiert wurde, sonst mit der Product-ID.
- Der Chip Nur Unterschiede (voreingestellt aktiv) blendet gleiche Dateien aus.
Prüf die Tabelle mit den Spalten Datei, Zustand, Workbench geändert und oPBWeb geändert (Zeitpunkt der letzten Änderung):
| Zustand | Bedeutung | Übernehmbar |
|---|
| „neu auf der Workbench“ | Die Datei gibt es nur auf der Workbench. | ja, vorausgewählt |
| „auf der Workbench neuer“ | Die Datei wurde auf der Workbench später geändert als in oPBWeb. | ja, vorausgewählt |
| „in oPBWeb neuer“ | Die Datei wurde in oPBWeb später geändert. | nein, wird nie überschrieben |
| „nur in oPBWeb“ | Die Datei fehlt auf der Workbench. | nein, wird nie gelöscht |
| „gleich“ | kein Unterschied | – |
Ein Klick auf eine Zeile mit ▸ zeigt die Unterschiede: rot ist der Stand in oPBWeb, grün der Stand auf der Workbench. Unten steht eine Zusammenfassung wie „Übernehmbar: 2 · gleich: 14“.
Entferne die Häkchen bei allem, was du nicht übernehmen willst, und klick auf Übernehmen (n).
Nach dem Übernehmen meldet oPBWeb „Änderungen aus der Workbench übernommen“, vergleicht erneut und lädt die Version im Editor neu. Verglichen werden nur die Ordner OPSI/, CLIENT_DATA/ und SERVER_DATA/; alte Sicherungen control-*.bak werden ignoriert. Vergleich und Übernahme laufen als Jobs („Abgleich mit Workbench (Server): …“, „Aus Workbench übernehmen (Server): …“).
control-Daten
control-Datei und Changelog-Datei erscheinen gemeinsam als eine Zeile „control-Daten (control, changelog.txt)“. oPBWeb vergleicht hier die Daten, nicht den Text: Eine andere Formatierung, etwa andere Leerzeichen, zählt nicht als Unterschied. Übernimmst du diese Zeile, ersetzt oPBWeb Produktdaten, Abhängigkeiten, Properties und Changelog der Version durch den Stand der Workbench.
Freigegebene Versionen
Übernehmen kannst du nur in einen Entwurf. Bei einer freigegebenen Version zeigt der Dialog die Unterschiede, meldet aber „Diese Version ist freigegeben. Zum Übernehmen erst eine neue Version anlegen und diese abgleichen.“ Leg dann mit Neue Version eine neue Version an und gleiche diese ab.
Quelltext-Ansicht
Quelltext zeigt die control-Datei und den Changelog so, wie sie beim Bauen erzeugt werden. Die Ansicht ist nur zum Lesen und steht allen Rollen zur Verfügung.

- Links findest du die GLIEDERUNG (die Abschnitte der Datei, ein Klick springt hin) und die DATEIEN (
OPSI/control bzw. OPSI/control.toml und gegebenenfalls den Changelog). - Mit INI | TOML wählst du das Format. Entspricht es dem Format des Pakets, steht dort „Wird beim Bauen so erzeugt – nur Anzeige“. Wählst du das andere Format, siehst du eine „Vorschau einer Konvertierung – nur Anzeige“. So prüfst du vor einem Formatwechsel, was dabei herauskommt.
- Kopieren legt den Text in die Zwischenablage, Herunterladen speichert ihn als Datei.
Die Quelltext-Ansicht zeigt den gespeicherten Stand. Ungespeicherte Änderungen im Formular siehst du dort erst nach dem Speichern.
Freigegebene Versionen
Sobald eine Version auf einem Depot installiert wurde, ist sie freigegeben und schreibgeschützt. Oben im Editor erscheint dann:
Version … ist freigegeben (installiert) und schreibgeschützt. Für Änderungen eine neue Version anlegen oder zurück auf Entwurf setzen.
In diesem Zustand gilt:
- Alle Felder, Tabellen und Texteditoren sind gesperrt, Speichern und Bauen fehlen.
- .opsi herunterladen und Installieren … bleiben verfügbar, ebenso die Quelltext-Ansicht.
- Als Packager hast du im Hinweisbalken zwei Wege zurück zum Bearbeiten:
| Aktion | Wirkung |
|---|
| Neue Version | Legt eine bearbeitbare Kopie mit allen Daten und Dateien an. Vorbelegt sind dieselbe Produktversion und die Paketversion +1 (bei nicht-numerischer Paketversion wird .1 angehängt). Die freigegebene Version bleibt unverändert. |
| Zurück auf Entwurf | Macht genau diese Version wieder zum Entwurf, ohne die Versionsnummer zu ändern. Ist sie auf einem Produktions-Depot installiert, darf das nur ein Releaser. |
Achtung bei „Zurück auf Entwurf“
Ist die Version bereits auf Depots installiert, bleibt dort das alte Paket, bis du neu baust und erneut installierst. Danach gibt es auf verschiedenen Depots unter Umständen zwei unterschiedliche Pakete mit derselben Versionsnummer. Für Änderungen an verteilten Paketen ist Neue Version meist der sicherere Weg. Mehr dazu in Bauen und verteilen
.
Dateien des Pakets
Dateibaum, Hochladen, Kontextmenü, MSI-Informationen und die Include-Struktur der Scripte.
Rolle: Packager
Überblick
Jede Paketversion besteht aus den drei Bereichen OPSI/, CLIENT_DATA/ und SERVER_DATA/. Im Paket-Editor siehst du sie links unter dem Reiter Dateien. Dort legst du Dateien und Ordner an, lädst Installer hoch, benennst um, verschiebst und löschst. Der Reiter Struktur daneben zeigt, welche Scripte welche anderen Scripte einbinden.
Ändern kannst du Dateien nur in einer Version mit dem Status Entwurf und mit mindestens der Rolle Packager. In freigegebenen Versionen und mit der Rolle Leser ist der Dateibaum schreibgeschützt: Öffnen und Herunterladen funktionieren weiterhin, alle ändernden Einträge im Kontextmenü sind ausgegraut.
Der Dateibaum
Die drei Bereiche stehen immer oben im Baum. OPSI/ und CLIENT_DATA/ sind beim Öffnen aufgeklappt. Ein Bereich ohne Inhalt trägt den Vermerk „leer“. Bei Binärdateien steht die Dateigröße hinter dem Namen.
- Ein Klick auf eine Datei öffnet sie als Reiter im Editor. Textdateien bis 5 MB öffnen sich im Scripteditor
.
- Bilder (PNG, JPG, GIF, BMP, ICO, SVG bis 10 MB) zeigt oPBWeb als Vorschau an.
- Für andere Binärdateien und zu große Textdateien siehst du Pfad, Größe, SHA-256 und Art („Binärdatei“ bzw. „Textdatei, zu groß für den Editor“) sowie die Schaltfläche Herunterladen.
Die Bereiche selbst kannst du weder umbenennen noch löschen.
Hinweis
Die Datei OPSI/control erscheint nicht im Baum und lässt sich auch nicht hochladen: oPBWeb erzeugt sie beim Bauen aus den Paketdaten. Die Inhalte des control und den Changelog bearbeitest du im Reiter control über die Abschnitte Produkt, Abhängigkeiten, Properties und Changelog, siehe Paket-Editor
.
Das Kontextmenü
Ein Rechtsklick auf eine Datei oder einen Ordner öffnet das Kontextmenü.

| Eintrag | Wirkung |
|---|
| Öffnen | Öffnet die Datei als Reiter (nur bei Dateien). |
| Herunterladen | Lädt die Datei auf deinen Rechner (nur bei Dateien). |
| MSI-Informationen | Zeigt die Eigenschaften eines Windows-Installers (nur bei .msi-Dateien). |
| Neue Datei | Legt eine Datei im gewählten Ordner an. Vorgeschlagen wird neu.opsiscript. |
| Neuer Ordner | Legt einen Unterordner an. |
| Dateien hochladen … | Öffnet die Dateiauswahl deines Browsers; die Dateien landen im gewählten Ordner. |
| Umbenennen / verschieben | Fragt nach dem Neuen Pfad. Gibst du dabei einen anderen Ordner an, wird die Datei dorthin verschoben. Das geht auch mit ganzen Ordnern. |
| Löschen | Löscht nach einer Rückfrage die Datei bzw. den Ordner mit Inhalt. |
Bei einem Rechtsklick auf eine Datei beziehen sich Neue Datei, Neuer Ordner und Dateien hochladen … auf den Ordner, in dem die Datei liegt.
Ein Rechtsklick auf die freie Fläche unterhalb der Einträge zeigt nur Neue Datei, Neuer Ordner und Dateien hochladen …; Ziel ist dann CLIENT_DATA/.
Neue Datei anlegen
- Klick mit der rechten Maustaste auf den Zielordner, z. B.
CLIENT_DATA/. - Wähl Neue Datei.
- Gib im Feld „Name in CLIENT_DATA/“ den Dateinamen ein, z. B.
install.opsiinc. - Bestätige den Dialog. Die Datei wird angelegt und erscheint im Baum.
Dateien hochladen
Du hast zwei Wege, um Dateien ins Paket zu bringen:
- Per Kontextmenü: Rechtsklick auf den Zielordner, dann Dateien hochladen …. Du kannst mehrere Dateien auf einmal auswählen.
- Per Drag & Drop: Zieh Dateien oder ganze Ordner aus deinem Dateimanager auf einen Ordner im Baum. Die Ordnerstruktur bleibt dabei erhalten. Lässt du sie auf eine Datei fallen, landen sie in deren Ordner; lässt du sie auf eine freie Fläche des Baums fallen, landen sie in
CLIENT_DATA/.
Während des Hochladens zeigt ein Fortschrittsbalken den Stand. Danach meldet oPBWeb „3 Datei(en) hochgeladen“. Eine vorhandene Datei mit gleichem Pfad wird ohne Rückfrage ersetzt.
Tipp
Große Installer kannst du ohne Bedenken mehrfach hochladen: oPBWeb speichert identische Inhalte nur einmal, auch über Paketversionen hinweg.
Ausführbare Dateien
Ob eine Datei ausführbar ist (z. B. ein Shell-Script unter Linux), zeigt der Dateibaum nicht an. oPBWeb übernimmt das Kennzeichen beim Import eines .opsi-Pakets und setzt es beim Bauen wieder. Beim Import aus der Workbench werden .sh- und .py-Dateien in CLIENT_DATA/ automatisch als ausführbar markiert.
Für .msi-Dateien liest oPBWeb die wichtigsten Eigenschaften direkt aus dem Installer. Das ist praktisch, um ProductCode und Version für dein Script zu übernehmen.
- Klick mit der rechten Maustaste auf die
.msi-Datei. - Wähl MSI-Informationen. Der Dialog „MSI: setup.msi“ zeigt kurz „Lese MSI-Datei …“ und dann eine Tabelle, u. a. mit ProductName, ProductVersion, ProductCode, UpgradeCode, Manufacturer und ProductLanguage.
- Klick neben einem Wert auf Kopieren, um ihn in die Zwischenablage zu übernehmen. Der Knopf zeigt kurz „kopiert“.
- Mit Alle Properties anzeigen (24) blendest du die vollständige Property-Tabelle des Installers ein, mit Weniger anzeigen wieder aus.

Der Reiter Struktur
Der Reiter Struktur zeigt, wie die Scripte des Pakets zusammenhängen. Ausgangspunkt sind die Scripte, die im control für die einzelnen Aktionen (setup, uninstall, update …) eingetragen sind.

- Für jede Aktion siehst du das zugehörige Script. Ist die Datei nicht vorhanden, steht dort „fehlt“.
- Eingerückt darunter folgen die Dateien, die das Script einbindet, jeweils mit der Art der Einbindung (
sub, include_insert, include_append, importLib). - Ein Abzeichen gibt die Herkunft an: Paket (Datei liegt im Paket), Bibliothek (uib-Bibliothek von opsi-script auf dem Client) oder fehlt (nicht gefunden).
- Das Zeichen ↺ markiert eine rekursive Einbindung.
- Ein Klick auf einen Eintrag öffnet die Datei im Editor.
- Mit ⟳ (Neu laden) aktualisierst du die Ansicht, z. B. nachdem du ein Script gespeichert hast.
Sind im control keine Aktions-Scripte hinterlegt, erscheint „Keine Aktions-Skripte im Control hinterlegt.“
Hinweis
Ein Eintrag mit „fehlt“ ist ein Warnsignal: Fehlt ein Script, das im control für eine Aktion eingetragen ist, schlägt das Bauen mit der Meldung „Script … fehlt in CLIENT_DATA.“ fehl.
Scripteditor
opsi-Scripte und andere Textdateien des Pakets bearbeiten: Hervorhebung, Vervollständigung, Diagnose, Hilfe und Snippets.
Rolle: Packager
Überblick
Textdateien des Pakets öffnest du per Klick im Dateibaum (siehe Dateien des Pakets
). Sie erscheinen als eigener Reiter neben dem Reiter control im Scripteditor. Für opsi-Scripte bietet der Editor Vervollständigung, Fehlerprüfung, Hilfe zu den Befehlen und Snippets. Alle anderen Textformate bekommen eine Syntaxhervorhebung. Die Farben der Hervorhebung legst du pro Dateityp unter Mein Konto
fest.
Bearbeiten kannst du Dateien nur in einer Version mit dem Status Entwurf und mindestens mit der Rolle Packager. Sonst ist der Editor schreibgeschützt; Lesen, Suchen, Hilfe und das Kopieren von Text funktionieren trotzdem.

Aufbau
- Werkzeugleiste des Reiters: Pfad der Datei, bei opsi-Scripten die Zähler „2 Fehler“ und „5 Warnungen“, die Schaltfläche Werkzeugleiste ausblenden bzw. Werkzeugleiste einblenden für die Seitenleiste und Speichern.
- Editorfläche: Zeilennummern, Faltmarken am Rand und bei opsi-Scripten eine Leiste mit Diagnose-Symbolen.
- Seitenleiste (nur bei opsi-Scripten) mit den Reitern Snippets, Variablen, Warnungen und Hilfe. Du kannst sie über ihren Rand breiter oder schmaler ziehen.
- Unteres Panel JOBS: zeigt rechts die Cursorposition („Z. 12, Sp. 8“) und das Zeilenende der Datei (CRLF oder LF).
Zeilenenden bleiben beim Speichern erhalten: Eine Datei mit Windows-Zeilenenden (CRLF) bleibt eine CRLF-Datei.
Unterstützte Sprachen
Die Sprache erkennt der Editor am Dateinamen.
| Sprache | Dateien |
|---|
| opsi-script | .opsiscript, .opsiinc, .ins, .opsifunc |
| Shell / Batch | preinst, postinst, .sh, .cmd, .bat |
| Inno Setup | .iss, .isl |
| AutoIt | .au3 |
| PowerShell | .ps1, .psm1, .psd1 |
| INI und ähnliche | .ini, .inf, .reg, .cfg, .conf, .properties, .toml, .desktop |
| XML | .xml, .xsd, .xsl, .manifest, .config, .plist, .svg |
| YAML | .yml, .yaml |
| JSON | .json |
| Python | .py |
Für opsi-script kennt der Editor den Sprachumfang aus dem opsi-script-Handbuch 4.3: Anweisungen, eingebaute Funktionen, Sektionstypen, Befehle der Sekundärsektionen und Konstanten. Dazu kommen die Funktionen der uib-Bibliotheken, die opsi-script mitbringt (z. B. uib_exitcode.opsiscript, uib_strlistutils.opsiscript, uib_backend.opsiscript, osd-lib.opsiscript).
Alle weiteren Funktionen – Vervollständigung, Diagnose, Hilfe, Kontextmenü, Snippets und Seitenleiste – gibt es nur für opsi-Scripte.
Vervollständigung
Beim Tippen schlägt der Editor passende Einträge vor. Mit Strg+Leertaste öffnest du die Liste jederzeit von Hand. Mit den Pfeiltasten wählst du aus, mit Enter übernimmst du den Eintrag.
Vorgeschlagen werden:
- Anweisungen und eingebaute Funktionen von opsi-script,
- Funktionen der uib-Bibliotheken, jeweils mit dem nötigen
importLib "<datei>" als Herkunft, - Funktionen, die im Paket selbst mit
DefFunc definiert sind (siehe Funktionen des Pakets
), - Variablen der aktuellen Datei, sobald du
$ tippst, - Konstanten wie
%ScriptPath%, sobald du % tippst, - Sektionen der Datei,
- Snippets, gekennzeichnet mit „Snippet · Allgemein“.
Übernimmst du eine Funktion, setzt der Editor die Klammern gleich mit und stellt den Cursor hinein. Innerhalb der Klammern zeigt ein kleiner Hinweis die Signatur; der Parameter, an dem du gerade schreibst, ist fett.
Hilfe zu Befehlen
Fährst du mit der Maus über einen Befehl, eine Funktion, eine Variable oder eine Konstante, erscheint ein Hinweis:
- bei Befehlen und Funktionen die Signatur und eine Kurzbeschreibung, ggf. mit „seit opsi-script 4.12“,
- bei Variablen die Art der Deklaration und „deklariert in Zeile 5“,
- bei Konstanten deren Bedeutung.
Die ausführliche Hilfe steht im Reiter Hilfe der Seitenleiste: Name, Signatur, Beschreibung, Kategorie und Herkunft (z. B. die Bibliothek oder die Datei mit Zeilennummer). Der Reiter zeigt immer die Hilfe zum zuletzt angefragten Befehl, auch wenn du nur mit dem Mauszeiger darauf zeigst. Mit F1 auf dem Befehl oder über das Kontextmenü Hilfe zum Befehl springt die Seitenleiste direkt auf den Reiter Hilfe.

Findet der Editor keinen Eintrag, steht dort „Keine Hilfe zu „Messagebox“ gefunden.“ Die Beschreibungen sind Zusammenfassungen aus dem opsi-script-Handbuch 4.3 der uib GmbH (CC BY-SA 4.0).
Diagnose
Während du schreibst, prüft der Editor die aktuelle Datei und markiert Auffälligkeiten im Text und am linken Rand. Fährst du mit der Maus über eine Markierung, siehst du die Meldung. Die Zähler „2 Fehler“ und „5 Warnungen“ in der Werkzeugleiste fassen das Ergebnis zusammen.

| Art | Meldung | Bedeutung |
|---|
| Fehler | „Sektion [x] ist nicht definiert“ | Die Datei ruft eine Sektion auf, die es nicht gibt. |
| Hinweis | „Sektion [x] ist in dieser Datei nicht definiert (evtl. in einer eingebundenen Datei)“ | Wie oben, aber die Sektion kann aus einer eingebundenen Datei stammen (bei sub_-Sektionen und Dateien mit Includes). |
| Warnung | „Variable $x$ wird deklariert, aber in dieser Datei nicht verwendet“ | Die Variable ist überflüssig. |
| Warnung | „Variable $x$ wird gesetzt, aber in dieser Datei nicht gelesen“ | Der Wert der Variable wird nie benutzt. |
Hinweis
Die Prüfung betrachtet nur die geöffnete Datei. Variablen oder Sektionen, die in einer eingebundenen Datei verwendet werden, können deshalb als unbenutzt gemeldet werden.
Navigieren und falten
- Gehe zu Definition: F12 oder Strg+Klick auf eine Variable oder Sektion springt zu der Zeile, in der sie definiert ist. Steht eine aufgerufene Sektion nicht in dieser Datei (Hinweis „Sektion … ist in dieser Datei nicht definiert“), sucht oPBWeb sie in den anderen Scripten des Pakets und öffnet die Datei an der Definition. Findet sich keine, meldet oPBWeb „Sektion … ist in keinem Script des Pakets definiert.“
- Alle Vorkommen auswählen: Strg+Umschalt+L markiert alle Stellen des Worts unter dem Cursor; du kannst sie dann gemeinsam ändern.
- Falten: Jede Sektion (
[Actions], [Files_copy] …) lässt sich über die Marke am Rand ein- und ausklappen. - Seitenleiste Variablen: Ein Klick auf einen Eintrag springt in die Zeile (siehe unten).
Das Kontextmenü
Ein Rechtsklick in den Text oder Umschalt+F10 öffnet das Kontextmenü. Du kannst es auch mit der Tastatur bedienen: Pfeiltasten, Enter oder Leertaste zum Ausführen, → öffnet das Untermenü, Esc schließt.
| Eintrag | Tastenkürzel |
|---|
| Gehe zu Definition | F12 |
| Alle Vorkommen auswählen | Strg+Umschalt+L |
| Hilfe zum Befehl | F1 |
| Vorschläge anzeigen | Strg+Leertaste |
| Snippet einfügen ▸ | Untermenü nach Kategorien |
| Snippet aus Auswahl erstellen … | – |
| Ausschneiden | Strg+X |
| Kopieren | Strg+C |
| Einfügen | Strg+V |
| Kommentar umschalten | Strg+Umschalt+C |
| Sektion falten | Strg+Umschalt+[ |
| Alles falten | Strg+Alt+[ |
| Alles entfalten | Strg+Alt+] |
| Suchen/Ersetzen | Strg+F |
Einträge, die den Text ändern, sind in schreibgeschützten Dateien ausgegraut. Erlaubt dein Browser keinen Zugriff auf die Zwischenablage, meldet oPBWeb „Kein Zugriff auf die Zwischenablage – bitte Strg+C/V verwenden.“
Tastenkürzel
Auf dem Mac gilt ⌘ statt Strg und ⌥ statt Alt.
| Tastenkürzel | Wirkung | Dateien |
|---|
| Strg+S | Datei speichern | alle |
| Strg+Z / Strg+Y | Rückgängig / Wiederholen | alle |
| Strg+F | Suchen/Ersetzen (Leiste oben im Editor) | alle |
| F3 / Umschalt+F3 | nächster / vorheriger Treffer | alle |
| Strg+/ oder Strg+Umschalt+C | Kommentar umschalten | alle |
| Tab | einrücken | alle |
| Alt+Ziehen mit der Maus | rechteckige Auswahl | alle |
| Strg+Leertaste | Vorschläge anzeigen | opsi-script |
| F1 | Hilfe zum Befehl unter dem Cursor | opsi-script |
| F12 oder Strg+Klick | Gehe zu Definition | opsi-script |
| Strg+Umschalt+L | alle Vorkommen auswählen | opsi-script |
| Umschalt+F10 | Kontextmenü öffnen | opsi-script |
| Tab / Umschalt+Tab | nach dem Einfügen eines Snippets zum nächsten / vorherigen Platzhalter | opsi-script |
Die Seitenleiste
Bei opsi-Scripten steht rechts neben dem Text die Seitenleiste mit vier Reitern. Mit Werkzeugleiste ausblenden in der Werkzeugleiste des Reiters blendest du sie aus, mit Werkzeugleiste einblenden wieder ein.
Snippets
Hier findest du alle Snippets, die du verwenden darfst: die globalen und deine eigenen (Abzeichen „eigen“). Sie sind nach Kategorien gruppiert; das Feld „Snippets filtern …“ grenzt die Liste ein. Zeigst du mit der Maus auf ein Snippet, erscheint unten eine Vorschau der ersten zehn Zeilen mit hervorgehobenen Platzhaltern. Ein Klick auf eine Kategorie klappt sie ein oder aus.
Ein Snippet einfügen:
- Setz den Cursor an die Stelle im Script, an der das Snippet stehen soll.
- Doppelklick in der Seitenleiste auf das Snippet oder steuere es mit der Tab-Taste an und drück Enter. Alternativ ziehst du das Snippet mit der Maus an die gewünschte Stelle im Text, wählst es im Kontextmenü unter Snippet einfügen oder übernimmst es aus der Vervollständigung.
- Enthält das Snippet Platzhalter der Form
${Name}, ist der erste davon markiert. Überschreib ihn und spring mit Tab zum nächsten Platzhalter.
Über den Link Snippets verwalten gelangst du zur Snippet-Verwaltung, siehe Snippets
.
Variablen
- Definierte Variablen: alle Variablen der Datei mit Art (
DefVar, DefStringList) und Zeile. - Sektionen: alle Sektionen der Datei mit Zeile.
- Konstanten: die Konstanten von opsi-script mit Beschreibung.
Ein Klick auf eine Variable oder Sektion springt in die zugehörige Zeile.
Warnungen

Listet alle Fehler, Warnungen und Hinweise der Datei untereinander, Fehler zuerst, mit Zeilennummer. Die Zahl am Reiter nennt ihre Anzahl. Ein Klick auf einen Eintrag springt in die Zeile. Bei Sektionen, die in einer anderen Datei stehen können, führt Gehe zu Definition unter der Meldung direkt zur Definition in einem anderen Script des Pakets.
Hilfe
Zeigt die ausführliche Hilfe zum zuletzt angefragten Befehl, siehe Hilfe zu Befehlen
. Ist noch nichts angefragt, steht dort „F1 auf einem Befehl zeigt hier die Hilfe an.“
Snippet aus Auswahl erstellen
Code, den du öfter brauchst, machst du direkt im Editor zu einem eigenen Snippet.
- Markiere den gewünschten Text im Script.
- Öffne mit einem Rechtsklick das Kontextmenü und wähl Snippet aus Auswahl erstellen ….
- Im Dialog „Snippet aus Auswahl“ prüfst du den Namen. Vorgeschlagen wird die erste nicht leere Zeile der Auswahl (höchstens 60 Zeichen).
- Wähl eine Kategorie oder leg mit Neue Kategorie eine an und gib den Namen der Kategorie ein.
- Wähl die Sichtbarkeit: Nur für mich oder – nur als Administrator – Global.
- Klick auf Speichern. oPBWeb meldet „Snippet gespeichert“; das Snippet steht sofort in der Seitenleiste zur Verfügung.
Tipp
Stellen, die sich bei jeder Verwendung ändern, schreibst du als Platzhalter ${name} ins Snippet. Nach dem Einfügen springst du mit Tab von Platzhalter zu Platzhalter. Platzhalter setzt du bequem in der Snippet-Verwaltung mit Auswahl als Platzhalter.
Funktionen des Pakets
Funktionen, die du in einem Script des Pakets mit DefFunc definierst, kennt der Editor in allen Scripten desselben Pakets. Sie erscheinen in der Vervollständigung und in der Hilfe, jeweils mit Datei und Zeile der Definition als Herkunft.
Als Beschreibung übernimmt oPBWeb die Kommentarzeilen direkt über dem DefFunc. Kommentare im Stil der uib-Bibliotheken mit @Description und @Returns werden ausgewertet:
; @Description Liefert den Installationspfad des Produkts
; @Returns Pfad als String
DefFunc GetInstallDir(val $Arch$ : string) : string
...
EndFunc
Die Liste der Funktionen wird aktualisiert, sobald du eine Datei gespeichert hast.
Speichern
Mit Strg+S oder der Schaltfläche Speichern in der Werkzeugleiste des Reiters speicherst du die Datei. oPBWeb bestätigt mit „Gespeichert“.
Ungespeicherte Änderungen gehen nicht unbemerkt verloren:
- Schließt du einen geänderten Reiter, fragt oPBWeb „Ungespeicherte Änderungen an setup.opsiscript verwerfen?“.
- Wechselst du die Version oder verlässt du den Editor, kommt „Es gibt ungespeicherte Änderungen. Trotzdem verlassen?“.
- Schließt oder lädst du das Browserfenster neu, warnt der Browser.
Hinweis
Solange eine Datei ungespeicherte Änderungen hat, kannst du das Paket weder bauen noch installieren. Speichere zuerst alle Dateien, siehe Bauen und verteilen
.
Bauen und verteilen
Pakete bauen, auf Depots installieren und deinstallieren, auf andere Stufen übernehmen, Versionen freigeben, zurück auf Entwurf setzen und neue Versionen anlegen.
Rollen: Packager, Releaser
Überblick
Dieses Kapitel beschreibt den Weg einer Paketversion vom Entwurf bis auf die Depots: Bauen erzeugt die .opsi-Datei, Installieren … bringt sie auf ein oder mehrere Depots und gibt die Version dabei frei, Übernehmen … bringt eine getestete Version unverändert auf die Depots der nächsten Stufe. Alle Aktionen findest du in der Werkzeugleiste des Reiters control im Paket-Editor
und im Menü ⋯ (Weitere Aktionen).
Bauen, Installieren auf Test- und Staging-Depots und die übrigen Aktionen in diesem Kapitel brauchen mindestens die Rolle Packager. Für produktive Depots ist die Rolle Releaser nötig. Mit der Rolle Leser kannst du gebaute Pakete nur herunterladen.
Der Lebenszyklus einer Version
Entwurf ──Bauen (beliebig oft)──► „gebaut“
▲ Änderung → „seit dem Bauen geändert“ → erneut bauen
│
│ Installieren … (nur mit aktuellem Build)
│ ▼
└── Zurück auf Entwurf ── Freigegeben (schreibgeschützt)
└── Neue Version → neuer Entwurf
| Status | Bedeutung |
|---|
| Entwurf | Die Version lässt sich bearbeiten und beliebig oft bauen. |
| Freigegeben | Die Version wurde installiert und ist schreibgeschützt. |
Bauen allein gibt eine Version nicht frei. Freigegeben wird sie erst durch das Installieren auf einem Depot.
Bauen
- Öffne die Version im Paket-Editor und wechsle auf den Reiter control.
- Speichere alle Änderungen – im control und in allen geöffneten Dateien. Solange etwas ungespeichert ist, bleibt Bauen ausgegraut („Bitte zuerst alle Änderungen speichern.“).
- Klick auf Bauen. Die Schaltfläche zeigt „Baut …“, und unten im Panel JOBS läuft das Protokoll des Build-Jobs mit.
- Nach dem Ende meldet oPBWeb „Paket gebaut“ bzw. „Build fehlgeschlagen“. Neben der Versionsauswahl erscheint das Abzeichen gebaut.

Du kannst eine Version im Status Entwurf so oft bauen, wie du willst. Jeder Build ersetzt den vorherigen; die Version bleibt bearbeitbar.
Das Abzeichen „gebaut“
Das Abzeichen zeigt, ob der letzte Build noch zum aktuellen Stand der Version passt:
- gebaut – Der Build entspricht dem aktuellen Stand. Du kannst installieren.
- seit dem Bauen geändert – Seit dem letzten Build hast du control-Daten, Properties, Abhängigkeiten oder Dateien geändert. Bau die Version erneut, bevor du sie installierst.
Ohne Abzeichen wurde die Version noch nie gebaut.
Wenn der Build fehlschlägt
Das Protokoll im Panel JOBS (und unter Jobs
) nennt den Grund. Häufige Ursachen:
| Meldung | Ursache und Abhilfe |
|---|
| „Script Datei (Aktion) fehlt in CLIENT_DATA.“ | Im control ist für eine Aktion ein Script eingetragen, das es nicht gibt. Leg die Datei an oder korrigiere den Eintrag unter Produkt › Scripte je Aktion. |
| „Die Version wurde während des Builds geändert. Bitte erneut bauen.“ | Jemand hat während des Bauens gespeichert. Bau erneut. |
| „Für diese Version läuft bereits ein Build.“ | Warte, bis der laufende Build fertig ist. |
Warnungen im Protokoll (kein Script für irgendeine Aktion, keine Dateien in CLIENT_DATA/) brechen den Build nicht ab, deuten aber meist auf ein unvollständiges Paket hin.
Gebautes Paket herunterladen
Sobald es einen Build gibt, lädst du ihn mit .opsi herunterladen in der Werkzeugleiste herunter. Die Prüfsummendatei holst du über ⋯ › .md5 herunterladen. Beides steht jeder Rolle zur Verfügung, auch für freigegebene Versionen.
Installieren
Installieren … überträgt den Build auf die gewählten Depots und installiert ihn dort. Die Schaltfläche ist nur aktiv, wenn
- die Version gebaut ist und das Abzeichen gebaut zeigt (sonst: „Bitte zuerst bauen: Die Version wurde noch nicht gebaut oder seitdem geändert.“) und
- es keine ungespeicherten Änderungen gibt.
Achtung
Installieren gibt die Version frei; danach ist sie schreibgeschützt. Die Freigabe erfolgt bereits, wenn der Installations-Job startet, damit sich die Version während der Übertragung nicht mehr ändert. Wird die Version dabei auf keinem Depot installiert – weil die Installation überall fehlschlägt oder du den wartenden Job abbrichst –, ist sie danach wieder ein Entwurf. Klappt die Installation auf mindestens einem Depot, bleibt sie freigegeben. Willst du danach noch etwas ändern, nutze Zurück auf Entwurf oder Neue Version.
Klick auf Installieren …. Der Dialog „Installieren: firefox 128.0-1“ öffnet sich.

Wähl in der Tabelle die Depots aus. Die Tabelle enthält die Depots aller Configserver. Für jedes Depot siehst du:
- Depot – die Depot-ID, beim Depot auf dem Configserver selbst mit dem Zusatz „Configserver“,
- Configserver – der Name des Configservers, zu dem das Depot gehört,
- Stufe – die wirksame Stufe Produktion, Staging oder Test; kursiv, wenn das Depot sie von seinem Configserver erbt,
- Installiert – die dort installierte Version und den Zeitpunkt des letzten Abgleichs.
Vorausgewählt sind die Depots, auf denen du zuletzt installiert hast.
Setz bei Bedarf die Optionen (siehe unten).
Prüf den Zähler „2 von 3 Depots ausgewählt“ und klick auf Installieren.
Der Dialog schließt sich, das Panel JOBS zeigt das Protokoll. Am Ende meldet oPBWeb „Job erfolgreich abgeschlossen“ oder „Job fehlgeschlagen“.
Die Depots werden nacheinander bearbeitet. Ist ein Depot gerade durch einen anderen Job belegt, wartet die Installation, bis es frei ist.
Gesperrte Depots im Dialog
Nicht jedes Depot lässt sich auswählen. Der Grund steht in der letzten Spalte:
| Hinweis | Bedeutung |
|---|
| „erfordert Rolle Releaser“ | Das Depot hat die Stufe Produktion, du hast aber nur die Rolle Packager. Test- und Staging-Depots darfst du als Packager bespielen. |
| „deaktiviert“ | Ein Administrator hat das Depot deaktiviert. |
| „nicht mehr vorhanden“ | Der Configserver meldet das Depot nicht mehr. |
Depots erben die Stufe ihres Configservers; neue Configserver stehen zunächst auf Produktion. Welche Server und Depots Test- oder Staging-Stufe haben, legt ein Administrator fest, siehe opsi-Server
und Depot-Verwaltung
. Hast du mindestens ein produktives Depot ausgewählt, weist der Dialog mit „Mindestens ein produktives Depot ist ausgewählt.“ darauf hin.
Sind gar keine Depots bekannt, erscheint „Keine Depots bekannt. Bitte unter „Depots“ abgleichen.“ – siehe Depots
.
Optionen beim Installieren
- Setup auf allen Clients anfordern, auf denen das Produkt installiert ist – Nach der Installation setzt oPBWeb auf jedem gewählten Depot für alle Clients, auf denen das Produkt bereits installiert ist, die Aktionsanforderung setup. Clients ohne das Produkt bleiben unberührt. So verteilst du ein Update gezielt an die bisherigen Installationen.
- Installation erzwingen (force), auch wenn das Produkt gesperrt ist – Installiert auch dann, wenn das Produkt auf dem Depot gesperrt ist, z. B. nach einer abgebrochenen Installation. Alternativ entsperrst du das Produkt unter Depots
.
Freigegebene Versionen
Nach der Installation ist die Version freigegeben. Im Editor erscheint der Hinweis „Version 128.0-1 ist freigegeben (installiert) und schreibgeschützt. Für Änderungen eine neue Version anlegen oder zurück auf Entwurf setzen.“ mit Dateiname und Größe des Builds sowie den Schaltflächen Neue Version und Zurück auf Entwurf. Alle Formulare, der Dateibaum und der Scripteditor sind schreibgeschützt.

Eine freigegebene Version kannst du jederzeit erneut installieren, z. B. auf weiteren Depots. Installieren … ist dann die hervorgehobene Schaltfläche.
Auf andere Stufe übernehmen
Rollen: Packager, Releaser
Ein Paket, das auf den Test-Depots funktioniert, bringst du mit dieser Aktion unverändert auf die Depots der nächsten Stufe. Übernommen wird genau das Paket, das auf den Depots der Quellstufe installiert ist – derselbe Build, kein neuer. Deshalb lassen sich nur freigegebene Versionen übernehmen.

oPBWeb hat einen gemeinsamen Paketbestand für alle Configserver. Was auf welchem Depot installiert ist, unterscheidet sich je Server und kommt aus dem letzten Abgleich der Depots
.
Typischer Ablauf
- Auf dem Test-Configserver entwickeln: aus der Workbench importieren, bearbeiten, bauen und auf den Test-Depots installieren. Dabei wird die Version freigegeben.
- Testen und die Version mit Übernehmen … von Test nach Staging bringen.
- Nach dem Test auf Staging die Version von Staging nach Produktion übernehmen. Dafür ist die Rolle Releaser nötig.
Dialog öffnen
- Übernehmen … in der Werkzeugleiste der Paketliste öffnet den Dialog „Pakete auf andere Stufe übernehmen“ für alle Pakete.
- Auf andere Stufe übernehmen … im Abschnitt Verteilung der Paketdetails öffnet denselben Dialog nur für das ausgewählte Paket („firefox auf andere Stufe übernehmen“).
Pakete übernehmen
Wähl oben Von (Quellstufe, voreingestellt Test) nach (Zielstufe, voreingestellt Staging). Quell- und Zielstufe müssen verschieden sein.
Prüf unter Ziel-Depots die Depots, auf die übernommen wird. Angeboten werden alle aktiven Depots der Zielstufe, auf allen Configservern. Vorausgewählt sind alle, die du ändern darfst; produktive Depots ohne die Rolle Releaser sind gesperrt („erfordert Rolle Releaser“).
Prüf die Tabelle der Pakete:
| Spalte | Inhalt |
|---|
| Product-ID | Kennung des Produkts |
| Version auf … (z. B. Version auf Test) | die neueste Version, die auf einem Depot der Quellstufe installiert ist |
| Auf den Ziel-Depots | „überall aktuell“ oder „fehlt auf 2 von 3“, dazu die Versionen, die stattdessen auf den Ziel-Depots liegen |
Der Chip Nur ausstehende (voreingestellt aktiv, nur im Dialog für alle Pakete) blendet Pakete aus, die auf allen Ziel-Depots schon aktuell sind. Vorausgewählt sind alle ausstehenden Pakete, die sich übernehmen lassen. Übernehmbare Pakete stehen oben.
Setz bei Bedarf die Optionen:
- Setup auf allen Clients anfordern, auf denen das Produkt installiert ist und Installation erzwingen (force), auch wenn das Produkt gesperrt ist – wie beim Installieren
.
- Auch auf die Workbench der Ziel-Configserver schreiben (vorhandene Projektordner werden überschrieben) – schreibt die Version zusätzlich als Projektordner in die Workbench jedes Configservers, zu dem ein Ziel-Depot gehört.
Prüf den Zähler „Pakete: 2 · Ziel-Depots: 3“ und klick auf Übernehmen (n).
oPBWeb startet einen Installations-Job pro Version und, falls gewählt, einen Export-Job pro Version und Ziel-Configserver. Es meldet „Jobs gestartet: 3“. Jobs für dasselbe Depot laufen nacheinander. Den Fortschritt verfolgst du unter Jobs
.
Warum lässt sich ein Paket nicht übernehmen?
Pakete ohne Häkchen zeigen in der Spalte Auf den Ziel-Depots den Grund:
| Hinweis | Bedeutung |
|---|
| „nicht in oPBWeb“ | Das Produkt gibt es nur auf den Depots, nicht in oPBWeb. |
| „in oPBWeb wieder Entwurf (kein getesteter Build)“ | Die Version wurde nach dem Test mit Zurück auf Entwurf wieder bearbeitbar gemacht. Der getestete Build existiert nicht mehr. Bau und installier sie erneut auf der Quellstufe. |
| „archiviert“ | Das Paket ist archiviert. |
Hast du ein produktives Depot ausgewählt, weist der Dialog mit „Mindestens ein produktives Depot ist ausgewählt.“ darauf hin.
Deinstallieren
Mit ⋯ › Deinstallieren … entfernst du das Produkt von Depots.
- Öffne ⋯ und wähl Deinstallieren …. Der Dialog „Deinstallieren: firefox“ öffnet sich.
- Vorausgewählt sind alle Depots, auf denen das Produkt installiert ist. Depots ohne das Produkt sind mit „nicht installiert“ gesperrt; die Stufenregel gilt wie beim Installieren.
- Prüf die Optionen:
- Dateien im Depot löschen (voreingestellt) – entfernt auch die Paketdateien vom Depot.
- Deinstallation erzwingen (force) – deinstalliert auch, wenn das Produkt gesperrt ist.
- Klick auf Deinstallieren. Das Protokoll erscheint im Panel JOBS.
Deinstallieren bezieht sich auf das Produkt, nicht auf die gerade geöffnete Version. Der Status der Version in oPBWeb ändert sich dadurch nicht.
Zurück auf Entwurf
Mit Zurück auf Entwurf machst du eine freigegebene Version wieder bearbeitbar, ohne die Versionsnummer zu ändern. Das ist sinnvoll, wenn ein Fehler auffällt, die Versionsnummer aber gleich bleiben soll.
- Klick im Hinweis der freigegebenen Version auf Zurück auf Entwurf.
- Der Dialog „Version 128.0-1 wieder bearbeiten“ erklärt die Folgen. Ist die Version bereits auf Depots installiert, nennt er diese.
- Bestätige mit Zurück auf Entwurf. oPBWeb meldet „Version ist wieder bearbeitbar“.
Achtung
Auf den Depots bleibt das alte Paket installiert, bis du neu baust und erneut installierst. Danach liegt dort ein Paket mit gleicher Versionsnummer, aber anderem Inhalt. Clients, die das Produkt schon haben, bemerken die Änderung nicht von selbst – nutze dafür beim Installieren die Option Setup auf allen Clients anfordern, ….
Solange für die Version ein Job wartet oder läuft, ist Zurück auf Entwurf nicht möglich.
Neue Version
Neue Version legt eine bearbeitbare Kopie der aktuellen Version mit allen Daten und Dateien an. Du findest die Aktion im Hinweis einer freigegebenen Version und im Menü ⋯; sie funktioniert für Entwürfe und freigegebene Versionen.
- Klick auf Neue Version.
- Prüf Produktversion und Paketversion. Vorgeschlagen wird dieselbe Produktversion mit um eins erhöhter Paketversion; ist die Paketversion keine reine Zahl, wird
.1 angehängt. - Klick auf Anlegen. Der Editor öffnet die neue Version im Status Entwurf.
Denk daran, in der neuen Version einen Changelog-Eintrag anzulegen, siehe Paket-Editor
.
In Workbench exportieren
Mit ⋯ › In Workbench exportieren … schreibst du die Version als Projektordner in die Workbench eines Configservers, z. B. um dort mit opsi-makepackage oder anderen Werkzeugen weiterzuarbeiten. Das geht für Entwürfe und freigegebene Versionen.
- Öffne ⋯ und wähl In Workbench exportieren ….
- Wähl unter Configserver den Server, in dessen Workbench du schreiben willst (Name und Stufe; vorbelegt ist der zuletzt gewählte, sonst der erste Server der Stufe Test).
- Gib den Projektordner an. Vorgeschlagen wird die Product-ID;
/ und \ sind nicht erlaubt. - Gibt es den Ordner schon, setz das Häkchen Vorhandenen Ordner überschreiben (überzählige Dateien in den Paketordnern werden gelöscht). Ohne Häkchen schlägt der Export bei einem vorhandenen Ordner fehl.
- Klick auf Exportieren. Nach dem Job meldet oPBWeb „In die Workbench exportiert“.
Geschrieben werden nur OPSI/, CLIENT_DATA/ und SERVER_DATA/. Andere Inhalte des Projektordners bleiben erhalten. Nach dem Export zeigt die Paketliste den Projektordner unter Workbench
. Den umgekehrten Weg beschreibt Pakete
(Workbench …). Änderungen, die später direkt auf der Workbench entstehen, holst du mit Mit Workbench abgleichen … zurück, siehe Paket-Editor
.
Job-Ausgabe verfolgen
Bauen, Installieren, Deinstallieren, das Übernehmen auf andere Stufen und der Export laufen als Jobs im Hintergrund. Du kannst währenddessen weiterarbeiten.
- Das Panel JOBS unten im Editor öffnet sich beim Start automatisch. Es listet die letzten 30 Jobs dieses Produkts und zeigt das Protokoll des gewählten Jobs live an. Mit × schließt du das Panel, mit Jobs ▴ öffnest du es wieder.
- Die Statusleiste zeigt den Fortschritt der Jobs, die du in diesem Browser-Tab gestartet hast.
- Alle Jobs aller Benutzer findest du unter Jobs
.
Snippets
Wiederverwendbare Codebausteine mit Platzhaltern anlegen, ordnen, importieren und exportieren.
Rollen: Leser, Packager, Releaser, Administrator
Überblick
Snippets sind Textbausteine für opsi-script, die du im Scripteditor per Doppelklick, Autovervollständigung oder Kontextmenü einfügst. Die Ansicht Snippets in der Aktivitätsleiste ist der Ort, an dem du sie verwaltest: Kategorien anlegen, Snippets schreiben und testen, Dateien importieren und exportieren.
Leser sehen alle Snippets, können aber nichts ändern. Ab der Rolle Packager legst du eigene Snippets an und pflegst die gemeinsamen Kategorien.
Globale und eigene Snippets
Jedes Snippet hat eine Sichtbarkeit:
| Sichtbarkeit | Wer sieht es? | Wer darf es ändern? |
|---|
| Global (für alle) | alle Benutzer | nur Administratoren |
| Nur für mich | nur du | nur du |
In der Liste erkennst du die Sichtbarkeit am Badge global bzw. eigen. Kategorien sind dagegen für alle gemeinsam: Jeder Packager kann Kategorien anlegen, umbenennen und löschen, und alle sehen dieselbe Kategorienstruktur.
Nur für Administratoren
Globale Snippets anlegen, ändern, verschieben und löschen dürfen nur Administratoren. Öffnest du als Packager ein globales Snippet, siehst du den Hinweis „Globales Snippet – nur Admins können es ändern.“ Mit Duplizieren legst du dir eine eigene Kopie an, die du frei bearbeiten kannst.
Aufbau der Ansicht

Die Ansicht hat drei Spalten. Die Breite der linken und rechten Spalte kannst du durch Ziehen am Rand ändern.
- Links – SNIPPETS: Schaltflächen Neues Snippet, Neue Kategorie, Snippets importieren und Snippets exportieren, darunter der Filter Alle | Global | Eigene und das Suchfeld „Filtern …“ (durchsucht Name und Text). Darunter der Kategorienbaum mit der Anzahl der Snippets je Kategorie.
- Mitte: das ausgewählte Snippet mit den Feldern Name, Kategorie, Sichtbarkeit und Beschreibung, dem Codeeditor und der Leiste PLATZHALTER. Oben rechts Duplizieren, Löschen, Verwerfen und Speichern.
- Rechts – TESTEN: ein kleiner Scripteditor, in dem du ausprobierst, wie sich das Snippet beim Einfügen verhält.
Kategorien verwalten
Jedes Snippet gehört zu genau einer Kategorie. Bevor du das erste Snippet anlegen kannst, muss es mindestens eine Kategorie geben.
- Anlegen: Klick auf Neue Kategorie. Die Kategorie heißt zunächst „Neue Kategorie“.
- Umbenennen: Doppelklick auf den Kategorienamen oder Klick auf ✎ (Kategorie umbenennen). Gib den neuen Namen ein und bestätige mit Enter; Esc bricht ab. Kategorienamen müssen eindeutig sein.
- Löschen: Klick auf × neben der Kategorie. Das geht nur bei leeren Kategorien („Nur leere Kategorien können gelöscht werden“).
- Snippet verschieben: Zieh ein Snippet mit der Maus auf eine andere Kategorie. Globale Snippets können nur Administratoren verschieben.
Snippet anlegen und bearbeiten

- Klick auf Neues Snippet. Es entsteht ein Entwurf mit dem Namen „Neues Snippet“ und dem Text
; ${Kommentar}. - Gib einen aussagekräftigen Name ein und wähl die Kategorie.
- Wähl die Sichtbarkeit. Als Packager steht nur Nur für mich zur Verfügung; Global (für alle) ist Administratoren vorbehalten.
- Trag optional eine Beschreibung ein. Sie erscheint später in der Autovervollständigung des Scripteditors.
- Schreib den Snippet-Text im Editor. Er unterstützt opsi-script-Hervorhebung, Platzhalter werden farbig markiert.
- Klick auf Speichern.
Solange es ungespeicherte Änderungen gibt, zeigt ein Punkt neben dem Titel das an. Verwerfen stellt den gespeicherten Stand wieder her. Wechselst du mit ungespeicherten Änderungen zu einem anderen Snippet, fragt oPBWeb „Ungespeicherte Änderungen verwerfen?“.
Löschen entfernt das Snippet nach einer Rückfrage endgültig.
Platzhalter
Platzhalter markieren die Stellen, die du nach dem Einfügen anpassen musst. Sie haben die Form ${name}, zum Beispiel:
; ${Kommentar}
Winbatch_${Sektionsname}
Nach dem Einfügen springst du mit der Tab-Taste von Platzhalter zu Platzhalter und überschreibst ihn jeweils.
- Die Leiste PLATZHALTER unter dem Editor listet alle Platzhalter des Snippets auf (oder „keine“).
- Markiere ein Stück Text im Editor und klick auf Auswahl als Platzhalter, um es in
${…} einzuschließen.
Snippet testen
Im Bereich TESTEN probierst du das Snippet aus, bevor du es im echten Script verwendest:
- Setz den Cursor im Testeditor an die gewünschte Stelle.
- Klick auf Einfügen. Das Snippet wird genau wie im Scripteditor eingefügt.
- Spring mit Tab durch die Platzhalter.
- Klick auf Zurücksetzen, um den Testeditor wieder auf den Beispieltext zu bringen.
Snippet aus dem Scripteditor erstellen
Du kannst ein Snippet auch direkt aus einem Script heraus anlegen:
- Markiere im Scripteditor den gewünschten Text.
- Öffne mit Rechtsklick das Kontextmenü und wähl Snippet aus Auswahl erstellen ….
- Im Dialog „Snippet aus Auswahl“ prüfst du Name (vorbelegt mit der ersten nicht leeren Zeile), Kategorie und Sichtbarkeit. Über „Neue Kategorie“ legst du bei Bedarf gleich eine neue Kategorie an.
- Klick auf Speichern.
Wie du Snippets im Scripteditor einfügst, beschreibt Scripteditor
.
Snippets importieren
oPBWeb liest zwei Dateiformate:
- JSON-Exporte von oPBWeb (
.json, Format „opbweb-snippets“), etwa von einer anderen oPBWeb-Installation oder einem Kollegen. - Snippet-Dateien des alten ScriptEditors (
opsi.sn-*.def, z. B. opsi.sn.def).
So importierst du:
- Klick auf Snippets importieren.
- Wähl die Sichtbarkeit der importierten Snippets. Packager importieren immer als Nur für mich; global importieren können nur Administratoren.
- Klick auf Datei auswählen … und wähl die Datei aus.
oPBWeb meldet anschließend „42 Snippets importiert, 3 übersprungen“. Übersprungen werden Snippets, die es mit gleichem Namen in derselben Kategorie und Sichtbarkeit schon gibt. Fehlende Kategorien werden automatisch angelegt; Snippets ohne Kategorie landen in „Allgemein“.
Alte Platzhalter
Der alte ScriptEditor schrieb Platzhalter in spitzen Klammern (<name>). Beim Import wandelt oPBWeb sie in ${name} um. Am importierten Snippet siehst du dann den Hinweis „Alte Platzhalter in spitzen Klammern wurden beim Import in ${x} umgewandelt.“ mit einer Liste der Umwandlungen sowie die Herkunft „importiert aus …“.
Snippets exportieren
Klick auf Snippets exportieren (die Schaltfläche gibt es ab der Rolle Packager). Dein Browser lädt die Datei opbweb-snippets.json herunter. Sie enthält alle Snippets, die du sehen darfst, also alle globalen und deine eigenen, jeweils mit Name, Kategorie, Beschreibung und Text. Die Datei kannst du in einer anderen oPBWeb-Installation wieder importieren.
Depots
Configserver und Depots ansehen und abgleichen, installierte Produkte und Repository prüfen, Dateien auf dem Server verwalten und Depots vergleichen.
Rollen: Leser, Packager, Releaser, Administrator
Überblick
Die Ansicht Depots zeigt alle opsi-Configserver, die in oPBWeb eingerichtet sind, und ihre Depots so, wie oPBWeb sie zuletzt gelesen hat. Du siehst, welche Produkte in welcher Version installiert sind, räumst das Repository auf, bearbeitest Dateien direkt auf dem Server und vergleichst die Depots untereinander.
Leser sehen alles, können aber nichts verändern. Was Packager und Releaser auf einem Depot ändern dürfen, hängt von dessen Stufe ab (siehe Stufen und Rollen
). Configserver hinzufügen, bearbeiten und entfernen können nur Administratoren, siehe opsi-Server
.
Configserver und Depots
Links steht ein Baum mit allen Configservern und ihren Depots. Jedes Depot gehört zu genau einem Configserver.
Configserver sind fett dargestellt. Jede Zeile zeigt:
- einen Statuspunkt: grün, wenn die letzte Prüfung erfolgreich war, rot, wenn sie fehlgeschlagen ist, grau, wenn der Server noch nicht geprüft wurde,
- den Namen des Servers und ein Stufen-Badge (Produktion, Staging oder Test),
- darunter die Kurzinfo „Configserver · 3 Depots“.
Depots stehen eingerückt unter ihrem Configserver, jeweils mit Depot-ID, Stufen-Badge und einer Kurzinfo wie „Configserver · 42 Produkte“ (beim Depot auf dem Configserver selbst) oder „17 Produkte“. Ein kursives, helleres Stufen-Badge bedeutet: Das Depot hat keine eigene Stufe und erbt die seines Configservers (Tooltip „vom Configserver geerbt“). Zusätzlich können dort folgende Hinweise stehen:
- deaktiviert: Ein Administrator hat das Depot für oPBWeb abgeschaltet. Du kannst nichts darauf installieren.
- nicht mehr vorhanden: Der Configserver meldet das Depot nicht mehr. oPBWeb behält es mit seinen Einstellungen, bis ein Administrator es entfernt.
Ist noch kein Configserver eingerichtet, steht dort „Noch kein Configserver eingerichtet.“ Das Anlegen übernimmt ein Administrator.
Liste zuklappen und durchsuchen
Bei vielen Depots hilft dir zweierlei:
- Zuklappen: Ein Klick auf den Pfeil vor dem Namen eines Configservers klappt seine Depots zu oder wieder auf. Die Zeile des Servers bleibt sichtbar. oPBWeb merkt sich in diesem Browser, welche Server zugeklappt sind.
- Suchen: Das Feld „Depot suchen“ über der Liste sucht in Depot-ID und Beschreibung. Passt der Name eines Configservers, siehst du alle seine Depots. Während der Suche sind alle Server mit Treffern aufgeklappt. Findet die Suche nichts, steht dort „Kein Depot passt zur Suche.“
Configserver ansehen
Klick auf die Zeile eines Configservers. Als Packager, Releaser oder Leser siehst du rechts eine Übersicht, die du nicht ändern kannst:
- Name und Stufe des Servers,
- URL des Configservers,
- Zustand: „erreichbar“ oder „nicht erreichbar“ mit der Fehlermeldung der letzten Prüfung,
- die Gültigkeit des hinterlegten CA-Zertifikats.
Ab Packager steht oben Abgleichen für genau diesen Server. Administratoren sehen an dieser Stelle stattdessen das Formular des Servers, siehe opsi-Server
.
Depot ansehen
Klick auf ein Depot, um rechts seine Details zu sehen. Oben stehen Depot-ID, Stufe, der Name des Configservers und der Zeitpunkt des letzten Abgleichs („abgeglichen …“).
Abgleichen
Ein Abgleich liest die Depots eines Configservers und ihre installierten Produkte neu. Er läuft als Job; währenddessen steht „Gleicht ab …“ auf der Schaltfläche. Abgleichen kannst du ab der Rolle Packager:
| Schaltfläche | Wirkung | Titel des Jobs |
|---|
| Abgleichen in der Detailansicht eines Depots oder Configservers | gleicht nur diesen Configserver und seine Depots ab | „Depots abgleichen (Server)“ |
| ⟳ oben in der Liste (Tooltip „Alle Configserver abgleichen“) | gleicht alle Configserver nacheinander ab | „Depots aller Configserver abgleichen“ |
Der Abgleich eines Servers ändert nie die Depots eines anderen Servers.
Ein Abgleich über Abgleichen oder ⟳ liest außerdem die Workbench jedes Configservers. Dabei merkt sich oPBWeb, welcher Projektordner welches Paket in welcher Version enthält; das siehst du in der Paketliste unter Workbench
. Ist die Workbench nicht lesbar, meldet der Job das als Warnung und gleicht die Depots trotzdem ab.
oPBWeb prüft zusätzlich alle fünf Minuten (Standard, einstellbar unter Einstellungen → Worker) selbstständig alle Configserver und gleicht die Depots jedes erreichbaren Servers ab; dieser automatische Abgleich erscheint nicht in der Jobliste und liest die Workbench nicht. Die Workbench liest der Worker getrennt davon, standardmäßig stündlich (ebenfalls unter Einstellungen → Worker). Einen manuellen Abgleich brauchst du vor allem, wenn du eine Änderung auf dem Server sofort sehen willst.
Einstellungen des Depots
Unter den Depotdetails stehen die Einstellungen mit Stufe, Dienst-URL und Aktiv sowie Infofelder wie Verwendete URL und Von opsi gemeldet. Bei Stufe bedeutet „wie Configserver (Produktion)“, dass das Depot die Stufe seines Configservers erbt. Ändern können diese Werte nur Administratoren; für alle anderen sind sie schreibgeschützt. Details stehen in Depot-Verwaltung
.
Stufen und Rollen
Jeder Configserver hat eine Stufe: Produktion, Staging oder Test. Seine Depots erben diese Stufe, solange ein Administrator für ein Depot keine eigene festlegt. Die wirksame Stufe eines Depots bestimmt, wer dort schreibende Aktionen ausführen darf:
| Aktion | Test- und Staging-Depot | Produktives Depot |
|---|
| Installieren, Deinstallieren | Packager | Releaser |
| Pakete auf diese Stufe übernehmen | Packager | Releaser |
| Produkte entsperren | Packager | Releaser |
| Dateien aus dem Repository löschen | Packager | Releaser |
Administratoren dürfen alles, was Releaser dürfen. Neue Configserver starten in der Stufe Produktion; ein Administrator stellt Test- und Staging-Server bzw. einzelne Depots um. Fehlt dir die nötige Rolle, blendet oPBWeb die betreffenden Schaltflächen aus oder sperrt das Depot im Dialog.
Wie du ein getestetes Paket von einer Stufe auf die nächste bringst, steht in Bauen und verteilen
.
Tab „Installierte Produkte“

Die Tabelle zeigt alle Produkte, die auf dem Depot installiert sind:
| Spalte | Bedeutung |
|---|
| Product-ID | Kennung des Produkts. Gibt es das Paket in oPBWeb, ist die ID ein Link in den Paket-Editor. |
| Im Depot | installierte Version (Produkt- und Paketversion) |
| oPBWeb (gebaut) | gebaute Version in oPBWeb; orange, wenn sie von der installierten abweicht |
| Typ | Produkttyp |
Mit dem Chip Abweichend von oPBWeb schränkst du die Liste auf Produkte ein, bei denen Depot und oPBWeb unterschiedliche Versionen haben. Das Feld „Filtern …“ sucht nach der Product-ID.
Gesperrte Produkte entsperren
Bricht eine Installation ab, bleibt das Produkt auf dem Depot manchmal gesperrt. Es trägt dann das Badge gesperrt. So hebst du die Sperre auf:
- Setz bei den gesperrten Produkten das Häkchen.
- Klick auf Entsperren (n).
Das Entsperren läuft als Job; danach meldet oPBWeb „2 Produkte entsperrt“. Die Häkchen und die Schaltfläche siehst du nur, wenn du auf diesem Depot schreiben darfst.
Tab „Dateien“
Der Tab Dateien ist ein Dateimanager für die Freigaben des Depots. Je nach Depot gibt es bis zu drei Freigaben als Unter-Tabs:
| Freigabe | Inhalt | Zugriff |
|---|
/workbench | Arbeitsverzeichnis für Paketquellen | lesen für alle, schreiben ab Packager |
/repository | hochgeladene .opsi-Dateien | nur lesen |
/depot | entpackte, installierte Produkte | nur lesen |
/workbench gibt es nur auf dem Configserver und auf Depots, die eine Workbench melden. In schreibgeschützten Freigaben zeigt oPBWeb den Hinweis „/repository ist nur lesbar.“ bzw. „Ändern erfordert die Rolle Packager.“

Navigieren
- Klick auf einen Ordner öffnet ihn; die Zeile ‹ eine Ebene höher führt zurück. Oben siehst du den aktuellen Pfad.
- Das Feld „Filtern …“ filtert den aktuellen Ordner.
- Neu laden liest den Ordner erneut vom Server.
- Ordner im Stammverzeichnis von
/workbench, zu denen es in oPBWeb ein Paket mit gleicher Product-ID gibt, tragen das Badge in oPBWeb.
Dateien ansehen und bearbeiten
Klick auf eine Textdatei (Scripte, control, .ini, .xml, .json, .ps1, .cmd, .log und viele mehr), um sie im Texteditor zu öffnen. opsi-Scripte bekommen dabei dieselbe Hervorhebung wie im Scripteditor. In /workbench kannst du die Datei ändern und mit Speichern zurückschreiben; in den anderen Freigaben ist sie „nur lesbar“.
Der Editor behält Zeichenkodierung (UTF-8 oder CP1252) und Zeilenenden der Datei bei; die Kodierung steht unten im Dialog. Bearbeiten lassen sich Textdateien bis 2 MB. Größere Dateien und Binärdateien lädst du herunter.
Herunterladen
Klick auf eine Datei, die kein Text ist, oder wähl im Kontextmenü (Rechtsklick) Herunterladen. Der Download läuft in zwei Schritten: Zuerst kopiert ein Job die Datei vom Server, danach startet dein Browser den Download. Nur wer den Download ausgelöst hat, kann die Datei abholen.
In der Workbench arbeiten (ab Packager)
In /workbench stehen dir zusätzlich zur Verfügung:
- Neuer Ordner und Neue Datei (Vorschlag
neu.opsiscript) - Dateien hochladen … und Ordner hochladen …
- im Kontextmenü: Umbenennen und Löschen (mit Rückfrage; bei Ordnern samt Inhalt)
Alternativ ziehst du Dateien oder ganze Ordner per Drag & drop in die Liste. Sie landen im aktuell geöffneten Ordner. Der Fortschritt erscheint als „Lade hoch … 45 %“; anschließend kopiert ein Job die Dateien auf den Server und oPBWeb meldet „3 Dateien hochgeladen“.
Paket aus der Workbench übernehmen
Ein Paketverzeichnis in /workbench kannst du direkt in oPBWeb importieren:
- Öffne
/workbench im Stammverzeichnis. - Klick mit der rechten Maustaste auf den Paketordner.
- Wähl In oPBWeb importieren.
Der Import läuft als Job und liest aus der Workbench des Configservers, zu dem das Depot gehört; danach meldet oPBWeb „{name} importiert“. Eine schon vorhandene Version wird dabei nicht überschrieben. Zum Ersetzen und für den Import mehrerer Ordner nutzt du den Dialog Workbench … in der Paketliste, siehe Pakete
.
Tab „Repository“
Das Repository eines Depots enthält die hochgeladenen .opsi-Dateien samt .md5- und .zsync-Prüfdateien. Im Laufe der Zeit sammeln sich dort alte Versionen an.

Beim ersten Öffnen liest oPBWeb das Repository automatisch ein; mit Repository lesen wiederholst du das. Das Lesen läuft als Job. Darüber steht eine Zusammenfassung wie „12 Pakete, 1,4 GB“.
Die Tabelle zeigt Datei, Product-ID, Version und Größe sowie folgende Badges:
- Installiert: Diese Version ist auf dem Depot installiert.
- MD5 fehlt: Ohne
.md5 kann das Depot die Datei nicht prüfen. - ohne zsync: Es fehlt die
.zsync-Datei.
Prüfdateien ohne zugehörige .opsi-Datei listet oPBWeb unter „Verwaiste Prüfsummen“ auf.
Dateien aus dem Repository löschen
- Setz bei den Paketen, die weg sollen, das Häkchen.
- Klick auf Löschen (n).
- Bestätige die Rückfrage „2 Pakete samt .md5 und .zsync aus dem Repository von depot01.example.local löschen?“.
oPBWeb löscht die .opsi-Dateien zusammen mit ihren Prüfdateien. Installierte Produkte bleiben dabei erhalten. Die Häkchen siehst du nur, wenn du auf diesem Depot schreiben darfst (siehe Stufen und Rollen
).
Tab „Vergleich“
Der Tab Vergleich stellt für das ausgewählte Depot drei Versionen jedes Produkts nebeneinander: oPBWeb (gebaut), den Configserver, zu dem das Depot gehört (Spaltenkopf mit dem Zusatz „Configserver“), und das Depot selbst. Wählst du das Depot auf dem Configserver, gibt es nur die beiden Spalten oPBWeb und Configserver. Abweichende Versionen sind orange markiert.

- Der Chip Nur Abweichungen ist standardmäßig aktiv und blendet Produkte aus, die überall gleich sind.
- „Filtern …“ sucht nach der Product-ID.
- Als CSV exportieren speichert den Vergleich über alle Depots aller Configserver als
depot-vergleich-JJJJ-MM-TT.csv, also mehr Spalten, als die Tabelle zeigt. Filter und Nur Abweichungen gelten auch für die Datei; „abweichend“ heißt dort: nicht auf allen Depots gleich. Die Datei ist UTF-8-kodiert (mit BOM) und durch Semikolon getrennt; die Spalten heißen product_id, opbweb und danach je Depot die Depot-ID.
Verwandte Themen
Jobs
Länger laufende Aktionen als Jobs verfolgen, Protokolle lesen und wartende Jobs abbrechen.
Rollen: Leser, Packager, Releaser, Administrator
Überblick
Alles, was länger dauert oder mit einem opsi-Server spricht, führt oPBWeb als Job im Hintergrund aus. Du startest die Aktion, arbeitest weiter und verfolgst den Fortschritt in der Statusleiste, im Paket-Editor oder in der Ansicht Jobs.
Alle Benutzer sehen alle Jobs, auch die der Kollegen, samt Protokoll. So lässt sich nachvollziehen, wer wann was gebaut oder verteilt hat.
Welche Aktionen laufen als Job?
| Aktion | Anzeige in der Spalte Aktion |
|---|
.opsi-Paket importieren | Import |
| Bauen | Bauen |
| Installieren …, Übernehmen … auf andere Stufe | Installieren |
| Deinstallieren … | Deinstallieren |
| Abgleichen der Depots (ein Configserver oder alle) | Depot-Abgleich |
| Bereinigen … des Objektspeichers (nur Administratoren) | Bereinigung |
| Workbench einlesen, importieren, exportieren | technischer Name, z. B. scan_workbench, import_workbench, import_workbench_many (Import mehrerer Projektordner), export_workbench |
| Mit Workbench abgleichen …: vergleichen, übernehmen | compare_workbench, apply_workbench |
| Repository lesen, Repository-Dateien löschen | list_repository, delete_repository_files |
| Produkte entsperren | unlock_products |
| Dateien im Tab Dateien der Depots hoch- und herunterladen | files_upload, files_download |
| CA-Zertifikat holen, Verbindung testen (nur Administratoren) | fetch_opsi_ca, check_opsi_server |
Nur die ersten sechs Aktionen haben einen übersetzten Namen; alle anderen erscheinen mit ihrem technischen Namen. Titel und Protokollzeilen der Jobs kommen vom Server und erscheinen in der Sprache der Oberfläche. Jobs, die vor Version 0.15.0 entstanden sind, behalten ihre deutschen Titel und Protokollzeilen.
Die Jobliste
Öffne Jobs in der Aktivitätsleiste.

Oben stehen die Filter:
- Alle, Laufend, Wartend, Fehlgeschlagen: Chips mit der jeweiligen Anzahl
- Meine: zeigt nur Jobs, die du selbst ausgelöst hast
- Suchfeld „Paket, Depot oder Titel …“
Die Tabelle hat die Spalten Aktion, Titel, Ziel (Paket oder Depot), Status, Ausgelöst von, Start und Dauer. Laufende Jobs zeigen beim Status zusätzlich den Fortschritt in Prozent. Die Liste aktualisiert sich alle paar Sekunden von selbst und zeigt die letzten 200 Jobs („200 von 1.348 Jobs angezeigt“).
Ein Job hat einen dieser Zustände: wartet, läuft, erfolgreich, fehlgeschlagen oder abgebrochen.
Tipp
Über die Befehlssuche (Strg K) erreichst du mit Meine Jobs direkt die gefilterte Liste deiner eigenen Jobs.
Job-Details und Live-Protokoll
Klick auf einen Job in der Liste. Rechts erscheinen Titel, Status, Ziel, Auslöser und Startzeit, ein Fortschrittsbalken, bei Fehlern die Fehlermeldung und darunter das Protokoll.
Bei laufenden Jobs kommen neue Protokollzeilen live hinzu, und die Ansicht scrollt automatisch mit. Die Zeilen sind nach Bedeutung eingefärbt: grün für Erfolg, orange für Warnungen, rot für Fehler.
Im Detailbereich stehen je nach Job diese Schaltflächen:
- Zum Paket: öffnet das betroffene Paket im Paket-Editor (bei Jobs, die zu einem Paket gehören).
- Kopieren: kopiert das komplette Protokoll mit Uhrzeiten in die Zwischenablage, etwa für eine Fehlermeldung an den Administrator.
- Abbrechen: siehe unten.
Jobs abbrechen
Abbrechen kannst du nur Jobs im Zustand wartet, also Jobs, die noch nicht begonnen haben. Ein laufender Job lässt sich nicht abbrechen; er läuft bis zum Ende oder bis zu einem Fehler.
- Eigene wartende Jobs bricht jeder Benutzer selbst ab.
- Wartende Jobs anderer Benutzer kann nur ein Administrator abbrechen.
Wähl den Job aus und klick auf Abbrechen. Der Job erhält den Zustand abgebrochen.
Brichst du einen wartenden Installations-Job ab, der einen Entwurf freigegeben hat, ist die Version danach wieder ein Entwurf.
Hinweis
Jobs warten zum Beispiel, wenn bereits ein anderer Job auf demselben Depot arbeitet. oPBWeb führt Jobs für ein Depot nacheinander aus, damit sich Installationen nicht gegenseitig stören.
Fortschritt in der Statusleiste
Jobs, die du in diesem Browser-Tab gestartet hast, erscheinen rechts in der Statusleiste mit Titel, Fortschrittsbalken und Prozentangabe. Ein Klick darauf öffnet den Job in der Jobliste. Ist kein Job mehr aktiv, zeigt die Statusleiste den zuletzt beendeten Job mit seinem Ergebnis.
Zusätzlich zeigt das Symbol Jobs in der Aktivitätsleiste die Anzahl der laufenden Jobs, die du in diesem Browser gestartet hast.
Bricht die Verbindung zum Server während eines Jobs ab, meldet oPBWeb „Verbindung zum Job verloren“. Der Job selbst läuft auf dem Server weiter; seinen Endstand siehst du in der Jobliste.
Jobs im Paket-Editor
Im Paket-Editor gibt es unten das Panel JOBS. Es listet die letzten Jobs des geöffneten Pakets mit Status und Zeitpunkt und zeigt rechts das Protokoll des ausgewählten Jobs, bei laufenden Jobs live.
Startest du im Editor einen Job, etwa mit Bauen oder Installieren …, öffnet sich das Panel automatisch. Mit × schließt du es; die Schaltfläche Jobs ▴ am unteren Rand blendet es wieder ein.
Mehr zum Bauen und Verteilen steht in Bauen und verteilen
.
Konto und Sprache
Oberflächensprache festlegen, Passwort ändern, abmelden, die Darstellung und die Syntaxfarben im Editor anpassen.
Rollen: Leser, Packager, Releaser, Administrator
Überblick
Die Einstellungen zu deinem eigenen Konto erreichst du über das Avatar-Symbol mit deinen Initialen ganz rechts in der Kopfleiste. Daneben findest du in der Kopfleiste die Umschalter für Sprache und Hell-/Dunkel-Darstellung sowie den Zugang zu diesem Handbuch.
Diese Funktionen stehen allen Benutzern zur Verfügung, unabhängig von der Rolle.
Das Benutzermenü
Klick auf das Avatar-Symbol, um das Benutzermenü zu öffnen.

Oben im Menü stehen dein Anzeigename sowie Benutzername und Rolle, zum Beispiel mmuster · Packager. Darunter folgen Standardsprache, Mein Konto, Passwort ändern und Abmelden.
Mein Konto
Mein Konto im Benutzermenü öffnet eine eigene Seite. Oben stehen deine Kontodaten: Benutzername, Name, E-Mail, Rolle und Herkunft (lokal oder Verzeichnis). Dort legst du auch die Standardsprache fest und änderst mit Passwort ändern dein Passwort, genau wie im Benutzermenü. Darunter folgen die Syntaxfarben im Editor
.
Sprache
oPBWeb kennt zwei Oberflächensprachen: Deutsch und Englisch. Es gibt zwei Wege, die Sprache zu wechseln, die sich in ihrer Wirkung unterscheiden.
| Wo? | Wirkung | Gilt bis |
|---|
| Standardsprache im Benutzermenü | wird in deinem Benutzerkonto gespeichert | dauerhaft, bei jeder Anmeldung und auf jedem Gerät |
| Umschalter DE/EN in der Kopfleiste | gilt nur in diesem Browser-Tab | zur nächsten Anmeldung |
Standardsprache festlegen
- Öffne das Benutzermenü.
- Klick in der Zeile Standardsprache auf DE oder EN.
Die Oberfläche wechselt sofort, und oPBWeb merkt sich die Sprache in deinem Konto. Nach jeder Anmeldung startet oPBWeb in dieser Sprache, auch an einem anderen Rechner oder Browser.
Sprache vorübergehend umschalten
Der Umschalter in der Kopfleiste zeigt die aktuelle Sprache (DE oder EN). Ein Klick schaltet auf die andere Sprache um. Das ist praktisch, wenn du kurz einen englischen Begriff nachsehen oder einem Kollegen etwas auf Englisch zeigen willst.
Die Umstellung gilt nur für den aktuellen Browser-Tab und bleibt auch beim Neuladen der Seite erhalten. Sobald du dich ab- und wieder anmeldest, gilt wieder deine Standardsprache.
Sprache auf der Anmeldeseite
Auch die Anmeldeseite hat einen Sprachumschalter. Vor der Anmeldung kennt oPBWeb dich noch nicht; es verwendet die zuletzt in diesem Browser genutzte Sprache oder, beim ersten Besuch, die Sprache deines Browsers. Nach der Anmeldung übernimmt oPBWeb deine Standardsprache.
Hinweis
Einige Texte bleiben auch in der englischen Oberfläche deutsch: die Beschreibungen der Befehle und Funktionen im Scripteditor (sie stammen aus dem deutschen opsi-script-Handbuch), Titel und Protokolle von Jobs, die vor Version 0.15.0 entstanden sind, und Texte, die opsiconfd unverändert liefert (z. B. HTTP-Fehler). Meldungen des Servers (Fehlermeldungen, Titel und Protokolle von Jobs, Details im Systemstatus) und die Diagnosen im Scripteditor erscheinen in der Sprache der Oberfläche.
Passwort ändern
Diese Funktion gibt es nur für lokale Konten, also Konten, die in oPBWeb selbst angelegt wurden.
- Öffne das Benutzermenü.
- Klick auf Passwort ändern.
- Gib dein Aktuelles Passwort ein.
- Gib das Neue Passwort ein und wiederhole es unter Neues Passwort wiederholen. Das neue Passwort muss mindestens 10 Zeichen lang sein.
- Klick auf Speichern.
Ist das Passwort zu kurz oder stimmen die beiden Eingaben nicht überein, zeigt der Dialog „Mindestens 10 Zeichen.“ bzw. „Die Passwörter stimmen nicht überein.“ an und Speichern bleibt gesperrt.
LDAP-Konten
Meldest du dich mit deinem Verzeichniskonto (LDAP, z. B. Active Directory) an, fehlt der Eintrag Passwort ändern. Dein Passwort änderst du dann wie gewohnt im Verzeichnis, etwa über Windows.
Hast du dein Passwort vergessen, wende dich an einen Administrator. Er kann dir ein neues Passwort setzen, siehe Benutzer und Rollen
.
Abmelden
Klick im Benutzermenü auf Abmelden. oPBWeb beendet deine Sitzung und zeigt wieder die Anmeldeseite. Eine vorübergehend umgeschaltete Sprache wird dabei verworfen.
Hell oder dunkel
Das Mond-Symbol in der Kopfleiste (Hell oder dunkel umschalten) wechselt zwischen heller und dunkler Darstellung. Solange du nichts auswählst, folgt oPBWeb der Einstellung deines Betriebssystems. Deine Wahl speichert der Browser; sie gilt also für diesen Browser, nicht für dein Konto.
Den Umschalter gibt es auch auf der Anmeldeseite und als Befehl in der Befehlssuche (Strg K).
Syntaxfarben im Editor
Auf der Seite Mein Konto stellst du im Abschnitt Syntaxfarben im Editor ein, in welchen Farben der Editor Dateien hervorhebt. Das gilt für alle Editoren in oPBWeb: Scripteditor, Snippets, die Quelltextansicht des control und die Dateien auf dem Depot. Die Einstellung gehört zu deinem Konto und gilt auf jedem Gerät, an dem du dich anmeldest.
So ist der Abschnitt aufgebaut:
- Hell / Dunkel: Für die helle und die dunkle Darstellung gibt es je eine eigene Einstellung. Die Seite zeigt zuerst den Modus, in dem oPBWeb gerade läuft. Der Editor verwendet immer die Farben des aktuellen Modus.
- Dateitypen (Liste links): Standard (alle Dateitypen) gilt für jeden Dateityp ohne eigenes Schema und für Textdateien ohne Hervorhebung. Darunter stehen opsi-script, Shell / Batch, control, Inno Setup, AutoIt, PowerShell, INI / REG / INF, XML, YAML, JSON und Python. Hinter jedem Typ steht wie Standard oder eigenes Schema.
- Vorlage: oPBWeb bringt bekannte Farbschemata mit, als helle Vorlagen oPBWeb, opsi ScriptEditor (Farben und Schrift des alten opsi ScriptEditors), GitHub Light, Solarized Light, One Light, VS Code Light+ und Gruvbox Light, als dunkle Vorlagen oPBWeb, GitHub Dark, Solarized Dark, One Dark, VS Code Dark+, Gruvbox Dark, Monokai, Dracula und Nord. Jede Vorlage lässt sich in beiden Modi wählen, auch eine dunkle Vorlage in der hellen Darstellung.
- Syntax und Editor: Unter Syntax stehen die Farben der Sprachelemente, die der gewählte Dateityp kennt, z. B. Kommentar, Sektion, Schlüsselwort, Funktion, Zeichenkette und Variable. Mit F (fett) und K (kursiv) neben jeder Farbe legst du die Schrift des Elements fest. Unter Editor stehen Hintergrund, Text, Randspalte, Zeilennummern, aktuelle Zeile, Auswahl und Cursor.
- Vorschau: zeigt ein kurzes Beispiel des gewählten Dateityps in den eingestellten Farben.

Farben einstellen
- Wähl Hell oder Dunkel.
- Wähl links den Dateityp. Für alle Dateitypen auf einmal nimmst du Standard (alle Dateitypen).
- Bei einem einzelnen Dateityp: Setz den Haken Eigenes Schema für diesen Dateityp. Das eigene Schema startet mit den Farben des Standards.
- Wähl eine Vorlage.
- Ändere bei Bedarf einzelne Farben: Klick auf das Farbfeld oder gib den Farbwert als Hex-Wert ein, z. B.
#a31515. Schalte mit F und K fett und kursiv um. Ein geändertes Element bekommt den Knopf ↺, der wieder Farbe und Schrift der Vorlage einsetzt. - Klick auf Speichern.
Wechselst du die Vorlage, verwirft oPBWeb die einzeln geänderten Farben und Schriften dieses Dateityps. Anpassungen zurücksetzen setzt alle Farben und Schriften des Dateityps auf die Vorlage zurück. Nimmst du den Haken Eigenes Schema für diesen Dateityp wieder heraus, gilt für den Dateityp wieder der Standard. Alle Syntaxfarben zurücksetzen stellt nach einer Rückfrage für beide Modi und alle Dateitypen die Vorgaben von oPBWeb wieder her. Auch das wird erst mit Speichern übernommen; Verwerfen stellt den zuletzt gespeicherten Stand wieder her.
Handbuch öffnen
Das Buch-Symbol in der Kopfleiste (Handbuch (neuer Tab)) öffnet dieses Handbuch in einem neuen Browser-Tab, und zwar in der aktuell eingestellten Oberflächensprache: bei Deutsch das deutsche, bei Englisch das englische Handbuch.
Navigation ein- und ausklappen
Die Aktivitätsleiste am linken Rand zeigt normalerweise nur Symbole; der Name eines Bereichs erscheint als Tooltip. Mit dem Symbol ☰ ganz links in der Kopfleiste (Menü mit Beschriftung ein-/ausklappen) blendest du die Beschriftungen ein, sodass neben jedem Symbol der Name steht. Ein weiterer Klick klappt die Leiste wieder ein.
Einen Überblick über die ganze Oberfläche gibt Erste Schritte
.