Panel | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
Zusammenfassung: Steuerung des Verhaltens, ob Annotationen server- oder clientseitig gerendert werden, Diese Anleitung beschreibt, wie man mittels . |
steuern kann, ob Annotationen server- oder clientseitig gerendert werden, |
Status Quo
Annotationen werden im jadice web toolkit grundsätzlich clientseitig gerendert. Es sei denn, die Annotationen sind mit den Berechtigungen DENY.CHANGE und DENY.REMOVE belegt. Dann werden sie grundsätzlich serverseitig gerendert.
...
Mit JWT 5.4.11.0 stehen dem Integrator deshalb zwei vordefinierte {{AnnotationRenderStrategy
}}s zur Verfügung:
- eine, die das bisherige Verhalten abbildet (SERVER_SIDE_MASKING)
- und eine Strategie, die ein neues Verhalten, nämlich ein vollständig clientseitiges Rendern der Annotationen ermöglicht (CLIENT) - unabhängig von den Permissions auf den Annotationen
...
Die Strategie kann pro Dokument gesetzt werden - damit ist der Integrator flexibler.
Info |
---|
Achtung: Mit jadice web toolkit 5.5.0.0 ist PredefinedAnnotationRenderStrategy.CLIENT der Default. Zum serverseitigen Maskieren sensibler Dokumentinhalte muss dann explizit PredefinedAnnotationRenderStrategy.SERVER_SIDE_MASKING.applyToDocument(Document) gesetzt werden. |
Fall Nummer 1: DENY.SHOW - So geht's besser
...
Hier gibt es keine weiteren Tücken zu beachtetn.beachten. Sogar noch einfacher geht das, wenn man die dokumentweiten Berechtigungen verwendet:
private final AbstractPageViewCommand cmdAllow = new AbstractPageViewCommand() {
@Override
protected void execute() {UIDocument<IsWidget> document = getPageView().getDocument();
clearAnnoChangeANDRemovePermissions(document);
document.getPermissions().getPermissions().add(DocumentAnnotationPermission.ALLOW.REMOVE);
document.getPermissions().getPermissions().add(DocumentAnnotationPermission.ALLOW.CHANGE);getPageView().repaint();
ThumbnailTool thumbnailTool = tm.getTool(ThumbnailTool.class);
thumbnailTool.getThumbnailView().repaint();}
};