Bonjour,Je viens de passer quelques longues heures à éplucher le Web pour pouvoir trouver une piste pour résoudre mon problème mais malgré mes différents tests je m'avoue vaincu. Je travaille actuellement sur la version 4.0b Community d'Alfresco, et je souhaite ajouter une action personnalisée dans Share au niveau des documents. Pour cela, j'ai suivi la maigre documentation sur la V4.0b et j'ai réussi à ajouter mon action à la liste des actions disponibles (ajout de l'action dans le share-config-custom.xml) et cela avec sa petite icône en supplément ! (Extra-Ordinaire !!!)Maintenant la phase qui me bloque est l'ajout de l'action en elle-même. J'ai suivi le même processus utilisé par l'action "Déplacer vers" pour dans Share, j'ai également testé de faire un test par rapport aux différents tutos de la v3.4 mais au final le résultat est toujours le même : Lorsque je clique sur mon action rien ne se passe !!! (Firebug reste sans voix également…) :shock: Voici le processus que j'utilise actuellement :1. Mon share-config-custom déclare l'action et l'ajoute aux actionGroup que je souhaite - OK, ça c'est bon !2. J'ai ajouté par la suite dans le fichier actions.js (sous share/components/documentlibrary) et dans le fichier documentlibrary-actions.js (sous share/js/) ma fonction qui ressemble à ça :
onActionLier: function dlA_onActionLier(record)
{
if (!this.modules.lierFichier)
{
this.modules.lierFichier = new Alfresco.module.DoclibLierFichier(this.id + "-lierFichier");
}
var allowedViewModes = [ Alfresco.module.DoclibGlobalFolder.VIEW_MODE_REPOSITORY ];
this.modules.lierFichier.setOptions(
{
allowedViewModes: allowedViewModes,
siteId: this.options.siteId,
containerId: this.options.containerId,
path: this.currentPath,
files: record,
rootNode: this.options.rootNode,
parentId: this.getParentNodeRef(record)
}).showDialog();
}3. J'ai crée ma classe "DoclibLierFichier" (dans un fichier lier-fichier.js) sous share/modules/documentlibrary/ en m'inspirant très fortement du fichier copy-move-to.js situé au même endroit et en lui associant un css (logiquement nommé lier-fichier.css).4. J'ajoute dans les fichiers "actions-common.get.head.ftl" et "documentlist.get.head.ftl" les liens vers ces fichiers javascript :Le document documentlist.get.head.ftl ressemble donc à ça :
<#include "../component.head.inc">
<#include "../form/form.get.head.ftl">
<@script type="text/javascript" src="${page.url.context}/res/modules/documentlibrary/lier-fichier.js"></@script>
<!– Document List –>
<@link rel="stylesheet" type="text/css" href="${page.url.context}/res/components/documentlibrary/documentlist.css" />
<@script type="text/javascript" src="${page.url.context}/res/components/documentlibrary/documentlist.js"></@script>
et le document actions-common.get.head.ftl à ça :
<#include "../component.head.inc">
<#– Document Library Actions: Supports concatenated JavaScript files via build scripts –>
<script type="text/javascript" src="${page.url.context}/res/modules/documentlibrary/lier-fichier-min.js"></script>
<@link rel="stylesheet" type="text/css" href="${page.url.context}/res/modules/documentlibrary/lier-fichier.css" />
<#if DEBUG>
<script type="text/javascript" src="${page.url.context}/res/components/documentlibrary/actions-min.js"></script>
<script type="text/javascript" src="${page.url.context}/res/components/documentlibrary/actions.js"></script>
<script type="text/javascript" src="${page.url.context}/res/modules/simple-dialog.js"></script>
<script type="text/javascript" src="${page.url.context}/res/modules/documentlibrary/global-folder.js"></script>
<script type="text/javascript" src="${page.url.context}/res/modules/documentlibrary/copy-move-to.js"></script>
<script type="text/javascript" src="${page.url.context}/res/components/people-finder/people-finder.js"></script>
<script type="text/javascript" src="${page.url.context}/res/modules/documentlibrary/permissions.js"></script>
<script type="text/javascript" src="${page.url.context}/res/modules/documentlibrary/aspects.js"></script>
<script type="text/javascript" src="${page.url.context}/res/modules/social-publish.js"></script>
<#else>
<script type="text/javascript" src="${page.url.context}/res/js/documentlibrary-actions-min.js"></script>
</#if>
<#– Common actions styles –>
<@link rel="stylesheet" type="text/css" href="${page.url.context}/res/components/documentlibrary/actions.css" />
<#– Global Folder Picker (req'd by Copy/Move To) –>
<@link rel="stylesheet" type="text/css" href="${page.url.context}/res/modules/documentlibrary/global-folder.css" />
<#– People Finder Assets (req'd by Assign Workflow) –>
<@link rel="stylesheet" type="text/css" href="${page.url.context}/res/components/people-finder/people-finder.css" />
<#– Manage Permissions –>
<@link rel="stylesheet" type="text/css" href="${page.url.context}/res/modules/documentlibrary/permissions.css" />
<#– Manage Aspects –>
<@link rel="stylesheet" type="text/css" href="${page.url.context}/res/modules/documentlibrary/aspects.css" />
<#– Social Publishing –>
<@link rel="stylesheet" type="text/css" href="${page.url.context}/res/modules/social-publish.css" />
5. J'ai par la suite crée mon webscript lié au module "DoclibLierFichier" sous WEB-INF/classes/alfresco/site-webscripts/org/alfresco/modules/documentlibrary/ Et le résultat est sans équivoque : L'action est présente mais lorsque je clique dessus, rien ne se passe !!! Je pense donc qu'il doit me manquer le lien entre le clic sur l'action et l'action mais pour moi c'était ma fonction "onActionLier" qui était censé faire ce job….Qu'en pensez-vous ???? Je suis vraiment bloqué et je ne comprends vraiment pas ce qu'il me manque ou qui est mal fait dans mon processus !!!Merci par avance
!!!