consultoría

Soluciones

Le ayudamos a encontrar el mejor camino para desarrollar su negocio. Nos ponemos en su lugar, convertimos la complejidad tecnológica en soluciones reales y le proporcionamos la capacitación necesaria para integrarlas en su organización de manera natural.

Módulo de Drupal: Menu Trails

DrupalTodo el que se haya encontrado ante la situación de intentar asignar contenidos de diversos tipos a un menú de manera automática, debería considerar la instalación del módulo Menu Trails.

Hasta que lo encontré y entendí cómo funciona, sólo tenía dos alternativas para resolver este problema: Generar manualmente la asignación en el menú cada vez que creaba un contenido, o realizar batidas masivas usando Administration views, lo que, en cualquier caso, requería un esfuerzo de memoria considerable.

Con Menu Trails, la tarea se simplifica considerablemente. De esta manera, todos los posts de mi blog activan la pestaña Blog del menú, así como los contenidos de tipo Proyecto activan la pestaña Proyectos. Y es así porque son, en efecto, elementos de menú hijos de sus respectivas secciones.

En la página de configuración del módulo (admin/build/menu/trails), se observan varias opciones, pero las más interesantes son Node types y Categories. La primera permite asignar un elemento de menú por defecto a cada tipo de contenido; la segunda, que se repetirá por cada taxonomía, permite asignar un elemento de menú por defecto a cada término de la taxonomía (o vocabulario).

Para que la técnica funcione, hay que tener en cuenta otro detalle más. Aunque la construcción de los menús varía según los hooks que se hayan aplicado en el tema, es probable que se deban modificar las propiedades del estilo active-trail:

<ul class="pages"><li class="menu-659 first"><a title="" href="/presentacion">Blog</a></li><br />
<li class="menu-581"><a title="" href="/quien-soy">Quién soy</a></li><br />
<li class="menu-747"><a title="" href="/servicios">Servicios</a></li><br />
<li class="menu-717"><a title="" href="/clientes">Clientes</a></li><br />
<li class="menu-716"><a title="" href="/proyectos">Proyectos</a></li><br />
<li class="menu-1217 active-trail active"><a class="active" title="" href="/filosofia">Filosofía</a></li><br />
<li class="menu-259"><a title="" href="/contacto">Contacto</a></li><br />
<li class="menu-582 last"><a title="" href="/sitemap">Mapa del sitio</a></li><br />
</ul>

Resaltando dicho estilo, cada vez que accedamos a un tipo de contenido o a un término de taxonomía regulado por Menu trails, la pestaña correspondiente del menú debería activarse.

Módulo de Drupal: Admin Role

DrupalHoy he descubierto el módulo Admin Role, que permite asignar todos los permisos disponibles a un rol concreto. Por defecto, busca roles que se llamen admin o adminstrator, pero se puede asignar a otro cualquiera desde las opciones de usuario (admin/user/settings).

Resulta especialmente útil cuando queremos crear perfiles para un portal, limitando los privilegios de administrador a un rol nuevo.

Renovación del mantenimiento del portal web del Laboratorio Ocupacional. Evolutivos y adaptaciones a medida que no entran en el alcance del proyecto inicial.

Renovación del mantenimiento del portal web del Laboratorio Ocupacional (sin perjuicio de la garantía del producto). Evolutivos y adaptaciones a medida que no entran en el alcance del proyecto inicial.

Controlando las llamadas con Android

El control de las llamadas es una herramienta fundamental para quien, como yo, usa el móvil como herramienta de trabajo. No sólo a efectos de facturación, sino para saber cuándo has mantenido una conversación o cuántas veces has hablado con un cliente.

Con Android, al menos en la configuración por defecto de la versión 1.6 (imposición de Vodafone), no es posible analizar el registro de llamadas, ni siquiera ordenándolas o agrupándolas por contacto. Tras una búsqueda no exenta de dificultad, he descubierto un par de aplicaciones esenciales para suplir estas carencias:

CallBookCallBook. Ofrece resúmenes de llamadas por diversos conceptos, pero el más útil, desde mi punto de vista, es el listado de llamadas por contacto.

La interfaz, cuidada y limpia, ofrece tres vistas: detallada (para las últimas llamadas), semanal y anual. En los dos últimos casos, permite navegar por el calendario, que muestra las llamadas emitidas y las recibidas, el número y la duración total de las mismas, las llamadas perdidas y los SMS.

 

CallTrackCallTrack. Sincroniza el registro de llamadas con Google Calendar, de manera que no sólo podemos disponer de nuestro registro de llamadas en la nube, sino que también nos permite integrar nuestra actividad telefónica con nuestros calendarios.

