Skip to main content
Skip table of contents

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.yamldefiniert 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

uuid

Eindeutige ID, wird perspektivisch automatisch gesetzt. Muss bis auf weiteres manuell gesetzt werden.

disabled

Hiermit kann man den aktuellen Patch deaktivieren/aktivieren. (true/ false)

description

Beschreibung des Patches. Wichtig für Nachvollziehbarkeit und Dokumentation.
Optional.

roleSpecific

Gibt an, ob der Patch nur für bestimmte Rollen gelten soll. (perspektivisch, aktuell nicht verfügbar)

applyIf

Bedingung, wann der Patch angewendet wird. Filterbar über Rolle oder per JS-Expression. (perspektivisch, aktuell nicht verfügbar)

objects

Liste der Objekte, die innerhalb dieses Patches angepasst werden sollen.

In der objects Eigenschaft werden die eigentlichen Patches definiert mit Eigenschaften:

Property

Beschreibung

object

Der Typ des Objekts. Aktuell ist nur menu möglich

path

Pfad des zu patchenden Objects, z.B. Key.superMenu

changes

Liste von Änderungen diese haben ihrerseits jeweils die Keys:

  • path: Eigenschaft der Änderung. Aktuell nur orderKey zulässig

  • value: neuer Wert für die Eigenschaft

delete

Gibt an, ob das gesamte Objekt gelöscht werden soll (true / false).

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

CODE
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

CODE
patches:
  - uuid: <automatisch generierte UUID>
    name: C_MenuLoeschen
    description: |
      Entfernt den veralteten Menüeintrag "mnuObsoleteMenu".
    objects:
      - object: menu
        path: BEPO.mnuObsoleteMenu
        delete: true

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.