2 de julio de 2008

SPD: copiando workflows entre listas o sitios

SharePoint Designer permite crear potentes workflows de forma muy sencilla, utilizando un asistente visual. Con ellos, se automatizan tareas en un sitio de colaboración SharePoint, en cuanto pueda, publicaré un ejemplo.

Una de sus principales limitaciones es que el workflow creado queda asignado a la lista base para la que se crea, y esto no se puede cambiar posteriormente, lo que obliga a crear desde cero el workflow de nuevo.

Sin embargo, el propio SharePoint Designer nos puede ayudar a hacer más fácil esta tarea. Lógicamente, esto sólo tiene sentido si el workflow que queremos aprovechar es muy complejo, si no, puede que acabemos antes haciéndolo de nuevo.

Los workflows son ficheros agrupados en una carpeta (una por workflow), situados debajo de la carpeta Workflows del sitio que estamos modificando. Un fichero xoml con la definición del workflow, un .rules con las reglas de ejecución, un .xml con la configuración de asociación y un aspx con el formulario de arranque.

image

Dentro de estos ficheros, hay referencias a las listas a los que se asocia el workflow o que usa para crear datos en forma de GUIDs. Nos vendrá bien tener a mano el Stramit SharePoint Caml Viewer para conectarnos a los sitios y coger los GUIDs de las listas que nos interesen.

Copiar un workflow a un sitio nuevo

En este caso, el workflow se llamará igual en los sitios de origen y destino (si no, recurrir al caso de abajo). Estos serían los pasos a seguir:

  • Abrir dos SPD, uno en cada sitio
  • Arratrar la carpeta que contiene el workflow del sitio origen a la carpeta workflow del sitio de destino
  • Localizar con Stramit CAML Viewer los GUIDs de todas las listas a las que el workflow haga referencia, como poco, el de la lista al que está asignado y el de cualquier otra lista que use como consulta o referencia (por ejemplo, listas de tareas si estamos creándolas para comunicar con usuarios)
  • Seleccionar todos los ficheros del workflow, y usar la función Reemplazar para modificar todas las referencias de las listas afectadas. Asegurarse de que está activa la opción “Buscar en el código fuente”

image

  • Abrir y guardar de nuevo el workflow, comprobando antes si todas las referencias han sido actualizadas (de no ser así, los nombres de las listas aparecerían con su GUID)

Asignar el mismo workflow a otra lista

Este caso es un poco más lioso, ya que es necesario cambiar los nombres del workflow y de los ficheros. Esta es la forma que creo es más rápida:

  • En la nueva lista, crear un workflow vacio, sin pasos, con el nombre que queramos darle.
  • Reemplazar el contenido de los ficheros .aspx, .xoml y .rules con el contenido del fichero correspondiente del workflow original, teniendo cuidado de modificar las GUIDs de la lista destino a la que se asociará.
  • En el fichero .aspx, modificar el texto en el que se hace referencia al nombre del workflow, ya que aparecerá el nombre del original. Esta página se puede modificar en aspecto/contenido sin problemas, siempre que mantengamos los campos y el envío del formulario
  • El fichero .xml no se debería modificar (al menos, hasta donde yo he visto), salvo que el workflow tenga parámetros de inicio, en cuyo caso, es necesario reemplazar la sección <Initiation> </Initiation> con los datos del workflow origen
  • Abrir, comprobar y guardar el workflow para asegurarnos de que todo ha sido actualizado correctamente.

Espero que a alguien le sirva, a mi me ha ahorrado algo de tiempo al crear sitios con workflows a través de plantillas de sitio, que no incluyen los workflows.

21 de junio de 2008

iJam defectuoso

Aprovechando el tirón de los productos Apple, la agencia publicitaria Shackleton creó hace tiempo una campaña de publicidad ficticia sobre el nuevo iJam 5Js (veo que ahora han lanzado el iLom, tiene buena pinta).

Bueno, pues un par de cachondos se han cogido un iJam de estos, y se han plantado en el Genius Bar de una AppleStore en San Francisco. Reclaman que el producto es defectuoso, esperaban un ‘pata negra’ y resulta que es una paleta normalita!!!

Visto en Engadget

FireFox 3 y sus add-ons

Los servidores de descarga de Mozilla todavía deben estar temblando de la avalancha de descargas para conseguir la versión definitiva de FireFox 3, la última versión del excelente navegador open source.

Yo lo llevo usando un tiempo, y la verdad es que cada vez arrincono más a IE7 salvo el algunos accesos a servicios con tecnología Microsoft.

¿Por qué? La verdad es que IE7 es un buen navegador, que consigue resistir la avalancha de ataques de seguridad que recibe, pero FireFox tiene unos cuantos elementos que merece la pena probar:

  • velocidad: creo que en general, es más rápido y eficiente. Me da igual si consume o no consume memoria, la tengo para usarla, lo que quiero es que vaya rápido.
  • Detalles en la usabilidad: a medida que vas enredando con el, vas descubriendo muchos detalles pequeños que te facilitan la vida
  • Add-ons: aquí si que gana por goleada. Los add-ons son complementos al navegador que se descargan e instalan desde el menú Herramientas-Complementos. La oferta es abrumadora.

Yo uso cuatro que considero imprescindibles, hay cosillas similares en IE7, pero no se le acercan.

Adblock Plus: un bloqueador de publicidad, trabaja con una lista de elementos considerados como publicidad que se actualiza dinámicamente, y que limpia la mayoría de elementos publicitaros.

FireFox con AdBlock
image
IE7
image

Quick Translation: traduce o busca la definición de cualquier palabra que selecciones con el ratón

image

