Startseite


Lesefilter

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:

  • Masken: Die Masken sind durch die Basiskonfiguration von ASYS und die Oberfläche vorgegeben, es können keine Masken hinzugefügt oder gelöscht werden, ebensowenig lässt sich der Umfang der auf den Masken anzeigbaren Informationen erweitern. Es stehen aber für alle Attribute (Datenfelder) auf den Masken Konfigurationsmöglichkeiten zur Verfügung, die hier erreich- und änderbar sind. So lassen sich u.a.
    • die Beschriftungen anpassen, sowohl global für alle Nutzer als auch bedarfsweise für einzelne Institutionen, auf der Maske wie auch für Listen,
    • Beschriftungseigenschaften in gewissen Grenzen anpassen (unterstrichen, kursiv, Beschriftung- und Hintergrundfarbe),
    • Sichtbarkeits-, Änderungs- und Pflichtfeldstatus setzen,
    • Standardinhalte für einzelne Felder definieren (fest oder per Abfrage ermittelt),
    • Standardsuchinhalte für den Suchmodus der Maske definieren,
    • ODER-Gruppen zur Verkopplung ähnlicher Felder bei der Suche festlegen,
    • Zwischenüberschriften anpassen1),
    • bei sog. Multimasken weiteren Masken, welche die selben Einstellungen mit der aktuellen Maske teilen, einsehen,
    • Berechnete Felder anpassen und
    • weitere Eigenschaften einsehen (z.B. die konfigurierte Kontext-Hilfeseite im ASYS-Wiki).
  • inhaltsbasierte Masktenattributsteuerung: Mit der inhaltsbasierten Maskenattributsteuerung können Eigenschaften der Einzelangaben auf der jeweiligen Maske in Abhängigkeit vom Ergebnis einer Regel gesteuert werden. Die Steuerung folgt dem Schema der Regelmengen und besteht je Maske aus einem Steuerungsplan mit Regelgruppen und Regeln (Skripten). Je Regel lassen sich ein oder mehrere Einzelangaben gemeinsam steuern. Der Steuerungsplan wird ausgeführt und ausgewertet, wenn die Maske in den Änderungsmodus versetzt wird. Aktuell bestehen die Optionen, Einzelangaben mit diesem Mechanismus ihren Änderungsstatus auf „Nur lesen“ oder „BearbeitenTrotzFilter“ (s. Bearbeitungsfilter) zu setzen.
  • Fachlich-Inhaltlicher Prüfplan: Fachlich-Inhaltliche Prüfpläne sind Prüfpläne, bestehend aus Regelgruppen und Prüfregelreferenzen (die wiederum auf Prüfregeldefinitionen verweisen). Wenn in einer Maske ein Prüfplan den Maskeninhalt jeweils beim Speichern überprüfen soll, so werden nacheinander die Prüfgruppen in definierter Reihenfolge ausgeführt und innerhalb der Gruppen die Prüfregeln ebenfalls in definierter Reihenfolge. Über die Gliederung in Prüfgruppen wird erreicht, dass bestimmte Prüfungen nur unter bestimmten Voraussetzungen ausgeführt oder übersprungen werden können.
    • Der Prüfplan wird ausgeführt, bevor die Maskeninhalte in die Datenbank geschrieben werden.
    • Das Ergebnis eines Prüfplans wird in das Prüfprotokoll des jeweiligen Datenbereiches geschrieben. Zu einer Maske und ihrem Prüfplan wird dabei immer nur das zuletzt ermittelte Prüfplanergebnis in das Fehlerprotokoll geschrieben, frühere Prüfplanergebnisse werden jeweils gelöscht, wenn ein neues Ergebnis abgelegt wird.
  • Textformulare: Jedes Textformular ist genau einer Maske zugeordnet. Sie ermöglichen die Überführung von Datensätzen in XML-Datenstrukturen, die sich mit Hilfe einer Makro-Sammlung für Microsoft-Word oder -Excel in ein formatiertes und ausdruckbares Dokument umwandeln lassen. Alternativ können Sie in PDF-Formulare2) überführt werden. Textformulardefinitionen bestehen aus Abfragen, die in einer Baumstruktur zusammenhängend verwaltet werden und dabei auch die Beziehungen der Datensatzbestandteile abbilden. Textformulare können auch aus der Vorgangssteuerung heraus aufgerufen werden.
    Damit ein Textformular tatsächlich in ein Word-Dokument umgewandelt werden kann, muss in jedem Fall auch noch - zumindestens ein - Word-Vorlagendokument erstellt werden, mit Textmarken, an denen die Word-Makros die Inhalte aus den Abfragen eintragen können bzw. ein PDF-Formular, in dessen Felder die Inhalte übertragen werden können. Die Textformulardefinition liefert hierfür nur den notwendigen Input. In gleicher Weise müssen die Daten in ein Excel-Arbeitsblatt mit passend benamten Bereichen eingearbeitet werden.
    Ab ASYS7 müssen Textformulare zusätzlich auch einem Nutzerprofil zugeordnet werden. Textformulare ohne Nutzerprofilzuordnung können von keinem Nutzer ausgeführt werden. Dies kann dazu genutzt werden, unterschiedlichen Nutzergruppen - repräsentiert durch ihr jeweiliges Nutzerprofil - Zugriff auf passend für sie konfigurierte Textformulare zu geben (z.B. mit unterschiedlichem Umfang ausgegebener Daten).
  • Textformulargruppen: Textformulargruppen fassen Textformulardefinitionen einer Maske zusammen, um zusammengehörige - aber getrennt definierte - Dokumente fachlich/inhaltlich zusammenzufassen und auch gemeinsam in einem Arbeitsgang erstellen und ggf. gleich ausdrucken lassen zu können.
    Ab ASYS7 müssen Textformulargruppen zusätzlich auch einem Nutzerprofil zugeordnet werden. Es gelten die weiteren Anmerkungen hierzu bei den Textformularen. PDF-Textformulare können nicht in Textformulargruppen aufgenommen werden.
  • Filter: Die Filter3) existieren in zwei Ausprägungen:
    • Lesefilter: Lesefilter schränken die Datensätze ein, welche in der Maske für die Nutzer zur Anzeige gebracht werden können. Es kann pro Maske ein globaler Lesefilter definiert werden, der für alle Nutzer gültig ist, für die kein institutsspezifischer Lesefilter festgelegt ist. Darüberhinaus kann für jede Institution des aktuellen Repository-Standortes ein individueller Lesefilter gesetzt werden.
      Lesefilter werden vor allem für die Filterung von Katalogen genutzt, um alte Versionen eines Katalogs (z.B. den EAK) auszufiltern, wenn ein neuer Katalog in der gleichen Tabelle parallel mit verwaltet werden muss (z.B. der AVV) aber der alte Katalog nicht mehr zur Auswahl angeboten werden soll.
    • Bearbeitungsfilter: Ein Bearbeitungsfilter ist eine Regelmenge - wie der Prüfplan - und besitzt auch die gleiche Struktur aus Regelmenge, Regelgruppen und Regelreferenzen. Mit dem Bearbeitungsfilter kann anhand des Datensatzinhalts ermittelt werden, ob der aktuelle ASYS-Nutzer berechtigt ist, den Datensatz zu ändern, zu löschen oder zu historisieren (oder ob er den Datensatz nur einsehen darf). Der Bearbeitungsfilter wird ausgeführt, wenn der Nutzer eine der vorstehend genannten Aktionen über den entsprechenden Button auf der Maske der ASYS-Oberfläche auslöst. Das Ergebnis ist entweder die Erlaubnis (keine Prüfregel mit Stufe > 0) oder die Verweigerung der entsprechenden Aktion. Das Ergebnis des Prüfplans wird nicht aufbewahrt.
      Soll bereits bei der Neuanlage eines Datensatzes geprüft werden, ob ein Datensatz durch den Nutzer gespeichert werden darf, so kann dies nicht durch einen Bearbeitungsfilter erfolgen, sondern muss statt dessen im normalen Prüfplan der Maske berücksichtigt werden (Prüfregel mit Stufe 4), da in diesem Falle die Erlaubnis erst beim Speichern überprüft werden kann.
