Contenido Restringido

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

Contenido Restringido

Hola.
Tengo un cierto problema con los permisos de los espacios de Alfresco en el share.
Tengo por ejemplo, 2 grupos creados de usuarios Profesores y Alumnos.
Por otra parte, tengo una ruta en el repositorio (hacia un espacio llamado Ejercicios) en la que he quitado el acceso a todos (grupo Everyone) y solo se lo he dado a los Profesores. Por lo tanto, a todos los espacios (y sus contenidos) de esta ruta solo podran acceder los Profesores.
El problema viene cuando yo necesito que los alumnos tengan acceso a los contenidos del ultimo espacio de la ruta (Ejercicios) sin ver el resto de espacios de la misma.
Le he dado permiso de consumidor a los alumnos en la carpeta Ejercicios (y no en las demás).
Cuando entro como Alumno en el alfresco share es imposible llegar a la misma ya que obviamente no puede acceder a la ruta en cuestión.
Mi solución fue crear un enlace hacia el espacio Ejercicios, e incluir este enlace en algun espacio accesible para los alumnos. Por desgracia, esto no me funciona, al pulsar sobre el enlace, la pantalla del share me dice que no hay elementos en el espacio Ejercicios (cuando si los hay) y en la consola me sale un error de falta de permisos.
¿Hay alguna forma que un usuario Alumno pueda acceder de forma directa a ese espacio en el share sin tener permisos en las demás?
1 Reply
antoniosoler
Member II

Re: Contenido Restringido

He creado un Javscript para ilustrar como puedes hacer esto, colocalo en data_dictionary/scripts y luego haces clic en accion ejecutar.


<javascript>
//  AUTHOR: Antonio Soler, Alfresco Software 2013
//
//Before start I've manually created a "testsite" a group called "students" and a user called "teacher1"
//I added teacher1 as sitemanager of this testsite and gruop "students" as consumers


//Let's create 100 users with a javascript

for (i=0; i<=100; i++)
    {
      var testUser = people.createPerson("student"+i,"student"+i,"student"+i,"student"+i+"@test.net", "student"+i, true, true);
      if (testUser){
                    // user account created
                    logger.log("created user "+ testUser.name);
                    };
    };
   
// I add them to a group that I previously created
   
var mygroup = people.getGroup("GROUP_students");
if(mygroup)
   {
    for (i=0; i<=100; i++)
        {     
        user = people.getPerson("student"+i);
            try{
                people.addAuthority(mygroup, user);
                logger.log("SUCCESS adding user "+ user.properties["cm:userName"]);
                }
            catch (ex){
                logger.log(ex +"ERROR adding user "+ user.properties["cm:userName"]);
                }
        }   
    };

/// then I go to the base folder that I want to use to create each user "folder-mailbox"

var baseFolder =companyhome.childByNamePath("Sites/testsite/documentLibrary");

for each(var student in people.getMembers(mygroup)) {
  var thisusername = student.properties["cm:userName"];  // I read the username

  var thisuserfolder = baseFolder.createFolder(thisusername);   // create a folder with their username
  thisuserfolder.setInheritsPermissions(false) ;  //remove inherited permisssions so no other user can see this folder
  thisuserfolder.setPermission("Collaborator", thisusername ); //except the username
  thisuserfolder.setPermission("Coordinator", "teacher1" ); //and his teacher

};
</javascript>