domingo, 11 de abril de 2010

Gestión del conocimiento y el 2.0

Una constante en todas las organizaciones en los últimos años ha sido la búsqueda de herramientas para tratar de sistematizar y estructurar su conocimiento. Recuerdo muchas preguntas del tipo, “queremos una plataforma de gestión del conocimiento, ¿conocéis alguna?”.

Dentro de estas herramientas ha sido relativamente sencillo el dar forma a aquellos conocimientos que ya se encontraban estructurados en la casa o los que eran ‘documentables’. Son muchas las plataformas de gestión documental más o menos avanzadas que pueden dar respuesta a este tipo de necesidades.

Otro tipo de herramientas han sido las que trataban de medir el conocimiento de las personas de la organización en base a sistemas competenciales o de habilidades que permitían hacer un mapa de los conocimientos que a priori, en función de requerimientos de puestos, existían en las organizaciones.

Podríamos resumir todo esto en un intento de ponerle puertas al campo, porque tratar de sistematizar el conocimiento no es tarea sencilla. Al final la propia generación de conocimiento muchas veces se basa en impulsos, en el caos, en la improvisación, es un acto de genialidad. Cada persona de la organización no solo conoce lo que le requiere su puesto, si no que su conocimiento va más allá. Incluso para sus propios requerimientos esas personas en la mayoría de las ocasiones buscan fuentes externas a la organización (expertos, blogs, bibliografía,…)

El éxito de una estrategia de gestión del conocimiento en una organización a mi entender no ha de basarse en una definición espartana y cuadriculada de cómo organizar lo que ya saben sino más bien en cómo facilitar a sus integrantes el acceso a todas sus fuentes de información y tratar de aprovecharse de ellas.

Es bajo este prisma que yo entiendo esta nueva ola de organizaciones sociales o 2.0, cada cual que elija el término que más le guste.  Los términos ‘2.0’, ‘social’,… se han quedado vacíos de contenido por su uso indriscriminado. Debe ser la propia organización quien dote este nuevo pulso de contenido. Un posible enfoque de para estar organizaciones puede ser:
  • Facilitar a sus personas el disponer de los mejores medios para ejercer su labor diaria acercándoles ese mundo exterior y uniéndolo con el interior
  • Aprovechar la participación de esas personas en foros, blogs, redes,… de forma que se haga visible para el resto de la organización. 
  • Fomentar dinámicas de trabajo internas que reproduzcan la forma de colaboración que se realiza en el exterior. Podríamos hablar de blogs y wikis para fomentar la participación de las personas y sentirse involucrados con la empresa. 
  • Incentivar el trabajo en equipo con compañeros acercando a las personas. 
  • Facilitar la autodefinición de ‘expertos’ para que puedan se participes de las cuestiones que surjan dentro de la organización. 
  • Establecer mecanismos donde sean los propios usuarios de la información quienes valoren y clasifiquen la misma para facilitar el uso al resto de la organización. 
  • Fomentar los espacios compartidos con clientes, proveedores y colaboradores para involucrarles en las decisiones de la organización.
Creo que es momento de superar el miedo a lo nuevo y derribar los muros que durante tantos años se ha establecido para cerrar la empresa a lo de fuera. Se ha implantado una nueva cultura de compartir, de colaboración entre iguales. Personas de dentro y fuera de la empresa que si lo aprovechamos nos va a permitir mejorar en todos los ámbitos.

Como ejemplo una experiencia personal que ni yo mismo no habría  creído hace unos años. Hace ya algún tiempo, en una comunidad de expertos, ante un problema planteado fue un directo competidor quien aporto la solución al problema. Hoy en día es algo que ya lo consideró normal, pero no me negareis que hace alguno años alguien se llevaría las manos a la cabeza por algo así. “¡Por Dios! ¡Al enemigo ni agua!

Son muchas las formas de abordar este reto en las organizaciones y cada una de ella podrá estar soportada en múltiples plataformas, pero lo importante es tener claro el rumbo a seguir e ir dando los pasos necesarios...con una buena brújula y un mejor capitán (:D).

