Die Perspektive Masken, Prüfpläne… umfasst diejenigen ASYS-Repositoryobjekte, welche durchgehend einer Masken (einem Aufgabenbereich) zugeordnet sind. Die genannten Objektklassen sind global für alle Repository-Standorte gültig und nutzbar.
Die in dieser Perspektive konfigurierbaren Repository-Objekte sind:
Der Tab-Reiter eines Lesefilter im Bearbeitungsbereich des Administrators enthält zuoberst einen Abschnitt für den globalen Lesefilter, an den sich darunter der Listenbereich mit den Lesefiltern für einzelne Insititutionen anschließt:
Darunter folgt das Feld SQL-Bedingung, in welchem die zusätzliche Bedingung an die Datensätze auf der Maske eingetragen wird. Ein Feld, auf welches sich die Bedingung bezieht, wird in der üblichen {%..%}-Notation angegeben, die restliche Bedingung wird - ggf. unter Beachtung von Besonderheiten der jeweiligen Datenbank - gemäß den SQL-Konventionen eingetragen (Ein Tutorial für SQL findet sich z.B. hier: http://sql.lernenhoch2.de/lernen/).
Die SQL-Lesefilterbedingung kann aus einer oder mehreren Einzelbedingungen bestehen (in der Abbildung oben ist nur eine Bedingung enthalten). Werden mehrere Einzelbedingungen festgelegt, so müssen diese über die logischen Operatoren and oder or miteinander verbunden werden. Die Gesamtheit aller Einzelbedingungen sollte durch ein rundes Klammerpaar (..) umfasst werden, um sie zu einem in sich abgeschlossenen logischen Ausdruck zusammenzufassen. Bei Verwendung des Operators or ist in jedem Fall durch Setzung von runden Klammern sicherzustellen, dass die veroderten Einzelbedingungen zusammengefasst sind.
Die zusätzliche Lesefilterbedingung wird allen anderen Bedingungen - ob fest durch ASYS vorgegeben oder aus Suchbedingungen des Nutzers auf der Maske resultierend - mittels and-Operator hinzugefügt. Die Datensätze der Maske müssen also die Lesefilterbedingung zusätzlich erfüllen, um angezeigt zu werden.
Im Textfeld des Regelcodes wird mit Syntaxhighlighting gearbeitet, d.h. bestimmte für die Formulierung ausführbaren Codes wichtige Sonderzeichen werden im Fenster in roter Schrift angezeigt (z.B. Klammern, Prozentzeichen). Wird im Textfeld das Zeichen { eingegeben oder Strg+Leertaste gedrückt, so öffnet sich eine Auswahlliste aller Datenattribute der Maske:
Die Auswahl eines Eintrags aus der Auswahlliste links erfolgt per Doppelklick (das rechte Fenster gibt einen Dokumentationstext zum Attribut aus dem ASYS-Datenmodell aus, falls ein entsprechender Text vorliegt).
Es ist nicht notwendig, dass ein globaler Lesefilter definiert ist, um institutionsspezifische Lesefilter zu definieren. Bleibt der globale Lesefilter leer (= SQL-Bedingung bleibt leer), so gelten für alle Nutzer erst einmal keine zusätzlichen Einschränkungen. Werden nun institutionsspezifische Filter definiert, gelten diese nur für die Nutzer dieser Institutionen, nicht jedoch für Nutzer aller anderen Institutionen des gleichen Repository-Standortes.
Die Abbildung oben demonstriert den gegenteiligen Fall: Für alle Nutzer soll eine Einschränkung durch den globalen Filter gelten, außer für die Nutzer einer Institution. Hierfür sind zwei Wege der Definition denkbar:
Welche Alternative einfacher praktikabel ist, muss im Einzelfall entschieden und ggf. ausprobiert werden.
Neu ab V7.14: In Lesefiltern können auch Abfragen und Session-Context-Funktionen (sc.) genutzt werden. Für Lesefilter angeboten werden Abfragen, die als interne Abfragen mit der Kennzeichnung 'Lesefilter' versehen sind. Die sc-Funktionen werden wie Laufzeitparameter notiert und zusätzlich mit einfachen Anführungsstrichen umgeben, da ihr Wert als Zeichenkette zurückgegeben wird (Beispiel: '{*sc.userID()*}' liefert den Login-Namen des aktuell angemeldeten Nutzers, z.B. 'itu'.)
Tipp für Abfragen in Lesefiltern: Abfragen liefern als einziges Ergebnis (Result-Spalte) eine Liste der IDs der Datensätze derjenigen Maske, für die der Filter definiert wird - z.B. für einen Filter auf Erzeugerbetriebe eine Liste von IDs dieser Erzeugerbetriebsstätten - mit für den Lesefilter bestimmenden Eigenschaften - z.B. Erzeuger mit einer zuständigen Erzeugerbehörde aus dem eigenen Bundesland. Im Lesefilter wird dann die ID des jeweiligen Datensatzes darauf geprüft, ob sie in der Liste der IDs der Abfrage enthalten ist. Ist sie enthalten, wird der Datensatz in der Maske angezeigt, andernfalls wird der Datensatz ausgefiltert. Für diese Prüfung, ob die ID im Ergebnis der Abfrage enthalten ist, wird der IN-Operator verwendet, z.B.: {%Rolle Betrieb Erz.#%} IN ({%*NameDerAbfrage%}).
Den unteren Teil des Bearbeitungsbereichs nimmt der Tab-Reiter Insitutionsspezifische Lesefilter ein.
Der Tab-Reiter enthält auf der linken Seite die Liste der Institutionen, für die zur aktuellen Maske ein spezifischer Lesefilter definiert ist. Auf der rechten Seite wird der spezifische Lesefilter der in der Liste aktuell markierten Institution angeboten. Der Name der markierten Institution wird im Tab-Reiter über den beiden Feldern SQL-Bedingung und Info angezeigt. Für diese gelten die Erläuterungen zu den gleichnamigen Feldern des globalen Lesefilters (s.o.).
Aus der Auswahlliste der Institutionen des Repository-Standortes rechts wird eine Institution per Drag&Drop in die Liste der Institutionen mit spezifischen Lesefiltern gezogen. Alternativ kann über den Button Institution hinzufügen () ein Auswahldialog der Institutionen geöffnet werden. In beiden Fällen können die Institutionen vor der Auswahl nach Namensbestandteilen gefiltert werden.
In beiden Auswahllisten ist eine Mehrfachauswahl möglich (via Windows-Standard: Shift+Linksklick bzw. Strg+Linksklick). Es werden alle markierten Institutionen in die Liste übernommen, für die noch kein Lesefilter definiert ist (Doppelzuweisungen von Institutionen werden ignoriert).
In beiden Varianten wird der globale Filter (SQL-Bedingung) in alle auf diese Weise neu in die Liste aufgenommenen Institutionen kopiert. Die Filterbedingung kann dann für jede Institution angepasst werden. Eine nachträgliche Änderung am globalen Filter ändert vorhandene institutionsspezifische Filter nicht mehr. Sie wird nur in jeweils neu übernommene Institutionen kopiert.
Die zu löschende Institution wird in der Liste der Institutionen markiert und anschließend der Button Institution löschen () geklickt. Nach einer Sicherheitsabfrage wird die Institution aus der Liste der Institutionen mit spezifischem Lesefilter zur Maske gelöscht. Gelöscht wird ausschließlich die Zuordnung der Institution zu den Lesefiltern der Maske sammt SQL-Bedingung und Info-Textfeld; die Institution bleibt unverändert erhalten.
Weitere Informationen zu dieser Maske | ||||||||||||||||
keine | ||||||||||||||||
landesspezifische Zusatzinformationen: | SH | HH | NI | HB | NW | HE | RP | BW | BY | SL | BE | MV | ST | BB | TH | SN |