2026-02-02 17:13:47 +00:00
2026-02-02 17:13:47 +00:00
2026-02-01 22:58:02 +00:00
2026-01-30 08:33:42 +00:00

BNV - Formular (Benutzerverwaltung) Justiz - README

(c) ZenIT - Zentraler IT-Dienstleister der Justiz d. Landes Brandenburg

Autor: P. Seidel (ZenIT)
Code: P. Seidel (ZenIT) Test: M. Schöne (ZenIT)

Bug-Report: to P. Seidel (ZenIT)
Feature Request: to P. Seidel (ZenIT)

Release-Notes: release.md
Übersicht Felder: mandanten_matrix.md

Details

BNV in der Justiz des Landes Brandenburg steht für BeNutzerVerwaltung. Ursprünglich handelt es sich um eine komplexe Excel Tabelle mit diversen Tabellenblättern. Diese kam aus dem Geschäftsbereich des OLG und wurde nach und nach für die weitere Geschäftsbereiche übernommen und angepasst. Die Anpassung und Pflege wurde jedoch mit der Zeit immer umfangreicher und unübersichtlicher. Die vorliegende HTML-Datei ist das Ergebnis der Übernahme der Grundfunktion der Excel-Tabelle und einiger Anpassungen und Verbesserungen. Mit Hilfe dieser einen HTML-Datei ist es möglich alle Geschäftsbereiche in den BNV-Prozess zu integrieren und die Besonderheiten der jeweiligen Geschäftsbereiche abzubilden. Die HTML-Datei enthält eine Versionskontrolle. So ist es möglich, ohne zu wissen wer alles die Datei hat, aktuelle Versionen im Umlauf zu erzwingen.

Hinweise zur Programmierung & Anpassung

I. neue Anwendung

Wenn eine neue Anwendung (z.B. "Fachverfahren XY") hinzufügt werden soll, müssen immer diese drei Orte angepasst werden:

  1. HTML - Die Checkbox:
    Im Bereich row_anwendungen eine neue Checkbox hinzufügen.
    Wichtig: data-areas setzen, damit nur die richtigen Mandanten sie sehen. (siehe 2. Mandanten-Logik)
    Beispiel: <input type="checkbox" id="cbFachXY" data-areas="OLG,SDJ">
  2. HTML - Die Gruppe:
    Einen neuen Container <div class="form-grouping hidden" id="gruppeFachXY"> erstellen, der die speziellen Felder für diese Software enthält.
    Ggf. data-areas setzen falls die Sichtbarkeit zusätzlich eingeschränkt werden soll.
  3. JavaScript - Die Logik:
    In der Funktion refreshForm() zwei Dinge tun:
    1. Die Checkbox abfragen: const boxXY = document.getElementById('cbFachXY');
    2. Die Sichtbarkeit steuern: if (boxXY && boxXY.checked) { showList.push('gruppeFachXY'); }

II. Mandanten-Logik (data-areas)

Jedes Element mit dem Attribut data-areas="OLG,SDJ" wird nur angezeigt, wenn in window.MANDANT = '###' der entsprechende Mandant eingetragen wurde.

Wichtig: Wenn ein übergeordneter Container (z.B. eine Zeile oder eine Gruppe) ein data-areas Attribut hat, sind alle Felder darin automatisch mit gesperrt, auch wenn sie selbst kein Attribut haben.
Der DEBUG-Mandant: Dieser sollte in jedem data-areas stehen, damit beim Testen immer alles angezeigt wird.

III. wichtige technische Hinweise

Hinweise die sich aus der Erstellung des Codes ergeben haben und zum Fehlverfahlten des Formulars führen können:

  1. Case Sensitivity: JavaScript unterscheidet streng zwischen Groß- und Kleinschreibung. cbDragon ist nicht das gleiche wie cbdragon.
  2. ID vs. Name:
    • id wird für das Styling und JavaScript (Sichtbarkeit) genutzt.
    • name wird für die PDF-Ausgabe genutzt (das ist das Label im PDF).
  3. Checkboxen im PDF: Einzelne Checkboxen (wie das Headset) werden immer automatisch mit "Ja" übersetzt, wenn kein fester value im HTML steht.
  4. Datum: Datumsfelder werden beim Auslesen für das PDF automatisch von YYYY-MM-DD in DD.MM.YYYY umgewandelt.

IV. Version-Check

Version-Logik

Die Versionen zum Vergleichen sind immer ganze Zahlen.
Das bedeutet eine Version 1.2 ist 12 bei der Prüfung (1.2 = 12). Wenn im folgenden von -2 Versionen gesprochen wird, ist somit die Versionsnummer hinter dem . gemeint!

Version-Check

Das Formular prüft beim Start automatisch ob es eine neuere Version von sich gibt. Sollte festgestellt werden, dass:

  1. die Version -1 alt ist, erscheint am Anfang eine rote Box mit dem Hinweis, dass es eine neuere Version gibt mit entsprechenden Download-Link. Ein Arbeiten ist weiterhin möglich.
  2. die Version -2 oder älter, erscheint am Anfang eine rote Box mit eindringlichen Hinweis, dass es eine neuere Version gibt mit entsprechenden Download-Link. Ein Arbeiten ist NICHT mehr möglich.

Version-Dokumentation

Die Versionssteuerung erfolgt an 2 Stellen.

  1. Im Formular muss die Version gepflegt werden.
  2. Auf der Intranet-Seite justiz-info muss version_check.js angepasst werden.
Version hinterlegen
  1. Im Formular APP_VERSION_ID entsprechend anpassen (es werden nur ganze Zahlen akzeptiert [Version 1.7 = 17])
  2. in version_check.js window.REMOTE_VERSION_ID = 16; eintragen & die Zahl mit der entsprechenden Versionsnummer ersetzen z.B. 17
  3. version_check.js auf die Intranet-Seite (justiz-info) als Media hochladen, vorhandene Datei ersetzen (Hr. Seidel Ansprechpartner)
Description
Benutzerverwaltung
Readme 534 KiB