viernes, 9 de abril de 2010

Sharepoint 2010, hablando en plata

Es mucha la información que hay sobre la nueva plataforma, muchos artículos técnicos, muchas comparativas,... eso está muy bien, pero, que es lo que realmente le importa a los usuarios finales de la herramienta o a los responsables de negocio. ¿Qué les puede ayudar a tomar la decisión de ir a la versión Sharepoint 2010 o quedarse en la 2007?

Tratando de dar un enfoque pensando en ellos, vamos a simular una posible conversación entre un consultor Sharepoint y un responsable de negocio. Hablo de simular, pero muchas de esas preguntas me las han repetido más de una vez en diferentes clientes.

(Nos saltamos la parte de saludos y vamos ya directamente lo que hoy nos ocupa)

Usuario: He oído que va a salir una nueva versión de Sharepoint, cuéntame que trae de nuevo que pueda merecer la pena.

Consultor: Mejor aún, vamos primero a ver los problemas que te has encontrado en la versión 2007 para ver si mejoramos algo. Y después ya hablamos de las cosas nuevas.

U: Agárrate que vienen curvas. Algo que es una molestia para todos los usuarios, las fotos. Para poner una foto en una anuncio, o donde sea, primero hay que guardarla en una biblioteca, buscar la URL,y luego ir a la ficha para ponerlo en la ficha. Eso es imposible para cualquier usuario.

C: Tienes toda la razón. En la nueva versión eso está resuelto en las pantallas de navegación, donde se quiere mostrar fotografías. En los formularios sigue siendo igual.

U: Otra, yo en casa tengo firefox y cuando me conecto al portal no me funciona muy bien. Eso sigue igual?

C: No. La nueva versión es compatible con Firefox y Safari. Se puede trabajar perfectamente desde ellos.

U: Esta es una que nunca he entendido. Porque si Sharepoint se integra con Office, no permite trabajar con Access?

C: Era algo poco lógico. Ahora bases de datos de Access con todas sus consultas se publican en el sistema y se puede trabajar con ellas como con otra información de Sharepoint directamente con formularios, listados web,… Es una funcionalidad muy interesante.

U: Esta es para nota. Ahora la documentación la tenemos organizada en carpeta y además estamos cargando fichas de información para clasificar los documentos. Pero muchas veces nos cuestionamos que nos aporta que no puedo hacer una navegación por esa información. Si podemos trabajar con las vistas pero resulta escaso.

C: En eso también mejora la nueva versión. Existe un nuevo tipo de campo que permite asignar datos de una estructura y luego poder buscar y navegar en una estructura de dichos datos.

U: Las imágenes donde quiero que dependiendo de donde se pinche lleve a zonas diferentes. Eso ahora, me explicaste como hacer con el Sharepoint Designer, pero ya ni me acuerdo. Era demasiado complejo.

C: A ese nivel la cosa sigue igual en lo que a imágenes se refieren. Si que surge una nueva posibilidad. Es en vez de imágenes, utilizar gráficos de visio y poner links en el diagrama. Ahora viene una posibilidad de publicar diagramas de visio y que los usuarios los vean en la navegación. También se podría hacer que esos diagramas muestren de forma automática información del portal (datos de listas)

U: Una más, la falta de mecanismos para sincronizar los documentos cuando me los quiero llevar de viaje. Luego hay que volver a cargarlos en el sistema

C: Eso tiene un enfoque nuevo en la versión 2010. Ahora hay una nueva herramienta de Office que permite llevarse información de los espacios de trabajo del portal y poder sincronizarla cuando se tiene conexión. Se llama Office Workspace.

U: Esto más que una pega es una inquietud que nos ha surgido con esto del auge de internet. ¿Qué posibilidades hay de disponer de los servicios que dan las redes sociales?

C: Bueno, eso tiene un amplio enfoque. Están los servicios que ya había antes de blog y wikis, ahora mejorados. En 2010 aparece la posibilidad de poner tags a la información para luego poder buscar por tags. También los usuarios pueden indicar quiénes son sus colegas, con quien suelen trabajar para formar una especie de red social. También los usuarios pueden ampliar su ficha diciendo de que cosas son expertos de forma que al buscar información también mostrará los usuarios que son expertos en esos temas. Y no podemos olvidarnos de que siempre los usuarios seguirán teniendo información fuera de la organización, se puede dar acceso a otras redes o blogs mediante el RSS

