CIIN & Nuberos.Net: Eventos para Abril y Mayo

Desde el grupo de usuarios .Net de Cantanbria, Nuberos.Net y el Centro de Innovación (CIIN) seguimos preparando eventos que creemos que son de interés de todos vosotros.

Durante los meses de Abril y Mayo ya tenemos preparados los siguientes eventos:

24-04-2008 – Nuberos.Net: Principio de la usabilidad: “no me hagas pensar”

En esta jornada trataremos un tema prácticamente olvidado y que es de vital importancia en el desarrollo de aplicaciones y páginas web como es la USABILIDAD.

Si crees que eres capaz de utilizar este formulario o esta pistola esta claro que este evento no es para ti 🙂

pantalla pistola imposible

 

30-04-2008 – Desarrollo de soluciones Lob en SharePoint

Siguiendo la gama de seminarios que se imparten en el CIIN sobre la plataforma SharePoint, Angel Acha nos va a contar como podemos integrar nuestras soluciones Lob en sitios de SharePoint, sin tener que tener instalado la version Enterprise del producto que nos ofrece los BDC y utilizando las Data Form Web Part y el modelo de objetos de SharePoint.

16-05-2008 – HOLS: Gestión ágil de proyectos con Metodología Scrum y Visual Studio Team System

Este curso de gestión de proyectos, aunque sea de pago, es totalmente recomendable para todos los directores de proyectos, jefes de equipos, o simplemente desarrolladores que quieran seguir una metodología en sus proyectos, y mas concretamente metodología Scrum y Visual Studio Team System.

Si se echa un vistazo al contenido del curso, podemos ver el amplio volumen que abarca ya que tiene una duración de 28 horas, la agenda tan completa que tiene con todos los aspectos de la metodología Scrum y Visual Studio Team System, y el mejor ponente posible para impartirlo de Plain Concepts, Rodrigo Corral (MVP de Team System).

 

Os recuerdo también que si queréis estar al día de todos las noticias, eventos o simplemente formar parte de Nuberos.Net os podéis registrar desde esta dirección.

SQL Server Reporting Services: Preguntas y Respuestas (II)!

Después del primer post de la serie sobre preguntas habituales en seminarios sobre SQL Server Reporting Services (SSRS), aquí tenemos la segunda entrega en la que nos centraremos en lo versátil  que es SSRS gracias al juego que da el uso de parámetros. Como veréis, realmente se trata de una única sección, y en concreto de una pregunta y su correspondiente respuesta, la que trataremos en esta nueva entrega. Empecemos.

Parámetros de informe: ¿Cómo puedo poner el valor All de un parámetro de un informe?

Hay dos formas de conseguir esta funcionalidad:

  • Opción 1: Aprovechando que en la definición de la consulta T-SQL que nos permite llenar el dataset podemos aprovechar las capacidades de programación de T-SQL, de manera que podemos añadir cierta lógica en la sentencia SELECT. Así, por ejemplo:
    • Tendríamos un bloque IF que controla los casos en los que el usuario está filtrando por un valor concreto del parámetro.
    • En el bloque ELSE tendríamos la sentencia T-SQL en la que se devuelven todos los resultados sin aplicar un parámetro en la clausula Where.

if @category <> 0

Begin

SELECT * from dbo.vProductProfitability

               WHERE dbo.vProductProfitability.Year=@anyo

 and dbo.vProductProfitability.MonthNumberOfYear=@mes and dbo.vProductProfitability.CategoryKey = @category

End

else

Begin

SELECT * from dbo.vProductProfitability

               WHERE dbo.vProductProfitability.Year=@anyo

 and dbo.vProductProfitability.MonthNumberOfYear=@mes

End

–select para definir el filtro y que aplique a todos los registros

SELECT ProductCategoryKey As CategoryKey,

               ProductCategoryName As Category

                               FROM DimProductCategory

union

SELECT 0  As CategoryKey, ‘todos’ As Category

  • Opción 2: Aprovechando que SSRS nos permite trabajar con parámetros multivalor. Por ejemplo, si tengo una consulta que me permite filtrar por un cierto parámetro, haremos lo siguiente:
    • Definir la query del dataset para que en lugar de utilizar el operador =, utilice IN.

image

    • En la configuración del parámetro, simplemente marcamos el check Multivalue.

image

    • De esta forma, al ejecutar el informe se ofrecerá la opción All Values:

image

    • Y el resultado de aplicar el filtro (Select All) sería:

image

