Ab dem Release Version 2.4.4 steht der neue Interceptor-Endpunkt zur Verfügung. Dieser wird beim Öffnen eines Objekts ausgeführt, wenn der Editor sich die Details eines Objekts abruft. Die Details können nun vor der Verarbeitung angepasst werden.
Alle Anpassungen an diesen Details können zu unerwarteten Verhalten führen, daher alle Anpassungen gut testen und nur verwenden, wenn wirklich nötig. Wir empfehlen, wo immer möglich, mit dem Rechtesystem von enaio zu arbeiten.
Die Details können zum Beispiel wie folgt aussehen:
{
"id": "4521",
"typeId": "262148",
"version": "18BF92E87F3DD2A68EB9775B4BA97D6BF65914D4A72D115C31E47E11DB172967",
"type": "document",
"fileCount": 1,
"size": 360550,
"title": "Programmierparadigma WINDOWS",
"filename": "4521.pdf",
"url": "/dms/objects/4521/contents/file",
"extension": "pdf",
"mimetype": "application/pdf",
"isPdf": true,
"archived": false,
"link": false,
"typeless": false,
"lockstatus": "unlocked",
"lockUsername": null,
"permissions": {
"read": true,
"edit": true,
"createVariant": true,
"showVariant": true
}
}
Besonders relevant ist hierbei der Bereich der permissions. Hierüber kann man die Rechte des Benutzers anpassen. Dabei bitte beachten, dass eine Rechteerweiterung nur auf den Browser beschränkt ist und spätestens an der enaio-API scheitert, was dann zu technischen Fehlermeldungen führen kann.
Hier ein minimales Beispiel, um die Bearbeitung grundsätzlich zu auszugrauen:
class ReadOnlySecurity {
async onObjectInfo(settings, objectInfo) {
objectInfo.permissions.edit = false;
}
}
window.ed.registerInterceptor(new ReadOnlySecurity());