[offtopic] Beezy y Papa Noel

Ya me ha tocado hablar de Beezy en este mismo espacio unas cuantas veces (aunque muchas de las veces no mencione directamente el producto, siempre está detrás de lo que vengo haciendo estos últimos meses). El caso es que estas son sus primeras navidades. Bueno, en realidad podríamos decir que son las segundas porque a estas alturas del año pasado el concepto ya se estaba trabajando y teníamos algunas cosas desarrolladas, pero la verdad es que realidad estas son las primeras navidades en las que Beezy está funcionando al 100%. Tanto es así que el mismísimo Papa Noel se ha decidido a usarlo para optimizar su productividad con el trabajo que se le viene encima en los próximos días.

Aquí os dejo un video para que lo veáis en funcionamiento. Espero que a vosotros también os saque una sonrisa como nos la ha sacado a los miembros del equipo de desarrollo cuando lo hemos visto.

Beezy y Papa Noel

Y de regalo, aquí tenéis algo que espero que os saque aún más sonrisas que el video anterior.

http://sendables.jibjab.com/view/D73s6y9TmMHuH4Yb

Número 10 de la revista compartimos

Hoy ha sido publicado el número 10 de CompartiMOSS, la revista de referencia del mundo SharePoint en habla hispana. Este mes el número viene cargadito con todos estos artículos:

  • Editorial
  • Cómo crear una página de error personalizada en SharePoint 2010 (Luis Máñez)
  • Aplicando buenas prácticas a una solución SandBoxed que despliega noticias gráficas (Juan Manuel Herrera)
  • SharePoint Governance – I (Randy Williams – Roberto Delgado)
  • Como remplazar controles delegados en sitios de SharePoint 2010 (Juan Carlos González Martín)
  • Datos externos desde Office365 (Mario Cortés Flores)
  • Gestión de documentos para ISO 9001 con SharePoint 2010 (Juan Emilio Martinez)
  • Entrevista con Daniel Seara
  • Timer Jobs en SharePoint 2010 (Carlos Ariel Dantiags)
  • NPS ENGINE, herramienta de Diseño de Procesos para SharePoint
  • el caso de los Centros Tecnológicos de Microsoft (MTC) (Roberto Delgado)
  • CUDISS – SharePoint BI para hospitales (Luis Máñez)
  • SSD: El Síndrome de la SharePoint Dependencia (Juan Pablo Pussacq Laborde)
  • Sitios web públicos en Office 365 (Alberto Diaz Martin)
  • Aprovisionamiento de Páginas Wiki en SharePoint 2010 (David Martos)

Como podéis leer, tengo el placer y el privilegio (aunque por las fechas que son tendría que decir me llena de orgullo y satisfacción) de formar parte del índice de este número con un artículo en el que hablo de aprovisionamiento de páginas Wiki en SharePoint 2010 y del que podéis encontrar el código relacionado en http://spwikiprovisioning.codeplex.com

Por si no escribo más este año (algunos ya sabéis que estoy pendiente del teléfono para desaparecer una temporadita) desearos a todos unas felices fiestas y una gran entrada de año. Sed buenos y no hagáis nada que yo haría, ¿o era al revés? #whatever

La característica de dependencia ‘PublishingSite’ no se activa en este ámbito.

Siguiendo con el anterior artículo en relación a la creación de sitios de alto nivel en Office365 y a raíz de la pregunta de un lector que necesitaba crear sitios con las características de publicación habilitadas, os doy un pequeño truco que os puede ser de utilidad. Resulta que si a la hora de crear la plantilla de sitio, éste tenía habilitadas dichas características, a la hora de activar la solución previamente exportada en un nuevo sitio nos encontraremos con un error similar al siguiente:

La característica de dependencia ‘PublishingSite’ (Id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) para la característica ‘xxx_Feature3’ (Id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) no se activa en este ámbito.

La causa de este error radica en que al crear la plantilla de sitio, SharePoint detecta que la característica de publicación de ámbito ‘sitio’ tiene una dependencia en la característica de publicación de ámbito ‘colección de sitios’ y así lo marca en el paquete de despliegue. No obstante, el fichero onet.xml que genera para nuestra plantilla ya incorpora la activación de ambas características, con lo que el error no debería aparecer. Aquí pongo un warning muy importante: lo que voy a hacer a partir de ahora lo podéis hacer siempre que entendáis el motivo de lo que estáis haciendo, ya que en ciertas circunstancias podéis provocar efectos muy negativos.

Para solucionar el error bastará con importar el fichero wsp que habéis exportado anteriormente desde Visual Studio mediante la plantilla de proyecto Import SharePoint Solution Package. Una vez allí será necesario hacer doble click en aquella característica que nos está indicando el sistema (xxx_Feature3 en el ejemplo de arriba) y acceder al final de la pantalla, ahí donde están las Feature Activation Dependencies.

image

Bastará con eliminar la dependencia y generar de nuevo la solución para resolver el problema anterior.

Como crear sitios personalizados de primer nivel en Office365

Desplegar soluciones en Office365 (SharePoint Online) supone normalmente muchos más quebraderos de cabeza que hacerlo sobre SharePoint on-premises. Esto, evidentemente, es debido a las restricciones de seguridad que supone disponer de una solución hospedada en una granja compartida por miles de organizaciones.

Uno de los escenarios típicos de desarrollo o personalización en Office365 es el que se conoce comunmente como “ad-hoc”.  En ese escenario un administrador crea un sitio vacío y, desde el nuevo sitio, los usuarios que tengan los permisos necesarios crean todos aquellos elementos que consideran necesarios. Cuando nuestros requerimientos van un poco más allá y necesitamos aprovisionar diferentes sitios con una estructura común la cosa se complica un poco, como veremos a continuación.

