Umstellung automatische Nummerierung
This commit is contained in:
@@ -1,20 +1,20 @@
|
||||
# Florian Edlmayer
|
||||
|
||||
## 1. Einleitung des individuellen Teils
|
||||
## Einleitung des individuellen Teils
|
||||
|
||||
In diesem Abschnitt wird meine persönliche Aufgabenstellung im Rahmen des Projektes (Alumnihub) beschrieben.
|
||||
|
||||
### 1.1 Auftrag / persönliche Aufgabenstellungen
|
||||
### Auftrag / persönliche Aufgabenstellungen
|
||||
|
||||
## 1.3 Nutzen für den Absolventenverein
|
||||
|
||||
Für den Verein bedeutet das: rechtskonforme Datenverarbeitung, gesicherte Datenverfügbarkeit und ein niedrigschwelliger Login für Absolventinnen und Absolventen mit bestehendem LinkedIn-Konto.
|
||||
|
||||
## 2. Anforderungen an das entwickelte Modul bzw. die Funktionalität
|
||||
## Anforderungen an das entwickelte Modul bzw. die Funktionalität
|
||||
|
||||
### 2.1 Modulanforderungen / funktionale Anforderungen
|
||||
### Modulanforderungen / funktionale Anforderungen
|
||||
|
||||
### 2.2 Infrastrukturanforderungen / nicht‑funktionale Anforderungen
|
||||
### Infrastrukturanforderungen / nicht‑funktionale Anforderungen
|
||||
|
||||
### Entwicklung eines CMS-Moduls
|
||||
|
||||
@@ -35,7 +35,7 @@ Abschließend wurde das Thema Datensicherung umfassend behandelt, da die Sichers
|
||||
|
||||
Ziel dieser Maßnahmen ist es, das Risiko von Datenverlusten zu minimieren und einen stabilen sowie sicheren Betrieb der Webanwendung zu gewährleisten. Die Backup- und Restore-Prozesse sollen automatisiert ablaufen, um menschliche Fehler zu reduzieren und eine kontinuierliche, regelmäßige Datensicherung sicherzustellen. Dadurch wird eine hohe Ausfallsicherheit sowie die langfristige Verfügbarkeit der gespeicherten Informationen gewährleistet.
|
||||
|
||||
### 3.2 Zielsetzung
|
||||
### Zielsetzung
|
||||
|
||||
#### Technische Zielsetzung
|
||||
|
||||
@@ -69,9 +69,9 @@ Darüber hinaus wurde darauf geachtet, dass die Plattform ein modernes Erscheinu
|
||||
|
||||
Insgesamt verfolgt die gestalterische Zielsetzung das Ziel, eine Plattform zu schaffen, die sowohl funktional als auch optisch ansprechend ist und den Benutzern eine positive Nutzungserfahrung bietet.
|
||||
|
||||
## 4. Datenschutz und rechtliche Grundlagen
|
||||
## Datenschutz und rechtliche Grundlagen
|
||||
|
||||
### 4.1 Bedeutung der Datenschutz-Grundverordnung (DSGVO) [@dsgvo]
|
||||
### Bedeutung der Datenschutz-Grundverordnung (DSGVO) [@dsgvo]
|
||||
|
||||
Die Datenschutz-Grundverordnung (DSGVO) ist eine rechtsverbindliche Verordnung der Europäischen Union, die seit dem 25. Mai 2018 unmittelbar in allen EU-Mitgliedstaaten gilt und den Schutz personenbezogener Daten regelt. Sie wurde erlassen, um die Rechte natürlicher Personen bei der Verarbeitung ihrer Daten zu stärken und ein einheitliches Datenschutzniveau innerhalb der EU zu gewährleisten.
|
||||
|
||||
@@ -92,7 +92,7 @@ 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.
|
||||
|
||||
### 4.2 Umsetzung der Datenschutzanforderungen auf der Website [@ris]
|
||||
### Umsetzung der Datenschutzanforderungen auf der Website [@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.
|
||||
|
||||
@@ -114,7 +114,7 @@ Neben der Informationspflicht wurden auch technische und organisatorische Maßna
|
||||
• 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)
|
||||
|
||||
### 4.3 Schutz personenbezogener Daten der Benutzer [@dsb]
|
||||
### 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).
|
||||
|
||||
@@ -132,9 +132,9 @@ Darüber hinaus besteht das Recht, sich bei der österreichischen Datenschutzbeh
|
||||
|
||||
Durch die Kombination aus klar definierten Rechtsgrundlagen, transparenten Informationspflichten und technischen Schutzmaßnahmen wird ein hohes Datenschutzniveau gewährleistet und der verantwortungsvolle Umgang mit personenbezogenen Daten sichergestellt.
|
||||
|
||||
## 5. Automatisierung von Serverprozessen
|
||||
## Automatisierung von Serverprozessen
|
||||
|
||||
### 5.1 Notwendigkeit von Datensicherung [@bsi_datensicherung][@chatgpt_datensicherung]
|
||||
### Notwendigkeit von Datensicherung [@bsi_datensicherung][@chatgpt_datensicherung]
|
||||
|
||||
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.
|
||||
|
||||
@@ -251,7 +251,7 @@ Durch diesen Rotationsmechanismus wird verhindert, dass sich im Laufe der Zeit e
|
||||
|
||||
Die gewählte Anzahl von 30 Sicherungen ermöglicht es, bei täglicher Ausführung des Backup-Skripts ungefähr einen Monat an Wiederherstellungspunkten vorzuhalten. Dadurch wird ein sinnvoller Kompromiss zwischen Datensicherheit und effizienter Speicherverwaltung erreicht.
|
||||
|
||||
### 5.3 Implementierung der Backup-Skripte
|
||||
### Implementierung der Backup-Skripte
|
||||
|
||||
Die Implementierung des Backup-Systems erfolgte mittels eines Bash-Skripts, das auf dem Linux-Server ausgeführt wird. Bash eignet sich besonders für administrative Aufgaben, da sie direkten Zugriff auf Systembefehle, Dateien und Prozesse bietet. Das Skript wurde so aufgebaut, dass es robust, automatisierbar und nachvollziehbar arbeitet.
|
||||
|
||||
@@ -310,7 +310,7 @@ Die Implementierung zeichnet sich durch folgende Eigenschaften aus:
|
||||
|
||||
Durch diese Umsetzung wurde ein zuverlässiges und wartbares Backup-System geschaffen, das den kontinuierlichen Betrieb der Webanwendung unterstützt und im Fehlerfall eine schnelle Wiederherstellung ermöglicht.
|
||||
|
||||
### 5.4 Wiederherstellung von Daten mittels Restore-Skripten
|
||||
### Wiederherstellung von Daten mittels Restore-Skripten
|
||||
|
||||
Neben der Datensicherung stellt die strukturierte Wiederherstellung der Daten einen zentralen Bestandteil des Backup-Systems dar. Zu diesem Zweck wurde ein eigenes Bash-Skript implementiert, das sowohl die PostgreSQL-Datenbank als auch die Anwendungsdateien aus einem gewählten Backup-Ordner wiederherstellt (Restore-Skript). Ziel war es, einen klar definierten und kontrollierten Prozess zu schaffen, der im Fehlerfall eine vollständige Rücksetzung des Systems ermöglicht.
|
||||
|
||||
@@ -383,7 +383,7 @@ Der Parameter -x extrahiert das Archiv, -p stellt die ursprünglichen Dateiberec
|
||||
|
||||
Zusammenfassend ermöglicht das Restore-Skript eine vollständige Rücksetzung der Webanwendung auf einen definierten Sicherungsstand. Durch die Kombination aus Sicherheitsabfrage, kontrollierter Datenbank-Neuerstellung und strukturiertem Dateirestore wird ein zuverlässiger und nachvollziehbarer Wiederherstellungsprozess gewährleistet. Das System ergänzt somit das Backup-Konzept um eine praxisnahe und technisch saubere Lösung für den Ernstfall.
|
||||
|
||||
### 5.5 Fazit zur Datensicherung
|
||||
### Fazit zur Datensicherung
|
||||
|
||||
Durch die Implementierung eines automatisierten Backup- und Restore-Systems wurde eine zuverlässige Grundlage für die Datensicherheit der Webanwendung geschaffen. Das entwickelte System ermöglicht eine regelmäßige Sicherung sowohl der PostgreSQL-Datenbank als auch der vollständigen Anwendungsdateien. Durch die automatisierte Ausführung mittels Cronjob wird sichergestellt, dass die Backups ohne manuelles Eingreifen täglich erstellt werden.
|
||||
|
||||
@@ -411,7 +411,7 @@ Nach der Autorisierung sendet LinkedIn einen solchen Autorisierungscode an die W
|
||||
|
||||
Der Vorteil dieses Verfahrens liegt darin, dass die Webanwendung zu keinem Zeitpunkt Zugriff auf das Passwort des Benutzers erhält. Dadurch wird ein höheres Sicherheitsniveau erreicht und gleichzeitig die Benutzerfreundlichkeit verbessert, da sich Benutzer mit ihrem bestehenden LinkedIn-Konto anmelden können.
|
||||
|
||||
### 6.2 Technische Umsetzung der LinkedIn-Anmeldung in Oqtane
|
||||
### Technische Umsetzung der LinkedIn-Anmeldung in Oqtane
|
||||
|
||||
Die technische Umsetzung der LinkedIn-Authentifizierung erfolgte über das integrierte External Login System [^8] des Content-Management-Systems Oqtane. Dieses System ermöglicht die Integration externer Identitätsanbieter über standardisierte Protokolle wie OAuth 2.0.
|
||||
|
||||
@@ -444,7 +444,7 @@ Diese Daten werden von Oqtane als sogenannte Claims verarbeitet und anschließen
|
||||
|
||||
Darüber hinaus wurde in den Einstellungen aktiviert, dass bei der ersten Anmeldung automatisch ein neues Benutzerkonto erstellt werden kann. Dadurch können sich neue Nutzer direkt über ihr LinkedIn-Konto registrieren.
|
||||
|
||||
### 6.3 Ablauf des Anmeldeprozesses
|
||||
### Ablauf des Anmeldeprozesses
|
||||
|
||||
Der eigentliche Anmeldevorgang erfolgt in mehreren aufeinanderfolgenden Schritten. Zunächst wählt der Benutzer auf der Login-Seite der Webplattform die Option zur Anmeldung über LinkedIn aus.
|
||||
|
||||
@@ -454,9 +454,9 @@ Nach erfolgreicher Authentifizierung sendet LinkedIn eine Antwort an die zuvor d
|
||||
|
||||
Wie in Abschnitt 6.1 beschrieben, werden die abgerufenen Profildaten zur Identifikation oder Neuanlage des Benutzerkontos in der lokalen Datenbank verwendet.
|
||||
|
||||
## 7. Implementierung des Premium-Bereichs
|
||||
## Implementierung des Premium-Bereichs
|
||||
|
||||
### 7.1 Ziel und Zweck des Premium-Bereichs
|
||||
### 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.
|
||||
|
||||
@@ -664,7 +664,7 @@ public class AddPremiumTables : MultiDatabaseMigration
|
||||
|
||||
Insgesamt definieren vier Migrationen die Datenbankstruktur: Die erste erstellt die Basistabelle des Moduls, die zweite fügt die drei Tabellen für Ingenieur-Anträge, Premium-Status und Premium-Events hinzu, die dritte entfernt nicht mehr benötigte Spalten nach der Umstellung auf den Oqtane FileManager, und die vierte ergänzt die Felder für Titel und Kurzbeschreibung. Alle Migrationen werden bei der Modulinstallation automatisch ausgeführt.
|
||||
|
||||
### 7.3 Zugriffsbeschränkung und Benutzerrechte
|
||||
### Zugriffsbeschränkung und Benutzerrechte
|
||||
|
||||
Der Zugriff auf den Premium-Bereich wird durch ein mehrstufiges Berechtigungssystem gesteuert, das sowohl auf Server- als auch auf Client-Seite durchgesetzt wird. Die verfügbaren Berechtigungen werden in der `ModuleInfo`-Klasse registriert:
|
||||
|
||||
@@ -739,7 +739,7 @@ Zuerst wird die Oqtane-Rollenzugehörigkeit geprüft, anschließend der datenban
|
||||
|
||||
Die Zugriffsbeschränkung wird konsequent auf beiden Seiten durchgesetzt: Clientseitig entscheidet die Blazor-Komponente anhand der Benutzerrolle, welche UI-Elemente angezeigt werden. Serverseitig prüft jeder Service-Aufruf die Berechtigung des anfragenden Benutzers über das `[Authorize]`-Attribut mit Policies wie `PolicyNames.ViewModule` und `PolicyNames.EditModule`, bevor Daten zurückgegeben oder Änderungen vorgenommen werden. Dadurch wird sichergestellt, dass selbst bei einer Manipulation der Client-Anfrage keine unberechtigten Zugriffe möglich sind.
|
||||
|
||||
### 7.4 Mehrwert für registrierte Mitglieder
|
||||
### Mehrwert für registrierte Mitglieder
|
||||
|
||||
Der Premium-Bereich schafft einen konkreten Mehrwert für registrierte Mitglieder auf mehreren Ebenen. Auf fachlicher Ebene entsteht durch die gesammelten Ingenieur-Anträge eine wachsende Wissensbasis, die allen Premium-Mitgliedern zugänglich ist. Absolventen können von den Arbeiten anderer Mitglieder lernen, sich inspirieren lassen und fachliche Ansätze vergleichen. Durch die Möglichkeit, Titel und Kurzbeschreibungen zu hinterlegen, können Mitglieder gezielt nach relevanten Themen suchen, ohne jedes PDF-Dokument einzeln öffnen zu müssen.
|
||||
|
||||
@@ -749,9 +749,9 @@ Auf motivationaler Ebene bietet das zeitlich begrenzte Premium-System einen Anre
|
||||
|
||||
Der Datenschutz wird dabei konsequent gewahrt. Die Mitgliedersuche gibt nur ausgewählte, nicht-sensible Informationen wie Anzeigenamen und Benutzernamen zurück. E-Mail-Adressen und andere persönliche Daten werden serverseitig herausgefiltert und sind für andere Mitglieder nicht einsehbar. Die Kontaktaufnahme erfolgt ausschließlich über das plattformeigene Benachrichtigungssystem, sodass kein Mitglied seine persönlichen Kontaktdaten preisgeben muss.
|
||||
|
||||
## 8. Technologien
|
||||
## Technologien
|
||||
|
||||
### 8.1 ASP.NET und .NET
|
||||
### ASP.NET und .NET
|
||||
|
||||
Für die Entwicklung der Webanwendung wurde das Framework ASP.NET in Kombination mit der Plattform .NET verwendet. .NET ist eine von Microsoft entwickelte Entwicklungsplattform zur Erstellung moderner Anwendungen für Web, Desktop, Cloud und mobile Systeme.
|
||||
|
||||
@@ -771,7 +771,7 @@ Ein weiterer Vorteil von ASP.NET besteht in der klar strukturierten Architektur
|
||||
|
||||
Diese Struktur erleichtert die Wartung und Erweiterung der Anwendung erheblich, da Änderungen gezielt innerhalb einzelner Komponenten vorgenommen werden können.
|
||||
|
||||
### 8.2 PostgreSQL-Datenbank
|
||||
### PostgreSQL-Datenbank
|
||||
|
||||
Zur Speicherung der Daten der Plattform wurde das relationale Datenbanksystem PostgreSQL eingesetzt. PostgreSQL gehört zu den leistungsfähigsten Open-Source-Datenbanken und wird weltweit in vielen professionellen Anwendungen verwendet.
|
||||
|
||||
@@ -814,7 +814,7 @@ Zusätzlich wurden Funktionen im Bereich Datenschutz umgesetzt, die den Anforder
|
||||
|
||||
Insgesamt konnte ich durch die praktische Umsetzung der Plattform ein deutlich tieferes Verständnis für Webtechnologien, Systemarchitekturen und Backend-Entwicklung gewinnen.
|
||||
|
||||
### 9.2 Agile Projektarbeit und Teamarbeit (Zeitmanagement)
|
||||
### Agile Projektarbeit und Teamarbeit (Zeitmanagement)
|
||||
|
||||
Neben den technischen Aspekten konnte ich auch wichtige Erfahrungen im Bereich der agilen Projektarbeit sammeln. Für die Organisation des Projekts wurde das agile Framework Scrum eingesetzt.
|
||||
|
||||
@@ -828,7 +828,7 @@ Darüber hinaus zeigte sich, dass agile Methoden besonders gut für Softwareproj
|
||||
|
||||
Diese Erfahrungen haben mir ein besseres Verständnis für moderne Softwareentwicklungsprozesse vermittelt und gezeigt, wie wichtig strukturierte Planung und kontinuierliche Verbesserung in technischen Projekten sind.
|
||||
|
||||
### 9.3 Persönliche Weiterentwicklung
|
||||
### Persönliche Weiterentwicklung
|
||||
|
||||
Neben den technischen und organisatorischen Erkenntnissen stellte die Diplomarbeit auch eine wichtige persönliche Weiterentwicklung dar. Die eigenständige Planung und Umsetzung eines komplexen Softwareprojekts erforderte ein hohes Maß an Selbstorganisation und Durchhaltevermögen.
|
||||
|
||||
@@ -840,9 +840,9 @@ Ein weiterer wichtiger Lernaspekt war die Verbesserung meiner Fähigkeiten im Be
|
||||
|
||||
Zusammenfassend hat mir die Diplomarbeit nicht nur tiefere technische Kenntnisse vermittelt, sondern auch meine Fähigkeiten im Bereich Problemlösung, Selbstorganisation und Projektplanung gestärkt. Diese Kompetenzen stellen eine wichtige Grundlage für zukünftige berufliche Tätigkeiten im Bereich der Softwareentwicklung dar.
|
||||
|
||||
## 10. Fazit und Ausblick
|
||||
## Fazit und Ausblick
|
||||
|
||||
### 10.1 Zusammenfassung der Arbeit
|
||||
### Zusammenfassung der Arbeit
|
||||
|
||||
Ziel dieser Diplomarbeit war die Konzeption und Entwicklung einer webbasierten Alumni-Plattform für den Absolventenverein. Die Plattform soll ehemaligen Studierenden ermöglichen, miteinander in Kontakt zu bleiben, Informationen auszutauschen und an Veranstaltungen des Vereins teilzunehmen. Dadurch wird die Kommunikation zwischen Absolventinnen und Absolventen sowie der Bildungseinrichtung langfristig gestärkt.
|
||||
|
||||
@@ -856,7 +856,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.
|
||||
|
||||
### 10.2 Mögliche Erweiterungen der Website
|
||||
### Mögliche Erweiterungen der Website
|
||||
|
||||
Obwohl bereits viele grundlegende Funktionen implementiert wurden, bietet die Plattform weiteres Potenzial für zukünftige Erweiterungen und Verbesserungen.
|
||||
|
||||
@@ -878,7 +878,7 @@ erweiterte Such- und Filterfunktionen für Alumni-Profile
|
||||
|
||||
Durch diese Erweiterungen könnte die Plattform langfristig noch attraktiver und vielseitiger gestaltet werden.
|
||||
|
||||
### 10.3 Zukunftspotenzial für den Absolventenverein
|
||||
### Zukunftspotenzial für den Absolventenverein
|
||||
|
||||
Die entwickelte Alumni-Plattform bietet dem Absolventenverein eine moderne digitale Infrastruktur zur Verwaltung und Vernetzung seiner Mitglieder. Durch die zentrale Plattform können Informationen, Veranstaltungen und Kontakte effizient organisiert werden.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user