Y hasta aquí el segundo post de la serie de Preguntas y Respuestas sobre SSRS. Tengo algún capítulo más que añadir, pero esperaré a completarlo con más preguntas. Espero que os haya resultado interesante.

       

VLINQ: Diseñador de consultas para LINQ To SQL!

Si hace unos meses hablábamos de una útil e imprescindible herramienta para probar nuestras consultas LINQ como es LINQPad, hace un rato me he encontrado otro diseñador de consultas específico para LINQ To SQL, pero que se diferencia de LINQPad en qué se trata de un diseñador que se integra con Visual Studio 2008 como un Add-In más y que nos ayuda en el diseño de dichas consultas. Se trata del proyecto VLINQ, que durante 6 meses fue desarrollado y liderado por un equipo de desarrollo francés en colaboración con Microsoft. Os podéis descargar VLINQ de este enlace.

SQL Server Reporting Services: Preguntas y Respuestas (I)!

Uno de los seminarios “tradicionales” que hemos impartido en el CIIN es el de SQL Server Reporting Services (SSRS). Durante estas sesiones han surgido numerosas preguntas que he tratado de responder con el tiempo, siempre desde el punto de vista práctico, y sin preocuparme mucho si la solución planteada a las cuestiones es una buena práctica o no. El caso es que llevaba tiempo con ganas de publicar estas preguntas y respuestas sobre SSRS, y aquí está el comienzo. Como varéis, he dividido las preguntas y respuestas en secciones con temáticas similares.  También espero que los cracks de SSRS den su opinión y otras alternativas posibles ;). Hoy comenzaremos con cuestiones relativas al formato de salida de un informe. Empecemos.

Cuestiones sobre el formato de salida de un informe

Esta sección está enfocada a cuestiones relativas al formato de salida del informe en cuanto a su aspecto gráfico, lograr ciertas funcionalidades a priori  no posibles, etc.

i. ¿Cómo se pueden visualizar sólo cierto número de filas de un informe?

Una forma de conseguir esto es la siguiente:

  • Insertar un nuevo grupo en el informe a través de la opción Insert Group y en la pestaña general definir la siguiente expresión de agrupamiento: =int((RowNumber(“Scope”)-1)/20).

image

  • Marcamos también Page break at end:

image

Y ya está. Más información sobre el tema en este enlace.

ii. ¿Qué manera puede haber de saber si es página par o impar para poner salto de página?

Hay una extensión de impresión pensada para este tipo de situaciones. Más información sobre esta extensión en el este enlace.

iii. ¿Cómo se pueden añadir números de página a un sub-informe?¿y cabeceras? En subreport no se pueden poner Footer ni Header por lo tanto: No se pueden usar las Globals tipo PageNumber.

Efectivamente esto es así, por lo que la única solución que veo es que por código (inline o mediante assembly) accedas a estas propiedades y las puedas utilizar en un elemento tipo Texbox de tu subreport. Sería algo tal que así:

Public Function PageNumber() as String
     Dim str as String
     str = Me.Report.Globals!PageNumber.ToString()
     Return str
End Function

Public Function TotalPages() as String
     Dim str as String
     str = Me.Report.Globals!TotalPages.ToString()
     Return str
End Function

Y esta function se usaría del siguiente modo:

=”Page ” + Code.PageNumber() + ” of ” + Code.TotalPages()

Más información en este enlace.

iV. ¿Qué es necesario para poder exportar un informe a formato Word?

Aquí la opción sería exportar el informe a Excel que si es editable y es un formato de salida más característico para volcar informes. De todos modos, si es un requisito que el informe se pueda exportar a Word, la opción pasa por que te crees una extensión de renderizado que te lo permita. En la misma:

  • Se tendría que coger el rdl de tu informe.
  • Llamar a la extensión de procesamiento de SSRS.
  • Construir el documento Word (la extensión de renderizado) en el que vas a mostrar los resultados.

Precisamente este es uno de los puntos de extensibilidad de la plataforma de SSRS. Crear la extensión no es para nada trivial, y hay productos de terceros como este. Habrá que ver con SQL Server 2008 como se comporta una de las novedades con las que viene: renderizado de informes en Microsoft Word.

Preguntas para las que no tengo todavía respuesta en esta sección

Aparte de estas cuestiones que he podido resolver de forma más o menos completa, tengo otras que todavía no he resuelto de manera clara y que os dejo aquí por si alguien en la comunidad tiene la respuesta para las mismas:

i. ¿Es posible adaptar las celdas de un informe al tamaño del contenido que tendrán? O lo que es lo mismo, ¿Se puede ajustar de manera dinámica la anchura de los controles de tipo TextBox que forman el informe?

