Patches
Mithilfe von Patches können Anpassungen an fremden Codeblock Packages vorgenommen werden. Dies liefert so zum Beispiel individuelle Einstellungsmöglichkeiten für Standard-Packages. Wie fast alle Konfigurationen sind die Patches unter objects
angesiedelt und können sowohl in der be_package_install.yaml
direkt - als auch in seperaten xxx.patches.yaml
definiert werden.
Zum aktuellen Zeitpung (7.4.0
) sind die Anpassungsmöglichkeiten überschaubar: Es können Menüeinträge entfernt und die Sortierung angepasst werden
Eine einzelne Patchconfiguration hat Eigenschaften:
Property | Beschreibung |
---|---|
| Eindeutige ID, wird perspektivisch automatisch gesetzt. Muss bis auf weiteres manuell gesetzt werden. |
| Hiermit kann man den aktuellen Patch deaktivieren/aktivieren. ( |
| Beschreibung des Patches. Wichtig für Nachvollziehbarkeit und Dokumentation. |
| Gibt an, ob der Patch nur für bestimmte Rollen gelten soll. (perspektivisch, aktuell nicht verfügbar) |
| Bedingung, wann der Patch angewendet wird. Filterbar über Rolle oder per JS-Expression. (perspektivisch, aktuell nicht verfügbar) |
| Liste der Objekte, die innerhalb dieses Patches angepasst werden sollen. |
In der objects
Eigenschaft werden die eigentlichen Patches definiert mit Eigenschaften:
Property | Beschreibung |
---|---|
| Der Typ des Objekts. Aktuell ist nur |
| Pfad des zu patchenden Objects, z.B. |
| Liste von Änderungen diese haben ihrerseits jeweils die Keys:
|
| Gibt an, ob das gesamte Objekt gelöscht werden soll ( |
Werden Objecte eines anderen Packages gepatched, so muss das zu patchende Package auch als dependency dem Package zugefügt werden.
Beispiele
1. Beispiel: Den orderKey
eines Menüs überschreiben
patches:
- uuid: <automatisch generierte UUID>
description: |
Das Menüelement "upYouGo" soll up you know?.
objects:
- object: menu
path: BEPO.upYouGo
changes:
- path: orderKey
value: AB
2. Beispiel: Menüeintrag löschen
patches:
- uuid: <automatisch generierte UUID>
name: C_MenuLoeschen
description: |
Entfernt den veralteten Menüeintrag "mnuObsoleteMenu".
objects:
- object: menu
path: BEPO.mnuObsoleteMenu
delete: true