6 de julio de 2008

Weave: Firefox en la ‘nube’

Mozilla Labs acaba de publicar la versión 0.2 de su servicio Weave. La propuesta es interesante, almacenar en un servicio de red todos los datos del navegador (favoritos, cookies, tabs abiertas…) y permitir su sincronización remota desde varios ordenadores. Firefox multiplataforma only, claro.

image

Como se podía esperar de una versión 0.2, no funciona demasiado bien, he conseguido hacer una sincronización completa desde dos equipos, pero en general el servicio es todavía demasiado lento y da problemas. Mi recomendación es usarlo sólo para sincronizar los favoritos (bookmarks), que funciona razonablemente bien.

Se puede descargar desde aquí (recuerda hacer una copia de seguridad de todo tu perfil). Necesitaremos registrarnos (el asistente nos ayudará) y conseguir un usuario/contraseña en los servicios de Mozilla. Además, todos nuestros datos allí se almacenan cifrados, por lo que necesitaremos proporcionar una contraseña de cifrado adicional.

Estos este procedimiento se repetirá en cualquier ordenador que quieras vincular. Yo lo he probado entre dos Windows y un Mac y funciona.

image

Creo que es un servicio interesante, aunque un poco verde todavía. Puestos a pedir, sería bueno poder consultar online este perfil cuando estamos en un ordenador no habitual, en el que configurar Weave es inviable porque dejaría demasiados datos personales.

5 de julio de 2008

Workflows en SharePoint Designer

Creo que escribo mis posts empezando por el tejado… primero una nota de cómo conseguí replicar workflows, ahora cuento qué son los workflows y lo siguiente debería ser contar algo de SharePoint… A menudo uso el blog como recordatorio de cosas que aprendo, por lo que queda todo muy desorganizado. Bueno, seguro que en el remoto caso de que esto interese a alguien, Google será capaz de ponerlo en orden!

SharePoint es una herramienta de trabajo en grupo (y muchas otras cosas) que permite compartir listas. Una lista es un calendario, tareas, notas, documentos, o cualquier cosa que nos inventemos, sin más que añadir columnas a una lista, al estilo de una hoja de cálculo Excel. Las listas se pueden relacionar, de forma que se puede añadir una propiedad ‘cliente’ en nuestra lista de ofertas emitidas, en la que, aparte del estado en que está la oferta (remitido, rechazado, aceptado) podemos añadir el cliente al que se envió desde la lista de clientes.

Las listas pueden tener asociados Workflows, flujos de trabajo que ejecutan secuencias de pasos. Típicamente se usan en escenarios de revisión de información. Quiero aprobar una hoja de gastos, que tiene que ser revisada y aprobada por tres personas, una detrás de otra, cada una puede aprobar o rechazar, incluyendo comentarios, en un determinado tiempo. Si este tiempo pasa, avisa a no se quién, si alguien cambia la hoja de gastos, cancela la aprobación…

Hay varios tipos de workflows:

  • Los proporcionados por la herramienta, típicamente, aprobaciones sencillas de documentos
  • Los programados en Visual Studio, basados en Workflow Foundation
  • Los diseñados en SharePoint Designer, que ofrece una herramienta visual, sencilla pero a la vez potente, para diseñar flujos

Veamos lo que caracteríza a un workflow

  • Se asocia a una lista de sharepoint (y sólo a una, para clonarlo, ver post anterior)
  • Se puede elegir arrancarlo manualmente, o automáticamente, cuando se crea o modifica un elemento
  • Tiene unas variables de inicio, son una serie de campos que se nos pedirán al arrancarlo
  • Además, se pueden definir variables, para ir haciendo ‘cuentas’ en nuestro workflow. El resultado de una búsqueda, una operación matemática o una con fechas pueden ser guardadas en una variable. Las hay numéricas, texto, fecha o elección.

image

Un workflow en si está formado por pasos. Cada paso tiene:

  • Condiciones: una o varias preguntas que indican si se ejecutarán las acciones
  • Acciones: una serie de operaciones, de entre una extensa lista

image

Los pasos normalmente se ejecutan ‘en serie’, se va pasando de uno a otro, comprobando las condiciones, y ejecutando las acciones en caso de que se cumplan. También se pueden ejecutar partes ‘en paralelo’, es decir, varios pasos se ejecutan simultánemente, por ejemplo, para esperar a varias personas en una aprobación de documento por ‘quorum’ (si más de la mitad de los revisores dan el visto bueno, adelante).

Las condiciones disponibles aparecen abajo, sirven para comprobar campos, fechas de modificación, valores de variables…

image

Las acciones predeerminadas (y otras instaladas de SPD Custom Workflow Activities) están en la siguente imagen. Permiten enviar correos electrónicos, crear, borrar o modificar elementos, esperar durante un tiempo, esperar a que un elemento cambie, pedir información a otro usuario (se le asignará una tarea en la que tiene que rellenar información, que cuando se completa, reactiva el workflow), construir una cadena a partir de datos o variables…

image

En el siguiente artículo, intentaré usar todo esto para una aplicación “real”.

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.