OPUS4 / framework

OPUS 4 Database Implementation
Other
2 stars 7 forks source link

Unklare Semantik der Funktion IRealm::checkDocument() #305

Open j3nsch opened 2 years ago

j3nsch commented 2 years ago

Die Funktion wird aktuell an drei Stellen innerhalb der Webapplikation konsumiert:

Aktuell kann aber innerhalb der Administration der Zugriff auf einzelne Dokumente nicht gesperrt werden.

Ich behaupte daher, dass die Datenbank-Abfrage in der Methode entfernt werden kann und nur noch der Skip-Privilege-Check ausgeführt wird. Dann kann auch die Tabelle access_documents in der Datenbank entfernt werden.

Intern: https://tickets.zib.de/jira/browse/OPUSVIER-1804

j3nsch commented 2 years ago

Eigentlich sollte es noch "beschränkte" Dokumente geben (Zustand restricted?), die nur für bestimmte Nutzer sichtbar sind.

Diese Anforderung ist beim Refactoring des Permission-Modells entstanden. Dass sie bisher nicht benutzt wird, liegt vor allem daran dass wir zwischen "unpublished" und "published" keine weiteren Zustände zulassen. D.h. bei dem aktuellen Workflow-Modell ist die Funktionalität überflüssig.

j3nsch commented 2 years ago

Ohje, ich erinnere mich nur noch vage an die Diskussion damals.

Mein Stand:

Nur Dokumente im Status "published" sollen über die Frontdoor angezeigt werden. Für andere Dokumente wollten wir Rollen angeben können, die diese Dokumente trotz "nicht published" lesen können. (Davor galt, dass nur Admins Dokumente in "nicht published" sehen können.) Beispiel:

Ein Dokument im Status "unpublished", das auf den Reviewer wartet. Wie soll man der Review-Rolle sonst erlauben, ob er die Frontdoor sehen darf? Zwei Erkenntnisse aus dem Ticket:

Die Admin-Funktionalität zum Steuern der Dokument-Zugriffsrechte fehlt noch. (Stimmt das weiterhin?) Da der Dokument-Zugriff unabhängig vom Status geprüft wird (ausser bei "published"), ist m.E. keine weitere Aktion für neue Stati nötig.

j3nsch commented 2 years ago

Ist hier noch was zu tun?