Skip to main content
Skip table of contents

Deeplinks customizen

Allgemeines

Mit Deeplinks in PLANTA project lassen sich benutzerdefinierte Aktionen direkt über eine URL ausführen. So können Benutzer beispielsweise aus einer E-Mail heraus unmittelbar auf ein verlinktes Modul zugreifen – ganz ohne manuelle Navigation im System.

Technische Implementierung

Voraussetzung

  • Erstellung einer benutzerdefinierten Klasse, die von BaseProtocolAction erbt.

Vorgehensweise

  • Eine Klasse definieren,

    • hierfür eine Unterklasse von ppms.protocol.BaseProtocolAction erzeugen,

  • execute()-Methode implementieren,

  • auf URL-Parameter zugreifen,

    • self.path_parameters für Pfadsegmente und

    • self.query_parameters für Query-Strings.

Beispiel

PY
from ppms.protocol import BaseProtocolAction, get_any_module_object  

class OpenCustomerModuleAction(BaseProtocolAction):  
    def execute(self):        
        module = get_any_module_object()        
        module.open_module('100000')  

Hinweis

  • Speichere die Klasse z. B. in customer/protocol.py.

Deeplinks erstellen

Vorgehensweise

  • Im Modul Deeplinks einen neuen Eintrag erstellen:

    • Aktion auf eine benutzerdefinierte URL setzen (z. B. /special_module),

    • Python-Funktion auf den Pfad zu Ihrer Python-Klasse setzen (z. B. customer.protocol.OpenCustomerModuleAction),

    • Häkchen in der Checkbox Aktiviert setzen,

    • Python-ID definieren, um später auf diesen Deeplink verweisen zu können.

  • Nach der Einrichtung öffnet ein Aufruf von <planta-web-client>/special_module das Modul 100000.

Pfad- und Query-Parameter

Information

  • PLANTA-Deeplinks unterstützen sowohl Pfadparameter als auch Query-Parameter. Beide können zur Filterung oder zur Navigation in verschachtelten Hierarchien verwendet werden.

Pfadparameter

Details

  • Wird verwendet, um hierarchische Ressourcen übersichtlich darzustellen.

  • Pfadparameter kann direkt in der Deeplink-URL in spitzen Klammern < > definiert werden:

    • z.B.: project/<pr_id>.

      • Verwendung des RESTful-URL-Designs.

Query-Parameter

Details

  • Wird für optionale Filter oder zusätzliche Modifikatoren verwendet.

  • Automatische Verfügbarkeit, ohne dass ein Query-Parameter explizit definiert werden muss:

    • z.B.: project/4711?foo=bar

  • Die Flexibilität kann auch zu längeren URLs führen.

Query-Parameter-Werte sind immer Listen, da ein Parameter mehrfach vorkommen kann.

Fehlerbehandlung

Hinweis

  • Wenn ein Benutzer versucht, auf einen nicht existierenden Deeplink zuzugreifen, wird eine Fehlermeldung angezeigt (Textkonstante 002502). Deeplink-Aktionen müssen ungültige Benutzereingaben in ihrer Implementierung entsprechend behandeln.

JavaScript errors detected

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

If this problem persists, please contact our support.