This commit is contained in:
@@ -12,7 +12,7 @@ Der Absolventenverein verwaltet derzeit rund 300 Alumni, deren Daten in einer CS
|
||||
|
||||
### Zielsetzung
|
||||
|
||||
Ziel der Diplomarbeit ist es, ein Content-Management-System als Basis für eine innovative, barrierefreie und sichere Website des Absolventenvereins zu nutzen, dabei vorhandene Funktionen des CMS anzupassen und eigene Module wie eine Eventanmeldung, eine Hall of Fame, ein Schwarzes Brett als Kommunikationsplattform sowie einen Premiumbereich zu entwickeln. Die Anwendung soll modular, erweiterbar und leicht wartbar sein und auf einem Schulserver betrieben werden, um eine kontrollierte und geschützte Umgebung für die Verwaltung der Mitglieder- und Veranstaltungsdaten zu gewährleisten.
|
||||
Ziel der Diplomarbeit ist es, ein Content-Management-System als Basis für eine innovative, barrierefreie und sichere Webseite des Absolventenvereins zu nutzen, dabei vorhandene Funktionen des CMS anzupassen und eigene Module wie eine Eventanmeldung, eine Hall of Fame, ein Schwarzes Brett als Kommunikationsplattform sowie einen Premiumbereich zu entwickeln. Die Anwendung soll modular, erweiterbar und leicht wartbar sein und auf einem Schulserver betrieben werden, um eine kontrollierte und geschützte Umgebung für die Verwaltung der Mitglieder- und Veranstaltungsdaten zu gewährleisten.
|
||||
|
||||
### Tatsächliches Ergebnis
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ Durch diese Funktionen entsteht eine Plattform, die nicht nur als Informationsqu
|
||||
|
||||
Neben den technischen und funktionalen Anforderungen spielte auch die Gestaltung der Plattform eine wichtige Rolle. Ziel war es, eine übersichtliche und benutzerfreundliche Oberfläche zu entwickeln, die eine einfache Navigation und intuitive Bedienung ermöglicht.
|
||||
|
||||
Die Struktur der Website wurde so aufgebaut, dass wichtige Funktionen wie Login, Benutzerprofil oder Eventübersicht schnell erreichbar sind. Ein klares Layout und eine strukturierte Seitenaufteilung tragen dazu bei, dass sich Benutzer auf der Plattform leicht orientieren können.
|
||||
Die Struktur der Webseite wurde so aufgebaut, dass wichtige Funktionen wie Login, Benutzerprofil oder Eventübersicht schnell erreichbar sind. Ein klares Layout und eine strukturierte Seitenaufteilung tragen dazu bei, dass sich Benutzer auf der Plattform leicht orientieren können.
|
||||
|
||||
Darüber hinaus wurde darauf geachtet, dass die Plattform ein modernes Erscheinungsbild besitzt und den Erwartungen einer zeitgemäßen Webanwendung entspricht. Durch eine klare Gestaltung und eine reduzierte Benutzeroberfläche wird sichergestellt, dass Inhalte übersichtlich dargestellt werden und die Nutzung der Plattform möglichst komfortabel ist.
|
||||
|
||||
@@ -153,9 +153,9 @@ Die DSGVO enthält dabei zentral die Grundsätze der Datenverarbeitung (Art. 5 D
|
||||
|
||||
Die Einhaltung dieser Prinzipien ist für jede Organisation verpflichtend, die personenbezogene Daten verarbeitet – unabhängig von ihrer Größe oder Branche. Dies umfasst sowohl technische Aspekte der Datenverarbeitung als auch die Informationspflichten gegenüber Betroffenen, wie sie etwa in Datenschutzerklärungen umgesetzt werden müssen.
|
||||
|
||||
#### Umsetzung der Datenschutzanforderungen auf der Website [@ris]
|
||||
#### Umsetzung der Datenschutzanforderungen auf der Webseite [@ris]
|
||||
|
||||
Im Rahmen der Diplomarbeit wurde eine umfassende Analyse der Datenschutzanforderungen durchgeführt und entsprechende Maßnahmen zur Umsetzung auf der Website implementiert. Dabei wurden insbesondere die Vorgaben der DSGVO berücksichtigt, um sicherzustellen, dass die Website den geltenden Datenschutzbestimmungen entspricht.
|
||||
Im Rahmen der Diplomarbeit wurde eine umfassende Analyse der Datenschutzanforderungen durchgeführt und entsprechende Maßnahmen zur Umsetzung auf der Webseite implementiert. Dabei wurden insbesondere die Vorgaben der DSGVO berücksichtigt, um sicherzustellen, dass die Webseite den geltenden Datenschutzbestimmungen entspricht.
|
||||
|
||||
Ein zentrales Element der Umsetzung war die Erstellung einer gesetzeskonformen Datenschutzerklärung. Diese informiert die Nutzerinnen und Nutzer über:
|
||||
|
||||
@@ -166,26 +166,26 @@ Ein zentrales Element der Umsetzung war die Erstellung einer gesetzeskonformen D
|
||||
• die Weitergabe von Daten an Dritte
|
||||
• sowie über die Rechte der Betroffenen gemäß Art. 15–22 DSGVO.
|
||||
|
||||
Die Datenschutzerklärung wird auf der Website gut sichtbar eingebunden und ist für alle Nutzerinnen und Nutzer jederzeit zugänglich.
|
||||
Die Datenschutzerklärung wird auf der Webseite gut sichtbar eingebunden und ist für alle Nutzerinnen und Nutzer jederzeit zugänglich.
|
||||
|
||||
Neben der Informationspflicht wurden auch technische und organisatorische Maßnahmen umgesetzt, um die Sicherheit der verarbeiteten Daten zu gewährleisten. Dazu gehören unter anderem:
|
||||
|
||||
• Verschlüsselte Übertragung von Daten mittels HTTPS
|
||||
• Passwortgeschützter Zugriff auf sensible Daten
|
||||
• Regelmäßige Sicherheitsupdates der eingesetzten Software
|
||||
• Minimierung der Datenerhebung auf das Notwendige: Es werden nur die Daten erhoben, die für die Funktion der Website unbedingt erforderlich sind. (Grundprinzip der Datenminimierung nach Art. 5 Abs. 1 lit. c DSGVO)
|
||||
• Minimierung der Datenerhebung auf das Notwendige: Es werden nur die Daten erhoben, die für die Funktion der Webseite unbedingt erforderlich sind. (Grundprinzip der Datenminimierung nach Art. 5 Abs. 1 lit. c DSGVO)
|
||||
|
||||
#### Schutz personenbezogener Daten der Benutzer [@dsb]
|
||||
|
||||
Der Schutz personenbezogener Daten der Benutzer stellt einen zentralen Bestandteil der Website des Absolventenvereins dar. Sämtliche Datenverarbeitungen erfolgen unter Berücksichtigung der Vorgaben der Datenschutz-Grundverordnung (DSGVO) sowie des österreichischen Datenschutzgesetzes (DSG).
|
||||
Der Schutz personenbezogener Daten der Benutzer stellt einen zentralen Bestandteil der Webseite des Absolventenvereins dar. Sämtliche Datenverarbeitungen erfolgen unter Berücksichtigung der Vorgaben der Datenschutz-Grundverordnung (DSGVO) sowie des österreichischen Datenschutzgesetzes (DSG).
|
||||
|
||||
Gemäß Art. 5 Abs. 1 lit. c DSGVO gilt der Grundsatz der Datenminimierung, wonach nur jene personenbezogenen Daten erhoben werden dürfen, die für den jeweiligen Zweck erforderlich sind. Auf der Website werden daher ausschließlich solche Daten verarbeitet, die für die Verwaltung der Mitgliedschaft, die Organisation von Veranstaltungen sowie die Kommunikation mit Absolventinnen und Absolventen notwendig sind.
|
||||
Gemäß Art. 5 Abs. 1 lit. c DSGVO gilt der Grundsatz der Datenminimierung, wonach nur jene personenbezogenen Daten erhoben werden dürfen, die für den jeweiligen Zweck erforderlich sind. Auf der Webseite werden daher ausschließlich solche Daten verarbeitet, die für die Verwaltung der Mitgliedschaft, die Organisation von Veranstaltungen sowie die Kommunikation mit Absolventinnen und Absolventen notwendig sind.
|
||||
|
||||
Darüber hinaus wird der Grundsatz der Zweckbindung gemäß Art. 5 Abs. 1 lit. b DSGVO eingehalten. Die erhobenen Daten werden ausschließlich für die in der Datenschutzerklärung definierten Zwecke verarbeitet, insbesondere zur Organisation der Vereinstätigkeit und zur Durchführung von Absolvententreffen.
|
||||
|
||||
Eine darüber hinausgehende Weitergabe an Dritte erfolgt grundsätzlich nicht, außer wenn dies zur Erfüllung der Vereinszwecke erforderlich ist oder eine gesetzliche Verpflichtung besteht.
|
||||
|
||||
Zur Gewährleistung der Integrität und Vertraulichkeit gemäß Art. 5 Abs. 1 lit. f DSGVO werden geeignete technische und organisatorische Maßnahmen eingesetzt. Dazu zählen insbesondere der Betrieb der Website auf einem Server innerhalb Österreichs, der Abschluss von Auftragsverarbeitungsverträgen gemäß Art. 28 DSGVO mit externen Dienstleistern sowie Maßnahmen zum Schutz vor unbefugtem Zugriff, Verlust oder Missbrauch von Daten.
|
||||
Zur Gewährleistung der Integrität und Vertraulichkeit gemäß Art. 5 Abs. 1 lit. f DSGVO werden geeignete technische und organisatorische Maßnahmen eingesetzt. Dazu zählen insbesondere der Betrieb der Webseite auf einem Server innerhalb Österreichs, der Abschluss von Auftragsverarbeitungsverträgen gemäß Art. 28 DSGVO mit externen Dienstleistern sowie Maßnahmen zum Schutz vor unbefugtem Zugriff, Verlust oder Missbrauch von Daten.
|
||||
|
||||
Zusätzlich werden die Betroffenenrechte gemäß Art. 15–22 DSGVO ausdrücklich gewährleistet. Benutzerinnen und Benutzer haben das Recht auf Auskunft, Berichtigung, Löschung, Einschränkung der Verarbeitung, Datenübertragbarkeit sowie Widerspruch gegen die Verarbeitung.
|
||||
|
||||
@@ -197,7 +197,7 @@ Durch die Kombination aus klar definierten Rechtsgrundlagen, transparenten Infor
|
||||
|
||||
#### Notwendigkeit von Datensicherung [@bsi_datensicherung][@bsi_grundschutz]
|
||||
|
||||
Die Datensicherung ist ein wesentlicher Bestandteil der Website des Absolventenvereins. Sie dient dazu, die auf der Website gespeicherten Daten vor Verlust oder Beschädigung zu schützen. Digitale Daten bilden die Grundlage für die Funktion der Website und müssen daher regelmäßig gesichert werden. Ein Verlust oder eine Beschädigung der Daten kann zu erheblichen Problemen führen.
|
||||
Die Datensicherung ist ein wesentlicher Bestandteil der Webseite des Absolventenvereins. Sie dient dazu, die auf der Webseite gespeicherten Daten vor Verlust oder Beschädigung zu schützen. Digitale Daten bilden die Grundlage für die Funktion der Webseite und müssen daher regelmäßig gesichert werden. Ein Verlust oder eine Beschädigung der Daten kann zu erheblichen Problemen führen.
|
||||
|
||||
Mögliche Ursachen für einen Datenverlust sind unter anderem Hardwaredefekte, Softwarefehler, menschliches Versagen oder Cyberangriffe. Ohne geeignete Sicherheitsmaßnahmen besteht das Risiko, dass Daten unwiederbringlich verloren gehen oder nur mit erheblichen Kosten wiederhergestellt werden können.
|
||||
|
||||
@@ -211,7 +211,7 @@ Der Umfang des Backups besteht aus zwei zentralen Komponenten:
|
||||
1. Die PostgreSQL-Datenbank
|
||||
2. Der Ordner "oqtane.server" auf dem Server
|
||||
|
||||
Damit wird eine vollständige Sicherung der Website ermöglicht, da bei einer reinen Datenbanksicherung wichtige Anwendungsdateien fehlen würden.
|
||||
Damit wird eine vollständige Sicherung der Webseite ermöglicht, da bei einer reinen Datenbanksicherung wichtige Anwendungsdateien fehlen würden.
|
||||
|
||||
```mermaid
|
||||
%%| filename: flowchart-backup-system
|
||||
@@ -521,11 +521,11 @@ Wie in Abschnitt 4.3.1 beschrieben, werden die abgerufenen Profildaten zur Ident
|
||||
|
||||
#### Ziel und Zweck des Premium-Bereichs
|
||||
|
||||
Der Premium-Bereich wurde mit dem Ziel entwickelt, den Mitgliedern des SZU Absolventenvereins einen klar abgegrenzten, exklusiven Bereich innerhalb der Vereinswebsite bereitzustellen. Das Premium-Bereich-Modul ist eine Erweiterung für das Content-Management-System Oqtane und bildet das Kernstück des digitalen Mitgliederbereichs. Es ermöglicht Mitgliedern, sich über das Hochladen eines Ingenieur-Antrags als PDF-Dokument für eine zeitlich begrenzte Premium-Mitgliedschaft zu qualifizieren. Premium-Mitglieder erhalten Zugang zu exklusiven Funktionen wie dem Einsehen genehmigter Anträge anderer Mitglieder sowie einer Mitgliedersuche mit integrierter Kontaktfunktion.
|
||||
Der Premium-Bereich wurde mit dem Ziel entwickelt, den Mitgliedern des SZU Absolventenvereins einen klar abgegrenzten, exklusiven Bereich innerhalb der VereinsWebseite bereitzustellen. Das Premium-Bereich-Modul ist eine Erweiterung für das Content-Management-System Oqtane und bildet das Kernstück des digitalen Mitgliederbereichs. Es ermöglicht Mitgliedern, sich über das Hochladen eines Ingenieur-Antrags als PDF-Dokument für eine zeitlich begrenzte Premium-Mitgliedschaft zu qualifizieren. Premium-Mitglieder erhalten Zugang zu exklusiven Funktionen wie dem Einsehen genehmigter Anträge anderer Mitglieder sowie einer Mitgliedersuche mit integrierter Kontaktfunktion.
|
||||
|
||||
Der zentrale Zweck besteht darin, einen Anreiz für aktives Engagement im Verein zu schaffen. Dadurch entsteht ein Kreislauf, in dem qualitativ hochwertige Anträge die Wissensbasis der Gemeinschaft bereichern und gleichzeitig den einreichenden Mitgliedern einen konkreten Gegenwert in Form von Premium-Funktionen bieten. Der Premium-Bereich dient darüber hinaus als digitales Netzwerk-Instrument. Durch die Kombination aus Antrags-Einsicht, Mitgliedersuche und Kontaktfunktion wird eine Plattform geschaffen, die den fachlichen Austausch zwischen Absolventen fördert und die Vernetzung innerhalb der Gemeinschaft stärkt. Die zeitliche Begrenzung der Premium-Mitgliedschaft auf 12 Monate sorgt dafür, dass Mitglieder regelmäßig aktiv bleiben und neue Inhalte beitragen, um ihren Premium-Status aufrechtzuerhalten.
|
||||
|
||||
Die Entwicklung erfolgte als eigenständiges Oqtane-Modul, wodurch eine nahtlose Integration in die bestehende Vereinswebsite gewährleistet wird. Das Modul nutzt dabei die vom Framework bereitgestellten Mechanismen für Authentifizierung, Autorisierung, Datenbankzugriff und Dateiverwaltung. Die Architektur folgt etablierten Entwurfsmustern wie dem Repository-Pattern, Dependency Injection und dem Service-Layer-Muster. Das kumulative Premium-System mit vollständigem Audit-Trail stellt sicher, dass alle Statusänderungen transparent und nachvollziehbar sind. Die modulare Struktur erlaubt eine einfache Erweiterung um zusätzliche Funktionen, ohne die bestehende Codebasis grundlegend verändern zu müssen.
|
||||
Die Entwicklung erfolgte als eigenständiges Oqtane-Modul, wodurch eine nahtlose Integration in die bestehende VereinsWebseite gewährleistet wird. Das Modul nutzt dabei die vom Framework bereitgestellten Mechanismen für Authentifizierung, Autorisierung, Datenbankzugriff und Dateiverwaltung. Die Architektur folgt etablierten Entwurfsmustern wie dem Repository-Pattern, Dependency Injection und dem Service-Layer-Muster. Das kumulative Premium-System mit vollständigem Audit-Trail stellt sicher, dass alle Statusänderungen transparent und nachvollziehbar sind. Die modulare Struktur erlaubt eine einfache Erweiterung um zusätzliche Funktionen, ohne die bestehende Codebasis grundlegend verändern zu müssen.
|
||||
|
||||
```mermaid
|
||||
%%| filename: architecture-premium-module
|
||||
@@ -883,7 +883,7 @@ Die Entwicklung der Plattform erfolgte nach agilen Prinzipien mithilfe des Scrum
|
||||
|
||||
Zusammenfassend konnte mit der Diplomarbeit eine funktionale und erweiterbare Plattform entwickelt werden, die eine moderne Grundlage für die digitale Vernetzung von Alumni darstellt.
|
||||
|
||||
### Mögliche Erweiterungen der Website
|
||||
### Mögliche Erweiterungen der Webseite
|
||||
|
||||
Obwohl bereits viele grundlegende Funktionen implementiert wurden, bietet die Plattform weiteres Potenzial für zukünftige Erweiterungen und Verbesserungen.
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@ Blazor hat mehrere Hosting-Modelle:
|
||||
- Static Server: Die Komponente wird serverseitig gerendert und besitzt keine Interaktivität. Es ist der standardmäßige `RenderMode`
|
||||
- Interactive Server: Die Komponente wird serverseitig gerendert, diesmal ist sie jedoch interaktiv. Das bedeutet, man kann mithilfe von C# den Zustand der Seite dynamisch bearbeiten. Diese Zustandsänderungen werden serverseitig bearbeitet. Hierbei kommunizieren Server und Client mithilfe von SignalR über WebSockets miteinander.
|
||||
- Interactive WebAssembly: Die Komponente wird clientseitig, also im Browser, gerendert. Damit der Blazor C# Code auch im Browser ausgeführt werden kann, wird dieser in WebAssembly kompiliert.
|
||||
- Interactive Auto: Im `Interactive Auto` Modul wird bei dem initialen Besuch der Website der `Interactive Server` Modus gewählt und im Hintergrund wird der WebAssembly-Build heruntergeladen, damit bei weiteren Besuchen der Seite der `Interactive WebAssembly` Modus gewählt werden kann.
|
||||
- Interactive Auto: Im `Interactive Auto` Modul wird bei dem initialen Besuch der Webseite der `Interactive Server` Modus gewählt und im Hintergrund wird der WebAssembly-Build heruntergeladen, damit bei weiteren Besuchen der Seite der `Interactive WebAssembly` Modus gewählt werden kann.
|
||||
- Hybrid: Dieser Modus ist der Einzige, welcher nicht innerhalb einer Blazor Web App läuft, sondern in einem WebView in einer Nativen App. Dabei wird innerhalb des Mutterprozesses, ganz ohne WebServer, der C# und Razor-Code ausgeführt. Das Ganze funktioniert in WPF und WinForms Apps und in nativen mobilen Apps für Android und iOS mithilfe von .NET MAUI.
|
||||
|
||||
Razor-Komponenten (in dieser Arbeit, sowie umgangssprachlich, auch oft nur Komponenten genannt) sind der Grundbaustein für Blazor Web Apps. Sie bestehen aus HTML, welches mit der Verwendung von inline C# beeinflusst werden kann. Das Blazor stellt sicher, dass das gerenderte Markup aktualisiert wird, wenn sich der Status der Komponente ändert. Dieser Code kann entweder vollständig in einer .razor Datei liegen, oder in einer seperaten Code-Behind-Datei. Inline C# Code wird mithilfe von `@`- Zeichen markiert. Hier ist ein Beispiel für einen einfachen Counter:
|
||||
|
||||
Reference in New Issue
Block a user