01-10-2017 03:37 AM
Buenas , actualmente tengo una instalación de alfresco 5.0d, uno de los departamentos que hace uso del repositorio, necesita poder marcar documentación como obsoleta, para que el resto de personal no la vea, pero si pueda verlo el departamento que la ha catalogado de obsoleta. Sería como un historial.
Alguien puede ayudarme.
Un saludo y gracias
Max
01-10-2017 05:38 AM
Quizá podrías realizarlo de una manera más sencilla, utilizando etiquetas.
Crea en primer lugar un script para cambiar los permisos de un nodo (deshabilitar herencia y establecer permisos para los grupos del usuario actual) en la ruta Repositorio > Diccionario de Datos > Scripts > change-permissions.js
document.setInheritsPermissions(false);
var currentUserGroups = people.getContainerGroups(person);
for(var i=0;i<currentUserGroups.length;i++){
document.setPermission(
"Coordinator",
currentUserGroups[i].properties["cm:authorityName"]
);
}
Después establece una regla en la carpeta para que compruebe en cada cambio de documento si se ha incluido la etiqueta "OBSOLETO" y aplique el script de arriba en caso afirmativo.
Descripción:
Activa
Ejecutarse en segundo plano
Regla aplicada a las subcarpetas
Cuando:
Se actualizan elementos
Si se cumplen todos los criterios:
Está etiquetado con 'OBSOLETO'
Realizar acción
Ejecutar script 'change-permissions.js'
De esta manera, cada vez que un usuario marque un documento con la etiqueta OBSOLETO desaparecerá de la vista de todos los usuarios que no pertenezcan a sus grupos. También puedes adaptarlo para establecer el grupo del departamento o lo que necesites.
01-10-2017 09:28 AM
Tienes que tener en cuenta lo que está haciendo el JavaScript que he incluido arriba, por eso te decía que había que personalizarlo. Lo que hace es eliminar la herencia de permisos (Coordinador, Colaborador, Contribuidor y Consumidor de Sitio) y asignar al nodo únicamente los grupos del usuario que ha realizado la operación que añade la etiqueta OBSOLETO. En función de los permisos de estos grupos, el contenido podrá ser modificado por otros usuarios o no.
02-21-2017 08:06 AM
Buenas Angel Borroy tenia el tema ya olvidado, pues lo estuve probandop en mi entorno de desarrollo y tal y como te comente me fue de fabula.
Cuando he copiado el script en mi entorno productivo he empezado a tener algunos problemas, y volviendo a la sugerencia que me comentaste en su momento de personalizar.
Ahora lo tengo claro , quisiera que cuando le pongan la etiqueta unicamente lo vea el personal que este dentro de un grupo, p.e calidad.
Seria correcto:
//Con la preimerea funcion desheredo los permiso actuales del documento
document.setInheritsPermissions(false);
//Le asigno los permisode Coordinador al grupo de calidad
document.setPermission( "Coordinator", "calidad");
Lo he probado y no me funciono
02-21-2017 10:12 AM
Prueba con
document.setPermission( "Coordinator", "GROUP_calidad");
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.