Update: Quellenverzeichnis
This commit is contained in:
@@ -1,6 +1,4 @@
|
||||
# Diplomarbeitsbuch – Individueller Teil
|
||||
|
||||
---
|
||||
# Adam Gaiswinkler
|
||||
|
||||
## 1. Einleitung
|
||||
|
||||
@@ -235,23 +233,23 @@ Das Modul verwendet zwei Entitäten, die in der Datenbank als Tabellen abgebilde
|
||||
|
||||
Die zentrale Entität repräsentiert einen einzelnen Absolventeneintrag und wird in der Datenbanktabelle `SZUAbsolventenvereinHallOfFame` gespeichert.
|
||||
|
||||
| Spalte | Datentyp | Beschreibung |
|
||||
|--------|----------|--------------|
|
||||
| `HallOfFameId` | `int` (PK, Auto-Inkrement) | Primärschlüssel |
|
||||
| `ModuleId` | `int` (FK → `Module`) | Fremdschlüssel zur Oqtane-Modulinstanz |
|
||||
| `Name` | `string` | Name der Person |
|
||||
| `Year` | `int` | Abschlussjahrgang |
|
||||
| `Description` | `string` | Beschreibung bzw. Werdegang |
|
||||
| `Image` | `string` | Relativer Pfad zum hochgeladenen Foto |
|
||||
| `Link` | `string` | Optionaler externer Link |
|
||||
| `Status` | `string` (max. 50) | Veröffentlichungsstatus: „Draft" oder „Published" |
|
||||
| `UserId` | `int` | ID der Benutzerin bzw. des Benutzers, der den Eintrag erstellt hat |
|
||||
| `IsReported` | `bool` | Kennzeichnung, ob der Eintrag gemeldet wurde |
|
||||
| `ReportReason` | `string` | (Legacy) Ursprüngliches Feld für Meldegrund, abgelöst durch die Report-Tabelle |
|
||||
| `CreatedBy` | `string` | Erstellt von (Audit) |
|
||||
| `CreatedOn` | `DateTime` | Erstellzeitpunkt (Audit) |
|
||||
| `ModifiedBy` | `string` | Zuletzt geändert von (Audit) |
|
||||
| `ModifiedOn` | `DateTime` | Zeitpunkt der letzten Änderung (Audit) |
|
||||
| Spalte | Datentyp | Beschreibung |
|
||||
| -------------- | -------------------------- | ------------------------------------------------------------------------------ |
|
||||
| `HallOfFameId` | `int` (PK, Auto-Inkrement) | Primärschlüssel |
|
||||
| `ModuleId` | `int` (FK → `Module`) | Fremdschlüssel zur Oqtane-Modulinstanz |
|
||||
| `Name` | `string` | Name der Person |
|
||||
| `Year` | `int` | Abschlussjahrgang |
|
||||
| `Description` | `string` | Beschreibung bzw. Werdegang |
|
||||
| `Image` | `string` | Relativer Pfad zum hochgeladenen Foto |
|
||||
| `Link` | `string` | Optionaler externer Link |
|
||||
| `Status` | `string` (max. 50) | Veröffentlichungsstatus: „Draft" oder „Published" |
|
||||
| `UserId` | `int` | ID der Benutzerin bzw. des Benutzers, der den Eintrag erstellt hat |
|
||||
| `IsReported` | `bool` | Kennzeichnung, ob der Eintrag gemeldet wurde |
|
||||
| `ReportReason` | `string` | (Legacy) Ursprüngliches Feld für Meldegrund, abgelöst durch die Report-Tabelle |
|
||||
| `CreatedBy` | `string` | Erstellt von (Audit) |
|
||||
| `CreatedOn` | `DateTime` | Erstellzeitpunkt (Audit) |
|
||||
| `ModifiedBy` | `string` | Zuletzt geändert von (Audit) |
|
||||
| `ModifiedOn` | `DateTime` | Zeitpunkt der letzten Änderung (Audit) |
|
||||
|
||||
Die Entität implementiert das Oqtane-Interface `IAuditable`, wodurch die Audit-Felder automatisch vom Framework befüllt werden. Der Fremdschlüssel `ModuleId` verknüpft jeden Eintrag mit einer bestimmten Modulinstanz und ermöglicht so den Multi-Tenant-Betrieb.
|
||||
|
||||
@@ -259,15 +257,15 @@ Die Entität implementiert das Oqtane-Interface `IAuditable`, wodurch die Audit-
|
||||
|
||||
Die zweite Entität bildet einzelne Meldungen zu einem Eintrag ab und wird in der Tabelle `SZUAbsolventenvereinHallOfFameReport` gespeichert.
|
||||
|
||||
| Spalte | Datentyp | Beschreibung |
|
||||
|--------|----------|--------------|
|
||||
| `HallOfFameReportId` | `int` (PK, Auto-Inkrement) | Primärschlüssel |
|
||||
| `HallOfFameId` | `int` (FK → `SZUAbsolventenvereinHallOfFame`) | Zugehöriger Eintrag |
|
||||
| `Reason` | `string` | Meldegrund |
|
||||
| `CreatedBy` | `string` | Erstellt von (Audit) |
|
||||
| `CreatedOn` | `DateTime` | Erstellzeitpunkt (Audit) |
|
||||
| `ModifiedBy` | `string` | Zuletzt geändert von (Audit) |
|
||||
| `ModifiedOn` | `DateTime` | Zeitpunkt der letzten Änderung (Audit) |
|
||||
| Spalte | Datentyp | Beschreibung |
|
||||
| -------------------- | --------------------------------------------- | -------------------------------------- |
|
||||
| `HallOfFameReportId` | `int` (PK, Auto-Inkrement) | Primärschlüssel |
|
||||
| `HallOfFameId` | `int` (FK → `SZUAbsolventenvereinHallOfFame`) | Zugehöriger Eintrag |
|
||||
| `Reason` | `string` | Meldegrund |
|
||||
| `CreatedBy` | `string` | Erstellt von (Audit) |
|
||||
| `CreatedOn` | `DateTime` | Erstellzeitpunkt (Audit) |
|
||||
| `ModifiedBy` | `string` | Zuletzt geändert von (Audit) |
|
||||
| `ModifiedOn` | `DateTime` | Zeitpunkt der letzten Änderung (Audit) |
|
||||
|
||||
Der Fremdschlüssel zu `SZUAbsolventenvereinHallOfFame` ist mit kaskadierendem Löschen konfiguriert, sodass beim Löschen eines Eintrags automatisch alle zugehörigen Meldungen entfernt werden. Zwischen den beiden Entitäten besteht eine 1:n-Beziehung: Ein Eintrag kann beliebig viele Meldungen besitzen.
|
||||
|
||||
@@ -275,13 +273,13 @@ Der Fremdschlüssel zu `SZUAbsolventenvereinHallOfFame` ist mit kaskadierendem L
|
||||
|
||||
Die Datenbankstruktur wird über Entity Framework Core Migrationen versioniert verwaltet.
|
||||
|
||||
| Migration | Versionsnummer | Inhalt |
|
||||
|-----------|----------------|--------|
|
||||
| `InitializeModule` | `01.00.00.00` | Erstellt die Haupttabelle mit allen Grundspalten sowie den Audit-Spalten |
|
||||
| `AddReportingColumns` | `01.00.00.02` | Erweitert die Haupttabelle um die Spalten `IsReported` und `ReportReason` |
|
||||
| Migration | Versionsnummer | Inhalt |
|
||||
| --------------------- | -------------- | ------------------------------------------------------------------------- |
|
||||
| `InitializeModule` | `01.00.00.00` | Erstellt die Haupttabelle mit allen Grundspalten sowie den Audit-Spalten |
|
||||
| `AddReportingColumns` | `01.00.00.02` | Erweitert die Haupttabelle um die Spalten `IsReported` und `ReportReason` |
|
||||
|
||||
> **Hinweis:** Version `01.00.00.01` wurde im Entwicklungsprozess übersprungen, da eine fehlerhafte Migration erstellt und anschließend wieder gelöscht werden musste.
|
||||
| `AddReportTable` | `01.00.00.03` | Erstellt die eigenständige Report-Tabelle mit Fremdschlüssel zur Haupttabelle |
|
||||
> | `AddReportTable` | `01.00.00.03` | Erstellt die eigenständige Report-Tabelle mit Fremdschlüssel zur Haupttabelle |
|
||||
|
||||
#### Implementierungsdetails und Problemlösungen
|
||||
|
||||
@@ -395,8 +393,8 @@ Neben den technischen Tests wurde die Plattform auch von weiteren Personen – d
|
||||
|
||||
Ein häufiges Feedback war, dass die Unterscheidung zwischen Zusage und Absage auf den ersten Blick nicht immer sofort klar war. Daraufhin wurden die Schaltflächen farblich deutlicher gestaltet – Grün für die Zusage, Rot für die Absage – und die Beschriftungen präzisiert. Solche Rückmeldungen aus echten Nutzertests sind wertvoll, weil Entwicklerinnen und Entwickler ihre eigene Anwendung oft anders wahrnehmen als Personen, die das System zum ersten Mal sehen.
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 7. Fazit und Ausblick
|
||||
|
||||
### 7.1 Zielerreichung
|
||||
|
||||
Reference in New Issue
Block a user