BryteCube Konfiguration
BryteCube ist ein Werkzeug, mit dem Sie Ihre Datenorganisation bauen, rasch, selbständig und kostengünstig. In BryteCube definieren Sie autonom, welche Informationen Sie brauchen, wie Sie diese pflegen und nutzen wollen.
Das Training der Datenkonfiguration setzt auf den Kenntnissen der Anwendung auf. Die Implementierung der Funktionen in der Konfigurationsumgebung erfolgt analog
1. User Rollen
Das Ausbildungskonzept ist modular aufgebaut und basiert auf aufbauenden Rollen, welche ein schrittweise Entwicklung in der Datenadministration, ausgehend vom Datennutzer hin zum Administrator unterstützt.
| Nr | Verantwortung | Abkürzung |
|---|---|---|
| 1 | Informationszugang | IA |
| 2 | Editor | ED |
| 3 | Datenmodellierung | DM |
| 4 | Systemadministrator | SA |
| 5 | Super User | SU |
| 6 | Condesys Consulting | VM |
aufbauende Rollen in der Anwendung BryteCube
2. Technischer Ansatz
Damit eine Applikation aufgeschaltet werden kann, muss Schritt für Schritt das Strukturelle Gerüst mit Inhalt befüllt werden. Darum starten wir hier beim Aufbau einer bereitgestellten Applikationsseite.
Als erstes muss eine Applikationsseite erstellt, werden, welche das entsprechende Thema darstellen soll. Ebenso muss der Themenbaum mit den vorbereiteten Gruppen und User-Rechten aufbereitet werden. Die verschiedene Datensichten und Karten-Layer werden unabhängig gepflegt und über den Themenbaum miteinander verknüpft. Die Zugrundeliegende Entität und Geo-Tabelle werden dazu vorgängig gepflegt. Ebenso werden die erforderlichen Codelisten vorgängig erstellt, um die Auswahlwerte bereitstellen zu können.
Für die Darstellung der Geodaten sind vorab noch der Kartendienst und der Ortstyp zu definieren, damit diese Information in der richtigen Grösse am richtigen Ort dargestellt werden.
Konfiguration der Arbeitsumgebung in BryteCube
3. Funktionale Elemente im Backend
Nachfolgend werden die erforderlichen funktionalen Elemente zur Erstellung der Webapplikation vorgestellt, wobei am Anfang auf die minimal erforderliche Anwenderrolle verweisen wird.
3.1 Seiten-/ Gruppenrechte
Rolle: Super User
In den Seiten-/ Gruppenrechte wird der Name der Anwendung bzw. der URL-Pfad für die Applikation definiert und über die GUID identifiziert. Entsprechend werden die autorisierten Gruppen berechtigt auf die Anwendung zuzugreifen.
3.2 Themenbaum
Rolle: Systemadministrator
Im Themenbaum werden die erforderlichen Themen in unterschiedlichen Gruppen organisiert. Nach dem Festlegen der Baumwurzel werden die Äste in Form der Ordnerstruktur angelegt, die Blätter repräsentieren die Themen und die dazugehörigen Karten-Layer.
Anmerkung
- Ist der Layer-Name und dessen Beschreibung mit der jeweiligen Datensicht identisch, so werden diese verknüpft über das Layer-Logo dargestellt - Über ein Konfigurationsparameter ist möglich den Layer über den Menubaum ein und auszuschalten, dann wird er als Layer-Stack dargestellt, ansonsten als Globus
3.3. Datensicht
Rolle: Datenmodellierung
Die Datensicht zeigt ein gewünschte Auswahl an Daten aus einer Entität im Browser. Eine Datensicht kann optional Geo-Daten anzeigen, wenn die entsprechende Konfiguration vorliegt.
3.3.1 Unterschied Entität und Datensicht
Die Entität beschreibt die Datenstruktur und enthält alle alle erforderlichen Merkmale. Diese Struktur wird anschliessend an die Definition in die Datenbank übertragen. Die Datensicht zeigt hingegen im Browser nur eine ausgewählte Ansicht an Merkmalen für die jeweilig berechtigten Anwender.
Unterscheidung Entität und Datensicht
In der Datensicht werden Daten aus unterschiedlichen Tabellen dargestellt. Die Erfahrung hat gezeigt, dass die Mehrheit and Datensichten nach vergleichbaren Kriterien verlangt, welche in Form der Kernattribute zusammengefasst werden. Ebenso wird die Geometrie, sofern erforderlich in einer separaten Tabelle aufbereitet und in der Datensicht bereitgestellt.
3.3.2 Beispiel unterschiedlicher Datensicht
Nachfolgendes Beispiel soll den Zusammenhang zwischen der Entität, in der sämtliche Daten gespeichert werden und den verschiedenen Datensichten verdeutlichen. Je nach Perspektive sind unterschiedliche Informationen relevant.
Entität und zugehörige Datensichten
In diesem Beispiel haben wir zwei Datensichten, Mitarbeiter und Kunde, die von der Entität Akteur abgeleitet werden. Die Entität enthält alle notwendigen Attribute um 2 verschiedene Themen zu erfassen. Hingegen werden die Themen nicht gleich dargestellt.
Die Mitarbeiter benötigen das Attribut "Abteilung", hingegen ist der "Status" nicht notwendig. Beim Kunde ist dies genau umgekehrt. Beide Datensichten benötigen die Attribute "Name" und "Vorname".
Anmerkung
- Zu beachten ist auch das Attribut ID, hier eines der 12 Standartattribute der Entität. Notwendigerweise sind diese auch in den Datensichten enthalten. Hingegen haben wir hier entschieden diese zu verstecken, da diese keinen Mehrwert für den User im Frontend haben.
3.3.3 Entität
Rolle: Datenmodellierung
Die Entität enthält mit Ausnahme der Kernattribute alle erforderlichen Merkmale zur deren Beschreibung.
Anmerkung
- jede Entität erfordert einen eineindeutigen Kürzel
3.3.4 Geo-Tabelle
Rolle: Datenmodellierung
Die Geo-Tabelle enthält neben der Identifikations-ID die Geometrie-Information und die Objektidentifikation aus der ESRI-Welt, damit die Daten beliebig ausgetauscht werden können.
Anmerkung
- jede angelegte Geometrietabelle erfordert ein eineindeutiges Kürzel
3.3.5 Codeliste
Rolle: Datenmodellierung
Codelisten dienen dazu festgelegte Werte als festgelegte Auswahlmöglichkeiten zur Beschreibung von Merkmalen einzusetzen.
Anmerkung
- Zur besseren Wahrnehmung können Auswahlwerte farbig hervorgehoben werden
3.3.6 Karten-Layer
Rolle: Datenmodellierung
Karten-Layer dienen dazu die geographisch verorteten Informationen zu einem Thema auf der Karte darzustellen. Es spielt dabei keine Rolle in welcher Form (Punkt, Linie, Polygon, Multilinie, etc.) die Daten bereitgestellt werden.
Anmerkung
-Layer-Name und dessen Beschreibung müssen mit der jeweiligen Datensicht identisch sein - Die Symbolisierung und die Beschriftung werden in QGIS definiert
3.3.7 Kartenservice
Rolle: Super User
Der Kartenservice wird eingerichtet für die jeweils benötigten Kartendienste. Dabei wird auf den Kartenkatalog verwiesen und anschliessend die verwendeten Kartenlayer ausgewählt.
3.3.8 Räumliche Referenzsystem
Rolle: Condesys Consulting
Das Referenzsystem wird eingerichtet für die jeweils benötigten Karten. Dabei wird die Umrechnung auf die anderen Referenzsysteme berücksichtigt.
3.3.9 Ortstyp
Rolle: Condesys Consulting
Der Ortstyp wird eingerichtet für die jeweils benötigten Kartenausschnitte. Dabei wird auf Referenzsystem verwiesen.
3.3.10 Benutzer
Rolle: Condesys Consulting
Die Benutzer können auf unterschiedliche Weise angelegt werden. Entweder die User werden manuell angelegt im System oder sie werden mit einem Active-Directory gemappt. Dabei werden user übernommen, die sich am System anmelden.
3.3.11 Benutzer/ Gruppen- und Datensicht-Rechte
Rolle: Condesys Consulting
Die Benutzergruppen fassen die verscheidenen Benutzer in einer Gruppe zusammen und geben je nach Gruppe unterschiedliche Bearbeitungsrechte für die jeweiligen Datensichten. Auch hier können die Informationen aus dem Active Directory übernommen werden.
Datenzugriffsrechte mittels Active-Directorys gesteuert in BryteCube
4. Erstellen von Wordvorlagen
BryteCube verfügt über einen Wordgenerator, der die einzenenen Merkmale einer Datensicht ausgibt. Damit können Wordvorlagen für den Export erstellt werden, welche auch für Massenbearbeitung geeignet sind. Die Vorlagen basieren auf sogenannten «Inhaltssteuerelementen» von Word. Damit man solche anlegen kann, muss man in Word unter «Optionen» -> «Menuband anpassen» -> rechte Liste «Entwicklertools» ein Häkchen setzen.
Einstellung der Wordoption für Entwicklermodus
Im Menu von Word erscheint nun der Block Entwicklertools. Amit können die verschiedenen Formularfelder bearbeitet werden. Diese werden in der Vorlage im nachfolgenden Beispiel als Rich-Text-Inhaltssteuerungselement angezeigt.
Anzeige der Entwicklertools im Wordmenu
In BryteCube können nun sämtliche Merkmale einer Datensicht als Vorlage mit den Rich-Text-Inhaltssteuerungselement generiert werden. Ausgehend von der Gesamtliste kann eine individuelle Vorlage mit (Briefkopf, Logo, Fliesstext usw.) erstellt werden, in welche die Felder an der entsprechenden Stelle hineinkopiert werden.
Das Generieren der Vorlagen erfolgt mit dem Aufruf der URL https://[SERVERNAME]/[PROJEKTNAME]BcOdataApp/WebApi/Document/GenerateTemplates. Damit werden alle Vorlagen auf einmal generiert und abgelegt im Verzeichnis der Daten https://[SERVERNAME]/[PROJEKTNAME]/BcOdataApp/App_Data/Data/WordTemplates. Diese Verzeichnis muss initiall bestehen, damit die Vorlagen genutzt werden können. Die so generierten Vorlagen werden analog der Datensichten in BryteCube bezeichnet, z.B. VW_AKTEUR.docx. Aus diesen Vorlagen können nun die Merkmale in die bestehenden Vorlagen für die jeweilige Sicht übernommen werden. Dazu werden die Merkmale z.B. <Content Select="./INV_EY_NAME" /> in ein neues Rich-Text-Inhaltssteuerungselement kopiert.
Die Vorlage muss aktuell gleich heissen wie die Datensicht (gemäss Beispiel), damit diese beim Word -Exportfunktion sowohl für den Einzel-, wie auch für den Mehrfachexport genutzt werden kann. Zu einem späteren Zeitpunkt wird eine Auswahl verschiedener Vorlagen zu einer Datensicht angeboten.
Anmerkung
- Alle Vorlagen werden im Verzeichnishttps://[SERVERNAME]/[PROJEKTNAME]/BcOdataApp/App_Data/Data/WordTemplatesabgelegt.
- Das generieren der Vorlagen mit dem Aufrufhttps://[SERVERNAME]/[PROJEKTNAME]/BcOdataApp/WebApi/Document/GenerateTemplatesüberschreibt alle bisherigen Formulare. Es empfihlt sich daher die bestehenden individualisierten Vorlagen auch noch im Verzeichnishttps://[SERVERNAME]/[PROJEKTNAME]/WordTemplateszu speichern.
- Aktuell werden noch keine Kartendarstellung des Objekts ausgegeben
- Aktuell werden Boolean-Werte mit dem Begriffwahrbzw.falschausgegeben evt. suchenund ersetzen durch Zeichen254bzw.168imWingdings-Font.
- Bezeihungen bzw- Merkmale daraus können aktuell noch nicht übernommen werden.
Suchen Ersetzen in erstellten Worddokumenten
Sollen leere Felder nicht ausgegeben werden, so kann eine Kondition erstellt werden, welche zuerst das Feld abfragt, ob etwas enthalten ist, bevor es ausgegeben wird. Dies schreibt sich wie folgt:
<Conditional Select="./ABO_EY_REMARKS/@Value" NotMatch="null" />
Bemerkungen: <Content Select="./ABO_EY_REMARKS" />
<EndConditional/>