In digitalen Eingabemasken von Maskito Forms werden Daten strukturiert erfasst und effizient bearbeitet. Es gibt jedoch Informationen, die zwar für den einzelnen Datensatz relevant sind, jedoch zu weit führen, um sie in Gesamtheit zu erfassen, z. B. einen Raumplan. Es bietet sich an, solche Informationen in zusätzlichen Dateien, und die Verknüpfung zu diesen Dateien im Datensatz zu pflegen. Dabei sollen die Verknüpfungen im Datensatz für jedermann aufrufbar sein. Die Bearbeitung der Links soll jedoch im Sinne des Schreibschutzes nur konkreten Nutzern bzw. Nutzergruppen erlaubt sein. In dieser Anleitung zeigen wir Ihnen, wie das in einem Formular umgesetzt werden kann.
In einem Formular möchten Sie zusätzliche Inhalte als Link individuell für jeden Datensatz bereitstellen, z. B. den Grundriss eines Mietobjekts. Außerdem sollen auch Daten zu einzelnen Räumen des Mietobjekts erfasst werden, inkl. der individuellen Links zur Raumausstattung. Während die Links für alle Nutzer anklickbar sein sollen, soll die Bearbeitung der Links bis auf wenige Ausnahmen schreibgeschützt sein.
Als Voraussetzung gilt, dass für alle am Workflow beteiligten Nutzer der Zugang zu den verknüpften Daten möglich ist, dass also Zugriffsrechte auf den betreffenden Speicherort im Web bestehen. In diesem Beispiel gehen wir davon aus, dass die Nutzer per Active Directory am Maskito FormServer angemeldet sind.
Sie benötigen das RepeaterControl als Gestaltungselement, das bestimmte Eingabefelder inkl. weiterführender Links gruppiert und diese Gruppe wiederholt zur Dateneingabe einfügt. Die RichTextBox bietet zudem den Vorteil, dass dort Adressen zu Speicherorten im Web so eingegeben werden können, dass die URL durch einen beliebigen, aussagefähigen Text repräsentiert wird. So kann z. B. die URL www.maskito.de durch den Text “Besuchen Sie Maskito.de” dargestellt werden.
ReadOnly
-Eigenschaft mit dem Wert “True”
. So ist dieses Feld bei jedem Fomularstart geschützt."Edit"
bzw. “Lock”
.“Edit”
die Funktion, welche auf den Klick der Schaltfläche mit dem Befehl reagiert, die RichTextBox mit dem Wert “False”
für die Eigenschaft ReadOnly
zu belegen. Klickt der Nutzer also auf diesen Button, kann er einen Link in der RichTextBox einfügen, anpassen oder löschen.“Lock”
. Dabei soll die Eigenschaft ReadOnly
der RichTextBox mit dem Wert “True”
belegt werden.WENN-Bereich
des Funktionseditors einen oder mehrere Wertevergleiche, die ein eindeutiges Attribut des aufrufenden Nutzers mit einem im Formular-Workflow hinterlegten Wert entspricht, z. B. [?ad:mail]
. Auch andere Kriterien wie etwa die Mitgliedschaft in einer bestimmten AD-Gruppe sind anwendbar, z. B. [?ad:memberOf] Enthält Kriterium
. Verknüpfen Sie die Bedingungen passend mittels UND bzw. ODER-Verknüpfungen.“Edit”
ausgeblendet und der Button “Lock”
eingeblendet werden. Bringen Sie dazu in derselben Funktion wie in Punkt 4 im DANN-Bereich
die betreffenden Befehle ein, indem Sie die Eigenschaft Visible
für die Buttons mit den Werten “False”
für Edit
und “True”
für Lock
belegen.SONST-Bereich
optional eine Ausgabe, die den Nutzer darüber informiert, dass ihm die Rechte zur Bearbeitung fehlen etc. Verwenden Sie dazu z. B. eine Message Box.“Lock”
die Eigenschaft Visible
mit dem Standardwert “False”
fest, damit dieser Button beim Aufrufen des Formulars grundsätzlich für alle Nutzer ausgeblendet ist.“Lock”
zum Beenden des Editiermodus und ergänzen Sie dort im DANN-Bereich
die Befehle zum Ausblenden des Lock-Buttons und des Einblenden des Edit-Buttons mit Hilfe der Eigenschaft “Visible”
.
Alternativ zu einem ButtonControl können Sie eine PictureBox verwenden, die durch Bildsprache ihre Funktion anzeigt, z. B. ein Stift als Symbol für “Bearbeiten”
. Die Funktion für die PictureBox gleicht in allen anderen Punkten der Funktion für den Button.
Die beiden hier im Beispiel verwendeten Button “Edit”
und “Lock”
können optional im RepeaterControl an derselben Position angeordnet werden, da immer nur einer der beiden Buttons de facto für den Formularnutzer zu sehen ist.