SharePoint 2010 es 99% personalizable

Uno de los grandes desafíos que pueden llegar  a presentar las plataformas tecnológicas, y específicamente los productos de terceros, es poder personalizar su funcionalidad, su aspecto, y en general, querer implementar soluciones personalizadas en tales productos.

En el caso de SharePoint, Microsoft como en muchos de sus productos, y específicamente hablando de Office, ha dejado la puerta con la llave puesta, para poder quitar el cerrojo y explotar todo lo que hay ahí adentro. Es así como nacen las soluciones de automatización de Office, que datan de Word y Excel 2000, y hoy en día con Office 365. Debido a que SharePoint siempre ha sido considerado un complemento más de Office, no se quedó atrás y expone una serie de elementos que nos permiten hoy en día, hacer casi cualquier cosa sobre esta grandiosa plataforma.

Rescatando el título de esta entrada, ese 1% restante, hace referencia a las cosas obvias, que por seguridad la plataforma jamás permitirá tocar para mantenerse segura y confiable, de resto, vamos a poder cambiar lo que requiramos para poder adaptar a la plataforma a nuestras necesidades.

A continuación mostraremos un ejemplo práctico y claro, de lo que hasta este punto hemos hablado, y como las cuestiones que podrían parecernos imposibles, se pueden lograr con un poco de conocimiento de lo que nos ofrece la plataforma.

En la siguiente demostración vamos a explorar la plantilla XML que SharePoint implementa para dar formato a los correos electrónicos que se envían cada vez que se programa una alerta en una lista o una biblioteca de un sitio de SharePoint.
  • Lo primero que uno debe poder ubicar es el sitio físico en el servidor SharePoint donde reside esta plantilla XML: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\XML
  • La ruta anterior es la clásica ubicación de los archivos que una instalación típica de SharePoint crea luego de la instalación de la plataforma. Ahí vamos a encontrar el archivo alerttemplates.xml
La primera recomendación será sacar una copia al archivo alerttemplates.xml antes de hacer ninguna modificación, esto en el caso que cometamos algún error y queramos regresar a la versión original del archivo.
  • Si le damos un vistazo al archivo, por ejemplo en NotePad, veremos claramente que por cada tipo de lista o biblioteca, se encuentran diferentes secciones que se encargan de darle formato a los mails que por defecto se envían por cada Alerta programada en dichas listas o bibliotecas a cada usuario que así lo haya hecho.
  • Por ejemplo la primera sección que se encuentra en el archivo hace referencia a las listas genéricas o personalizadas SPAlertTemplateType.GenericList
  • A través de la enumeración SPAlertTemplateType se puede buscar el valor que corresponda al tipo de lista para la cual queremos realizar la modificación.
Hace algún tiempo, uno de nuestros clientes nos presentó una inquietud, ya que cada vez que llegaba una alerta al mail de los usuarios, las alertas enviadas por modificaciones a los ítems de una lista de Anuncios, el cuerpo del mensaje salía tachado para el contenido original, representando así que ese contenido tachado había sido modificado por algo nuevo. Esto evidentemente es el comportamiento por defecto de SharePoint, el cual no era del agrado de nuestro cliente.
En la siguiente imagen se puede apreciar que el cuerpo original Prueba 1 sale tachado, luego de modificarse por el texto Prueba 1 edición.

AlertsUpdateMail

Lo primero que se piensa es que algo así no podrá modificarse, porque parece inherente a la plataforma y su funcionamiento. Pero habiendo revisado la plantilla XML que ya hemos mencionado, nos damos cuenta que no es así, y que nuevamente SharePoint se presenta como una plataforma muy personalizable.
  • Con el archivo alerttemplates.xml en modo de edición, es momento de proceder a buscar la sección relacionada con las listas de tipo Anuncio, <AlertTemplate Type="List"  Name="SPAlertTemplateType.Announcements">
  • Si nos ponemos a explorar el contenido de dicha sección nos vamos a encontrar con una hoja de estilos donde efectivamente hay un estilo que es el causante que el contenido editado aparezca tachado, cada vez que llega una alerta por modificación del contenido.
 .edited{  
text-decoration:line-through;
color:#9ca3ad;
}

Hay que ser cuidadoso porque el estilo está en dos lugares, el primero cercano a la etiqueta de apertura del tipo de lista de anuncios, pero más abajo nuevamente se repite. Así que si no se cambia en los dos lugares, no se va a lograr cambiar el estilo para las ediciones.


  • Luego de haber encontrado el estilo responsable de esto, se puede hacer la modificación respectiva para que ese estilo no siga afectando los contenidos del mail y no se vean más tachados los textos. Podría eliminarse el estilo en cuestión o simplemente hacerle una modificación que causará que no sea leído, por ejemplo una doble TT al nombre de la propiedad text-decoration:
 .edited{  
ttext-decoration:line-through;
color:#9ca3ad;
}



  • Luego de realizada la modificación es momento de ejecutar un comando desde la consola de Windows a través de la aplicación STSADM, que todo administrador o desarrollador SharePoint conoce.
  • Cabe recordar que estos comandos deberían ser ejecutados bajo una cuenta administrador de la granja SharePoint para no tener inconvenientes de permisos, ya que internamente lo que hacen es realizar cambios a la base de datos de administración de SharePoint.
  • Pegue y modifique el siguiente comando según su necesidad en la ventana de comandos que debe estar corriendo como Administrador: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN>stsadm -o updatealerttemplates -url http://aortiz-pc:10000 -filename "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\XML\alerttemplates.xml"

  • El comando anterior evidentemente muestra que se debe actualizar la plantilla, debido a que se ha realizado una modificación a la misma, o que se quiere utilizar un nuevo archivo XML lo cual también es posible, en caso que no se quieran hacer cambios directamente en el original. En el ejemplo anterior el cambio se realizó directamente sobre el archivo original.
  • Luego de ejecutar el comando, se debe ejecutar un IISRESET y seguidamente un reinicio del servicio de temporizador de SharePoint, esto desde la consola de servicios de Windows.

AlertsUpdate

Luego de actualizar la plantilla, ejecutar el reinicio de IIS y reiniciar el servicio de temporizador, se puede proceder nuevamente a realizar una modificación al ítem de una lista de anuncios y esperar que el nuevo mail de Alerta ya no despliegue el texto tachado, con esto comprobando el alto grado de personalización de la plataforma SharePoint. Vale la pena destacar que esto fue probado en Outlook 2010, donde el tachado era evidente. Probando los mails en GMAIL no salen los textos tachados, lo cual debe ser validado antes de hacer modificaciones, que podrían no ser necesarias.


AlertsUpdateMail2

No hay comentarios:

Publicar un comentario