Las celdas de un informe (controles TextBox) sólo permiten jugar visualmente con el atributo Width. Por lo tanto, parece que la única opción para este requerimiento pasa por:

  • Ver si con código in-line puedes acceder a estas propiedades utilizando ReportItems.
  • Probar lo mismo con un ensamblado.
  • La última opción es que pases del BI Management Studio y te crees una aplicación que genere el informe y tenga esa funcionalidad….

ii. ¿Cómo se puede conseguir impresión dúplex para el caso de tener sub-informes en un informe?

Tenemos un report con un subreport dentro de una lista. Si se quiere imprimir ese informe en Duplex, el problema es que los subreport pueden tener tanto páginas pares como impares.

Espero que el post os haya resultado de interés. Seguiré con esta serie de faqs próximamente.

Nuberos.NET & CIIN: Materiales del evento de Visual Studio Team System!

Gracias a Rodrigo e Ibón, ya tenemos disponibles en la página de Nuberos.NET para descarga las presentaciones del evento del pasado viernes: Gestión de proyectos y metodologías con Visual Studio Team System. Las presentaciones os las podéis descargar en los siguientes enlaces:

En la misma sección de descargas están los materiales del evento previo sobre LINQ & ADO.NET Entity Framewok.

WSS 3.0: Planning de soluciones SharePoint (I)!

Hace tiempo escribíamos un par de posts (partes I y II) sobre consideraciones y buenas prácticas a tener en cuenta a la hora de poner en marcha soluciones de WSS 3.0. Retomando el tema, y a raíz de comentarios que he recibido últimamente, he pensado poner un poco en orden muchas de las ideas ya expuestas, dejando claro cuáles deberían ser los pasos lógicos a realizar antes de realizar el despliegue de una infraestructura de WSS 3.0. De hecho, estos pasos son fundamentales puesto que aunque WSS 3.0 es escalable después de desplegado, Microsoft recomienda como buena práctica la realización de un planning previo para evitar de esta forma duplicar esfuerzos de manera innecesaria. Como veremos en esta serie de posts, el planning de WSS 3.0 implica determinar los siguientes puntos:

  • Las necesidades de la organización donde se va a realizar el despliegue de WSS 3.0. En concreto, se trata de:
    • Determinar los objetivos de la solución SharePoint.
    • Determinar las necesidades del usuario.
    • Determinar la jerarquía del sitio.
  • Planificar la creación de sitios, su mantenimiento y seguridad.
  • Planificar los requerimientos del servidor y la topología o topologías a utilizar.
  • Determinar la cantidad de espacio en disco que se necesita y el rendimiento pico.
  • Identificar la topología para la instalación de WSS 3.0.

Toda esta información y mucha más está reunido en el recurso por excelencia para el planning de WSS 3.0: Planning and architecture for Windows SharePoint Services 3.0 technology. Empecemos.

Determinando las necesidades de la organización

Sin duda, este es el primer paso necesario antes de realizar cualquier otro que nos lleve a realizar el despliegue de una solución SharePoint. Es necesario perfilar de manera adecuada las necesidades de la organización para evitar problemas e inconvenientes futuros. En concreto, esta fase implica determinar los objetivos de la solución SharePoint a construir, el entorno de hosting, las características de la solución, las necesidades del usuario y la jerarquía del sitio. Vamos a ir viendo cada una de las implicaciones de estos puntos.

Determinando los objetivos de la solución

Este punto implica la identificación de los objetivos y metas de la solución para alinearlos con las necesidades de la organización y maximizar la utilización de recursos. Además, será necesario determinar el entorno en el que la solución estará hosteada. Por ejemplo, un escenario típico es diseñar una solución pensada para el almacenamiento de documentos (objetivo) dentro de la Intranet de la organización (entorno de host). Pero, ¿Cómo identificamos estos objetivos? La respuesta es sencilla: a partir de las funcionalidades y capacidades que ofrece SharePoint: Comunicación, Colaboración y Almacenamiento de Documentos. Así, si la organización necesita la solución para realizar diversos anuncios, recoger feedback o mostrar un calendario de eventos, el objetivo del sitio será Comunicación. En cambio, si los miembros de un departamento tienen la necesidad de usar la solución/sitio para compartir documentos, contestar a ideas, realizar un seguimiento de tareas o participar en una encuesta, el objetivo del sitio será Colaboración. Finalmente, si se trata de almacenar y mantener documentos en una ubicación centralizada, el objetivo del sitio será el almacenamiento de documentos.

