cancel
Showing results for 
Search instead for 
Did you mean: 

Tcendros

tcendros
Champ in-the-making
Champ in-the-making
Buenas soy nuevo en esto de alfresco y me instalado una comunity 5c en preproduccion en ubuntu server y mysql. De momneto se adapta bien a mis requerimientos, pero tengo un gran problema (tan grande que sino lo soluciono tendre que abandonar el proyecto) he de hacer que desaparezcan ciertos menus de el share de los clientes, como crear nuevo sitio y mis documentos.
He estado mirando y parece que cada version de alfresco tiene diferentes metodos para hacer eso, total que he probado todos los que he visto y soy incapa de hacer que desaparezcan los menus. Solo me queda la opcion de instalarme un Alfresco antiguo pero vaya no creo que se la solucion.

gracias.
3 REPLIES 3

angelborroy
Community Manager Community Manager
Community Manager
Tienes un buen tutorial sobre cómo eliminar elementos aquí (http://blogs.alfresco.com/wp/developer/2013/09/16/customizing-the-share-header-part-3/). Es válido para 4.2.d o superior.

Básicamente tienes que extender Alfresco Share (<CODE>customization-extensions.xml</CODE>):
<javascript>
<extension>
   <modules>
      <module>
         <customizations>
            <customization>
               <targetPackageRoot>org.alfresco.share.header</targetPackageRoot>
               <sourcePackageRoot>es.keensoft.share.header</sourcePackageRoot>
           </customization>
         </customizations>
         <auto-deploy>true</auto-deploy>
      </module>
   </modules>
</extension>
</javascript>

Y después establecer condiciones que desees sobre los elementos de menú (<CODE>share-header.get.js</CODE>):
<javascript>
var sitesMenu = widgetUtils.findObject(model.jsonModel, "id", "HEADER_SITES_MENU");
if (sitesMenu) {
      sitesMenu.config.showCreateSite = user.isAdmin;
}
if (!user.isAdmin) {
  widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_SHARED_FILES");
  widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_REPOSITORY");
}
</javascript>

También tienes un ejemplo completo en https://github.com/keensoft/alfresco-summit-2014/tree/master/10-enhancements/09-hide-create-site
Puede servirte de base para realizar tu propio desarrollo.
Hyland Developer Evangelist

tcendros
Champ in-the-making
Champ in-the-making
He cogido este post:
The object to remove the widget definition from (you can typically just use “model.jsonModel“)
The attribute to search for (you should use “id“)
The value to match against the target attribute (the “id” attribute of the widget definition to remove)
So for example to remove the “My Files” link from the menu bar you would need to include the following code in your “share-header.get.js” extension:

widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_MY_FILES");
Before the module is deployed the header is as follows:

————————————————————————–
Parece muy claro así que me ido a:
vi /opt/alfresco/tomcat/webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/share/header/share-header.get.js
Y he añadido al final widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_MY_FILES"); 
Quedadno el fichero asi:
<import resource="classpath:/alfresco/site-webscripts/org/alfresco/share/imports/share-header.lib.js">

model.jsonModel = {
   rootNodeId: "share-header",
   services: getHeaderServices(),
   widgets: [
      {
         id: "SHARE_VERTICAL_LAYOUT",
         name: "alfresco/layout/VerticalWidgets",
         config:
         {
            widgets: getHeaderModel()
         }
      }
   ]
};
widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_MY_FILES");
widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_MY_FILES");
widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_REPOSITORY");
widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_PEOPLE");
widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_SITES_MENU");
widgetUtils.deleteObjectFromArray(model.jsonModel, "id", "HEADER_HOME");

Reinicio Alfresco y desaparece My files pero no todo lo demas, imagino que me estoy dejando de hacer algo  pero me falta un empujon para entender como funciona, lo agradezco.

tcendros
Champ in-the-making
Champ in-the-making
El codigo funciona !!!!
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.