cancel
Showing results for 
Search instead for 
Did you mean: 

Notificación Usuarios Nuevos

ingcarloshud
Champ in-the-making
Champ in-the-making
Hola a todos,  tengo una dudas más  Smiley Indifferent , resulta que cada vez que ingrese un nuevo usuario a Alfresco deseo que se me notifique vía mail, para eso definí una regla sobre el espacio User Homes para que con cada elemento de tipo espacio entrante se envíe el correo notificando el ingreso del usuario X, con la siguiente plantilla:
El usuario '${space.name}'  ha ingresado por primera vez a Alfresco.  Por favor Asignar Roles.

Usted puede verlo a traves de este vinculo:
http://ecmappwinpru1:8070/alfresco${document.url}

O a traves del cliente Alfresco:
<#assign ref=space.nodeRef>
<#assign workspace=ref[0..ref?index_of("://")-1]>
<#assign storenode=ref[ref?index_of("://")+3..]>
http://ecmappwinpru1:8070/alfresco/faces/jsp/${workspace}/${storenode}

Alfresco
el problema es q en la primera linea '${space.name}' me bota el nombre del espacio User Homes, y lo que deseo es que me arroje el nombre del usuario nuevo.  Si alguien tiene otro modo de hacer esto o una sugerencia les agredecería mucho
6 REPLIES 6

sphinx
Champ in-the-making
Champ in-the-making
hola, pero podrias darte a entender un poco mas, porque no entiendo muy bien lo que quieres lograr, ya que si tu eres el administrador del alfresco, para que quieres saber que un usuario nuevo a entrado?????

las notificaciones o mas bien reglas que vienen incluidas en alfresco para email se ejecutan de manera correcta cuando algun usuario añade o edita contenido en un espacio determinado, y envia el email a la direccion de correo que corresponda, siempre y cuando hayas agregado la regla al espacio, para ello ingresas al espacio y en el menu mas acciones pinchas y seleccionas gestionar reglas del espacio, ahi te preguntara que regla o reglas deseas agregar y te pedira al gunos datos adicionales, como a que usuarios quieres que se envie la notificacion, tambien puedes seleccionar un grupo de usuarios, esto ultimo es mas recomendable cuando tienes una gran cantidad de usuarios para un espacio, asi es que es bueno que los usuarios los separes en grupos segun tus necesidades y al momento de agregar la regla solo le dices que la notificacion se la envie a un grupo de usuarios y asi te evitas la tediosa tarea de incluir uno por uno a los usuarios.

bueno espero que te sirva saludos

ingcarloshud
Champ in-the-making
Champ in-the-making
Hola, deseo que cuando un usuario q ingresa por primera vez a alfresco se me notifique via mail, puesto que aún no cuento con un listado total de usuarios validados por LDAP.  La cuestión es que solo desde el momento en que un usuario ingresa por primera vez se puede contar con él para asignarle roles, tareas, etc…(antes no se cuenta con el registro de este usuario).  El propósito principal de esto, es q se notifique del ingreso del nuevo usuario para inmediatamente gestionar roles, tareas, etc, sobre este.
Gracias

ajv
Champ in-the-making
Champ in-the-making
Hola ingcarloshud,

Si lo quieres es averiguar quien es el usuario vinculado al espacio de usuario…podrías usar este truquito:
Si usas el proveedor de espacios por defecto que viene en Alfresco, se crea el espacio de usuario y se pone al usuario como "dueño" del espacio. Por tanto, desde el API JavaScript de Alfresco, puedes obtener fácilmente el username del usuario obteniendo el owner del espacio en cuestión, de esta forma:
var usuario = espacio_usuario.owner;
Donde espacio_usuario es el nodo que representa el espacio de inicio del usuario.

Espero que te sirva!!
Hasta luego!

ingcarloshud
Champ in-the-making
Champ in-the-making
Muchas Gracias ajv, pero cómo hago para vincular lo que retorna ese JS a la plantilla de correo??? para q se notifique via mail el nombre del usuario nuevo.  Gracias!!!

ajv
Champ in-the-making
Champ in-the-making
Hola ingcarloshud,

Tienes razón  Smiley Surprisedops: …no veo ningún objeto en el modelo de plantillas para obtener el owner directamente. Pero se puede encontrar una solución Smiley Very Happy
Lo que se me ocurre, por ejemplo, es crear un objeto nuevo personalizado para tu modelo de plantillas. Parece muy complicado, pero no lo es en absoluto. Te explico los pasos:
1.- Realizar un bean que extienda del bean baseTemplateImplementation. Por ejemplo, si nos queremos crear el objeto/función owner(idEspacio):
<bean id="ownerTemplateExtension" parent="baseTemplateImplementation" class="mi.paquete.miClase">
       <property name="extensionName">
           <value>owner</value>
       </property>
       <property name="serviceRegistry">
           <ref bean="ServiceRegistry"/>
       </property>
   </bean>
2.- Crear la clase miPaquete.miClase, que extienda de org.alfresco.repo.template.BaseTemplateProcessorExtension e implemente freemarker.template.TemplateMethodModelEx:
public class miClase extends BaseTemplateProcessorExtension implements TemplateMethodModelEx
{

}
3.- Aquí dentro, tendrás que implementar el método exec, que será se ejecutará cuando llamemos al objeto owner en la plantilla.
public Object exec(List args) throws TemplateModelException
{

}
Entonces, el método exec tendría que procesar la lista de args para coger el idEspacio que le pases (o el parámetro que te vaya mejor)…y usando el API de java obtienes el owner del espacio (puedes usar el OwnableService que tiene el método getOwner(NodeRef)).
Bueno, espero habertelo dejado claro.  :wink:

Saludos!!

Dreamyotonos
Champ in-the-making
Champ in-the-making

Gracias por el artículo. Cada vez que el dispositivo recibe un mensaje, una llamada o un mensaje, debemos permitir que los sonidos se escuchen con mayor facilidad. Descargar tonos de notificacione gratis en yotonos.com