U: Y podría ver el organigrama?

C: Si. Teniendo completa la información organizativa de las fichas de las personas se puede navegar por el organigrama de la organización. Es muy visual.

U: Vale, eso me va gustando, y ¿que más me puedo encontrar que me interese?

C: No recuerdas otra cosa que me has preguntado más de una vez. Poder buscar por comodines. Ahora si va a estar disponible.

U: Se me había olvidado eso, pero si. Eso es importante. Más?

C: Pues a ver. Se puede dar respuesta a trámites corporativos, lo que ahora se hace en papeles y va de mesa en mesa. Mediante un formulario para recoger la información que tú mismo puedes configurar, un workflow que tú mismo puedes definir con Visio y que luego alguien de IT, o un usuario avanzado, puede cargar y terminar de configurar puedes hacer que el usuario haga sus gestiones desde el portal. Y como ventaja ver la situación de cada trámite y hacer un seguimiento y gestión de los mismos. Hasta podrías ver la situación del workflow en el diagrama que definiste!!!

U: Suena bien. Pero ya hablando de gestión, hay cosas que ahora llevamos desde otros sistemas y que no vamos a tramitar ni gestionar en el portal.

C: Eso está claro. Pero no por eso han de quedarse fuera. Seguro que te gustaría poder visualizar la información de esos otros sistemas y verla en tu portal donde sea necesario. Y si me apuras en algún momento desde el portal poder registrar información en esos otros sistemas. Y eso de forma sencilla sin que signifique un gran desarrollo y siempre en tiempo real!!! El objetivo es que todo lo que necesitemos para la gestión lo tengamos a mano independientemente de donde tenga que proceder.

U: Profundicemos en la gestión. Nosotros hacemos una gestión operativa que es más o menos lo que me ha comentado que podríamos resolver, pero también hacemos un seguimiento más cuantitativo mediante indicadores y cuadros de mando.

C: Contaba con ello. Si no dispones de una herramienta específica de BI, el propio Sharepoint te puede ofrecer funcionalidades de informes de cualquier BBDD corporativa y KPI con sus semáforos, drilldown, gráficas,… Si ya dispones de una herramienta pues es cuestión de profundizar, algunas traen integración con Sharepoint.

U: Pues la verdad que parece que puede dar una respuesta global a muchas de las necesidades que tenemos.

C: Si, es una plataforma para poder cubrir la mayor parte de las necesidades de la organización. Incluso otras herramientas como Project Server, Exchange,… tienen integración con Sharepoint para que la experiencia de usuario sea la misma. Vamos un todo incluido con la pulserita de color azul Microsoft.

U: Ja, ja, ja. Un todo incluido…pero cuánto cuesta el paquete vacacional?

C: Sabia que me ibas a hacer la pregunta. Al final depende de las funcionalidades a abordar, de los usuarios,…vamos que es cuestión de analizarlo. Y ahora te pregunto yo, al final ¿te interesaría a evolucionar a 2010?

U:…………………………………………………………………………………….

Bueno, como veis no me aventuro yo a responder por el usuario. Eso ya dependerá de cada caso en particular. Pero si alguien se identifica con el usuario, su comentario indicando que respondería a la última pregunta será bienvenido. Por su puesto también podéis plantear cualquier duda que encantado intentaré responder.

Y si alguien se identifica con el consultor, vuestra opinión también será bienvenida.

miércoles, 7 de abril de 2010

Reporting sobre listas de Sharepoint 2007

En varios proyectos nos hemos encontrado con la problemática de generar informes que obtienen datos contenidos en listas de Sharepoint 2007. La opción que hemos seguido es la utilización de Reporting Services en modo local, ya que entre muchas otras funcionalidades, permite crear informes con listados y gráficos, además de proporcionar la opción de exportar a Excel y PDF.
Hay que tener en cuenta que Reporting Services no proporciona una forma directa de atacar los datos de Sharepoint, ya que no existe un tipo de origen de datos en base a listas de Sharepoint. Por eso, en la solución que planteamos debemos construir nuestro propio origen de datos de Sharepoint. La solución se divide en 3 componentes:


  1. Origen de datos de Sharepoint, una clase que contiene una colección de objetos y un método que se encarga de consultar las listas de Sharepoint, devolviendo una colección de objetos con los resultados de la consulta.


  2. Informe local de Reporting Services que realice la consulta sobre el origen de datos de Sharepoint.


  3. Webpart que contiene un control ReportViewer que muestra el informe de Reporting Services en modo local.
Vamos a realizar un informe de ejemplo, que muestra información de personas que colaboran en varios equipos de trabajo. Esta información está contenida en dos listas de Sharepoint: ‘Equipos’ y ‘Colaboradores’, relacionados a través de un campo lookup ‘Equipo’ en la lista ‘Colaboradores’.
Lista ‘Colaboradores’ enlazada con ‘Equipos’


Informe generado sobre listas de Sharepoint

Orígen de datos de Sharepoint

  1. Abrir Visual Studio y crear un nuevo Sitio Web.
  2. Crear un archivo de clase ‘Colaboradores.cs’ dentro de la carpeta ‘App_Code’ del sitio Web. De esta forma, Reporting Services reconoce las clases definidas en este archivo como origen de datos válido.
  3. Vamos a crear dos clases: ‘Colaborador’ y ‘Colaboradores’.
  • Colaborador: Contiene las propiedades ‘Persona’y ‘Equipo’.
  • Colaboradores: Encapsula una colección de objetos ‘Colaborador’. Por ejemplo ‘List<>’. En la clase ‘Colaboradores’, crear un método público ‘GetColaboradores’ que devuelva la colección de objetos con los datos obtenidos a través de consultas CAML sobre listas de Sharepoint.
using System;
using System.Collections.Generic;
using Microsoft.SharePoint;

public class Colaborador
{
private string persona;
private string equipo;

public Colaborador(string persona, string equipo)
{
this.persona = persona;
this.equipo = equipo;
}

public string Persona
{
get
{
return persona;
}
}

public string Equipo
{
get
{
return equipo;
}
}
}

public class Colaboradores
{
private SPList listaSharepoint;
private List listaColaborador;

public Colaboradores()
{
SPSite sitio = new SPSite("http://sareapoint.lks.es/equ");
SPWeb web = sitio.OpenWeb();
this.listaSharepoint = web.Lists["Colaboradores"];
this.listaColaborador = new List();
}

public List GetColaboradores()
{
foreach (SPListItem elemento in listaSharepoint.Items)
{
Colaborador obColaborador = new Colaborador(elemento["Colaborador"].ToString().Split('#')[1].ToString(), elemento.GetFormattedValue("Equipo").ToString());
this.listaColaborador.Add(obColaborador);
}
return listaColaborador;
}
}


Código de las clases que conforman el origen de datos de Sharepoint


Informe local de Reporting Services
  1. Agregar un nuevo informe local ‘ReportColaboradores.rdlc’ al sitio web.
  2. Visual Studio identifica nuestro origen de datos de Sharepoint automáticamente, y los muestra en el panel de orígenes de datos.
  3. Agregar una tabla al informe y configurarlo para mostrar los campos ‘Colaborador.Persona y ‘Colaborador.Equipo’. Pinchar y arrastrar los campos desde el panel de orígenes de datos al panel del informe.




Resumiendo, la solución planteada se basa en un Webpart que renderiza un control de usuario, que contiene un control ReportViewer, que muestra un informe local de Reporting Services, que realiza una consulta sobre un origen de datos de Sharepoint. Si esta última definición no os convence, a continuación se muestra el esquema básico de la solución: 


Para que el control ReportViewer funcione correctamente en un portal Sharepoint, es necesario configurar la siguiente línea en el archivo ‘web.config’, dentro de la sección ‘httpmodules’:


