Modificar las plantillas de alertas en SharePoint Server 2007

Hola de nuevo! 

Una alerta es una suscripción a un elemento del portal, ya sea un elemento, una lista, una librería o incluso a los resultados de una búsqueda. De esta forma el sistema, al producirse un evento sobre el objeto en cuestión, envía un correo electrónico a todos los usuarios que están suscritos al elemento informando sobre lo sucedido.

Esto no es nuevo en SharePoint, ya lo teníamos en SPS 2003 y aquellos que trabajasen con este producto estarán de acuerdo conmigo en que es una de las cosas que más se utilizan, tal vez por que es una característica bastante curiosa. No creo que pueda olvidar frases como: ‘Ahh, y la pagina esta me manda un correo cuando me cambien el documento??’ y por supuesto … como no … la de ‘Esto se ha vuelto loco! por que me está enviando cien correos al día! como puede ser!!!’ y al final el usuario está suscrito a todas las listas de un site por que en su momento, el primer día, entró, vió que ‘esa página le mandaba un correo’ y como por aquel entonces apenas tenía correo … pues mira, así le daba uso. Por supuesto no podía haber seleccionado en ‘Resumen Semanal’ o en ‘Resumen Diário’ … selecciona en ‘Enviar Inmediatamente’. ( Es crítico conocer el estado de la quiniela )

Bueno, al tema que me lio.

Si os habeis fijado en los correos de notificación, la verdad es que son bastante feos.

Esto es modificable, y podemos personalizarlo de cara a que todos los mensajes que se envíen en nuestra empresa cumpla con la identidad corporativa. ( Es decir, que tenga los mismo colores, fentes, imágenes, etc que tiene que tener cualquier comunicado que emita la empresa ).

La forma de configurarlo es muy sencilla, solo tenemos que modificar un fichero que se llama ‘AlertTemplates.xml’. En este fichero podremos configurar los Filtros, Propiedades y el diseño para cada tipo de lista de SharePoint.

Este fichero está en ‘C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensios12AlertTemplates.xml

NOTA: IMPORTANTE – Si os veis en la tesitura de tener que hacer estos cambios os recomiendo que saqueis una copia de este fichero por que si se rompe … malo, malo.

Vamos a empezar definiendo los filtros.

Los filtros nos van a permitir crear nuevos desencadenantes para eventos como por ejemplo, cuando la localización de un evento cambia o la fecha en la que se va a producir, etc. Nosotros podemos modificar estos desencadenantes e incluso crear nuevos basándonos en consultas CALM ( Collaborative Application Markup Language ).

Os paso una relación de los operadores CALM de uso comun

Eq

equals
Neq not equals
Lt less than (numbers only)
Gt greater than (numbers only)
Leqr less than or equal to (numbers only)
Geq greater than or equal to (numbers only)
BeginsWith begins with (strings only)
Contains contains (strings only)

Con estos operadores podríamos crear cualquier filtro que deseemos teniendo en cuenta el valor de los campos de nuestro elemento de la lista. Por ejemplo, esta sería la consulta necesaria para activar un filtro que dispare n desencadenante cuando se cambie la fecha de un evento.

<filterdefinition>
   <friendlyname>$Resources:Alerts_4_filter;</friendlyname>
   <shortname>$Resources:Alerts_4_filter_shortname;</shortname>
   <query>
      <or>
         <neq>
            <fieldref name=”EventDate/New”>
            <fieldref name=”EventDate/Old”>
         </neq>
         <neq>
            <fieldref name=”EndDate/New”>
            <fieldref name=”EndDate/Old”>
         </neq>
      </or>
   </query>
</filterdefinition>

Por otro lado tenemos una sección de Propiedades en la que nos va a ser posible agregar o excluir campos de la lista que queremos que sean visibles en el correod e notificación.  

<Properties>
  <ImmediateNotificationExcludedFields>ID;Author;TaskGroup;</ImmediateNotificationExcludedFields>
  <DigestNotificationExcludedFields>ModifiedBy;ContentType;IsCurrent</DigestNotificationExcludedFields>
</Properties>

Y por último tenemos los formatos ( por fín!! )

En la sección del formato podemos definir el aspecto visual al correo electrónico que se envía a los usuarios registrados, para ello podemos definirnos incluso clases ( CSS ) embebidos de forma que podemos modelar el aspecto que deseemos.

Vamos a ver un poco como deberíamos trabajar cuando tenemos que hacer este tipo de tareas. Daros cuenta que dado que estamos modificando un fichero del sistema, por lo que tenemos que extremar el cuidado.

  1. Ir a la carpeta ‘c:program filescommon filesmicrosoft sharedweb server extensions12xml’
  2. Copiar ‘AlertTemplates.xml’ con el nombre ‘Custom_AlertTemplates.xml’
  3. Editamos el fichero.
  4. Moificamos el estilo.
  5. Dentro de la sección Format Element tenemos un estilo llamado .formbody y otro que se llama .headercontent. Vamos a hacer un pequeño experimiento cambiando el color.

Cada tipo de lista tiene su propio template definido dentro del fichero. El primero que aparece en el documento es el de la lista Genérica. Las otras listas heredan directamente de la genérica.

Bien, una vez hecho el cambio solo nos queda publicar los contenidos a la base de datos de contenido de la aplicación Web. Para ello utilizaremos la aplicación STSADM.

  1. En el servidor SharePoint abrimos una consola de comandos.
  2. Navegamos a la carpeta ‘c:program filescommon filesmicrosoft sharedweb server extensions12bin’
  3. Ejecutamos la siguiente orden:

stsadm updatealerttemplates /URL <http://servidor> /f <RutaHastaelNuevoFichero> /LCID <IdentificadordeCultura> 

Bien, una vez registrado solo nos quedaría hacer una prueba a ver si lo hemos hecho bien. Para ello nos vamos a una librería de documentos y nos suscribimos a los eventos, por ejemplo cuando se cambie algo en el fichero.

Solo quedaría hacer un cambio en el fichero y esperar a que llegue nuestro correo con nuestro nuevo diseño.

Espero haber sido de ayuda

Un Saludo a todos … hasta la próxima

9 comentarios en “Modificar las plantillas de alertas en SharePoint Server 2007”

  1. Hola: tengo un problema con las alertas que mandan los workflows, ya que los links que crea no funcionan correctamente.El workflow lo aplique a una biblioteca de formularios, y es el workflow de aprobación… lo que me interesa sanber es si se pueden modificar los links que apaarecen en el mail de alerta..

    gracias.

  2. Los cambios que se hagan aplican a toda la granja de MOSS.
    ¿No hay posibilidad de personalizar la plantilla para una aplicación Web / Colección de sitios?

    Gracias

  3. hola,
    la empresa para la que estoy implantando moss trabaja con LOTUS, y las notificaciones de aprobación llegan como texto html puro y duro…
    como puedo hacer para que se vean correctamente?
    muchas gracias

  4. Como puedo modificar las alertas del workflow por default? ya cambie el archivo alerttemplate.xml como se indica en esta pagina y estas alertas siguen con el formato default.

  5. Hola,
    Quería saber como agregar nuevos campos, es decir, en la alerta de la biblioteca de documentos quiero que me muetsre también el tamaño del archivo..
    podrías ayudarme?? gracias!!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *