martes, febrero 15, 2011

Ocultar las "Desktop Actions" en Alfresco

En algunas empresas es necesario quitar las llamadas "desktop actions" o acciones de escritorio que se visualizan en los recursos compartidos cuando se activa el protocolo CIFS. Estas acciones son en algunas ocasiones muy útiles pero en otras, además de producir un mal conteo de ficheros en las carpetas, en muchas otras ocasiones lo único que pueden derivar es en la "contaminación" de las propias acciones por virus ya que son programas ejecutables.

Para eliminar/ocultar estas acciones se puede proceder como sigue:

Copiar el fichero:

${ALF_HOME}/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/subsystems/fileServers/default/file-servers-context.xml

En:

${ALF_HOME}/tomcat/shared/classes/alfresco/extension/subsystems/fileServers/default/default

Y comentar las siguientes líneas:

---- file-servers-context.xml ----
[…]
   <!-- Add a URL file to each folder that links back to the web client -->
<!--
   <property name="URLFileName">
      <value>__Alfresco.url</value>
   </property>
-->
[…]
<!--
   <property name="globalDesktopActionConfig">
      <bean class="org.alfresco.filesys.config.GlobalDesktopActionConfigBean">
         <property name="path">
            <value>alfresco/desktop/Alfresco.exe</value>
         </property>
      </bean>
   </property>
   <property name="desktopActionList">
      <list>
         <bean class="org.alfresco.filesys.repo.desk.CheckInOutDesktopAction">
            <property name="name">
               <value>CheckInOut</value>
            </property>
            <property name="filename">
               <value>__CheckInOut.exe</value>
            </property>
         </bean>
         <bean class="org.alfresco.filesys.repo.desk.JavaScriptDesktopAction">
            <property name="name">
               <value>JavaScriptURL</value>
            </property>
            <property name="filename">
               <value>__ShowDetails.exe</value>
            </property>
            <property name="scriptName">
               <value>alfresco/desktop/showDetails.js</value>
            </property>
            <property name="attributeList">
               <value>anyFiles</value>
            </property>
            <property name="preprocess">
               <value>copyToTarget</value>
            </property>
         </bean>
-->
         <!-- Other desktop actions which may be enabled -->
         <!--
            <bean class="org.alfresco.filesys.repo.desk.EchoDesktopAction"> <property name="name">
            <value>Echo</value> </property> <property name="filename"> <value>__AlfrescoEcho.exe</value>
            </property> </bean> <bean class="org.alfresco.filesys.repo.desk.URLDesktopAction"> <property
            name="name"> <value>URL</value> </property> <property name="filename">
            <value>__AlfrescoURL.exe</value> </property> </bean> <bean
            class="org.alfresco.filesys.repo.desk.CmdLineDesktopAction"> <property name="name">
            <value>CmdLine</value> </property> <property name="filename"> <value>__AlfrescoCmd.exe</value>
            </property> </bean> <bean class="org.alfresco.filesys.repo.desk.JavaScriptDesktopAction">
            <property name="name"> <value>JavaScript</value> </property> <property name="filename">
            <value>__AlfrescoScript.exe</value> </property> <property name="scriptName">
            <value>alfresco/desktop/dumpRequest.js</value> </property> <property name="attributeList">
            <value>anyFiles, multiplePaths, allowNoParams</value> </property> <property name="preprocess">
            <value>confirm, copyToTarget</value> </property> </bean>
         -->
<!--
      </list>
   </property>
-->
[…]

---- file-servers-context.xml ----


${ALF_HOME} hace referencia al "path" o directorio donde está instalado Alfresco.

2 comentarios:

Unknown dijo...

Hola, quisiera probar esto, pero no encuentro la ruta que mencionas de ${ALF_HOME}/tomcat/shared/classes/alfresco/extension/subsystems/fileServers/default/default

Yo estoy corriendo Alfresco 4.0.d sobre un JBoss en OpenSuse.

Mi ruta de JBoss es:
/home/server/jboss-4.2.3.GA/

Mi ruta de Alfresco es:
/home/server/jboss-4.2.3.GA/server/default/deploy/webapps/alfresco.war

en mic caos alfresco.war es una carpeta no un archivo war


Alguna pista para encontrar dónde debo depositar los cambios?

Saludos

fegor dijo...

Hola, en JBoss las ubicaciones principales son:

Como configRoot es: /server/default/tmp/deploy/tmp*alfresco-exp.war/WEB-INF

Como extension root es:
/server/default/conf/

Por tanto solo tienes que sustituir los directorios que se usan de Tomcat (/webapps/alfresco/WEB-INF y /shared/classes) por los que usa JBoss.