felix_reinhold
Returning Responder

FS_LISTs und gefilterte Views

Jump to solution

Hallo zusammen,

da wir häufig in Projekten auf das gleiche Problem treffen, wollte ich hier mal nachfragen, ob es dafür sinnvolere Wege/Workarounds gibt:

Sollen Redakteure in Templates nur Datensätze angezeigt bekommen, die in Views sichtbar sind auf die sie Rechte haben, so ist dies nicht ohne Workarounds möglich (die i.d.R. die Usability verschlechtern). Wir können zwar bspw. über ein Skript/ValueService alle Views auf die der Redakteur Zugriff hat auslesen, können aber nur bei der CMS_INPUT_LIST Komponente einen QueryParameter dynamisch über einen ValueService setzen um so ein Filterung analog zu den verfügbaren News zu setzen. Dies funktioniert nicht für die FS_LIST o. für FS_DATASET. D.h. ein Redakteur würde immer alle Datensätze sehen, auch von Datensätzen auf die er keinen Zugriff hat.

Momentan gibt es aus unserer Sicht zwei Workarounds, um dieses Problem zu umgehen:

  1. In Formularen pro View eine eigene FS_LIST/FS_DATASET zur Verfügung stellen und diese per ValueService ein- und auszublenden. Das erfordert aber manuelle Anpassungen am Template für jeden neuen View. Bei vielen Projekten ist zudem die Anzahl der nötigen Eingabekomponenten enorm. User mit besonders vielen Rechten würden dann zudem eine sehr große Anzahl an Listen sehen.
  2. In den Formularen gibt es eine ungefilterte FS_LIST, die vom Redakteur nicht editierbar ist. Stattdessen wird bei der FS_LIST ein zusätzlicher FS_BUTTON eingefügt. Über eine ShowFormDialogOperation wird ein manuell zusammen gebauter Dialog angezeigt, der entsprechend der Rechte des Redakteurs eine FS_LIST darstellt, die mit den entsprechenden Query-Parametern versehen ist. Wählt der Redakteur an dieser Stelle Einträge aus und schließt den Dialog, so werden die Eingaben an die nicht editierbare FS_LIST übergeben. (Beim Öffnen des Dialogs werden natürlich auch die im Formular bereits gewählten Einträge zur dynamisch zusammengebauten FS_LIST hinzugefügt). – Funktioniert zwar und muss nicht angepasst werden sobald neue Views kommen, aber ist natürlich aus Usability Sicht nicht sehr schön.

Gibt es hierfür schönere Lösungen?

Lässt sich das in FS 5.2 über die FS_INDEX Komponente realisieren?

Besten Dank und Gruß

Felix

1 Solution

Accepted Solutions

Hi Marian,

danke für die Antwort.

Ich habe mich jetzt mir der FS_INDEX Komponente auseinandergesetzt und einfach ein DataAccessPlugin geschrieben, dass mir das abnimmt. Da auf lang oder kurz sowieso alle Kunden auf 5.2 aktualisieren  ist das vermutlich die charmanteste Lösung und ein Update auf die aktuelle FS Version somit einfach Voraussetzung.

(An dieser Stelle mal ein kurzes Lob an das Entwicklerteam der FS_INDEX Komponente: Finde es toll, dass die Komponente so flexibel gestaltbar ist über Plugins.)

Beste Grüße

Felix

View solution in original post

2 Replies
marza
I'm new here

Hallo Felix,

mir sind auch keine besseren Lösungen bekannt. Aber um das als Entwickler "schöner" zu haben, könntest Du mal einen Feature-Request bzw. eine Idee posten.

Grüße Marian

0 Kudos

Hi Marian,

danke für die Antwort.

Ich habe mich jetzt mir der FS_INDEX Komponente auseinandergesetzt und einfach ein DataAccessPlugin geschrieben, dass mir das abnimmt. Da auf lang oder kurz sowieso alle Kunden auf 5.2 aktualisieren  ist das vermutlich die charmanteste Lösung und ein Update auf die aktuelle FS Version somit einfach Voraussetzung.

(An dieser Stelle mal ein kurzes Lob an das Entwicklerteam der FS_INDEX Komponente: Finde es toll, dass die Komponente so flexibel gestaltbar ist über Plugins.)

Beste Grüße

Felix