Una vez que se han identificado los objetivos del sitio, hay que identificar el entorno dónde se va a ubicar. Dicho entorno puede ser:

  • Intranet, es decir, la organización necesita un sitio corporativo aislado de la red. Este escenario es típico para crear sitios accesibles sólo para empleados de una organización, como son las Intranet corporativas con sitios departamentales.
  • Internet, es decir, la organización requiere que la información sea pública. Un ejemplo claro de este entorno es el típico sitio que contiene información de productos de una organización.
  • Extranet, es decir, la organización necesita compartir información, documentos con agentes externos (proveedores, clientes), lo que implica que estos puedan acceder a la solución permita el acceso con los permisos apropiados.

Identificando las características del sitio

Una vez que se han identificado los objetivos de la solución/sitio y el entorno de host, el siguiente paso consiste en identificar las características que la solución debe incluir. Por ejemplo, si el objetivo del sitio es Comunicación, necesitaremos elementos como anuncios, calendarios compartidos, envío de mensajes por e-mail, o encuestas para facilitar el intercambio de información y la interacción entre los miembros del sitio.

Si se trata de un sitio de Colaboración, los elementos necesarios serán paneles de discusión, seguimiento de issues, listas de contactos o elementos de presencia. Finalmente, en el caso de un sitio de almacenamiento de documentos necesitaremos determinar las características de almacenamiento de documentos que se necesitan como bibliotecas de documentos, bibliotecas de imágenes, listas de tareas o la papelera de reciclaje.

En cualquiera de los tres casos, necesitaremos determinar si necesitamos otros elementos como alertas, feeds RSS, búsquedas, blogs, wikis o bien espacios de documentos y/o reuniones.

Identificando las peticiones del usuario

La última fase en la determinación de las necesidades de la organización pasa por identificar peticiones especiales del usuario relacionadas con las características de su negocio. Entre ellas tendremos que determinar:

  • Integración con aplicaciones cliente, es decir, que aplicaciones tienen que interactuar con un sitio de WSS 3.0. El ejemplo más claro de integración es el todo el suite de Microsoft Office que permite que en sitios de WSS 3.0 podamos realizar operaciones de Check-In o Check-Out de documentos.
  • Integración en el servidor, es decir, que servidores tiene que interactuar con WSS 3.0. Así por ejemplo, este escenario lo tenemos en la Integración de Microsoft Exchange Server con WSS 3.0 de manera que se habilita el uso de características propias de Exchange, como el calendario, en sitios de WSS 3.0.
  • Integración con aplicaciones LOB (Line-Of-Business), es decir, que aplicaciones de negocio se tienen que integrar con un sitio de WSS 3.0. Por ejemplo, podríamos utilizar web parts personalizadas para visualizar datos de SAP.

Y en principio estos son todos los elementos que necesitamos tener claros para identificar las necesidades de una organización. Lógicamente, para ayudarnos con esta labor existe una hoja de recogida de especificaciones y requisitos: Site objectives and environments worksheet. Como veréis en dicha hoja, se trata de enumerar los sitios a crear, los objetivos por sitio y los entornos en los que se utilizarán dichos sitios. Otra forma alternativa a dicha hoja, made in CIIN, es la siguiente:

image

Espero que el post os haya resultado de utilidad, seguiremos con la serie en próximos posts.

Nuberos.NET & CIIN: Gestión de proyectos y metodologías…las fotos!

Esta tarde se ha celebrado el tercer evento de la nueva era de Nuberos.Net. En el mismo hemos contado con dos cracks de la talla de Rodrigo Corral e Ibon Landa, y durante cuatro horas nos han contado las espectaculares posibilidades y características de Visual Studio Team System 2008 como herramienta fundamental a utilizar en la gestión de proyectos de desarrollo, así como las posibilidades que da para la aplicación de distintas metodologías. El evento fue espectacular, comenzando con una gran introducción de Ibon Landa a Visual Studio Team System durante 1:30 horas, para luego comenzar Rodrigo a hablar de las bondades de Scrum aplicado en la práctica. Sin duda la sesión superó las expectativas de los asistentes (casi 50 personas, lo que es de agradecer teniendo en cuenta que el evento lo hemos realizado un viernes por la tarde), que además intentaron transmitir a Rodrigo e Ibon sus problemas, inquietudes y dudas en los diversos temas tratados…aunque subiremos todas las fotos a la web de Nuberos.Net, os dejo alguna d Ibon y Rodrigo en plena acción, así como de la embelesada audiencia :PPPP

