Webscript devuelva todos los grupos

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

Webscript devuelva todos los grupos

Hola, mu buenas de nuevo!!, mirad tengo que hacer un webscript que me devuela todos los grupos que hay creados en alfresco.

He mirado la API People pero no tiene nada de eso, y estoy echando un vistazo en general a otras apis, pero alguien sabe si existe algo directo?? o si no es así, cómo lo plantearíais?

Muchas gracias y un saludo.
9 Replies
pjcaracuel_2349
Active Member II

Re: Webscript devuelva todos los grupos

Buenas,

Por lo que he leido y se (que tampoco es mucho), via api (javascript) no se puede hacer. En el siguiente post, lo resuleven haciendo uso de RepositoryService
http://forums.alfresco.com/en/viewtopic.php?f=27&t=10276

Por otro lado te adjunto un post de un "ingeniero de Alfresco"

http://forums.alfresco.com/en/viewtopic.php?f=36&t=10105

Ya nos dices por donde tiras.

Saludos
ajv
Member II

Re: Webscript devuelva todos los grupos

Buenas

Ando un poco "descolgado" del mundo Alfresco…pero creo que es posible hacerlo a través del API Javascript.
Lo único que tienes que hacer es realizar una query con Lucene imponiendo que el tipo de nodo sea authorityContainer (que es el tipo de los grupos). Algo así como esto:
var nodes = search.luceneSearch("TYPE:\"{http://www.alfresco.org/model/user/1.0}authorityContainer\"");
Esos nodos los metes en el "model", y así los puedes mostrar sin problemas en la plantilla del webscript.

En principio creo que no debe darte más problemas.
Un saludo y suerte!
goja
Member II

Re: Webscript devuelva todos los grupos

Gracias por contestar, pero he puesto esa línea y el caso es que fallo no me da ninguno, pero tampoco me devuelve nada. Le digo que me liste esos nodos, pero nada de nada.

Y otra cosilla alguien puede decirme qué propiedad puedo usar para que me devuelva la carpeta local o dicho de otra manera, al space al que el usuario entra directamente cuando entra en alfresco. Es que he probado con homeFolder y me devuelve un churrillo pero no me dice lo que yo quisiera, que sería la ruta esa.
A partir de person, saco el nombre, el correo, pero no sé cómo lo otro:
<b>Nombre del usuario:</b> ${person.properties.firstName} ${person.properties.lastName} <b>Dirección de correo: </b> ${person.properties.email} <b>Carpeta local: </b> ${person.properties.homeFolder} <br>

Esto es lo que me devuelve el homeFolder:
Node Type: {http://www.alfresco.org/model/content/1.0}folder Node Ref: workspace://SpacesStore/3a40a05e-49a8-11dd-9b58-5bf9b9b8e185

Muchas gracias por todo. Smiley Wink
goja
Member II

Re: Webscript devuelva todos los grupos

Hola de nuevo, sigo sin encontrarlo. Alguien sabe si algunas de estas propiedades debería darme lo que estoy buscando??
<property name="cm:homeFolderProvider">
    <type>d:text</type>
</property>
<property name="cm:defaultHomeFolderPath">
    <type>d:text</type>
</property>
Pero si utilizo alguna de esas propiedades me da un error:
Exception: org.alfresco.service.cmr.repository.TemplateException - Se ha producido un Error al procesar la plantilla 'Expression person.properties.homeFolderProvider is undefined on line 29, column 46 in XXX/Grupo de un usuario/grupoDeUsuario.get.html.ftl.'. Por favor contacte con el administrador del sistema. 

Ni idea por qué??  :shock:

Gracias. Un saludo.
goja
Member II

Re: Webscript devuelva todos los grupos

Hola!, era comentaros que lo de los grupos lo saqué al final con una consulta a la base de datos de alfresco, en la tabla alf_child_assoc, el campo qname, está puesto en otro post, pero bueno lo repito aquí:

SELECT distinct SUBSTRING_INDEX(a.qname,'}',-1) as grupos FROM alfresco1.alf_child_assoc a where a.qname like '%GROUP_%' order by qname ASC;

Lo que hago es coger desde la llave de cierre hasta el final, que es donde aparece el nombre del grupo.

Como he hecho un formulario en php para lanzar desde ahí el webscript, pues desde ahí también hago la conexión y la consulta.

Espero que le sirva a alguien.

Lo que sigo sin encontrar es la propiedad que me refleja el espacio personal de un usuario, si es que existe alguna, que supongo que sí. Me refiero a lo que ves cuando entras a Gestionar usuarios, y buscas un usuario, y te aparece:
Nombre: xx xx x              
Nombre de usuario: xxxxx                      
Espacio personal: /Company Home/User Homes/Xxx/tiruriru

Pues esa ruta que aparece en espacio personal es lo que sigo buscando sin éxito.

Muchas gracias, espero que a alguien le suene.

Un saludico.
pjcaracuel_2349
Active Member II

Re: Webscript devuelva todos los grupos

Hola "goja"

Pusistes
Esto es lo que me devuelve el homeFolder:
Node Type: {http://www.alfresco.org/model/content/1.0}folder Node Ref: workspace://SpacesStore/3a40a05e-49a8-1 … f9b9b8e185

Me imagino que ya habras requetemirado la api, pero no crees que con estas deberias sacar el nombre del espacio?, es mas el uuid del espacio lo tienes, por lo que entiendo no debe ser complicado a partir de dicho uuid sacar el nombre.
http://wiki.alfresco.com/wiki/JavaScript_API#ScriptNode_API
Saludos
goja
Member II

Re: Webscript devuelva todos los grupos

Qué fuerte me parece!!, gracias y perdón Pedro! Es que estoy liá con varias cosas a la vez y ya no sé ni lo que miro. Voy a probarlo a ver qué tal!!

Un saludo.
goja
Member II

Re: Webscript devuelva todos los grupos

Pues ya ha salido por fin:

${person.properties.homeFolder.displayPath}
lo pongo aunque sé que para vosotros será una tontería, pero para una novata y torpe como yo, que no sabía ni que se podían poner varias propiedades seguidas…. Por si hay alguien tan perdido como yo.

Muchas gracias por la paciencia que tenéis conmigo.

Un saludico.
goja
Member II

Re: Webscript devuelva todos los grupos

Rectifico, para que salga la ruta entera, sería:

<tr align="left"><th>Carpeta Local</th><td> ${person.properties.homeFolder.displayPath}/ ${person.properties.homeFolder.name}</td></tr> 
Un saludo.