Permisos en la creción de espacios personales

cancel
Showing results for 
Search instead for 
Did you mean: 
nemrp
Member II

Permisos en la creción de espacios personales

Buenas.

Quería preguntaros si hay alguna opción o parámetro para indicar qué permisos debe tener un espacio personal cuando se crea el usuario.

En versiones antiguas, 2.2 por ejemplo, esta opción hace que al dar de alta un usuario e indicar su espacio espacio personal, éste tenga permisos totales para el propietario (usuario que se da de alta) y de lectura para todo el mundo. Yo quiero saber si es posible quitar ese permiso de lectura para todo el mundo.

Este permiso se asigna en la creación, no mediante reglas.

Un saludo y muchas gracias.
11 Replies
cristinamr
Advanced

Re: Permisos en la creción de espacios personales

Oye nemrp, ¿cómo llevas ésto? Si encuentras algo, ponlo por aquí para que quede constancia  :wink:  ¿Era el xml que te comenté? (aunque me da que por el que tú preguntas es el que llama a éste). No está demás que se queden aquí estas cosillas, porque incluso a lo mejor otra personas puede echarte una mano con la investigación Smiley Wink

¡Un saludo paisano!
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc
nemrp
Member II

Re: Permisos en la creción de espacios personales

Hola CristinaMR.

PUes estuve mirando el archivo que me indicastes ("sitesSpace.xml", que está en "SERVER\webapps\alfresco\WEB-INF\classes\alfresco\bootstrap\") y no vi nada. Pero encontré otro ("spaces.xml" que está en la misma ubicación que el anterior) que me hizo pensar que podía ser el candidato, sobre todo por su parte final, aunque tampoco me sirvió.

La parte final del archivo "spaces.xml" es la siguiente, pero es exactamente igual que la de una versión 3.4 (que no asiga permiso de lectura a todo el mundo en la creación de los espacios personales), por lo que la configuración que busco no está ahí o yo no la veo.

A ver si pueden ayudarme, aunque, gracias a CristinaMR :wink:, estoy estudiando otras posibilidades para solventar esto, pero me gustaría saber si cambiando sólo un parámetro de configuración se soluciona.


<cm:folder view:childName="${spaces.user_homes.childname}">
            <app:uifacets/>
            <cm:name>${spaces.user_homes.name}</cm:name>
            <app:icon>space-icon-default</app:icon>
            <cm:title>${spaces.user_homes.name}</cm:title>
            <cm:description>${spaces.user_homes.description}</cm:description>
</cm:folder>

Un saludo.
cristinamr
Advanced

Re: Permisos en la creción de espacios personales

Tisk, yo es que te lo estuve mirando y difieren tanto la version 2.x de la 3.4 que me perdí un poco buscando entre xmls y demás. Pero oye, lo de realizar un script puede serte util porque lo puedes configurar para que salte cada vez que se cree algo nuevo en alfresco.

De hecho estoy pensando que deberías crearte dos: Uno para recorrerte todos los espacios que ya tienen ese permiso (es decir, bucle recursivo), y otro para que cuando entre un nuevo objeto te lo quite.

Si te ves atorado pega aquí lo que lleves y te echamos un cable =)

Un saludo!
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc
nemrp
Member II

Re: Permisos en la creción de espacios personales

De momento estoy tratando de ver cómo son los permisos, para después poderlos leer y eliminar el que me interese. Por cierto, yo no creo que sea necesario tener dos scripts, el mismo me puede servir para lanzarlo una vez, y que limpie todo, y para ponerlo con una regla después. Y, por otro lado, tampoco creo que sea necesario que sea recursivo, lo estoy orientando a que sea iterativo. A fin de cuentas no tiene más que recorrer los espacios personales (sólo espacios) e ir eliminado el permiso de lectura para "EVERYONE".

Os pongo el esqueleto de mi planteamiento.

var array = new Array();

deletePermissions(space);

function deletePermissions(nodeStart) {
   var count = 0;
   var childrenList = nodeStart.children;
   
    for (var i = 0; i < childrenList.length; i++) {
      nodeVar = childrenList;
      
      if (nodeVar.isContainer) {
         var array[count] = new Array();
         array[count][0] = nodeVar.name;
         var permissions = nodeVar.permissions;
            
         for (var j = 0; j < permissions.length; j++) {
            /*var result = permissions[j];
            
            if (result == [[[LECTURA PARA EVERYONE]]]) {
               [[[QUITAR PERMISO EVERYONE]]]
            }*/
            
            array[count][j+1] = permissions[j];
         }

      count++;

      }
   }
}