Nuberos_Net_ 009 Nuberos_Net_ 020 Nuberos_Net_ 022

Por supuesto, hubo momentos anecdóticos como el momento MVP (¿qué tendrá esa pegatina? 😉 ) o el momento Scrum :PPP

 

Nuberos_Net_ 017 Nuberos_Net_ 025

 

Lástima que finalmente no pudiésemos grabar el evento, porque el sistema de grabación todavía no está operativo. Aprovecho el post para comentar un par de cosas:

BTS 2006 R2: Microsoft BizTalk Operations Guide!

A través del recién estrenado blog de Eduardo Azanza,  uno de los pilares del grupo de BPM y SOA de Microsoft Ibérica, me he enterado de que Microsoft acaba de publicar la guía de operaciones de Microsoft BizTalk Server. Como nos comenta Eduardo y podemos leer en la página principal de la guía, se trata de la primera edición de una guía enfocada a la administración e implementación de soluciones BizTalk en general, y de las versiones BTS 2006 y BTS 2006 R2.

image

La guía que es puede descargar en formato chm, pdf o dox a través de este enlace, está basada en la experiencia de profesionales de Microsoft, partners y clientes que tienen un gran bagaje en el planing, despliegue, mantenimiento y administración de soluciones de BizTalk. La base de esta guía es la propia sección de ayuda de BTS 2006 R2, whitepapers, artículos de la knowledge base de Microsoft y otros recursos que han sido revisados a conciencia por miembros del equipo de desarrollo de BTS.

En cuanto a la organización de la misma, podemos ver que está divida en las siguientes secciones:

  • Planning the Environment for BizTalk Server, dónde podremos comprobar si toda nuestra infraestructura y aplicaciones BizTalk está lista desde el punto de vista operacional.
  • Operations Checklist, para ayudarnos en la evaluación de la operatividad de un despliegue de BizTalk.
  • Managing BizTalk Server.
  • Monitoring BizTalk Server.
  • Maintaining BizTalk Server.
  • Increasing Availability for BizTalk Server.
  • Optimizing Performance for BizTalk Server, dónde podremos encontrar las formas que tenemos para optimizar el rendimiento de nuestra infraestructura de BizTalk

Nueva página web del grupo de usuarios .Net de Cantabria, Nuberos.Net

Desde hace un par de meses estamos relanzando con fuerza el grupo de usuarios .Net de Cantabria, Nuberos.Net, en los que ya hemos realizado algún evento como el de introducción a Silverlight o LINQ & ADO.NET Entity Framework, y el próximo que esta programado es para el viernes 4 de abril sobre Gestión de proyectos y metodologías con Visual Studio Team System.

A parte de todos estos eventos también hemos querido dar un nuevo look a nuestra página web, www.nuberos.net, y para ello se ha re-diseñado completamente y desarrollado bajo plataforma SharePoint. Con esta nueva web queremos que estéis lo mas informados posible ya que publicaremos en ella los próximos eventos que realicemos, las noticias tecnológicas mas relevantes, consultar nuestro blog, etc…

También esta disponible un link en el que os podéis registrar, y si os animáis, podar formar parte del Grupo de Usuarios y participar en eventos, publicar en el blog, etc.

Esperemos que os guste.

logo_nuberos

Una gran sorpresa: MVP en MOSS!

Los que me conocen saben que no se me dan bien este tipo de anuncios, y que me gusta más estar en el anonimato…pero se lo debo a mis compañeros del CIIN…bueno, pues aquí va la noticia que me ha dejado literalmente perplejo esta tarde a eso de las 16:00: me han nombrado MVP de MOSS…la verdad es que recibir una noticia de este tipo te deja en un estado difícil de describir…en cualquier caso, este premio se lo dedico a mis compañeros Pablo y Ángel de los que aprendo día a día un montón de cosas y porque juntos somos capaces de salir bien parados de cualquier marrón. Se lo dedico también a Luis Romero, porque gracias a él tuve la oportunidad de entrar a formar parte de este proyecto llamado CIIN que ya tiene 2 años de duración y que sigue por buen camino, y por supuesto se lo dedico a las personas de Microsoft que me consta me propusiero para ser nominado para el premio…Intentaré durante el próximo año seguir dando guerra tanto en plataforma SharePoint como en otras lides (es lo que tiene formar parte de un centro de innovación). Finalmente, muchas gracias a todos los que leéis este blog, porque también habéis contribuido a que haya sido reconocido como MVP.

¡Gracias a todos!