Actions Alle Action-Bausteine (39 Seiten). Actions – Übersicht Aktionen realisieren im Zusammenwirken mit Dokumentvorlagen an bestimmten Menüpunkten erforderliche Funktionalitäten - z.B. das Speichern von Formulardaten, das Versenden von Emails, das Anmelden bei einem Newsletter u.v.m. Übersicht Kategorie Actions Speicherung Bild hochladen Containerdaten aus Email importieren Dokument hochladen Formulardaten validieren Container Container kopieren Container-Filteraction Containerdaten speichern Containerdatensatz löschen Containerinhalt validieren Validierungsergebnis ausgeben Benutzer und Zugang Benutzergruppe anlegen Intranet Login Intranet Logout Intranet-User anlegen/ändern Passwort des angemeldeten Users ändern Versenden von E-Mails CMS-Seite versenden Formular als Mail versenden Ausführung von Code Batix Quelltext ausführen JSP-Baustein ausführen Sonstiges Captcha Abfrage Excel-Action Sicheres Formular überprüfen (SecureformAction) Suche im Web Vorhandene Bedingung abfragen Weiterleitung Wert in Session speichern XHTML 2 PDF Veraltet Newsletter – Abo abmelden Newsletter – Abo ändern Newsletter – Abonnentenlogin Newsletter aktivieren Newsletter – Newsletter abonnieren Newsletter – Passwort vergessen (1) Newsletter – Passwort vergessen (2) Shop – Bestellung versenden Shop – Hinzufügen zu Warenkorb Shop – Löschen im Warenkorb Shop – Zusatzgebühr zum Warenkorb Abgesehen von oben angeführten Actionbausteinen können spezielle individuelle Aktionen unter Voraussetzung entsprechender Kenntnisse problemlos angelegt werden. Aktionsliste Wenn Sie den Eintrag Ressourcen->Aktionen anklicken, erhalten Sie etwa folgende Seite im Arbeitsbereich: Es werden Ihnen alle momentanen Aktionen mit folgenden Informationen angezeigt: der Titel der Aktion die Anzahl der in der Aktion vorhandenen Aktionsbausteine der Status der Aktion (Nur aktive Aktionen und Aktionsbausteine können angewendet werden. Deaktivierte Aktionen und Aktionsbausteine verursachen bei Verwendung einen Fehler.) Details der Aktion Klicken Sie auf den Titel einer Aktion, um deren Bausteine einzusehen und allgemeine Einstellungen zur Aktion vorzunehmen. Hier können Sie: die Aktion aktivieren/deaktivieren einen Titel sowie eine kurze Beschreibung der Aktion eingeben (wird auf der Übersichtsseite und anderen Bestandteilen des CMS als Erläuterung ausgegeben) die Aktionsbausteine ändern: Mittels "neuen Aktionsbaustein anhängen" generieren Sie assistengesteuert einen neuen Baustein (s.u.) Mit einem Klick auf die Zeile wechseln Sie zur Detailansicht des gewählten Aktionsbausteines (s.u.). Aktivieren/Deaktivieren Sie das Kontrollkästchen "ausführen", um die Nutzung des Bausteines festzulegen. In der Toolbox finden Sie die durch das CMS verwendete interne ID der Aktion, sowie eine Auflistung der Verwendungsarten und -orte. Neuen Aktionsbaustein anhängen Um eine neue Aktion anzulegen, klicken Sie - wenn Sie sich in der Übersichtsseite aller Aktionen befinden - auf den Button / in der Symbolleiste. Hier müssen Sie noch die Felder ausfüllen und die Aktion abspeichern ( / ). Anschließend werden Sie aufgefordert, einen neuen Aktionsbaustein hinzuzufügen. Klicken Sie auf diese Zeile und Sie sehen folgenden Assistenten: Klicken Sie auf den Auswahlbutton neben der gewünschten Aktion und anschließend zum Speichern auf / . Details des Aktionsbausteins Hier können Sie: den Baustein aktivieren/deaktivieren einen Titel sowie eine Kurzbeschreibung festlegen die Felder für die Inhalte des Aktionsbausteins bearbeiten (diese unterscheiden sich je nach Baustein erheblich) Batix Quelltext ausführen Führt Batix Quelltext aus Werte können mit bx:pagedata.setscriptattribute an den nächsten Action-Baustein übergeben werden. Inhalt Ausgabe im Log: ... Benutzergruppe anlegen Dieses Action erzeugt eine neue Benutzergruppe. Parameter groupname Feld mit Gruppennamen Parametername des Feldes, in dem der Benutzergruppenname steht (nur angeben, wenn Anlegen einer Gruppe) field-id Parametername des Gruppen-ID-Feldes Feldname mit dem die Benutzergruppen-ID übergeben wird (nur angeben, wenn Änderung einer Gruppe) activate Gruppe aktiv schalten, Standard: ja attribute-groupid Name für neue Gruppen-ID Attributname, in dem die ID der neuen Gruppe gespeichert werden soll Bild hochladen Diese Aktion verschiebt eine hochgeladene Datei in die Dateiverwaltung. Dabei ist es wichtig, dass im Upload-Formular enctype="multipart/form-data" gesetzt ist. Parameter fileparam gibt den Request-Parameter an, der die hochgeladene Datei enthält folderid falls das Bild in einen bestimmten Ordner der Bildergallerie gespeichert werden soll, kann hier die ID des Ordners angegeben werden folderparam eine Alternativmöglichkeit um das Bild in einen bestimmten Ordner zu speichern, die ID wird aus dem hier angegebenen Request-Parameter ausgelesen (Standard-Parametername ist "folderid") folderpath die dritte Möglichkeit zur Angabe des Ordners, hier wird der Name des Ordners angegeben targetweb um das Bild in ein anderes Projekt/Web zu speichern, hier die ID des Webs angeben titel mit diesem Parameter kann der Titel des Bildes festgelegt werden titelparam um den Titel aus einem Request-Parameter auszulesen, hier den Parametername angeben autor hiermit kann der Autor des Bildes direkt festgelegt werden autorparam der Autor kann alternativ auch über einen Parameter angegeben werden Bemerkungen Bei Werten, die durch verschiedene Parameter festgelegt werden können, gilt folgende Reihenfolge der Überprüfung (es wird dabei abgebrochen, sobald ein Wert gefunden wurde): Ordner: folderid -> folderparam (wenn nicht angegeben, dann Standardwert "folderid") -> folderpath Titel: titel -> titelparam Autor: autor -> autorparam In den Metadaten des Bildes werden unter "uploader" und "author" der eingeloggte Benutzer (falls er eingeloggt ist) sowie unter "uploaderIP" die IP des Uploaders eingetragen. Multi-Upload (ab V 2.6.3) Mehrere Bilder werden gleichzeitig mit HTML5 über ein Multiupload hochgeladen und in einem verknüpften Container gespeichert. Achtung! Da die Bilder im Hintergrund gespeichert werden, muß es schon einen Eltern-Datensatz geben, d.h., der Upload-Actionbaustein kommt nach dem Speicher-Actionbaustein. url weiterleitende URL (z. B. zu einem Save-Action) Beispiel Detailseite
...
Formular bauen, file-input-Feld muß den Parameter multiple haben Action bauen: der Upload-Actionbaustein kommt nach dem Speicher-Actionbaustein Angaben beim Upload-Actionbaustein: bei fileparam muß "Bilder" stehen (Name im Formular) bei Scriptausführung je Bild: (url) steht die Weiterleitung zu einem Speicheraction, das die einzelnen Bilder im Untercontainer speichert, z.B. /www/beispielweb/menupunkt/savePic.act?Bild\=[[Bilder]]&Datum\=[[Datum]]&Bildergalerie\=[[galerieID]] Im anschließenden savePic.act wird in einem Bildercontainer das Bild mit Bildergalerie-Verknüpfung(Elterndatensatz-Verknüpfung) und Datum gespeichert Captcha Abfrage Diese Aktion prüft, ob der zum CAPTCHA-Bild eingegebene Text korrekt ist. Dazu muß auf der Seite ein Bild mit dem Namen SimpleCaptcha.jpg, das die visuelle Ausgabe enthält, und ein Input-Feld mit name="captcha" eingebunden sein. Parameter requestField der Requestparameter, der die Antwort enthält (standardmäßig "j_captcha_response") successpage die Seite, auf die weitergeleitet wird, wenn die Antwort richtig ist failpage die URL, die bei falscher Antwort aufgerufen wird appendRequest gibt an, ob der aktuelle Request an die Folgeseite weitergegeben wird Ein verfremdetes Bild mit einer Zeichenfolge wird ausgegeben und muß in ein Eingabefeld geschrieben werden. Quelltext dazu:
Captcha-Bild Die eingegebene Zeichenfolge war nicht korrekt.
Die Felder werden anlog des erstellten HTML-Designs ausgefüllt. Wenn das Captcha in einem IFrame verwendet wird, muß beim Bild und bei der Form angehängt werden. Beispiel:
...
CMS-Seite versenden Eine normale Seite im Projekt wird gelesen und dann als HTML-Email versendet. Da diese Aktion auf Formular als Mail versenden aufbaut, sind alle dort angegebenen Parameter auch hier verwendbar, mit den unten aufgeführten Änderungen bzw. Neuerungen. Parameter mailFrom Die Email-Adresse, unter der die Mail versandt wird. Falls beim Versenden ein Fehler auftritt oder auf diese Mail geantwortet wird, geht bei dieser Adresse eine Email ein. Bei Kontakt könnte hier auch email angegeben werden, dann kann auf diese Mail direkt geantwortet werden (nicht mehr verwenden). Besser ist jedoch Reply-To (Beschreibung ganz unten) zu verwenden. mailFromName Der im Email-Programm angezeigte Absendername (auch möglich z.B. [[Name]] [[Vorname]]) mailTo Der Empfänger der Email subject Der Betreff der Mail file Der virtuelle Dateiname des zu versendenden HTML-Designs appendRequest gibt an, ob der Request, welcher der Aktion übergeben wurde, an die URL der CMS-Seite angehängt werden soll (wenn diese z.B. eine ID enthält) Datei anhängen Um Email-Anhänge zu erzeugen kann an einer beliebigen Stellen des Email-Templates der Platzhalter für den Anhang hinzugefügt werden. Die Syntax ist folgende: oder Um die Anhänge zu parsen muß im Action bei weitere Eigenschaften eine Einstellung eingetragen werden. parse-attachments=true Beispiel ]]> wenn die Dokument-ID mit dem Request-Parameter "pdf" übergeben wird .css|exporttemplate.txt]]> wenn die Ausgabe des Templates namens exporttemplate.txt aus dem selben Navigationspunkt als Anhang mit aktuellen Datum im Namen sesendet werden soll. ]]> Hängt alls gefilterten Dokumente des Containers an die Mail an. Reply-To Ein Reply-To Header kann im Freieingabe-Feld gesetzt werden (ganz unten: Freigabe weiterer Eigenschaften): reply-to=[[Kontakt_Mail]] Container-Filteraction Mit diesem Action kann man einen Container nach bestimmten Filter-Kriterien durchsuchen und darauf reagieren. Parameter list die ID der Datenliste (Container), die gefiltert werden soll (Pflichtfeld) xml die Definition des Filters (Pflichtfeld) url die für jeden gefundenen Datensatz aufgerufene URL. Das kann ein weiteres Action sein, z.B. ein Speicheraction. (Pflichtfeld) Kann auch frei gelassen werden, wenn der Filter nur auf Erfolg oder Mißerfolg prüfen soll, z.B. ob eine bestimmte E-Mail schon vorhanden ist oder nicht. Test-Modus (für Entwicklung gedacht) Im Testmodus werden keine URLs ausgeführt, die Actionausführung wird nach dem Action abgebrochen und stattdessen eine Infoseite angezeigt, auf der aufgelistet wird, welche Urls ausgeführt würden. emptyresulturl eine URL die nur dann ausgeführt wird, wenn keine URL im Filter ausgeführt wurde. Die Ausführung erfolgt im Hintergrund, z.B. wenn eine bestimmte Email noch nicht angelegt ist, dann kann sie damit angelegt werden und die Action-Abfolge wird nicht unterbrochen. successurl wenn ausgefüllt und mindestens eine URL ausgeführt wurde, wird die Ausführung nach diesen Action abgebrochen und an die angegebene Seite weitergeleitet. failurl wenn ausgefüllt und keine URLs ausgeführt wurden, wird die Ausführung nach diesen Action abgebrochen und an die angegebene Seite weitergeleitet. request-method falls der Request mittels POST geschickt werden soll, muss dieser Parameter den Wert POST enthalten spezielle Platzhalter bei successurl und failurl (ab v2.6) bei "weiteren Eigenschaften" können Parameter definiert werden, die statistische Werte in Actionattribute mit den dort definierten Namen schreiben: record-counter-param=filterdurchläufe Anzahl der DS, die durch die Filterung gekommen sind processed-counter-param=versuche Anzahl der URL-Aufrufe, es fallen evt. DS weg z.B. durch bx:if success-counter-param=erfolge Anzahl der erfolgreichen URL-Aufrufe error-counter-param=fehler Anzahl der nicht erfolgreichen URL-Aufrufe, aufgerufene Seite/Action bringt Fehler In anschließenden Actions kann auf die Werte über den angegebenen Name in eckigen Klammer zugegriffen werden (z.B. auswertung.htm?anzahl=[[anzAufruf]]&fehler=[[anzFehler]] ) diese Werte kann man dann z. B. im Success-URL-Feld benutzen: erfolg.htm?report=[[versuche]]+Datensaetze+verarbeitet,+davon+[[fehler]]+mit+Fehlern oder z. B. auch in einem folgenden Weiterleitungsaction oder Saveaction Bemerkungen In der URL können Batix-Tags benutzt werden, z.B. bx:pagedata um der Aktion übergebene Parameter weiterzuleiten oder bx:recordfield bzw. bx:recorddata um Informationen zum aktuellen Datensatz zu übergeben. Die Parameter der URL müssen selbst URL-Encoded werden. Dazu kann man Text benutzen. Im URL-Feld können beliebig Zeilenumbrüche und Leerzeichen gesetzt werden, um den Code entwicklerfreundlich zu formatieren. In der ausgeführten URL werden diese Zeichen vorher entfernt. Leerzeichen, die in Parametern übergeben werden sollen, müssen vorher kodiert werden. Container kopieren Diese Aktion kopiert Daten aus einem Container in einen anderen. Felder mit gleichen Namen und Typ werden automatisch übernommen. Für weitere Felder kann über eine Konfiguration eine Zuordnung geschaffen werden. Über solch eine Konfigurationseinstellung können auch mehrere Felder in ein Feld hineinkopiert werden. Parameter source-listid gibt die ID der Quell-Liste an target-listid dies ist die ID der Ziel-Liste idfield der Name des Request-Parameters, der die ID des zu kopierenden Datensatzes enthält config die Kopierzuordnung in XML Auf die ID des erzeugen Kopie-DS kann man in einem weiteren Actionbaustein über das Action-Attribute copyrecord zugreifen. Weitere Eigenschaften: include-child-lists=true (es werden die Untercontainer mit kopiert - wie in der Verwaltung - ab V2.6.6) attribute-recordid=copyrecord (es kann statt copyrecord für die ID des neuen DS ein anderer Name definiert werden) XML-Syntax Die Syntax der Kopierzuordnung folgt diesem Muster: - ]]> ]]> name Feldname des Zielfelds source Feldname des Quellfelds zu speichernder Inhalt als Tag-Inhalt es können auch Tags wie bx:recordfield verwendet werden Feld/Unterfeld Unterelemente einer Einzelverknüpfung ansprechen Beispiele Die XML Datei hat folgendes Format: Beispiel Titel Bemerkungen: ]]> Das Haupt-Tag heißt . Dazwischen dürfen beliebig viele -Einträge stehen, die das Pflicht-Attribut name haben müssen, das den Feldnamen des Zielcontainers enthält. Bei geschlossenen -Tag muß in einem Parameter source der Name des Feldes im Quellcontainer angegeben werden. Mit "/" kann auch ein Feld hinter einer Einzelverknüpfung aufgerufen werden. Wenn ein Feld aus dem Quellcontainer nicht übernommen werden soll, kann bei name der Feldname und source="" angegeben werden. (Hier im Beispiel würde nicht der Inhalt des Timestamp-Feldes des Quellcontainers kopiert werden und so ein aktueller Timestamp im Zielcontainer erstellt werden) Wenn geöffnet wird, können Batix-Tags benutzt werden, um den Inhalt von Textfeldern im Zieldatensatz aus mehreren Feldern des Quelldatensatzes zusammenzusetzen. An -Tags können nur einige verwendet werden, z. B. bx:pagedata um der Aktion übergebene Parameter weiterzuleiten oder bx:recordfield bzw. bx:recorddata um Informationen zum aktuellen Datensatz zu übergeben. Der Inhalt sollte in einem CDATA-Block eingeschlossen sein, wenn er XML-Sonderzeichen (z. B. "<", "&") enthalten könnte. Containerdaten aus Email importieren Diese Aktion speichert Container- und Untercontainerdatensätze. Die nötigen Daten werden von einem Mail-Server abgerufen. singlemode wenn gewählt wird mit jedem Aufruf der Aktion nur eine Mail gelesen, ansonsten alle pop3server der Server, von dem die Mails geholt werden username der Benutzername zur Anmeldung am Server password das Passwort zum Benutzername delmail sollen gelesene Mails gelöscht werden? listid ID des Containers, in den die Daten gespeichert werden sollen recordidfield Name des Tags, der die ID eines vorhandenen Datensatzes enthält (Standard ist "recordid") dokumentContainerId ID des Containers, in den die der Mail angehängten Dateien gespeichert werden sollen dokumentFolder ein Request-Parameter, der angibt, in welches Verzeichnis der Dateiverwaltung, die in der Mail angehängten Dateien gespeichert werden sollen, kann auch als Eigenschaft der Aktion festgelegt werden mittels documentFolder documentField Name des Feldes im Dokument-Container, dem die Datei zugewiesen werden soll nextpage auf diese Seite wird nach Fertigstellung weitergeleitet, diese URL kann auch im Request-Parameter backfile stehen active gespeicherten Datensatz aktivieren? timestamp gibt ein Feld an, in dem der Bearbeitungszeitpunkt des Imports im Container festgehalten werden kann weitere Eigenschaften: appendrecordid falls gesetzt, gibt diese Eigenschaft den Parameter an, über den der Folgeseite die ID des gespeicherten Datensatzes mitgeteilt wird targetweb um die Daten in ein anderes Web zu speichern, hier die ID des Webs angeben Containerdaten speichern iese Aktion speichert einen Containerdatensatz, dessen Felder im Request übergeben wurden. Parameter nextpage auf diese Seite wird nach Fertigstellung weitergeleitet, diese URL kann auch im Request-Parameter backfile stehen active soll der erzeugte Datensatz aktiviert werden? appendrecordid der Name eines zusätzlichen Parameters, welcher der Folgeseite übergeben wird und die ID des erzeugten Datensatzes enthält listid ID der Liste, in die der neue Datensatz gespeichert wird recordidfield der Name des Parameters, der die ID des zu überschreibenden Datensatzes enthält timestamp der Name eines Datum-Feldes, in dem der Zeitpunkt der Erstellung festgehalten wird createnew gibt an, ob ein neuer Datensatz erstellt werden darf (nur wenn keine recordid übergeben wurde) weitere Eigenschaften: update-active=j update-active=n Datensatz aktivieren oder deaktivieren es ist auch möglich den Wert via Platzhalter zu übergeben: update-active=[[paramName]] ein leerer oder nicht vorhandener Parameter führt zur Deaktivierung log-meta=false speichert keine MetaDaten (erstellt bzw. letzte Änderung) Bemerkungen Durch bestimmte Name und Verwendung der Request-Parameter kann der Ablauf dieser Aktion beeinflusst und angepasst werden. Möchte man einen Datensatz aktivieren bzw. deaktivieren, so ist der Request-Parameter "activ" mit dem Wert "j" bzw."n" zu übergeben. einfaches Feld speichern Hier entspricht der Name des Parameters dem Feldname. Veraltet: Bei Verknüpfungen werden "Name.LINKLIST" und "Name.LINKRECORD" verwendet. Mehrfachverknüpfung Um bei einer Mehrfachverknüpfung einzelne DS hinzufügen oder löschen zu können, wir Name.MODE angegeben (set, add oder delete). Beispiel Aus Hobby-Liste entfernen:
Weitere Hobbies hinzufügen:
Checkbox: Wert "unchecked" speichern Um den Zustand einer Checkbox in einem Wahrheitswert zu speichern, erstellt man ein hidden-Field für den nein-Wert, das den Name der Checkbox.CHECKBOX hat. Beispiel: Radiobox: Wert "null" in einem Wahrheits-Feld speichern Um den Zustand null - also nicht ja und nicht nein - zu speichern, gibt man als Wert "#null" an. Beispiel: in Untercontainer speichern Es kann "Untercontainerfeld/Feld" verwendet werden, um Felder in einem Untercontainer anzusprechen. Ein bestimmter Untercontainer kann über seine ID angesprochen werden: "Untercontainerfeld.UNTERCONTAINERID/Feld". Es können auch mehrere DS auf einen Rutsch in Untercontaienr gespeichert werden: "Untercontainerfeld.new-n/Feld" Beispiele Untercontainer "Telefonnummern" im Container "Firmen", speichern von Änderungen in einem Rutsch mehrere Datensätze speichern Um mehrere Datensätze zu ändern kann "DATENSATZID/Feld" benutzt werden. mehrere Datensätze erstellen Weiterhin können mit einer Aktion mehrere Datensätze angelegt werden, die Parameter müssen dann wie folgt benannt werden: "new-n/Feld", wobei "n" durch eine Zahl ersetzt wird (also z.B. "new-1/Titel" und "new-2/Titel"). Verknüpftes Bilder in einem Bild-Field wieder löschen Beispiele
Feld wird mit dem Checkbox-Inhalt überschrieben. Containerdatensatz löschen Es wird ein bestimmter Datensatz mitsamt allen Feldern und Untercontainern gelöscht. Parameter table die ID der Liste, aus der ein Datensatz gelöscht werden soll nextpage auf diese Seite wird nach Fertigstellung weitergeleitet, diese URL kann auch im Request-Parameter backfile stehen ID-Field der Request-Parameter, der die ID des zu löschenden Datensatzes enthält (Standard ist "recordid") Containerinhalt validieren Diese Aktion liest einen Datensatz aus einem Container und validiert ihn anhand von Kriterien. Parameter idfield der Request-Parameter, der die ID des Datensatzes enthält list die Liste, aus welcher der Datensatz entnommen wird (Container-ID oder Containername) config die Validierungsregeln alternativ auch Dateiname, wo die Regeln drin stehen XML-Syntax der Validierungsregeln Es kann auch ein Pfad angegeben werden, wo dann die Regeln hinterlegt sind (für mehr Flexibilität, da kann man die Regeln im Container speichern oder so) Attribute nodeset gibt das Feld im Container an, welches validiert werden soll index ist ein Bezeichner für diesen Test (beliebiger Text) required required="true()" - Feld muß gefüllt sein required="Feld2 = 'Wert'" - Feld muß in Abhängigkeit eines anderen Feldwertes gefüllt sein. Wichtig sind die Leerzeichen vor und nach dem =. Allerdings keine Leerzeichen vor und nach Feldname bzw. Wertangabe. Beispiele Feld muß gefüllt sein ... ... Die Zählernummer (z.B. eines Stromanschlusses) muß immer angegeben werden (im Container muß im entsprechenden Textfeld etwas stehen). Feld muß in Abhängigkeit eines anderen Feldwertes gefüllt sein ... ... Die Zählernummer muß angegeben werden, wenn im Formular das Häkchen bei "Neuanschluß" nicht gesetzt wurde (im Container angelegtes Häckchenfeld darf nicht angehakt sein). Feld muß in Abhängigkeit eines anderen Feldwertes gefüllt sein ... ... Gleiches Beispiel wie oben, nur daß das Feld "Neuanschluß" ein Textfeld ist und das Wort "nein" drin steht. match kann einen regulären Ausdruck enthalten (für einzeilige und mehrzeilige Textfelder) Beispiel: E-Mail-Validierung ... ... Der im Feld "Email" gespeicherte Wert muß dem angegebenen Regex ensprechen (dieser Regex ist nur einer von vielen). constraint kann eine Bedingung angegeben werden, die der Feldinhalt erfüllen muß (z.B. . > 18:00, zur Zeit < > für Datumsangaben, < > = für Zahlen und = für einzeiligen Text). Details siehe Abschnitt constraint unten. Beispiel: Datum prüfen ... ... Das Geburtsdatum muß vor heute liegen. type gibt den xsd-Typnamen an (zur Zeit noch nicht unterstützt) constraint Mit constraint werden Gültigkeitsbedingungen des Feldinhalts angegeben. Diese sind je nach Typ des Feldes unterschiedlich. Der Wert im Parameter constraint muß folgende Form haben: Wichtig sind die Leerzeichen, die die 3 Werte trennen. Hier ist die Liste der unterstützten Bedingungen, geordnet nach Feldtyp: Textfelder (einzeilig, mehrzeilig) {Vergleichswert}: Gültig sind: Werte in Apostroph für Vergleich mit festen Wert Name eines anderen Feldes Spezialwerte #null" (Feldinhalt ist null) "#empty" (Feldinhalt ist Leerstring) "#nodata" (Feldinhalt ist null oder Leerstring) (ab v2.5.8) {Operator}: = prüft, ob Feld dem Testwert entspricht != Prüft, ob Feld dem Testwert nicht entspricht (ab v2.5.8) MATCH Prüft, ob Feld dem regulären Ausdruck in Testwert entspricht (ab v2.5.8) Datumsfelder {Vergleichswert} Als Vergleichswert ist bisher (v2.5.8) nur ein fester Wert möglich. Er sollte wegen Kompatibilität zu zukünftigen Erweiterungen in Apostrophs eingeschlossen werden. Zeitfelder müssen in der Form "{Stunden}:{Minuten}[:{Sekunden}]" angegeben sein Datumsfelder müssen in der Form "{Tag}.{Monat}.{Jahr}" angegeben sein Datum-/Zeitfelder in der Form "{Tag}.{Monat}.{Jahr} {Stunden}:{Minuten}[:{Sekunden}]" Erweiterung mit ab v2.5.9: Schlüsselwort: "#today" (constraint="datum is #today+2") Erweiterung mit ab v2.5.9: Vergleich mit anderen Feld (constraint="vondatum before bisdatum" Bei zwei zu vergleichenden Feldern muß das Containerfeld als erstes angegeben werden.) {Operator} < ( <) - Prüft, ob Feld zeitlich vor dem Testwert liegt > ( >) - Prüft, ob Feld zeitlich nach dem Testwert liegt "before" - Prüft, ob Feld zeitlich vor dem Testwert liegt (ab v2.5.9) "after" - Prüft, ob Feld zeitlich nach dem Testwert liegt (ab v2.5.9) "=" oder "is" - Prüft, ob Feld gleich dem Testwert ist (gleicher Tag) (ab v2.5.9) "lt" - Prüft, ob Feld zeitlich vor dem Testwert liegt (ab v2.5.9) "gt" - Prüft, ob Feld zeitlich nach dem Testwert liegt (ab v2.5.9) "beforeOrEqual" - Prüft, ob Feld zeitlich vor oder genau auf dem Testwert liegt (ab v2.5.9) "afterOrEqual" - Prüft, ob Feld zeitlich nach oder genau auf dem Testwert liegt (ab v2.5.9) "lte" - Prüft, ob Feld zeitlich vor oder genau auf dem Testwert liegt (ab v2.5.9) "gte" - Prüft, ob Feld zeitlich nach oder genau auf dem Testwert liegt (ab v2.5.9) Zahlenfelder {Vergleichswert} Als Vergleichswert ist bisher (v2.5.8) nur ein fester Wert möglich. Als Dezimaltrenner muß das Komma verwendet werden. {Operator} < prüft, ob Feld kleiner als der Testwert ist > Prüft, ob Feld größer als der Testwert ist = Prüft, ob Feld gleich dem Testwert ist Häkchenfelder (Wahrheitswert) {Vergleichswert} 'j', 'ja', 'true', 'y', 'yes' für Test auf wahr '#null' für Test auf nicht gewählt (ab v2.5.8) alles andere für Test auf falsch {Operator} = prüft, ob Feld dem Testwert entspricht != prüft, ob Feld nicht dem Testwert entspricht (ab v2.5.8) Verknüpfungen, Untercontainer werden in Version 2.5.8 noch nicht unterstützt Dokument hochladen Diese Aktion verschiebt ein hochgeladenes Dokument in die Dateiverwaltung. Dabei ist es wichtig, dass im Upload-Formular enctype="multipart/form-data" gesetzt ist. fileparam gibt den Request-Parameter an, der die hochgeladene Datei enthält folderid falls das Dokument in einen bestimmten Ordner der Dokumentenverwaltung gespeichert werden soll, kann hier die ID des Ordners angegeben werden folderparam eine Alternativmöglichkeit um das Dokument in einen bestimmten Ordner zu speichern, die ID wird aus dem hier angegebenen Request-Parameter ausgelesen (Standard-Parametername ist "folderid") folderpath die dritte Möglichkeit zur Angabe des Ordners, hier wird der Name des Ordners angegeben targetweb um das Dokument in ein anderes Projekt/Web zu speichern, hier die ID des Webs angeben info mit diesem Parameter kann die Beschreibung des Dokumentes festgelegt werden infoparam um die Beschreibung aus einem Request-Parameter auszulesen, hier den Parametername angeben Bemerkungen Bei Werten, die durch verschiedene Parameter festgelegt werden können, gilt folgende Reihenfolge der Überprüfung (es wird dabei abgebrochen, sobald ein Wert gefunden wurde): Ordner: folderid -> folderparam (wenn nicht angegeben, dann Standardwert "folderid") -> folderpath Titel: titel -> titelparam Autor: autor -> autorparam In den Metadaten des Dokumentes werden unter "uploader" und "author" der eingeloggte Benutzer (falls er eingeloggt ist) sowie unter "uploaderIP" die IP des Uploaders eingetragen. Multiupload funktioniert wie beim Bilderupload. Excel-Action Erzeugt eine Excel-Datei, die gleich geöffnet oder als Download angeboten werden kann. Parameter createnew Sheets anlegen, falls diese noch nicht existieren? (Standard = nein) Wird keine Vorlage verwendet, muß "ja" gewählt sein. downloadname Dateiname der erzeugten Datei (nicht ausfüllen, um Datei nicht zum Download anzubieten) dokumentname Dateiname für die Dokumentenverwaltung (nicht ausfüllen um die erzeugte Datei nicht abzuspeichern) ACHTUNG! "ordnerid" muß mit angegebenw werden. ordnerid ID des Ordners in der Dokumentenverwaltung, in der die fertige Datei abgelegt werden soll Muß mit angegeben werden, wenn in der Dokumentenverwaltung gespeichert werden soll. xml XML Daten direkt eingeben (wenn leer wird xmlfile genommen) Parameter mit [[[...]]] angeben xmlfile Dateiname der Seite, welche die XML Daten liefert templateid Server-Dateiname der Excel-Datei in der Dokumentenverwaltung, die als Vorlage dienen soll (wegen Styling oder Formeln). Leer lassen um neue Datei zu erzeugen, die dann allerdings nicht gestylt werden kann. overwrite Soll eine evtl. vorhande Datei überschrieben werden (Standard: nein) - wird nicht mehr genutzt beschreibung Beschreibung für die gespeicherte Datei in der Dokumentenverwaltung (nur für neu erstellte Dateien) forcehttp Soll in jedem Fall http anstatt https zum template laden benutzt werden? (Standard: nein) Aufbau der XML-Datei