Una de las peticiones típicas en la
parametrización de una instancia de Alfresco Share es que la creación
de Sitios este restringida a un conjunto de usuarios. Una manera de
acometerlo es mediante la creación de un grupo alfrescoSiteCreators y
la extensión de los siguientes archivos de javascript (los copiamos
desde sus rutas originales y cambiamos las siguientes lineas para el
header y para el dashlet). Necesitamos crear una función que nos
permita comprobar si usuario pertenece a un grupo:
function userIsSiteCreator() { var encontrado = false; var json = remote.call("/api/groups/alfrescoCreadoresSitio/children?authorityType=USER"); if (json.status == 200) { // Create javascript object from the repo response var obj = eval('(' + json + ')'); if (obj) { for(var i = 0; i< obj.data.length; i++){ if(user.name == obj.data[i].shortName){ encontrado = true; } } } } return encontrado; }
Esta función se invoca en el javascript correspondiente y se
pinta si el if es true en la ftl correspondiente del header:
/opt/alfresco/tomcat/shared/classes/alfresco/web-extension/site-webscripts/org/alfresco/
modules/header/sites.get.js
modules/header/sites.get.html.ftl
y de manera análoga en el dashlet de mis sitios:
components/dashlets/my-sites.get.html.ftl
components/dashlets/my-sites.get.js
Con estos cambios los usuarios de ese grupo creado serán los
únicos que podrán crear sitios en Alfresco Share.También es posible
hacerlo para otras versiones de Alfresco y orientaciones:
http://wiki.alfresco.com/wiki/Site_Service#Controlling_who_can_create_sites