2014/01/14 14:24 · eflor

Tab-Reiter eines Lesefilters im Bearbeitungsbereich

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:

  • Name: Die erste Zeile in diesem Abschnitt enthält den Namen des globalen Lesefilters. Der globale Lesefilter gilt für alle Nutzer des aktuellen Repository-Standorts, welche die Maske öffnen dürfen, es sei denn, der Nutzer gehört zu einer Institution, für die ein institutionsspezifischer Lesefilter definiert ist (s.u.). Der Name wurde bei der Erstellung vergeben und ist nachträglich nicht mehr änderbar.

Das Textfeld mit der SQL-Bedingung

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:

Auswahl der Maskenfelder

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:

  1. Für alle betroffenen Institutionen - außer der einen - wird ein institutionsspezifischer Lesefilter definiert.
  2. Es wird ein globaler Lesefilter definiert, der durch einen institutionsspezifischen Filter für die eine auszunehmende Institution aufgehoben wird. Dieser Weg ist oben beschritten worden.

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%}).

  • Info: Das Info-Feld ist ein Textfeld für Freitext und kann für eine interne Dokumentation genutzt werden.

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.).

Einen institutionsspezifischen Lesefilter ergänzen

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 (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.

Einen institutionsspezifischen Lesefilter löschen

Die zu löschende Institution wird in der Liste der Institutionen markiert und anschließend der Button Institution löschen (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

Zurück zum Seitenanfang


1)
Diese Möglichkeit wird aktuell nicht angeboten, da die ASYS-Anwenderoberfläche diese Konfigurationsoption nicht unterstützt. Das Repository ist aber entsprechend vorbereitet.
2)
Neu ab V7.10.
3)
vormals: Regionale Filter
  • adm6/mrt/lesefilter.txt
  • Zuletzt geändert: 2023/03/23 07:44
  • von eflor