[mod] konzept [mod] todo
This commit is contained in:
parent
c66a76612e
commit
62af4bf485
2 changed files with 84 additions and 9 deletions
|
@ -1,3 +1,7 @@
|
|||
# Konzept
|
||||
|
||||
## Notizen
|
||||
|
||||
- Kalender sollen unabhängig von Nutzern bestehen können
|
||||
- Zugriffs-Stufen
|
||||
- `none`: kein Zugriff
|
||||
|
@ -16,3 +20,75 @@
|
|||
- öffentliche Kalender
|
||||
- nicht öffentliche Kalendar, bei welchen man mindestens Lese-Berechtigung hat
|
||||
- öffentliche Kalendar können ohne Anmeldung betrachtet werden, jedoch nur mit einem schwer bis gar nicht erratbaren Link
|
||||
|
||||
|
||||
## Zugriffssteuerung
|
||||
|
||||
Es gibt folgende Zugriffsstufen :
|
||||
|
||||
- `none`: kein Zugriff
|
||||
- `view`: nur Lese-Zugriff
|
||||
- `edit`: Lese- und Schreib-Zugriff
|
||||
- `admin`: Lese- und Schreib-Zugriff + Bearbeitung von Kalender-Eigenschaften
|
||||
|
||||
Zur Bestimmung welche Zugriffsstufe ein Nutzer auf einen Kalender/Termin hat, werden drei Werte betrachtet:
|
||||
|
||||
- Öffentlichkeit des Kalenders (`public`)
|
||||
- Standard-Zugriffsstufe des Kalenders (`default_level`)
|
||||
- dem Nutzer zugewiesene Zugriffsstufe für den Kalender (`attributed_level`)
|
||||
|
||||
Diese Angaben fließen in folgende Formel ein:
|
||||
|
||||
```
|
||||
access_level = max(
|
||||
(if public then 'view' else 'none'),
|
||||
(if (attributed = NULL) then default_level else attributed_level)
|
||||
)
|
||||
```
|
||||
|
||||
… wobei die Ordnung der Zugriffsstufen der oben ersichtlichen Reihenfolge entspricht.
|
||||
|
||||
Einzeln aufgeführt ergibt das:
|
||||
|
||||
| public | default level | attributed level | result |
|
||||
|-- |-- |-- |-- |
|
||||
| no | none | - | none |
|
||||
| no | none | none | none |
|
||||
| no | none | view | view |
|
||||
| no | none | edit | edit |
|
||||
| no | none | admin | admin |
|
||||
| no | view | - | view |
|
||||
| no | view | none | none |
|
||||
| no | view | view | view |
|
||||
| no | view | edit | edit |
|
||||
| no | view | admin | admin |
|
||||
| no | edit | - | edit |
|
||||
| no | edit | none | none |
|
||||
| no | edit | view | view |
|
||||
| no | edit | edit | edit |
|
||||
| no | edit | admin | admin |
|
||||
| no | admin | - | admin |
|
||||
| no | admin | none | none |
|
||||
| no | admin | view | view |
|
||||
| no | admin | edit | edit |
|
||||
| no | admin | admin | admin |
|
||||
| yes | none | - | view |
|
||||
| yes | none | none | view |
|
||||
| yes | none | view | view |
|
||||
| yes | none | edit | edit |
|
||||
| yes | none | admin | admin |
|
||||
| yes | view | - | view |
|
||||
| yes | view | none | view |
|
||||
| yes | view | view | view |
|
||||
| yes | view | edit | edit |
|
||||
| yes | view | admin | admin |
|
||||
| yes | edit | - | edit |
|
||||
| yes | edit | none | view |
|
||||
| yes | edit | view | view |
|
||||
| yes | edit | edit | edit |
|
||||
| yes | edit | admin | admin |
|
||||
| yes | admin | - | admin |
|
||||
| yes | admin | none | none |
|
||||
| yes | admin | view | view |
|
||||
| yes | admin | edit | edit |
|
||||
| yes | admin | admin | admin |
|
||||
|
|
17
todo.md
17
todo.md
|
@ -1,14 +1,13 @@
|
|||
## Vorhaben
|
||||
|
||||
- externer Zugriff
|
||||
- regeln über zusätzliche Liste in `access` (`Array<{label : string; level : enum_access_level; link : string;}>`)?
|
||||
- read-only-Ansicht sollte niederschwellig gehen (ohne Anmeldung)
|
||||
- besondere Eingabe-Bereiche (z.B. für Zugriffs-Zuweisungen oder Resourcen (Koprodukt))
|
||||
- Idee 1
|
||||
- regeln über zusätzliche Liste in `access` (`Array<{label : string; level : enum_access_level; link : string;}>`)?
|
||||
- Idee 2
|
||||
- Kalender-Eigenschaft "öffentlich"
|
||||
- Möglichkeit Termine zu anderen Kalendern zu verschieben
|
||||
- Idee 3
|
||||
- Termin-Eigenschaft "öffentlich"
|
||||
- optional: Kalender-Eigenschaft: "neue Termine standard-mäßig öffentlich"
|
||||
- CalDAV-Export
|
||||
- Caching
|
||||
- OIDC session mapping ordentlich machen
|
||||
- leere Kalender in der Übersicht aufführen
|
||||
- Monats-Ansicht
|
||||
- Listen-Ansicht
|
||||
- Monats-Beschriftung in Wochen-Ansicht
|
||||
- Kalender aus-/einblenden
|
||||
|
|
Loading…
Add table
Reference in a new issue