add name="Session" type="System.Web.SessionState.SessionStateModule"La solución está basada en el siguiente artículo de MSDN:

Visita guiada: Usar un origen de datos de objeto comercial con el control de servidor Web ReportViewer en el modo de procesamiento local. http://msdn.microsoft.com/es-es/library/ms251692(VS.80).aspx.

Panel de orígenes de datos, panel del informe y explorador de soluciones que muestra la estructura del sitio web


Webpart
  1. Agregar un control de usuario ‘ControlColaboradores.ascx’ al sitio web.
  2. Agregar el control ReportViewer al control de usuario y asociarlo con el informe ‘ReportColaboradores.rdlc’.
  3. Encapsular el control de usuario en un webpart. En nuestro caso utilizamos un SmartPart propio que contiene el control de usuario especificado en el panel de propiedades.

ReportViewer que contiene el informe

martes, 6 de abril de 2010

Preparándonos para lo que ya está aquí! SHAREPOINT 2010

Este es el primero de los muchos artículos que iremos escribiendo sobre la nueva versión de la plataforma de soluciones Microsoft, la versión 2010. Principalmente utilizaremos la plataforma Sharepoint 2010 como hilo conductor el cual, en diferentes momentos, nos conducirá a otras herramientas para ofrecer soluciones globales a las necesidades de la organización (Exchange 2010, SQL Server 2008, Project Server 2010,...).

Hoy,para empezar, hablaremos brevemente de los diferentes servicios que podremos encontrar en la plataforma Sharepoint 2010 y cuales de ellos están disponibles en las diferentes versiones de licenciamiento. En otro momento profundizaremos en cada una de las funcionalidades.

Funcionalidades de Microsoft Sharepoint 2010

Las diferentes funcionalidades ofrecidas por la plataforma se agrupan en 7grandes grupos que sirven para enfocar las soluciones a problemáticas organizativas específicas.

SITIOS
  • Son los servicios elementales de la plataforma sobre la que se despliegan el resto de funcionalidades. Permiten estructurar la información.
  • Son de fácil manejo por los usuarios al utilizar el mismo interfaz de trabajo que Office.
  • Posibilidad de trabajo offline(y posterior sincronización) con Sharepoint Workspace
  • Acceso móvil
  • Edicción con documentos integrada con Office Web Applications
  • Soporte multinavegador (IE, Firefox, Safari)
  • Utilización de estándares para interoperatibilidad con otros sistemas
  • Utilización de estándares de accesibilidad WCAG 2.0

COMUNIDADES
  • Perfiles de usuario mejorados
  • Alertas y feeds para estar al día
  • Red de social dentro de la organización
  • Promueve compartir el conocimiento
  • Navegación por tags y metadatos
  • Búsqueda mejorada con el feedback del usuario 
  • Blog y wikis
  • Navegación en la estructura de la organización


CONTENIDO
  • Gestión de los contenidos intuitiva y desde Office
  • Fácil creación de contenidos web
  • Gestión de registros y políticas de retención
  • Taxonomías empresariales
  • Contenidos multimedia
  • Agrupación de documentos en unidades lógicas (paquete de documentos)
  • Nuevas listas y bibliotecas

BÚSQUEDA
  • Búsqueda más relevantes basadas en el historial de uso
  • Resultados de búsquedas más ricos
  • Búsqueda fonética, comodines  y multilenguaje
  • Conexiones sociales por interés y conocimiento
  • Contenido interno y externo
  • Filtro por rol, tag de 'reciente',...
  • Previsualización de contenidos


INTELIGENCIA DE NEGOCIO
  • Análisis avanzados con Excel Services
  • Visualización rica de datos
  • Incorporación de datos LOB en los análisis
  • Cuadros de mando con Performance Point Server
  • Informes con millones de registros
  • Acceso a la información en tiempo real
  • Gráficos interactivos con Visio Services