La pega es que sólo funciona con Android 2.1, así que de momento estoy condenado a no probarla. No obstante, las opiniones que he leído tanto en el Android Market como en Internet son muy halagadoras.

También recomiendo Ansta y Phonalizr, que he usado en el pasado y que permiten llevar un control global de la facturación móvil.

Gestores de proyectos y tareas

Partimos de la base que todos conocemos la diferencia entre gestores de proyectos y de tareas. No son lo mismo, ni cubren las mismas necesidades. Pero comparten un aspecto fundamental en los tiempos que corren: Permiten reducir la procrastinación. Este artículo está especialmente dedicado a todos los que, como yo, buscan herramientas eficaces en esta particular guerra de tiempo.

Por otra parte, mi estilo de gestión no es nada ortodoxo, ya que se basa en una síntesis de metodologías ágiles con mi experiencia personal y las peculiaridades de cada proyecto. Veamos cuáles son las herramientas que conozco (y que no he necesitado olvidar):

Google TasksGoogle Tasks es un gestor de tareas en plan listas TO-DO, pero cuenta con un par de ventajas importantes:

  • Se integra con Google Calendar, permitiendo controlar plazos y tiempos de ejecución. Sin embargo, todavía no dispone de opciones para compartir el calendario de tareas, lo que la limita considerablemente como herramienta orientada a equipos.
  • Está en la nube y tiene versión móvil y aplicaciones para iPhone y Android.
  • Como casi todos los servicios de Google, resulta sencillo e intuitivo.

Mi uso de GTasks está enfocado a lo personal o a cualquier tarea sencilla que no cabe en planificaciones o proyectos complejos.

Pivotal Tracker

Pivotal Tracker es un gestor de proyectos con una fuerte orientación a metodologías ágiles. Las tareas no se estiman en horas, sino en puntos, que determinan, tras un tiempo de rodaje, la velocidad del equipo. Es una manera mucho más humana de entender los proyectos, ya que las personas, a diferencia de las máquinas, no rendimos a un ritmo previsible, como tampoco son previsibles nuestros prodigiosos resultados.

Se trata de un servicio gratuito, también en la nube, con posibilidad de crear múltiples proyectos (no me atrevería a decir ilimitados) y de asignarles personas con diversos roles. Las tareas se crean en la nevera (the Icebox) y se van organizando dinámicamente en función de parámetros variables, como los hitos definidos, el ritmo del equipo y las tareas pendientes.

En mi día a día, intento usarla como herramienta para tomarle el pulso al equipo, pero no como sistema de gestión de incidencias. Por lo general, usamos Pivotal a nivel interno y más jovial, y en una segunda fase, todas las tareas terminan en el sistema de CAU, donde se pasa al plano del trato con los usuarios.

Mantis Bug TrackerMantis es, quizá, una de los gestores de tareas más potentes que he usado, pero también el más complejo y, según cómo esté configurado, el más tedioso.

Es un producto open source que fácilmente podemos migrar a la nube gracias a su arquitectura (PHP + MySQL, por lo general). Admite proyectos y subproyectos, pero su mayor potencia radica en la parametrización. Las incidencias, o tareas, se pueden modelar para disponer de estados a medida y campos personalizados (horas estimadas, problemas encontrados, información adicional, etc.). Los perfiles de usuario también son altamente configurables, así como el workflow de las tareas, vinculados a cada proyecto.

Uso Mantis como sistema de CAU y como respaldo métrico de los proyectos, ya que podemos explotar su modelo de datos con facilidad para extraer estadísticas y resúmenes analíticos.

TracTrac es un gestor de proyectos escrito en Python, lo que lo sitúa en un segmento peculiar. No todos los directores técnicos quieren mantener una herramienta basada en repositorios propios y con una oferta de proveedores relativamente escasa.

Por contra, se trata de una de las mejores herramientas para gestionar equipos de desarrollo, ya que es un todo-en-uno y dispone de una interfaz minimalista y muy amigable. Se integra con Subversion, de manera que puede combinar la gestión de incidencias del CAU con las propias del desarrollo del proyecto. Permite analizar las revisiones de código, ofrece gestión de hitos, timelines y roadmaps. Además, ofrece un wiki algo simplón pero práctico para registrar soluciones a errores frecuentes o tener a mano una sección de tips & tricks.

JTracJTrac es un gestor de incidencias similar a Mantis pero, desde mi punto de vista, más limitado. Es útil, no obstante, como sistema de CAU dado que su interfaz está más simplificada.

Sinceramente, no es de mis preferidos, pero reconozco que en ciertos ecosistemas puede tener sentido. Por ejemplo, si la estrategia corporativa aconseja utilizar tecnología J2EE para este tipo de servicios.

dotprojectdotproject es uno de los gestores de proyectos más populares. Está escrito en PHP y ofrece una perspectiva muy amplia en cuanto a entidades de negocio (compañías, departamentos, contactos, proyectos, actividades, recursos...), lo que permite modelar una organización completa. Genera diagramas de Gantt para facilitar la visualización espacial del proyecto.

Web2Projectweb2Project es un fork de dotproject, pero hasta la fecha no ha demostrado ser una alternativa diferenciadora.

El sistema de generación de plantillas es muy tedioso desde un punto de vista de implementación, y demasiado pesado en memoria para la interfaz ligera de la que hace gala.

Es una aplicación fácil de implantar y con un gran abanico de funcionalidades, pero difícilmente extensible ni configurable a nivel gráfico.

BasecampBasecamp es un servicio de pago para gestionar múltiples aspectos de un proyecto (miembros, tareas, hitos, paneles de discusión, etc.) desde una interfaz usable y magistralmente distribuida.

Sin duda, es una herramienta de equipo y sólo merece la pena si se maneja cierto número de proyectos concurrentes, pero tiene la ventaja de estar en la nube y ser accesible desde cualquier punto.

Como bonus, hay todo un ecosistema de aplicaciones móviles y de escritorio disponibles, las cuales complementan las ya de por sí abundantes funcionalidades de la plataforma y las mantienen disponibles desde cualquier parte.

project-openproject-open es uno de los gestores de proyectos más completos que conozco, ya que unifica planificación, monitorización y facturación en una sola herramienta. Me parecen especialmente útiles la asignación de miembros a proyectos en períodos concretos y la vista de imputación de horas a proyectos.

La herramienta está disponible para diversos sistemas operativos como paquete instalable, así como en forma de máquina virtual (con CentOS como base) y de SaaS, esta última de pago.

DoolphyDoolphy es similar a project-open pero ligeramente menos sofisticado y sin posibilidad de instalación local.

Dispone de panel de proyectos, calendario e informes, pero una escasa posibilidad de personalización y una versión gratuita que sólo sirve para probar el servicio. Por contra, la información reside en la nube y no tenemos que preocuparnos de protegerla.

Clocking ITClocking IT es un servicio de gestión de proyectos muy orientado a tiempos y plazos, pero al mismo tiempo muy completo.

Está en la nube, tiene una cartera de funcionalidades envidiable (gestión de proyectos, herramientas colaborativas, Gantt interactivos, imputación de horas, etc.) y su interfaz es sencillamente genial.

Desde mi punto de vista, es la opción más equilibrada tanto para gestión de equipos como para proyectos individuales. Le debo a @lencio esta recomendación.

activeCollabactiveCollab es un gestor de proyectos que se puede utilizar como producto y como servicio, aunque ambas modalidades son de pago.

Dispone de numerosas características que lo convierten en una opción atractiva: Foros, hitos, checklists, ficheros, plantillas de proyectos, localización, facturación, integración con Subversion calendario, documentos, tickets, control del tiempo, páginas, exportación de proyectos, etc. Además, provee compatibilidad con dispositivos móviles.

LifetickLifetick es un entrenador personal online. Aunque no se trata de un gestor de proyectos o de tareas al uso, proporciona gráficos que nos ayudan a monitorizar el progreso de los hitos y su cumplimiento.

En caso de que un hito se retrase en el cumplimiento de sus objetivos, el responsable recibe un correo-e con palabras alentadoras que buscan animarlo a completar sus tareas.

La organización de la interfaz y su comodidad son, también, destacables, así como el ameno proceso de dotar de contenido los proyectos a pesr del elevado conjunto de datos que requieren.

 

Y bien, ¿cuáles son sus preferencias? ¿Conoce alguna herramienta que, por su propia experiencia, merezca la pena reseñar?

Medidas contra el spam

SPAMCuando estaba realizando el diseño técnico del portal, pasé bastante tiempo analizando el problema del spam. Por una parte, podía optar por usar CAPTCHA en todos los formularios, pero esta medida es un obstáculo para los usuarios y trato de evitarla siempre que puedo. Por otra parte, podía utilizar algún módulo anti-spam de Drupal, pero consideré que cargaría el sistema innecesariamente, ya que mi parroquia suele ser escasa (eso sí, muy selecta).

Hoy me he topado con mi equivocación materializada en cientos de comentarios anunciando medicamentos de venta online. La situación se ha visto agravada debido a que la notificación de nuevos comentarios no estaba funcionando. Si hubiera pasado una semana sin revisar el portal a fondo, la tarea de eliminar todos los comentarios me hubiera supuesto horas de trabajo inútil. Para colmo, mi amigo Samuel había inaugurado los comentarios hace varios días y no me había enterado hasta ahora.

Para evitar la terrible lacra del correo basura, he instalado el módulo AntiSpam, un cómodo wrapper de servicios tan conocidos como Akismet, TypePad AntiSpam y Defensio. Gracias a una interfaz simplificada, la configuración se convierte en una tarea sumamente sencilla, y la mayor ventaja es que no molesto a mis lectores con pruebas de humanidad innecesarias.

Actualización 22/05/2010, 3:25. Constato que el módulo está funcionando. En el tiempo de escribir esta nota, ya hay trece comentarios basura.

Actualización 22/05/2010, 13:30. En LevelTen hacen una excelente recopilación de módulos anti-spam para Drupal. Sopesando diversos criterios, como no incordiar al usuario y evitar dependencias de terceros, entre otros, he decidido probar Spamicide, un ingenioso método que impide a los spammers llegar siquiera al estado de comentario no aprobado: directamente los detiene antes de entrar. Llevaba desde anoche recibiendo ofertas de Cephalexin (no sé si complex o simplex), y tras la instalación del módulo, la avalancha parece haberse detenido.

Actualización 23/05/2010. El módulo parecía funcionar al principio, pero horas después volví a recibir spam. El problema se resume en dos errores de programación que, por suerte, están documentados y resueltos aquí y aquí. Para la gestión de los comentarios, recomiendo activar las notificaciones del módulo AntiSpam en el perfil de usuario (epígrafe AntiSpam moderator settings), pero activando la opción Only content needing approval. De esta manera, Drupal envía notificaciones por correo para aquellos comentarios que requieren aprobación.

Faceted Search como alternativa a Apache Solr

BuscarUno de los módulos de Drupal que he descubierto en el desarrollo de este portal web es Faceted Search, que se basa en el concepto del mismo nombre y que, de manera resumida, permite filtrar contenidos en base a criterios combinados. Yo lo uso para facilitar la búsqueda de contenidos. Por ejemplo, siguiendo este enlace, se accede al listado de contenidos etiquetados como PHP. Si observa la barra de la derecha, verá que puede filtrar por otras etiquetas, fecha de publicación, empresas, clientes y servicios.

Pues bien, hay quien sugiere utilizar este módulo como un reemplazo de bajo coste para Apache Solr. Es cierto que se pierde el máximo valor de la herramienta, que es su potencia de indexación delegada, pero se obtienen beneficios similares en cuanto a la localización de los contenidos.

BeeShopy, tu tienda en Facebook

BeeShoppyHoy he tenido la oportunidad de conocer BeeShopy, un sistema que permite integrar tiendas virtuales en Facebook para promocionar nuestros productos entre nuestros contactos o admiradores (dependiendo de si se trata de un perfil de usuario o de una fan-page).

Sé que se trata de una buena idea porque, una vez que la he visto funcionando, he pensado: "¿Por qué nadie lo había inventado antes?" El ingenio tiende a parecer natural y sencillo, características que benefician aún más el mecanismo de integración en una red social como Facebook.

Hasta la fecha, se pueden integrar tiendas implementadas en Shopify, Magento y BigCommerce. Cabe preguntarse si planean integrar OSCommerce, KonaKart y PrestaShop, aunque debemos tener en cuenta que el servicio todavía está en fase beta.

Por lo que he podido probar, sólo le veo dos pegas. La primera es que el sistema te saca de Facebook cuando añades un producto a la cesta de la compra, para dirigirte directamente a la tienda. Por experiencia sé que este tipo de integraciones se adaptan mejor a delegaciones de servicio que a otro tipo de relaciones más fuertes, pero sería mucho más interesante no tener que salir del entorno nativo para finalizar la compra. La segunda es que la posibilidad de compartir se ve limitada a publicar el artículo en el muro; se echa en falta la conexión con otras redes y sistemas de micro-blogging.

En general, me parece un servicio de gran utilidad para promocionar tiendas virtuales sin gran esfuerzo. En cuanto tenga acceso a la beta privada, seguiré compartiendo mis impresiones.

Actualización 29/04/2010. Según informa @lvalverde, la próxima versión de BeeShopy integrará el carrito de la compra en el entorno de Facebook. Se nota que el proyecto está muy vivo.