El principal problema radica en la imposibilidad de subir soluciones de tipo granja, y en el hecho que las definiciones de sitio únicamente pueden incluirse en soluciones de este tipo. Una aproximación a las definiciones de sitio son las plantillas de sitio, pero éstas se despliegan normalmente sobre colecciones de sitios existentes. ¿Qué pasa si necesitamos crear sitios de primer nivel? La respuesta es más simple de lo que parece.

Lo primero que deberemos hacer es crear el sitio tal y como lo queremos desplegar y, una vez lo tengamos, guardarlo como plantilla accediendo a la administración del sitio y pulsando sobre Save site as template dentro del apartado Site Actions.

image

El sistema solicitará un título y un nombre de fichero para la plantilla que queremos guardar. Una vez hecho esto podremos pulsar en el enlace Solutions dentro del apartado Galleries de la administración del sitio.

image

En la galería encontraremos la plantilla que acabamos de guardar. Lo que haremos es pulsar sobre la plantilla y guardarla en algún rincón de nuestro disco duro.

image

Si no queremos (o no necesitamos) hacer ningún cambio sobre la plantilla antes de desplegarla simplemente iremos a la administración de Office365 y crearemos una nueva colección de sitios privada.

image

A la hora de seleccionar la plantilla escogeremos seleccionar una plantilla más adelante, dentro de la sección Personalizado .

image

De esta manera, una vez finalizado el proceso de creación de sitio podremos ir a la galería de soluciones, añadir la solución que hemos creado previamente y activarla. Finalmente, cuando intentemos acceder al sitio por primera vez veremos que en la sección Personalizado nos aparece la plantilla de sitio que creamos al inicio.

SharePoint 2010 y ALM (II)

Hace unas semanas comencé una serie de artículos sobre ALM y SharePoint 2010. Después de haber realizado tres eventos presenciales al respecto y de haber recogido vuestro feedback en relación a los puntos que más os interesaban sigo con la lista de artículos que tenía prevista.

Como os decía en la primera entrada introductoria, dos de los elementos fundamentales a tener en cuenta a la hora de plantearnos la gestión del ciclo de vida de nuestras aplicaciones son los procesos que llevaremos a cabo y las herramientas que utilizaremos para hacerlo. En este segundo artículo quiero reflexionar, precisamente, de las herramientas que nos pueden ayudar en el camino para mejorar la calidad de nuestros proyectos sobre SharePoint 2010.

El primer nombre de nos tiene que venir a la cabeza cuando hablamos de ALM y de SharePoint 2010 es Team Foundation Server. Es un producto de Microsoft, al igual que SharePoint, y seguramente será el que mejor se integre con esta plataforma. Además es una suite completa que nos va a ayudar en todas las fases del desarrollo, desde la gestión inicial de los requerimientos a la gestión de las incidencias que aparezcan. Por otro lado, tenemos que tener en cuenta que es una herramienta con un coste elevado, que no quiere decir que sea un producto caro. Como siempre dependerá de si necesitamos o no todo lo que el producto nos ofrece y de si el producto cubre o no todas nuestras necesidades. Tened también en cuenta que cada criterio que escojamos para elegir una herramienta u otra tendrá una importancia determinada y una valoración relativa. Un ejemplo ilustrativo es el coste. No podemos centrarnos únicamente en lo que cuestan las licencias del software que vamos a utilizar, sino el tiempo que vamos a invertir en implementarla y lo que nos va a costar encontrar gente capacitada para hacerlo.

En mi opinión, la herramienta que escojamos será lo de menos, siempre y cuando cumplamos el objetivo de gestionar adecuadamente el ciclo de vida de nuestras aplicaciones. No hay una verdad absoluta que indique que tienes que elegir una herramienta determinada cuando se cumplen ciertas condiciones. En nuestro caso particular, tuvimos en cuenta los conocimientos del equipo técnico de diferentes herramientas y al final decidimos no utilizar TFS por las siguientes razones:

  1. Nuestro equipo técnico tenía más experiencia en otras herramientas
  2. El coste de la herramienta era demasiado elevado para asumirlo
  3. Necesitamos desarrollar aplicaciones para otros dispositivos como iPhone o Blackberry
  4. Necesitabamos tener todo montado en un corto espacio de tiempo

A partir de este momento hablaré, por lo tanto, de otras herramientas. En cualquier caso, en ningún momento desaconsejo el uso de TFS. Es más, si no conocéis otra alternativa que os satisfaga, siempre sería una opción recomendable. De hecho, si estáis interesados, os recomiento unos artículos de Chris o’Brien que os darán muchas pistas sobre cómo comenzar ()

Dicho esto, y para daros algún nombre, antes de descartar TFS tuvimos que buscar alternativas que nos permitieran gestionar el ciclo de vida de nuestras aplicaciones. Según el area de actuación, escogimos estas herramientas:

  • Pruebas unitarias y de aceptación: NUnit y NCover
  • Pruebas de aceptación: Cucumber y Capybara
  • Build Server: Jenkins y MSBuild
  • Gestión de requerimientos y de incidencias: Beezy

Como tampoco pretendo escribir la biblia del ALM, sino incidir en aquellos puntos de dolor a la hora de trabajar con SharePoint 2010, los siguientes artículos los destinaré a cubrir aquellas áreas que más nos van a ayudar a mejorar la calidad de nuestros proyectos SharePoint. De aquí a final de año escribiré sobre los siguientes temas:

  • Pruebas unitarias
  • Pruebas de aceptación
  • Automatización del despliegue

Si, además de estos tres puntos, estáis interesados en algo concreto sobre lo que habéis visto en las sesiones que he ido haciendo, no dudéis en ponerme un comentario y haré todo lo posible por escribir también algo al respecto.