cancel
Showing results for 
Search instead for 
Did you mean: 

Auditoría de correo electrónico

jsv
Champ in-the-making
Champ in-the-making
Hola a todos.

En mi aplicación de Alfresco he creado un workflow simple que mueve archivos entre carpetas, y cada vez que uno de ellos se mueve se envía un correo electrónico a un usuario determinado.

Necesito saber cuándo y a quién se envía cada correo electrónico en la aplicación. Por ejemplo, que se viese algo como: "usuario_X envía notificación a usuario_Y el dd/mm/aaaa".

Estoy probando con modificaciones del fichero "show_audit.ftl", pero la única conclusión a la que he llegado es que el envío de mail se refleja como un método "executeAction", y con argumentos casi ilegibles  :cry:

¿Hay algún modo de que modificando el archivo .ftl se muestre lo que necesito? ¿O tengo que optar por otras alternativas?

Muchas gracias.
6 REPLIES 6

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

Quizás una alternativa fácil sea crearte un javascript para registrar el envío de mail. Podrías tener un ficherito general en el que se van escribiendo las notificaciones.
En el siguiente enlace (http://wiki.alfresco.com/wiki/JavaScript_API_Cookbook) tienes ejemplos de scripts que te pueden ayudar (el segundo de ello, incluso hace un backup y log… Smiley Very Happy ). Entonces, lo que se podría hacer es un script y ejecutarlo allá donde se ejecuta la regla de envío de mail.
Obtener la fecha de envío y el nombre de usuario no creo que suponga problema alguno, depende de cómo tengas configurada la regla de envío.

Bueno, espero que te sirva la idea.
Saludos!

jsv
Champ in-the-making
Champ in-the-making
Hola.

¿No habría forma de visualizar lo que digo en una plantilla .ftl? Es que para lo que queremos si usamos JavaScript necesitaríamos crear un documento de log por cada documento que se sube a Alfresco, y moverlos juntos de carpeta en carpeta… Es decir, la idea del fichero general de notificaciones no nos vale  :cry:

Muchas gracias por la ayuda!!  :wink:

fstnboy
Champ on-the-rise
Champ on-the-rise
Hola Jsv,

una pregunta…. ¿cuándo es exactamente cuando quieres mostrar esos datos y donde?  Es decir, es una accion/boton/link que un usuario ejecuta cuando quiero y solo sobre un documento (a escoger) o se debería mostrar automáticamente?

Lo siento no lo he entendido muy bien  Smiley Surprisedops:

jsv
Champ in-the-making
Champ in-the-making
Hola!

Querríamos ver los datos al ir a Previsualizar el documento con una plantilla ftl. Ejemplo: lo que se puede hacer con cualquier documento al visualizar el show_audit.ftl, pero mostrando las notificaciones por mail.

Espero que se entienda un poco mejor mi duda  Smiley Surprisedops:

jsv
Champ in-the-making
Champ in-the-making
Hola de nuevo.

A ver si consigo explicar algo mejor lo que intento…

Quiero que en una plantilla .ftl, similar al "show_audit.ftl", se muestre cuándo se envían los mails y a quién.

He estado probando a hacer diferentes archivos .ftl para ello, pero no lo logro. Lo único que sé es que cuando se envía un mail se ejecuta un método "auditMethod" llamado "executeAction". Pero no sé cómo recuperar el nombre de la acción y los destinatarios de la misma.

Como ejemplo, en el "show_audit.ftl" se muestra la siguiente línea al ejecutar una acción de mail:

User Name: administrador
Application: SystemMethodInterceptor
Service: ActionService
Method: executeAction
Timestamp: 28-nov-2008 9:54:34
Failed: OK
Message
Arg 1:  Action[ id=2e0ea32b-bd2a-11dd-83a8-cd0c0934f864, node=null ]
Arg 2: workspace://SpacesStore/a6109695-bc85-11dd-8ec9-3141472513e2
Arg 3
Arg 4
Arg 5
Return
Thowable
TX: 2e0ea32a-bd2a-11dd-83a8-cd0c0934f864

Mi idea es modificar el .ftl para que muestre el nombre que le he puesto yo a la acción de mail y los destinatarios.

Espero que se entienda mejor.  :mrgreen:

Saludos!

jsv
Champ in-the-making
Champ in-the-making
Hola de nuevo.

He seguido investigando y no he avanzado nada. Smiley Sad

Lo que estoy intentando ahora mismo es mostrar la información de los envíos de mails a través de mi plantilla ftl (fecha de envío, destinatarios…). Para ello estoy intentando introducir código Javascript dentro de la plantilla; todo va bien hasta que necesito utilizar las variables de Alfresco (por ejemplo, "actions"), ya que Javascript siempre detecta que esa variable "no está definida". Adjunto el trozo de código Javascript que estoy introduciendo en mi plantilla ftl a modo de prueba (ejemplo del API para un envío de mail):

<script type='text/javascript'>
document.write(new Date());
  // create mail action
  var mail = actions.create("mail");
  mail.parameters.to = "davidc@alfresco.com";
  mail.parameters.subject = "Hello from JavaScript";
  mail.parameters.from = "davidc@alfresco.com";
  mail.parameters.template = root.childByNamePath("Company Home/Data Dictionary/Email Templates/notify_user_email.ftl");
  mail.parameters.text = "some text, in case template is not found";
  // execute action against a document   
  mail.execute(doc);

</script>

El resultado es que todo va bien hasta que se encuentra con la palabra "actions", que la reconoce como no definida. Y bueno, no encuentro cómo resolver el problema.

¿Alguna idea? Muchas gracias  Smiley Very Happy