Modifier le menu de navigation Alfresco

Au cours de mes tentatives pour modifier l’interface d’Alfresco explorer, j’ai eu besoin de personnaliser les liens du menu de navigation de gauche. Problème: il s’agit d’un composant à part entière et il a donc fallu modifier le code source et remplacer le composant. Voici une solution pour réaliser cette personnalisation.

Si comme moi vous souhaitez alléger le menu de navigation d’Alfresco explorer et supprimer les liens tels que My Alfresco ou My Home, vous pouvez suivre ces étapes :

Modifier le composant UINavigator

Cherchez la classe org.alfresco.web.ui.repo.component.UINavigator (disponible dans le jar alfresco-web-client du SDK) et copiez son code dans un nouveau fichier java. Dans la classe

public void encodeBegin(FacesContext context)

Cherchez et commentez les lignes suivantes :

else
      {
         treePanel = false;
         areaTitle = Application.getMessage(context, NavigationBean.MSG_MYALFRESCO);
      }

Puis un peu plus bas dans la classe, cherchez et commentez les lignes suivantes :

if (NavigationBean.LOCATION_MYALFRESCO.equals(area) == false)
      {
         encodeSidebarButton(context, out, sideBarStyle, NavigationBean.LOCATION_MYALFRESCO, NavigationBean.MSG_MYALFRESCO);
      }

Vous pouvez suivre la même procédure pour le sous menu Guest Home ou My Home. Pensez à vérifier l’enchainement des if et else if pour que la classe compile bien. Une fois ces modifications terminées, compilez votre classe et générez un jar que vous copierez ensuite dans le dossier /WEB-INF/lib de votre web app Alfresco.

Remplacer le composant dans la configuration JSF

Maintenant que vous disposez de votre composant UINavigator custom, éditez le fichier faces-config-custom.xml situé dans le dossier /WEB-INF/ et copiez les lignes suivantes :

<!-- Overriding component declaration -->
   <component>
      <component-type>org.alfresco.faces.Navigator</component-type>
      <component-class>org.alfresco.custom.components.UINavigator</component-class>
   </component>

Pensez bien à indiquer le bon nom de package pour votre <component-class> !

————————-
Pour réaliser cette modification, je me suis aidé du tutoriel Supprimer Mon Alfresco publié sur A Geek’s Perspective.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *