Folivafy ist ein Verwaltungssystem für Dokumente. Dokumente werden in Sammlungen organisiert, die Dokumente können für alle Benutzer lesbar oder jedes Dokument nur für einen eingeschränkten Kreis zugänglich sein.
Die Implementierung (GitHub) ist in Rust erfolgt, um sparsam mit Ressourcen umzugehen. Die Kommunikation erfolgt über die Rest-Schnittstelle (openapi.yml), sodass ein eigenes Frontend an die API angebunden werden kann.
Berechtigungen
Grundsätzlich ist der Zugriff auf eine Dokumentensammlung an eine Leseberechtigung gebunden. Darüber hinaus ist abhängig vom Type der Dokumentensammlung gesteuert, ob alle Dokumente sichtbar sind oder pro Dokument ein Berechtigung geprüft wird.
Weitere Berechtigungen sind:
- Auflisten und Anzeigen von Dokumenten
- Anlegen und Ändern von Dokumenten
- Löschen von Dokumenten
- Übergeordnetes Leserecht auf alle Dokumente
- Verwaltung der Dokumentensammlungen
Erweiterung
Zur Implementierung der Geschäftslogik werden Erweiterungsfunktionen in den Kern eingebunden. Damit lassen sich diese Funktionen umsetzen:
- Berechtigungen zuweisen
- Geschäftsprozesse (Workflows) in Form von Ereignissen behandeln
- Eingriff in den Erzeugungsprozess neuer Dokumente
- Eingriff in den Aktualisierungsprozess bestehender Dokumente
Weitere Merkmale
Workflows
Geschäftsprozesse werden in Form von Ereignissen auf Dokumenten umgesetzt. Durch die Behandlung der Ereignisse werden Änderungen erlaubt oder blockiert.
Zentrale Benutzeranmeldung
Die Benutzeranmeldung wird über OpenID Connect ermöglicht. Das erlaubt einfach erreichbare Single-Sign-On-Szenarien.
Beispielhaft wird Keycloak zur Benutzerverwaltung eingesetzt.
Mailversand
Bei der Behandlung von Ereignissen können einfach E-Mails erzeugt und zum Versand bereitgestellt werden.
Papierkorb
Je nach Konfiguration einer Dokumentensammlung können Dokumente in einem zweistufigen Prozess gelöscht werden.
In der ersten Stufe kann ein Benutzer seine Dokumente wiederherstellen. In der zweiten Stufe kann nur noch der Administrator das Löschen rückgängig machen.
Nach Ablauf der Frist der zweiten Stufe wird das Dokument endgültig gelöscht.
Zeitgesteuerte Aufgaben
Ein Cron-System erlaubt die Erstellung regelmäßig wiederkehrender Aufgaben.