Daten im Frontend editieren - Konfiguration
Hinweis: Diese Feature sind Teil der Visforms Subscription und in der freien Visforms Version nicht enthalten.
Die Visforms Subscription fügt Ihrer Visforms Installation zusätzliche Menüeintrags-Typen hinzu, die Sie verwenden müssen, wenn Sie Benutzern Ihrer Webseite erlauben wollen, Daten im Frontend zu bearbeiten.
Mithilfe des Menüeintrags vom Typ Visforms » Formulardaten mit Edit Link, können Sie alle Übertragungen für ein bestimmtes Formular anzeigen.
Sie können mit diesem Menüeintrag die Übertragungen für alle Benutzer mit entsprechender Berechtigung auch zur Bearbeitung freigeben.
Mithilfe des Menüeintrags vom Typ Visforms » “Meine Übertragungen” alle Übertragungen eines bestimmten Benutzers für alle Formulare angezeigt.
Um die Unterschiede zwischen diesen beiden Ansätzen zu verstehen ist auch folgender Beitrag interessant: Formulardaten im Frontend.
Um das “Daten im Frontend editieren” aufsetzen zu können, müssen Sie unbedingt die Joomla Benutzerrechte Verwaltung (ACL = Access Control List) verstanden haben und korrekt einsetzen. Denn über diese Rechte wird gesteuert, wer welche Daten wie bearbeiten darf.
Der folgende Beitrag erläutert die wichtigsten Aspekte der Joomla Benutzerrechte Verwaltung. Diese sind wichtig im Hinblick auf die Konfiguration des “Daten im Frontend editieren”, sowie die konkreten Optionen die Visforms Ihnen bietet.
Die Ausführungen gelten sowohl für
- das Aufsetzen einer Sicht Formulardaten mit Edit Link, als auch für
- das Aufsetzen einer Sicht Meine Übertragungen.
Weiterhin erläutert dieser Beitrag, wie Sie die Sicht Formulardaten mit Edit Link aufsetzen.
Folgende Schritt-für-Schritt-Anleitung gibt ein konkretes Beispiel für die Konfiguration einer Sicht Formulardaten mit Edit Link:
Beispiel.
Wie Sie die Sicht Meine Übertragungen konkret aufsetzen, wird in der Dokumentation in folgendem Abschnitt erläutert: Übertragungen des Benutzers.
Grundlegendes zu Joomla Zugriffsrechten
Dieser Artikel startet mit einer grundsätzlichen Erläuterung zur Verwendung des ACL (Access Control List) in Joomla. Denn es ist wirklich notwendig, dass Sie verstanden haben, wie ACL in Joomla funktioniert, bevor Sie versuchen mit Visforms Rechte für das Editieren von Daten im Frontend zu vergeben. Mehr dazu in: Access Control List Tutorial.
Zugriffsrechte in Joomla unterstützen den Mechanismus der hierarchischen Vererbung von Einstellungen. Es gibt zwei unterschiedliche Linien, entlang derer die Zugriffsrechte vererbt werden.
Linie entlang der Benutzergruppen
Die eine Vererbungslinie arbeitet entlang der Benutzergruppen.
Ein Beispiel für diese Line ist Registered -> Author -> Editor -> Publisher.
Hierbei erbt jede Benutzergruppe die Rechte von der Benutzergruppe, die Links von ihr steht.
Linie entlang der Konfigurations-Einstellungen
In Visforms arbeitet die zweite Vererbungslinie entlang der Linie von Konfigurations-Einstellungen.
Ein Beispiel für diese Line ist Komponenten-Einstellungen -> Formulareinstellungen -> Feldeinstellungen.
Hierbei erben die Feldeinstellungen von den Formulareinstellungen, und diese wiederum von den Visforms-Einstellungen.
Zugriffsrechte mit maximal wenig Aufwand erstellen
Die Vererbung von Rechten ermöglicht es, Zugriffsrechte mit maximal wenig Aufwand zu erstellen. Setzen Sie einfach die Option für das am weitesten links stehende Level. Beispielsweise reicht es aus, die Option “Eigene Daten Editieren” für die Benutzergruppe “Registered” auf der Ebene der Komponente Visforms auf “Erlaubt” zu setzen. Damit allein können nun alle registrieren Benutzer, Autoren, Editoren und Publisher die Daten, die sie selbst übermittelt haben, in allen Formularen editieren.
In Joomla können Sie auf jeder Ebene die ererbten Zugriffsrechte explizit manuell auf “erlaubt” oder “verweigert” setzen. Hierdurch kann man sehr individuelle Zugriffsrechte für jeden Bereich erreichen. Diese Kombination macht das Joomla ACL zu einem so mächtigen und vielseitigen Werkzeug.
Zusätzliche Zugriffsrechte
Joomla kommt mit vordefinierten Aktionen für die Zugriffsrechte festgelegt werden können. Damit Sie noch mehr individuelle Kontrolle darüber haben, wer in Visforms was tun darf, haben wir einige zusätzliche Zugriffsrechte definiert.
Zusätzliche Zugriffsrechte für Administration
- CSS editieren,
- Daten löschen,
- Formulardaten in Administration exportieren (CSV),
- “Erstellt von Benutzer” für Visforms Daten ändern,
- SQL Statements erstellen.
Zusätzliche Zugriffsrechte für Frontend
- Formulardaten im Frontend exportieren (CSV),
- PDF-Datei im Frontend erzeugen,
- PDF-Datei von eigenen Daten im Frontend erzeugen,
- Daten Status bearbeiten,
- Daten Status eigener Datensätze bearbeiten,
- Daten direkt im Frontend bearbeiten,
- Eigene Daten im Frontend editieren.
Zusätzliche Visforms ACL Aktionen
Eine für Visforms wichtige Eigenschaft der Joomla ACL ist die folgende. Alle Aktionen, die für eine Komponente zusätzlich zum Standard definiert wurden, erben für alle Benutzergruppen außer den Super-Administratoren per Default das Zugriffsrecht “verweigert”. Deshalb ist es für alle Benutzergruppen außer dem Super-Administrator notwendig, Visforms-spezifische Aktionen explizit zu erlauben. Sie müssen das explizit tun, wenn Sie wollen, dass eine Benutzergruppe diese Aktion durchführen darf. Eine Visforms-spezifische Aktion wäre etwa das Editieren von Daten im Frontend.
Wie wir bereits gelernt haben, kann dies einfach geschehen. Sie müssen nur auf den Vererbungslinien die höchste Benutzergruppe auswählen, der Sie das Recht geben wollen. Die höchste Benutzergruppe ist immer die am weitesten links stehende Benutzergruppe.
Erlauben Sie nun dieser Gruppe das “Editieren von Daten”, auf
- der Ebene der Komponente Visforms oder
- auf der Ebene eines einzelnen Formulars.
Wo werden die Zugangsregeln gesetzt?
Ebene der Komponente Visforms
Auf der Ebene der Komponente Visforms werden die Regeln in der Administration gesetzt über
- den “Optionen”-Button in der Visforms Hauptansicht, also der Listen-Übersicht der Formulare oder
- die Joomla Konfiguration über System » Konfiguration » Visforms.
Ebene Formular
Zugriffsrechte für spezifische Formulare werden in der Formularkonfiguration unter dem Reiter “Formularberechtigungen” gesetzt.
Ebene Feld
Zugriffsrechte für spezifische Felder werden in der Feldkonfiguration unter dem Reiter “Feldberechtigungen” gesetzt.
Es ist mit Visforms möglich, die Rechte ‘Daten im Frontend editieren’ und ‘Eigene Daten im Frontend editieren’ bis hinunter bis auf Feldebene zu erlauben oder zu verweigern. Trotzdem kann ein Benutzer Daten nur dann editieren, wenn er auch auf Formularebene die Berechtigung zum Editieren hat. Abweichende Regeln auf Feldebene machen Sinn, wenn einer berechtigten Benutzergruppe verboten werden soll, die Daten ausgewählter Felder zu editieren.
Die Werte “Neue Einstellung” und “Errechnete Einstellung”
Es gibt für jede Aktion und jede Benutzergruppe einen Wert “Neue Einstellung” und einen Wert “Errechnete Einstellung”. In der Listbox für die “Neue Einstellung” können Sie zwischen “Vererbt”, “Erlaubt” und “Verweigert” wählen. Entsprechend dieser Auswahl berechnet Joomla die Berechtigung für eine gewählte Benutzergruppe und eine gewählte Aktion entlang der Vererbungslinien. Das Ergebnis der Berechnung wird angezeigt in dem Feld “Errechneten Einstellungen”. Obwohl die “Errechneten Einstellungen” im Großen und Ganzen hilfreich sind, können Sie doch irreführend sein. Wenn eine Berechtigung nicht wie erwartet arbeitet, müssen Sie deshalb alle Werte für “Neue Einstellung” aller übergeordneten Benutzergruppen einzeln überprüfen.
Visforms ACL Aktionen für das Editieren von Daten im Frontend
- Daten Editieren:
Erlaubt einem Benutzer aus der entsprechenden Benutzergruppe alle Daten zu editieren.
Diese Berechtigung sollte Administratoren vorbehalten bleiben. - Eigene Daten Editieren:
Erlaubt einem Benutzer aus der entsprechenden Benutzergruppe die Daten zu bearbeiten, die er selbst mit dem Formular übermittelt hat.
Option “Eigene Daten Editieren”
Nur Daten, die von einem angemeldeten Benutzer übertragen wurden, können mit der Option “Eigene Daten Editieren” bearbeitet werden. Visforms speichert die ID eines angemeldeten Benutzers zusammen mit den übermittelten Formulardaten. Diese Benutzer ID wird später verwendet, um zu entscheiden, welche Datensätze ein Benutzer bearbeiten darf und welche nicht.
Benutzer können mehreren Benutzergruppen angehören
Mit Joomla können Sie einen Benutzer gleich mehreren unterschiedlichen Benutzergruppen zuordnen. Das macht Sinn etwa bei der Gruppe “Registriert” und der Gruppe “Manager”. Welche Rechte ein Benutzer, der mehreren Benutzergruppen angehört, tatsächlich hat, kann auf den ersten Blick unter Umständen verwirrend sein. Nichtsdestotrotz ist dies ein wichtiges Feature, das häufig verwendet wird.
“Verweigert” gewinnt über “Erlaubt”
Sie müssen bei der Klärung der widersprechenden Einstellungen aus den jeweiligen Gruppen nur beachten, dass “Verweigert” über “Erlaubt” gewinnt. Angenommen Sie haben für eine Benutzergruppe das Recht explizit auf “Verweigert” gesetzt. In diesem Fall kann ein Benutzer diese Aktion auch dann nicht ausführen, wenn er einer zweiten Benutzergruppe angehört, für die die Aktion “Erlaubt” ist. Dies trifft sogar dann zu, wenn das “Verweigert” von einem viel höheren Level geerbt wurde.
Wo ist der “Daten Editieren” Button
Sie müssen einen Menüeintrag vom Typ Visform -> Datensicht mit Edit Link anlegen, wenn Sie das Bearbeiten von Daten im Frontend ermöglichen wollen. Sie müssen die Sichtbarkeit von Daten im Frontend entsprechend der Beschreibung im folgenden Dokumentations-Abschnitt festlegen, um die Datensicht mit den gewünschten Daten zu füllen: Daten speichern und nutzen.
Hinweis: Der einzige Unterschied zu den in diesem Abschnitt beschriebenen Einstellungen ist der Folgende. Bei der Anzeige von Daten über den Menüeintrag vom Typ Visform -> Datensicht mit Edit Link ist es nicht nötig, den Formular-Parameter "Frontend Datenansicht erlauben" auf "ja" zu setzen. Im Falle des 'Daten im Frontend editieren' wird dies durch das Anlegen des Menüeintrags freigeschaltet.
Sie können die Zugriffsebene für die Datensicht und für den Menüeintrag setzen. Damit können Sie die Sichtbarkeit des Menüeintrags und der Daten auf bestimmte Benutzergruppen zu begrenzen. Sinn macht etwa die Begrenzung auf nur angemeldete Benutzer. Die Zugriffsebene für die Datensicht konfigurieren Sie in der Formularkonfiguration.
Für einen Menüeintrag vom Typ “Visforms Formulardaten” sind alle Jooma Standard Menü-Parameter vorhanden. Zusätzlich zu den Standard Menü-Parametern finden Sie einen weiteren Parameter “Nur editierbare Datensätze anzeigen” im Menü im Reiter “Optionen für die Formulardatenanzeige”. Mithilfe dieses Parameters können Sie eine Liste erstellen, die immer nur die Datensätze anzeigt, die der angemeldete Benutzer auch wirklich bearbeiten darf.
Wird eine Datentabelle über diesen Menüeintragtyp angezeigt, so fügt Visforms automatisch eine Link-Spalte ein, wenn ein Benutzer berechtigt ist die Formulardaten zu editieren. Für jeden Datensatz, den der Benutzer tatsächlich aufgrund seiner Rechte bearbeiten darf, findet sich in dieser Spalte ein Link in Form eines Link-Icons. Visforms fügt auch in der zu diesem Menüeintragstyp gehörigen Detailansicht einen Edit-Button ein, wenn der Benutzer diesen Datensatz editieren darf.
Hinweis: Durch geschickte Wahl der ACL Einstellungen, der Formular-Optionen und der Menü-Optionen können für Benutzer, die nur "Eigene Daten Editieren" dürfen, maßgeschneiderte Datenlisten erzeugt werden. Diese Datenlisten zeigen immer nur die Datensätze des angemeldeten Benutzers an.
Nehmen Sie hierzu die folgenden Einstellungen vor:
- Setzen Sie nur die Formular-Option “Eigene Daten Editieren” für “Registrierte Benutzer” auf “Erlaubt”.
- Legen Sie einen Menüeintrag in einem Benutzermenü an, das nur für registrierte Benutzer sichtbar ist.
- Setzen Sie die Zugriffsebenen für das Menü auf “Registriert”.
- Aktivieren Sie die Option “Nur editierbare Datensätze anzeigen” im Menü.
Welche Daten können bearbeitet werden?
Wenn ein Benutzer das Recht hat einen Datensatz zu editieren und auf den “Editieren-Link” klickt, bekommt er das Formular in einer einfachen Formularansicht angezeigt und die Daten werden als Defaultwerte im Formular gesetzt. Es werden alle veröffentlichten Formularfelder angezeigt.
Hinweis: Felder vom Typ "versteckt" können im Frontend nicht bearbeitet werden, da diese eben versteckt sind und daher im Formular unsichtbar sind.
Abgesehen von dieser Ausnahme, können alle anderen Benutzereingaben in Übereinstimmung mit den gemachten Einstellungen und Validierungs-Optionen geändert werden. Es gelten die Einstellungen in der Formular-Konfiguration und in der Feld-Konfiguration.
Felder, die ein Benutzer nicht bearbeiten darf, werden in der Editieren-Sicht des Formulars angezeigt, sind aber nicht editierbar.
Unterhalb des Formulars werden zwei Buttons angezeigt. Einer um die Änderungen zu speichern und einer, um den Vorgang abzubrechen und zur vorherigen Seite zurückzukehren.