APLICACIONES COMPUESTAS
  • Sharepoint Designer y Visual Studio 2010
  • Automatización y validación con formularios
  • Integración con Visio services para visualización
  • Business Connectivity Services para acceder a datos de aplicaciones de negocio (Visalización, edición, inserción y borrado)
  • Datos LOB en Outlook, Word, Workspace
  • Acceso a datos de Sharepoint por API
  • Flujos de trabajo con Visio y Visio Services
  • Access Services, publica BBDD Access y trabaja con ellas en un entorno Sharepoint



¿Que versión necesito para mis organización?

Esta es siempre la eterna pregunta y, aunque la respuesta tampoco es directa, en la siguiente tabla se ve gráficamente que se puede hacer con cada una de las versiones. Dependerá de la necesidades actuales y de las expectativas futuras que versión se recomendará implantar.


Sharepoint Foundation no requiere licenciamiento.

Y dentro de de los grandes grupos, ¿que funcionalidades están disponibles en Sharepoint Foundation y cuáles en la Server?



Las funcionalidades de Sharepoint Foundation son las que se muestran en color negro. Las funcionalidades de Sharepoint Server son, además de las de la versión Foundation, las que se muestran en color rojo.

Conclusiones

Muchas funcionalidades, muchas versiones, muchos servicios y muchas novedades respecto de la versión anterior Sharepoint 2007. Demasiada información nueva para poder resumirla y asimilarla en un solo post.

Como ya comentaba al comienzo, en posteriores artículos iremos clarificando y profundizando en cada funcionalidad y tratando de dar a cada una de ella la importancia que pueda tener en un entorno real.

Comenzamos

Comenzamos a postear sobre la plataforma Sharepoint y las tecnologías asociadas a ella. Le voy a tomar la delantera a Oscar y voy a aprovechar este primer post para presentarme. Para ello he pensado en hacer una pequeño casting.

Nombre, edad y residencia

A: Aitor Ibernia Belamendia, tengo 25 años y vivo en Bilbao.
O: Oscar Campo, 32 años.

¿Estudios?

A: Ingeniería informática en la Universidad de Deusto.
O: Yo lo mismo pero algunos años antes :)

¿Has realizado prácticas en empresa?

A: El último año de carrera compaginé los estudios con prácticas en LKS, donde empecé a trastear con la plataforma Sharepoint, concretamente la versión Portal Server 2003. Luego llegó la transición a Sharepoint 2007, donde estudiamos las funcionalidades de la nueva versión. Para el proyecto de fin de carrera documenté el estudio y la implantación de un portal corporativo con Sharepoint en un caso real.
O: No. Me fogueé directamente en el escenario sin tiempo de ensayos.

¿Experiencia profesional?

A: Trabajo en LKS, donde he participado en varios proyectos de implantación de la plataforma Sharepoint: portales corporativos, portales de procesos, portales de gestión documental, portales de comunicación… Además, también he participado en proyectos de implantación de Cezanne (plataforma de gestión de personas) y desarrollo de aplicaciones .NET.
O: Empecé en Enyca S.A. como integrador de sistemas implantando soluciones relacionadas con procesos organizativos (calidad, relacion con clientes, intranets,...). Luego la empresa se fusionó con LKS S.Coop. que es donde estoy actualmente. Desde ese momento centrado en la consultoria e implantación de soluciones colaborativas (Portales, intranet o como queramos llamarlas) basadas en tecnología Microsot Sharepoint (pasé por la 2001, 2003, 2007 y ahora tocara la 2010) y desarrollos .Net

¿Qué esperas de este blog?

A:Compartir las experiencias del día a día realizando proyectos de Sharepoint. Cuando tuvimos la idea de crear el blog, le comentaba a Oscar que lo que más me llama la atención en los libros de Microsoft son los ‘tips’ ‘Real Worl’ que comentan cómo se han resuelto problemáticas reales.

También espero que mis compañeros de LKS posteen su propio casting para empezar a postear y mantener vivo el blog.

O: Poner nuestro pequeño granito de arena en base a casos reales vividos en las diferentes experiencias de implantaciones de Sharepoint. Espero que estas puedan ser aprovechables y de interés para otros colegas al igual que lo son las publicaciones de otros bloggers para nosotros. Casting respondido Aitortxu