Informationen

  • Mithilfe des Application Link kann der Desktop-Client von PLANTA project aus anderen Applikationen, z.B. aus dem Web-Client heraus aufgerufen werden.
  • Der Link ist parametrisierbar und kann über die mitgegebenen Parameter direkt Funktionen auslösen.

Funktionsweise

  • Beim Start der Anwendung übergibt der Server das Attribut planta_protocol_handler, welches in den Globalen Einstellungen konfiguriert werden kann.
<Env>
    <Program system_title="..." ... planta_protocol_handler="planta_handler" />
</Env>
CODE
  • Der Name des Protocol Handler kann je nach System variieren.
  • Der Client parsed den Wert des Attributs und prüft, ob bereits ein solcher Protocol Handler in der Windows Registry registriert ist. Falls nicht, wird der Handler registriert.
  • Wird ein Application Link aufgerufen, wird der Client aufgerufen, der für die URL hinterlegt ist und die Aufrufparameter werden an den Server übergeben:
<Env>
  <Program name="PLANTA Client" vendor="PLANTA" version="DebugVersion" protocol_version="4" />
  ...
  <Protocol_parameters value="test" />
</Env>
CODE
  • Der Server ruft die Funktion pms.cmd.handle_protocol_action(command) auf. Der Parameter “command” entspricht dem String nach “planta://”.
  • Die handle_protocol_action-Funktion prüft die DT330 Protokoll-Aktion und sucht dort die Funktion für den entsprechenden Aufruf.
  • Die dazugehörige Funktion wird importiert und ausgeführt.
  • Wird keine hinterlegte Funktion gefunden oder schlägt der Import fehl, wird eine Fehlermeldung ausgegeben.

Beispiel

  • Aufruf: planta://Portfolio/F_E/Report/000001/ExportPDF
    • Aktion: Portfolio/<portfolio_id>/Report/<report_id>/ExportPDF
    • Funktion: ppms.protocol.portfolio.export_report_pdf
  • Beim Aufruf wird die export_report_pdf Funktion ausgeführt und erhält “F_E” als “portfolio_id”-Parameter und “000001” als “report_id”-Parameter.

Konfiguration

  • Die Basisdefinition des Protokolls lautet: <protocol name>://<command>
  • Der <protocol name> kommt aus der globalen Einstellung PLANTA-Protocol-Name.

  • Wenn mehrere Clients verwendet werden, z. B. Entwicklung-/ Test-/ Produktivsystem, dann sollte jedes System einen eigenen Protokollnamen bekommen, um das jeweils richtige System zu öffnen.

  • Das <command> beschreibt einen Aufruf mit Parametern, der mit einer bestimmten Aktion verknüpft ist.

Customizing

  • Um Felder mit Application Link zu customizen, können Button- oder Link-Datenfelder verwendet werden.
  • Für das Datenfeld muss ein Python-Skript hinterlegt werden.
  • Wenn der Benutzer auf den Button/Link klickt, wird das Python-Skript ausgeführt und sendet einen Befehl an den Client, der den Application Link und mögliche Aufrufparameter enthält.
  • Neue Aktionen können im Modul PLANTA-Protokoll MOD009DQL hinterlegt werden.