var logFile = space.childByNamePath("permissions.txt");

if (logFile == null) {
   logFile = space.createFile("permissions.txt");
}

var log = "************** PERMISSIONS **************\n \n";

for (var i = 0; i < array.length; i++) {
   log += array[0] + "\t \n";
   
   for (var j = 1; j < array.length; j++) {
      log += "\t \t" + array[j] + "\n";
   }
}

logFile.content += log;

Un saludo y muchas gracias.
cristinamr
Advanced

Re: Permisos en la creción de espacios personales

nemrp, ojea esto –> http://forums.alfresco.com/es/viewtopic.php?f=18&t=1921

Creo que te va a venir como agua de mayo =)
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc
nemrp
Member II

Re: Permisos en la creción de espacios personales

Buenos días CristinaMR.

La verdad es que me vino que ni pintado el enlace que me pasastes.Y, por supuesto, gracias a pjcaracuel e innovasoft por compartir ese código. Ya lo tengo casi hecho. De momento sólo estoy creando un log con lo que hace el script en cada paso y tengo comentado el código de eliminación, por lo que aún no lo he probado al cien por cien.

Pero tengo una duda. Mi llamada es como muestro a continuación, pero si paso la variable "userhome" el script se ejecuta desde la raíz.

deletePermissions(userhome, "ALLOWED", "GROUP_EVERYONE", "Consumer")

En cambio, si paso esta llamada, sí funciona bien, empezando desde el espacio que quiero.

deletePermissions(companyhome.childByNamePath("Espacios personales de usuario"), "ALLOWED", "GROUP_EVERYONE", "Consumer")

¿A qué se debe?, ¿estoy usando mal la variable "userhome"?, ¿existe esta variable (según la wiki sí)?.

Un saludo y muchas gracias.
cristinamr
Advanced

Re: Permisos en la creción de espacios personales

Buenasss!

¿Has mirado el valor que tiene con la consola de depuración de Alfresco? Te en cuenta que puedes probar a en "watch" poner la variable userhome.name, a ver qué toma como referencia y desde donde parte.

Uhmmm… ¿Puede ser que estés ejecutando el script en la ráiz y por eso te lo tome como referencia? Todo es cuestión de mirarlo con la consola, a ver cual es el valor que te está pillando esa variable Smiley Wink

Un saludo.
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc
nemrp
Member II

Re: Permisos en la creción de espacios personales

No puedo utilizar la consola, me da un error cuando la habilito.

Por otro lado, el script lo estoy ejecutando directamente sobre el userhome, aunque mi idea espoderlo ejecutar desde donde sea, de ahí el querer utilizar la variable "userhome" que he visto en la wiki. Pero no me está funcionando :cry:.
cristinamr
Advanced

Re: Permisos en la creción de espacios personales

Acabo de realizar una prueba:

Si lanzo sobre "Espacio personales de usuario":
Prueba 1: La variable userhome es igual a "Espacio Empresa"
Prueba 2: Si pongo userhome.children[0].name el valor es "Diccionario de Datos", por lo que te recorre los hijos de Espacio de Empresa.
Prueba 3: Si en vez de userhome, miro lo que contiene la variable space (que también es reservada) esa SÍ que contiene "Espacio personales de usuario" (porque el valor lo toma de la carpeta de la que lo lances).
Prueba 4: Si miro el contenido de space.children[0].name esa SÍ que me muestra el primero userhomefolder que contiene la carpeta de Espacios personales de usuario.

Me da que en la 3.4 va diferente, en el sentido de que, userhome comienza desde Espacio Empresa, en vez de  Espacios personales de usuario (¿bug o realmente este es su comportamiento correcto?)

Espero que ahora esté algo más aclarado, quizás lo puedes solvertar con un bucle y recorriendo los hijos:

Lanzado desde la carpeta "Espacio personales de usuario"


var espacios = space.children;

for (var i=0; i< espacios.length; i++)
{
…..
}

Lo he hecho un poco a ojo pero me da que más o menos es así =)

Prueba y nos comentas!
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc