...
Erstellt man beispielsweise ein Uploadformular für Kategorien, so kann man über einen Link mit Verifizierungstoken auf dieses Formular zugreifen. Der Uploadprozess besteht aus drei Schritten:
Upload der Dateien
Befüllen der Felder pro Datei (sofern vorhanden) bzw. Hinzufügen oder Entfernen von Dateien
Abschluss des Uploadvorgangs
Im Fall der Kategorie gibt es keine zusätzlichen Felder im zweiten Schritt. Das Verknüpfen der hochgeladenen Dateien zur vorausgewählten Kategorie findet im dritten Schritt codeseitig statt.
...
Es sollte eine öffentliche Rolle vorhanden sein, die es ermöglicht Dateien und Ordner anzulegen. Ist das nicht der Fall, wird der Uploadvorgang fehlschlagen.
Drawio | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Aufbau des Plugins
Die dynamischen Uploadformulare basieren auf der Entität dynamicUpload
. Diese Entität enthält sowohl Informationen, die für den Upload zwingend benötigt werden, als auch Informationen, die die Basisfunktionalität ergänzen.
Benötigte Parameter sind:
Name
IDs der Verifizierungstoken
Optionale Parameter sind:
Ablaufdatum des Formulars
ID des Dateinamenformats
ID der temporären Rolle
Integrationsspezifische Informationen sind in eigenen Entitäten zu speichern (siehe dynamicUploadCategory
in "dam/category").
Drawio | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Die Events verfügen über Referenzen zur jeweiligen dynamicUpload
-Entiät und zum entsprechenden verificationToken
. Diese Werte werden in einem Kontext-Objekt gespeichert, das in jedem DynamicUpload-Event zur Verfügung steht, da diese Events von OnPopulateDynamicUploadAbstract ableiten.
...
Die Uploadformulare besitzen eine Konfigurationstabelle (landingPage
). Das ist derzeit eine Panel-Tabelle. Das bedeutet, dass die Einstellungen für alle dynamischen Uploadformulare gelten.
Property | Bezeichnung | Beschreibung |
---|---|---|
backgroundImage | Hintergrundbild | Zeichenkette. Enthält den relativen Pfad zum gewünschten Hintergrundbild. |
logo | Logo | Zeichenkette. Enthält den relativen Pfad zum gewünschten Logo. |
Verwendung
Allgemeines
Alle Events im mehrstufigen Uploadprozess leiten von der Klasse Base\Upload\lib\event\OnPopulateDynamicUploadAbstract
ab um stets einen geeigneten Kontext bereitzustellen.
...
Einstiegspunkt für den Uploadprozess ist Base/Upload.formUpload
. Hier wird das Formular initial platziert. In diesem Schritt lässt sich der Container über das Event OnPopulateEntrypoint
erweitern. In diesem Event werden wiederum weitere Events ausgelöst:
OnPopulateEntrypointHeadline
OnPopulateEntrypointForm
OnPopulateEntrypointButtons
Standardmäßig wird im Formular das Upload-Feld platziert. Das Upload-Feld lädt Dateien sequentiell hoch und fügt diese einem DynamicUploadProcess-Datensatz hinzu.
...
Wurden die Dateien hochgeladen, wird Base/Upload.formUploadEdit
aufgerufen. Hier wird das Event OnPopulateEdit aufgerufen, welches intern wiederum folgende Events auslöst, um die Inhalte für den Container zu erhalten:
OnPopulateFileEntry
OnPopulateButtons
Jede hochgeladene Datei ist eine Reihe im Formular. Einer Reihe können über das Event OnPopulateFileEntry
weitere Felder hinzugefügt werden. Die hinzugefügten Felder folgen keinem Schema. Die Formulardaten werden an den nächsten Request weitergegeben und können dort von weiteren Listenern verarbeitet werden.
...