cancel
Showing results for 
Search instead for 
Did you mean: 

WebView Dashlet & Navigation hors de la dashlet

lascaux
Champ on-the-rise
Champ on-the-rise
Bonjour à tous,

J'ai défini dans le dashboard d'un site share, une webview affichant une page HTML avec des liens (raccourcis) vers quelques URL spécifiques dans un site share ne permettait plus la navigation

Les liens étaient défini comme <a href="/share/mysite/…." target="_top">lien</a> afin d'ouvrir les liens dans le browser et non dans la WebView dashlet.

J'ai récemment migré l'instance alfresco community 5.0.d vers 5.1.
Suite à l'upgrade, le lien ne permettait plus la navigation …

Si j'enlevais le paramètre "target=…" du lien, les liens refonctionnaient mais dans la dashlet (iframe)

après 2/3 checks, il semblerait que ce soit du à des parametres liés aux iframes dans les javascripts
<ul><li>webapps/share/components/dashlets/webview.js</li><li>webapps/share/components/dashlets/webview-min.js</li></ul>
qui rajoute le mode sandbox aux iframes via
this.widgets.iframe.setAttribute("sandbox","allow-same-origin allow-forms allow-scripts");


En rajoutant "allow-top-navigation" dans le setAttribute, la navigation refonctionne.

même si cette solution fonctionne, je ne l'aime pas car il faut modifier des fichiers "alfresco" qui seront réécrasés par un upgrade/redéploiement du war …

Donc, ma question est :
Comment faire pour que liens fonctionnent depuis une dashlet sans modification des Javascript de base d'alfresco ?

Merci
Sylvain



1 REPLY 1

ycoulon
Employee
Employee
Bonjour,

Cette configuration pour les iframes a surement été mis en place pour des raisons de sécurité. Avant de le désactiver il est important que vous ayez conscience de cela.

Avec cela en-tête, vous serez en mesure de conserver vos modifications en mettant en place une extension pour l'application share qui lors de son déploiement sur le WAR Alfresco ira surcharger les fichiers natifs Alfresco. De cette manière votre modifications survivra au re-déploiement du WAR.
Par contre lors de monté de version, il sera important de mettre à jour cette extension pour prendre en compte les possible changement sur ces fichiers.

Pour le développement d'extension je vous conseille la documentation Alfresco qui présente le SDK maven : http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html

Yann