Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
edpweb3:dev [2024/06/11 16:15] – angelegt admin | edpweb3:dev [2025/02/03 15:19] (aktuell) – admin | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== EDPweb | + | ==== edp: |
+ | === Aufbau der Template-Struktur === | ||
+ | Beim Start des Dienstes edp:web wird zunächst der Ordner " | ||
+ | |||
+ | Der Ordner HTML bildet die Rechtestruktur von edp:web in der Version 3 ab. In der obersten Ebene des Ordners sind die Benutzerrollen angegeben. Standardmäßig vorgesehen sind die Benutzerrollen Default, UHS für Unfallhilfstellen, | ||
+ | " | ||
+ | |||
+ | Jede Benutzerrolle kann nur Dateien aufrufen, die im Ordner HTML und nachfolgend dem Unterordner der eigenen Benutzerrolle vorhanden sind. Über den Endpoint "/ | ||
+ | |||
+ | |||
+ | === Sql-Abfragen === | ||
+ | |||
+ | Sql-Abfragen können nach folgendem Schema in den Templates eingebaut werden. | ||
+ | |||
+ | < | ||
+ | <sql query=" | ||
+ | %FELD1% | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Optional können beliebig viele Parameter durch Komma getrennt angegeben werden. | ||
+ | |||
+ | Das Format hierbei ist Parameter-Name=WERT | ||
+ | |||
+ | Sql-Abfragen können beliebig oft ineinander verschachtelt sein. | ||
+ | |||
+ | Hierfür muss pro Stufe einmal " | ||
+ | |||
+ | < | ||
+ | < | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Abfragen mit dem Präfix presql werden einmal beim Start von edp:web vorprozessiert. Das kann genutzt werden, um beispielsweise Standardtexte aus der Datenbank zu laden, die im Einsatz keine Änderungen erfahren. | ||
+ | |||
+ | === Automatische Zeilenumbrüche / BR-Tag === | ||
+ | |||
+ | Wenn innerhalb der Daten in der Datenbank Zeilenumbrüche vorhanden sind, werden diese von der Template-Engine automatisch um einen < | ||
+ | < | ||
+ | <sql query=" | ||
+ | %NOBR_FELD% | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | === IF-Abfragen === | ||
+ | |||
+ | IF-Abfragen können nach folgender Syntax eingebaut werden. | ||
+ | |||
+ | < | ||
+ | <if value1=" | ||
+ | ... | ||
+ | </if> | ||
+ | </ | ||
+ | |||
+ | Da die Performance von IF-Abfragen gegenüber SQL-Abfragen deutlich schlechter ist, sollten IF-Abfragen sehr zurückhaltend und nur in geringer Anzahl verwendet werden. | ||
+ | |||
+ | Bei Listen, Ansichten, bei denen viele Datensätze möglich sind, sollte unbedingt vermieden werden, pro Datensatz eine IF-Abfrage vorzusehen. | ||
+ | |||
+ | ===Includes-Tags=== | ||
+ | |||
+ | Includes können verwendet werden, um einzelne Seiten einzubinden. Hierbei ist der komplette Pfad bezogen auf das Verzeichnis der Anwendung edpweb.exe anzugeben. | ||
+ | |||
+ | Im nachfolgenden Beispiel wird die Datei " | ||
+ | < | ||
+ | {inc}templates/ | ||
+ | </ | ||
+ | |||
+ | ===Einbinden von Parametern=== | ||
+ | |||
+ | Parameter können sowohl aus der URL als auch aus der Session eingebunden werden. | ||
+ | |||
+ | Der Parameter muss dann immer in geschwungener Klammer und bei einem URL-Parameter mit dem vorangestellten Dollarzeichen angegeben werden. ({$ID}) | ||
+ | |||
+ | Parameter aus der Session werden über die Raute angegeben. ({# | ||
+ | |||
+ | === Nutzerberechtigungen === | ||
+ | |||
+ | Zum Aufruf von Endpunkten, die schreibend Daten an edp:web senden, muss jeder dieser Endpunkte, der über die URL /action aufgerufen wird, auch explizit für die Benutzerrolle freigeschaltet werden. | ||
+ | |||
+ | Um dies möglichst einfach zu gestalten, kann in jeder Template-Vorlage innerhalb eines Action-Tags ein Endpoint angegeben werden, der in dieser Template-Datei benötigt wird. | ||
+ | |||
+ | < | ||
+ | {ACTION}uhs/ | ||
+ | </ | ||
+ | |||
+ | Beim Prozessieren der Templates werden so alle eingetragenen Actions aus der jeweiligen Benutzerrolle übernommen und in der Rechtestruktur von edp:web gespeichert. | ||
+ | |||
+ | Innerhalb einer jeden Template-Datei können beliebig viele Action-Tags angegeben werden. | ||
+ | |||
+ | Sollen Rechte bewusst entzogen werden, wenn beispielsweise im Custom-Ordner eine Template-Datei hinterlegt ist, die ein Recht wieder sperren soll, so kann hierfür der Noaction-Tag genutzt werden. | ||
+ | |||
+ | < | ||
+ | {NOACTION}uhs/ | ||
+ | </ | ||
+ | |||
+ | Dadurch, dass die Templates immer in der Ordnerstruktur einer jeweiligen Benutzerrolle liegen, beziehen sich die Freischaltungen der Actions immer auf diese Benutzerrolle. | ||
+ | |||
+ | === Einbinden eigener Anpassungen === | ||
+ | |||
+ | Wenn eigene, selbst angepasste Template-Vorlagen eingebunden werden sollen, können diese im Ordner " | ||
+ | |||
+ | ====== Zugriff Websockets ====== | ||
+ | |||
+ | Wenn eigene Benutzerrolle angelegt werden, erhalten diese Standardmäßig keinen Zugriff auf den Websocket-Channel " | ||