Firebug: permite ver y monitorizar todo el contenido HTML, CSS y Javascript de una página. Desde ver los efectos de un cambio de CSS a monitorizar los tiempos de carga de una página.

image

Web Developer Toolbar: una barra de herramientas complementaria a Firebug, que permite analizar y obtener mucha información sobre cómo están hechas las páginas.

image

Una refelexión de ‘todo a 100’: nos dicen que esto de la red y el Open Source se paga con publicidad, Google paga una pasta por el desarrollo de FireFox, Adblock Plus funciona ‘de narices’ y filtra casi toda la publicidad (anuncios de Google incluidos). ¿Qué pasaría si FireFox incluyese por defecto una versión todavía mejor de Adbloblock'?

18 de junio de 2008

Corregir formato de fechas en workflows de SharePoint Designer

SharePoint Designer es un editor de páginas Web con elementos específicos para trabajar con SharePoint, la herramienta de colaboración para grupos de Microsoft. Una de sus capacidades es un diseñador visual de flujos de trabajo, escribiré más adelante un post para enseñar qué cosas se pueden hacer.

Esto es solo para comentar la forma de resolver un error que me traía loco. En mi instalación (sistema operativo y sharepoint en inglés, con los paquetes de idioma), las fechas en los workflows aparecen en inglés (semana empieza en domingo, horas en formato am/pm), aunque el resto de información se traduce correctamente.

Después de mucho pelear, he encontrado una solución sencilla. SPD genera un formulario ASPX en el que se solicitan los parámetros requeridos por el usuario, en mi caso, la fecha de asignación de una cita.

Para solucionarlo, localizar el control DateTimeControl de ese formulario y añadirle dos parámetros para que el control se ‘localice’, LocaleId y HoursMode24, tal y como se muestra abajo.

<SharePoint:DateTimeControl runat="server" id="ff1{$Pos}" SelectedDate={@FechaCita}
LocaleId="3082" HoursMode24="True" 
__designer:bind="{ddwrt:DataBind('i',concat('ff1',$Pos),'SelectedDate','DateChanged','',ddwrt:EscapeDelims(string('')),'@FechaCita')}"/>

Con esto, el control de fecha se muestra correctamente.


image

Un error parecido se produce con los números, y se le puede dar una respuesta similar. Los workflows usan un campo double, por lo que si se inicializa un valor a 60, este se muestra como 60.00 y es tratado internamente como 6000.

12 de junio de 2008

Accesos rápidos (pero rápidos) en Vista

Leo en el blog de Ed Bott una nueva funcionalidad de Windows Vista que no conocía. La barra de inicio rápido nos permite arrastrar accesos directos a los programas más utilizados.

image

La novedad es que podemos utilizar la tecla windows junto con los números 1, 2… 0 (este equivale a 10) para activar los programas que aparecen en esa lista.

En este caso, he utilizado Windows + 7 para arrancar el programa de recortes y hacer esta caputra de pantalla.

Se pueden añadir accesos directos a carpetas de red, el centro de redes… Para modificar el orden de los programas, basta arrastrar los iconos y modificar su posición.

Muy útil.

5 de mayo de 2008

Xobni

image Xobni es una interesante aplicación que se 'pega' a Outlook (2003 o 2007). Analiza el correo almacenado y nos permite interesantes opciones para relacionar mensajes. Se visualiza como un panel de tareas adicional, por lo que nos vendrá bien tener una pantalla de buena resolución.

Por ejemplo, al pulsar sobre un mensaje, nos muestra las últimas conversaciones y ficheros intercambiados con ese contacto, los ficheros incluidos en los correos, el horario al que habitualmente nos envía mensajes...

Tiene un módulo analítico con el que podemos conocer el número de mensajes enviados y recibidos, el tiempo que tardamos en responder...

Creo que puede resultar muy útil para "heavy users" de Outlook, ya que te permite ponerte al día del histórico intercambiado con un usuario sin más que pinchar un mensaje recibido. Por ahora es gratuito, no acabo de ver el modelo de negocio que plantean. Funciona con cualquier tipo de cuenta, Exchange, IMAP o POP.

Como inconveniente, no parece entender muy bien mis archivos PST locales con mensajes enviados antiguos, los toma como mensajes recibidos y no como enviados, por lo que algunas estadísticas no funcionan bien.

Desde el 4 de mayo está en beta pública, se puede descargar de http://www.xobni.com/

image

Qué rápido respondo a los correos!!!

image

2 de mayo de 2008

WSS: habilitar proveedores OLEDB

Si necesitas utilizar un proveedor OLEDB diferente de los predeterminados, para consumirlo desde SharePoint Designer, es necesario habilitarlo. El mensaje de error de SharePoint Designer es totalmente inútil, por suerte en un foro recomendaban usar Fiddler para capturar el error real cuando SPD trata de crear la conexión:

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body> <soap:Fault>
<faultcode>soap:Server.Dsp.Configuration.OleDbProviderDisabled
</faultcode>
<faultstring>The OLE DB provider you are trying to use has not been enabled by the site administrator.</faultstring> </soap:Fault></soap:Body></soap:Envelope>

El caso es que es necesario tirar de stsadm para habilitar un proveedor diferente de los predeterminados, en este caso, Informix:

stsadm -o setproperty -pn data-retrieval-services-oledb-providers 
-pv "DB2OLEDB;IBMDADB2;MSDAORA;OraOLEDB.Oracle;SQLOLEDB;Ifxoledbc.2"

Es mejor mirar primero la lista de proveedores habilitados para añadir el nuestro a la lista:

stsadm -o getproperty -pn data-retrieval-services-oledb-providers