¿Desaparecieron las opciones del menú de acciones de sitio?¿No se puede agregar, modificar o eliminar contenido en SharePoint? ¿A tan solo 3 horas de la presentación tan importante con el cliente estratégico?

Sucede que cuando hacemos un respaldo en SharePoint 2007 mediante el comando stsadm.exe –o backup –url http://xxx –filename “c:\xxx.dat” la base de datos se configura automáticamente en modo de solo lectura y cuando la generación del respaldo termina la base de datos se configure en el modo original.

Pero que sucede si por alguna razón cósmica el proceso de respaldo casi nunca falla? El estado de configuración de base de datos de solo lectura no se establece al modo original causando el siguiente comportamiento:

image

Así es, la cuenta del sistema que se supone debería de tener todas las opciones del menú de acciones de sitio presenta solo una. Seguramente te iras a ver los grupos y permisos y confirmaras que tu cuenta esta como propietario o como administrador de la colección de sitios y sin embargo el mismo comportamiento.

Aqui mas informacion al respecto: http://technet.microsoft.com/en-us/library/cc262811%28office.12%29.aspx

Organizando contenido mediante Document Sets en SharePoint 2010

Iniciamos trabajando con una biblioteca de documentos con la posibilidad de asignar permisos, controles de versiones, flujos de trabajo, etc.  como una alternativa para personalizar el comportamiento y almacenaje de información, sin embargo, la vida no es plana como una biblioteca de documentos, sucede que también podemos crear carpetas y almacenar en grupos archivos, solo que estas carpetas no pueden tener asociado algún flujo de trabajo o algún comportamiento personalizado.

Document Sets en SharePoint 2010 son justamente carpetas con esteroideos que nos permiten agrupar  conjunto de documentos en una unidad y la capacidad de asignar permisos, eventos, flujos de trabajo etc permitiendo una alternativa mejorada para el manejo de grupos de archivos dentro de bibliotecas SharePoint.

En este video describo la base de Document Set y como configurarlo.

Organizando contenido mediante Document Sets en SharePoint 2010

Aqui un video con mas resolucion:


Técnicamente un Document Set es un Content Type mejorado. Para una introducción a Content Types ver el post Controlando el contenido digital de tu empresa mediante el uso de Content Types de Microsoft Windows SharePoint Services V3 y Office 2007

Posted by haaron | with no comments

Desarrollo de WebParts de SharePoint 2010 con soporte AJAX

Microsoft no se cansa de dar el mensaje de que SharePoint 2010 es una plataforma de aplicación aparte de una plataforma de colaboración para la empresa y la web. Y el día de hoy quiero mostrar un breve y sencillo ejemplo de cómo construir un WebPart para SharePoint 2010 con soporte AJAX.

Visual Studio 2010 por fin cuenta con un nuevo ciudadano de funcionalidad, se cuenta con toda una sección y plantillas de proyectos solo para la plataforma SharePoint 2010 soportada de forma nativamente y permitiendo a los programadores curiosos que no le temen al cambio adentrarse al mundo de desarrollo de SharePoint.

Este video muestra lo simple que es construir e implementar un WebPart para SharePoint 2010 con características de AJAX. Cero líneas de código de configuración, arrastrar, soltar, doble clic y a programar es parte del paradigma con el que contamos en esta nueva versión.

Desde mi personal punto de vista no hay nada mejor que saber que sucede tras bambalinas sin embargo en este mundo donde la economía y las empresas constantemente cambian y por ende las herramientas que simplifican las cosas para solamente dedicarnos a lo que nos compete desde el punto de vista de negocio y no necesariamente a aquellas cosas de configuración que al negocio prácticamente le es indiferente.

Aqui el video con mas resolucion:

Maestro Detalle con Listas Externas en SharePoint 2010

Aunque ya teníamos disponible en SharePoint 2007 la funcionalidad para crear maestro detalle mediante conexiones entre WebParts hoy quiero mostrar cómo crear un maestro detalle con listas externas en SharePoint 2010.

Aqui el video con mayor resolucion:

Business Connectivity Services y Outlook 2010

Desde hace años que se tiene la visión de utilizar la familia de productos de Office como nuestra interface de usuario para aplicaciones de negocio. Seguramente esto no aplica en todos los escenarios posibles, sin embargo para aquellos escenarios en donde se busca mantener o manejar los datos de personas, calendarios o reuniones, asignaciones o tareas sin duda Outlook y SharePoint dan un paso firme para concretar la visión.

Business Connectivity Services (BCS) nos permite realizar un proceso de correlación de datos externos con tipos de contenido soportados por SharePoint como calendario, tareas o listas que a su vez desde la versión 2003 y 2007 están soportados con Outlook para poder utilizar la funcionalidad nativa del producto más utilizado de la familia Office, el predilecto de nuestros usuarios y permitirles sin capacitación alguna y con alto nivel de confianza utilizar Outlook como su interface de usuario para operar cierto tipo de sistemas informáticos.

En este video presento como podemos utilizar BCS para exponer en SharePoint 2010 y Outlook 2010 datos externos y aprovechar la experiencia de usuario en productos Office en sistemas de línea de negocio.

Business Connectivity Services y Outlook 2010

Aqui el video con mejor resolucion:

Introducción a Business Connectivity Services

En Office SharePoint Server 2007 se llamaba Business Data Catalog (BDC) y ahora en SharePoint 2010 se llama Business Connectivity Services (BCS) la estrategia para lograr la interoperabilidad o integración de SharePoint con otras fuentes de datos externas. Sucede que cuando utilizamos SharePoint como nuestra intranet tarde o temprano se requiere exponer información de otras aplicaciones en algún sitio o portal y BDC ahora BCS es la respuesta para habilitar ese y otros escenarios más como:

  • Capacidades de lectura y escritura en fuentes de datos externas como bases de datos o aplicaciones de linea de negocio
  • Capacidades de interoperabilidad con servicio WCF (Windows Communication Foundation)
  • Capacidades de lado cliente para soporta escenario fuera de línea
  • Capacidades de extender mediante un API
  • Capacidades de relacionar datos estructurados con no estructurados

He compilado un muy breve e introductorio video donde se demuestra como en tan solo 8 minutos podemos experimentar a grandes rasgos lo que BCS aporta fuera de la caja.

Introducción a Business Connectivity Services

Aqui dejo también el video en formato WMV con mayor resolucion.

Adquiriendo habilidades de diseño gráfico en desarrollo de software

Existen desarrolladores que cuando tenemos que realizar el diseño gráfico de alguna interface lo primeros colores en los que pensamos son el magenta, cyan, negro y amarillo. Y no del todo esos colores representan la mejor alternativa para expresar orden y estructura buen gusto en una aplicación, por esa razón buscar algún libro sobre diseño visual o interfaces graficas es algo que tarde o temprano como desarrolladores deberíamos de hacer.

Aquí dejo una lista de los libros de Alan Copper uno de los grandes pilares del diseño de interfaces o interactividad de la industria, que ademas es también conocido por ser el padre de Visual Basic ya que el fue el de la idea del arrastrar y soltar, doble clic y programar entre otras cosas.

El caso es de que hoy más que nunca para los que somos desarrolladores bajo plataforma Microsoft tenemos en nuestras manos una gran variedad de alternativas tecnológicas para mejorar drásticamente la experiencia de usuario de las aplicaciones que escribimos como WPF y Silverlight sin perder del todo el nivel y alcance funcional.

En ese sentido, en estos últimos dias he tomado la iniciativa de mejorar mis habilidades como diseñador gráfico para lo cual Microsoft desde el 2006 aproximadamente cuenta con toda una estrategia de productos llamada Microsoft Expression disponible para consultores en experiencia de usuarios, diseñadorfes y desarrolladores que con Plataforma .NET construyen soluciones.

Como parte de mi investigación en como adquirir habilidades de diseño gráfico lo primero que hice fue buscar algún blogs y podcast al respecto que pudiese brevemente ponerme al dia en estos temas y lo primero que hice fue suscribirme a Silverlight TV desde mi cliente Zune e inicié la descargar de sus últimos videos publicados.

image

El video publicado el 27 de Mayo se trató de un recurso que me parecio muy util en estos momento para lograr mi objetivo, el aprender diseño gráfico y la familia de productos Microsoft Expression. Y hoy quiero compartir este recurso llamado Toolbox.

Toolbox es todo un sitio público de aprendizaje sobre diseño gráfico bajo producto Expression dirigido a desarrolladores de software donde nos muestran desde los fundamentos hasta el uso de herramientas para producir diseños graficos basados en escenarios de diseño más comunes a los que como desarrolladores nos enfrentamos.

image

En este sitio te comparten los videos, el código, los ejemplo y tutoriales. Sin duda, uno de los mejores y más completos sitios de aprendizaje sin costo que he conocido. Así que no quería dejar pasar la oportunidad de promover, publicar y compartir este recurso que personalmente me está ayudando a adquirir habilidades  de diseño gráfico en el desarrollo de software.

Consideraciones para iniciar el desarrollo sobre SharePoint 2010

A estas alturas muchos desarrolladores seguramente ya estarán pensando en migrar o actualizar su ambiente de desarrollo para trabajar con SharePoint 2010 y en ese sentido hay algunas consideraciones que merece la pena evaluar.

  1. Clases y métodos caducados. Seguramente tendrás por ahí algunos manejadores de eventos, flujos de trabajo, WebParts y ensamblados, entre otros que has desarrollado con el tiempo y que buscarías llevarte a SharePoint 2010, la mayoría de las soluciones SharePoint 2007 seguirán soportándose en SharePoint 2010 sin trabajo adicional y podrán ser migradas fácilmente, sin embargo, algunas otras tendrán que re fabricarse para su compatibilidad con SharePoint 2010, sucede que con el tiempo algunos tipos del modelo de objetos de SharePoint quedan obsoletos, esto lo vimos de 2003 a 2007 y sin duda ahora en 2010 habrá algunos más. Aquí dejo la lista de clases y métodos que han caducado. Microsoft SharePoint Server 2010: Deprecated Types and Methods.
  2. Equipo y ambiente de desarrollo. SharePoint 2010 corre bajo plataforma 64 bit y no se soporta 32bit. Se tiene que evolucionar y pues con algunos otros productos como Exchange la historia ha sido igual. Desde el punto de vista desarrollador el Service Pack 2 de MOSS cuenta con una herramienta llamada Upgrade Checker que nos permite validar y revisar nuestro ambiente actual para identificar cualquier aspecto de configuración que pudiera afectarnos en una futura actualización a SharePoint 2010. Así mismo actualizar nuestro Visual Studio 2008 a 2010 será relevante ya que VS2010 cuenta con plantillas de proyecto y soporte directo para trabajar con SharePoint 2010. Otra consideración es que SharePoint 2010 funcionara con navegadores Internet Explorer 7 o mayor. Setting Up the Development Environment for SharePoint 2010 on Windows Vista, Windows 7, and Windows Server 2008
  3. Mecanismo de despliegue. EL uso de archivos WSP es un deber en SharePoint. Los archivos WSO son paquetes que auto contienen características de funcionalidad que se pueden aprovisionar en SharePoint de una manera dinámica y flexible. Si de pura casualidad y coincidencia la forma de instalar en tus granjas funcionalidad personalizada es manual mediante la modificación de archivos dentro de la carpeta 12 hive, entonces, amigo mío sería bueno primeramente asegurarte de empaquetar en archivos WSP la funcionalidad. Los archivos WSP son aprovisionados en SharePoint el cual a la vez re aprovisiona en todos los servidores que constituyen nuestra granja. Herramientas como WSPBuilder y/o las extensiones de SharePoint para Visual Studio 2008 versión 1.2 y 1.3 han sido diseñadas especialmente para generar archivos WSP y facilitar la creación de características de sitios. Asegúrate de contabilizar tus componentes funcionales y empaquetar debidamente. El uso de herramientas de terceros como http://www.avepoint.com/ puede auxiliar.
  4. Capacítate. De que nos sirve tener SharePoint 2010 si aún no sabemos que tenemos y podemos hacer con él. EL uso de Silverlight y LINQ son estratégicos para sacar mayor ventaja de la plataforma SharePoint. Así mismo SharePoint Designer 2010 es una fenomenal herramienta para producir aplicaciones SharePoint fácilmente. Mi recomendación aquí es tratar de conocer todas las nuevas características de funcionalidad que los programadores tenemos disponibles, no olvides que SharePoint es una aplicación con gran funcionalidad disponible sino también es una plataforma de aplicación para el desarrollo de soluciones.Aqui dejo Recursos de Entrenamiento en SharePoint 2010 y unas presentaciones avanzadas sobre desarrollo SharePoint. SharePoint Server 2010: Advanced Developer Training Presentations

SharePoint 2010 representa una gran inversión y esfuerzo de ingeniería y comunidad en donde desde el año 2001 se ha venido consolidando una plataforma aplicativa para la empresa web de hoy. La gran variedad de propuestas de funcionalidad pre fabricada es enorme y combinado con las posibilidades de personalización y desarrollo nuestro alcance es sin precedentes. Sugiero planees y tomes el debido tiempo de forma racional para ir asimilando como, cuando y donde genera más valor basar nuestras soluciones de negocio sobre plataforma SharePoint 2010.

Posted by haaron | 1 comment(s)

Configurando controles ASPXGridView de DevExpress en SharePoint

Sabemos que SharePoint está construido sobre ASP.NET 2.0 y esto nos da una gran cantidad de ventajas disponibles para utilizar componentes de terceros ricos en funcionalidad. Tal es el caso de los componentes de DevExpress empresa de Mark Miller un pionero en la construcción de herramientas de productividad para el desarrollador Delphi y .NET.

En el último proyecto donde participe como programador tuve la oportunidad de implementar la Suite de controles ASPXGridView de DevExpress para soportar un escenario el despliegue de datos de manera jerárquica y la flexibilidad de agrupación dinámica sobre SharePoint.

Utilice el ASPXTreeList y el ASPXGridView, a continuación los pasos para configurar y usar estos objetos. La misma suite tiene archivos WSP para implementar sobre SharePoint los controles, estos WSP automáticamente configuran todo lo necesario para poder usarlos. Sin embargo, aquí dejo los pasos manuales.

Registrar en el Global Assembly Cache los componentes de DevExpress.

  • DevExpress.Data.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
  • DevExpress.Data.v9.3.Linq, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
  • DevExpress.Utils.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
  • DevExpress.Web.ASPxEditors.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
  • DevExpress.Web.ASPxGridView.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
  • DevExpress.Web.ASPxHtmlEditor.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
  • DevExpress.Web.ASPxSpellChecker.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
  • DevExpress.Web.ASPxThemes.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
  • DevExpress.Web.ASPxTreeList.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
  • DevExpress.Web.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

Manipular archivos web.config de nuestra aplicación web donde estaremos usando estos componentes y dentro de <SafeControls> agregar lo siguiente:

  • <SafeControl Assembly="DevExpress.Data.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Data" TypeName="*" Safe="True" />
  • <SafeControl Assembly="DevExpress.Web.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TypeName="*" Safe="True" />
  • <SafeControl Assembly="DevExpress.Web.ASPxEditors.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxEditors" TypeName="*" Safe="True" />
  • <SafeControl Assembly="DevExpress.Web.ASPxSpellChecker.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxSpellChecker" TypeName="*" Safe="True" />
  • <SafeControl Assembly="DevExpress.Web.ASPxHtmlEditor.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxHtmlEditor" TypeName="*" Safe="True" />

Dentro de <httpHandlers> agregar:

  • <add type="DevExpress.Web.ASPxClasses.ASPxHttpHandlerModule, DevExpress.Web.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" verb="GET" path="DX.ashx" validate="false" />

Dentro de <httpModules> agregar:

  • <add type="DevExpress.Web.ASPxClasses.ASPxHttpHandlerModule, DevExpress.Web.v9.3, Version=9.3.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" name="ASPxHttpHandlerModule" />

VSeWSS Import Tool para migrar proyectos VSeWSS 1.3 a Visual Studio 2010

En esta semana me preguntaron cómo sería la migración de un desarrollo SharePoint 2007 a SharePoint 2010. Y bueno, comente sobre algunas de las opciones disponibles en Visual Studio 2010. Aquí dejo una herramienta más que nos podrá asistir en estos requerimientos.

Se llama VSeWSS Import Tool para migrar proyectos VSeWSS 1.3 a Visual Studio 2010.

http://code.msdn.microsoft.com/VSeWSSImport

Posted by haaron | 1 comment(s)

Consideraciones para acercamos al tomador de decisiones de un proyecto SharePoint

Hoy quiero platicar de algo un tanto distinto de lo que acostumbro publicar en mi blog. Para aquellas personas que son consultores SharePoint o ingenieros de Pre Venta de soluciones de colaboración en algún momento del ciclo de vida de venta se requiere de nuestra intervención para identificar las necesidades de negocio y dimensionamiento técnico necesario para poder plasmar en una propuesta comercial nuestro alcance técnico y enfoque humano que será necesario constituir para auxiliar a nuestro cliente.

Sin duda, existen muchas formas de hacer el acercamiento sin embargo aquí dejo algunas de las preguntas que acostumbro hacer cuando estoy en reunión con el cliente final, esto no es una guía simplemente es lo que he probado con el tiempo.

  1. Cuál es el problema actual que desea resolver. La intención de esta pregunta es identificar que es lo que el cliente considera problema a resolver. La idea es ponernos en los zapatos del cliente y entender en primera instancia el problema en general y aquellas razones subyacentes que lo justifican. En ocasiones es importante preguntar él porque considera que con SharePoint podría obtener la solución.
  2. Cuál es la situación deseada. Es importante identificar de manera preliminar la visión final que tiene el cliente de lo que considera puede ser la solución que podríamos plantear. Es muy importante separar el tema técnico del tema de negocio. Lo que hay que indagar aquí es desde el punto de vista de negocio cuales son los entregables, métricas y por qué no las fechas en las que el cliente desea verse avante respecto a la solución requerida. No hay que perder de vista lo que el cliente cree que necesita y que considera una situación ideal, al final del día, buscamos satisfacer y exceder las necesidades de nuestro cliente y quien mejor que nos pueda dar una visión de lo que se considera satisfactorio.
  3. Cuál es la prioridad para la organización o departamento de implementar la solución. Es crítico desde el punto de vista comercial identificar que esta oportunidad tiene una alta probabilidad de concretarse. Así mismo desde el punto de vista dimensionamiento hay que tener en cuenta las implicaciones positivas y negativas de alinearnos a las fechas idóneas para el cliente y como estas tienen nos impactan.
  4. Nombre de las áreas involucradas en la solución. En el afán de poder visualizar a quien estaría tocando nuestra solución es importante desde una primera etapa identificar que otras áreas de la organización infieren en el proceso que se busca automatizar. En cierta medida el valor que una solución aporta al negocio deja un precedente importante de evaluar. También nunca hay que dejar de ver si la solución que estamos entendiendo es de misión crítica para el negocio y/o de alto impacto. Por misión critica nos referimos a lo estratégico y operativo de la solución, lo crucial que esta es para el proceso y para el negocio. Por alto impacto, lo entendemos como el grado en que la gente estará expuesta a la solución y que tanto esta influirá en la cultura de la organización de forma positiva “cuando esta sea innovadora y funcional” y negativa “cuando esta falle”.
  5. Un aproximado de usuarios finales que estarían usando la solución. En estos tiempos donde tenemos una gran necesidad de procesamiento de datos y donde ahora tenemos arquitectos de software es necesario dimensionar el posible nivel de demanda de procesamiento que la solución potencialmente requerirá con el objeto tener en cuenta y hacerle ver al cliente las implicaciones de hardware y de software que tendrá que contemplar como parte de la solución que estaremos planteando. El tema de la conectividad, trafico, disponibilidad, seguridad, escalabilidad, desempeño y crecimiento exponencial de los datos entre otros son aspectos que se tienen que contemplar desde la etapa comercial para poder establecer y acordar los supuestos para la optima implementación de nuestra solución. Además, cuando construimos una solución tenemos que anticiparnos y ver los costos aproximados de carga y mantenimiento a corto, mediano y largo plazo. Personalmente creo que un cliente aprecia el poder decirle como vemos a 2 o 4 años que se comportara nuestra solución.
  6. Que esfuerzos se han realizado en el pasado para resolver el problema. Uno nunca sabe que cosas puedes encontrar y que ideas valiosas se pueden re utilizar de aquellos esfuerzos o experiencias pasadas respecto a la solución. En cierta forma hay que ser afines a la inversión en tiempo y dinero que nuestro cliente ha hecho en el pasado para poder re utilizar lo que se pueda en todos los sentidos cuando esto coadyuva y aporta. Así mismo, identificar si es posible con que otros proveedores o colegas han colaborado con la finalidad de encontrar alguna relación positiva o visualizar alguna amenaza potencial. En mi experiencia me he encontrado con empresas y colegas que recomiendan los servicios.
  7. Actualmente en cuanto tiempo se realiza el proceso en cuestión y en cuanto tiempo seria lo óptimo. Sinceramente esta pregunta personalmente me parece importante. El poder detectar como opera hoy un proceso y cuantificarlo en tiempo, dinero o esfuerzo deja un indicador contra el cual podremos evaluarnos en el futuro para poder afirmar con datos concretos que fue un éxito nuestra intervención. Parte del orgullo del trabajo que hacemos se sustenta en el indicador. Proveedores de tecnología como Microsoft está siempre muy sensible a estos temas ya que dejan un antecedente favorable que en términos de mercadotécnica tiene un valor e impacto. Sin duda entender lo que considera éxito nuestro cliente nos dará la pauta de cómo proceder. Otro punto que en ocasiones he aplicado es acerca uno o dos años después justamente para ver indicadores y ahorros, en alguna ocasión en un proyecto fueron millones de pesos que se ahorraron en papel y el cambio cultural vino a elevar el nivel de calidad de los trabajadores del conocimiento. De verdad, este punto es un indicador estratégico.
  8. Cuenta con plataforma Microsoft y porque la usa. Esta pregunta nos permite saber la postura de nuestro cliente respecto a las propuestas de Microsoft lo cual es importante ya que con esto podremos compartir libremente como algunas tecnologías y productos podrían integrarse para resolver distintas necesidades. Por ello, si la posición es a favor sabemos que podemos aportar mucho más, si la posición es neutral o no a favor nos mantenemos al margen y alerta para posicionar productos o tecnologías cuando sea pertinente o nos pregunten.
  9. Cuenta con esquema de licenciamiento Microsoft. El tema de licenciamiento siempre ha sido algo crítico y delicado. Si nuestro cliente cuanto con algún acuerdo empresarial o esquema de licenciamiento buscamos nosotros tratar de utilizar donde haga sentido aquellos productos que se tengan licenciados como OCS, RMS, Exchange, Office, etc. Además, siempre es de vital importancia para el presupuesto de un proyecto el contemplar el licenciamiento desde una etapa temprana. En ciertas ocasiones cuando el esquema de licenciamiento esta por expirar aquí podría ser conveniente integrar a la subsidiaria local de Microsoft en el proceso para apalancar una renovación de contrato y por parte de Microsoft en ocasiones financiar nuestra solución. Todos ganamos.
  10. Cuenta con directorio activo y que tanto representa su jerarquía organizacional. Para proyectos de colaboración con SharePoint el tema del uso de directorio activo toma relevancia ya que aporta parte del esquema de seguridad que podríamos manejar en nuestra solución. Además de la integración de otras tecnologías. En alguna ocasión un representante de ventas “account manager” de la subsidiaria local de Microsoft especializado en Information Worker me dijo, aportamos valor para este cliente solo si tiene directorio activo y Exchange.
  11. Cuenta con equipo de desarrollo de software, en caso de que si, en que tecnología desarrollan. En el caso de nuestro cliente tenga algún programador o algún equipo de desarrollo es importante identificar que plataforma de desarrollo utilizan y ese sentido cual es su visión. La idea aquí es el poder alinear nuestra solución a desarrollar con el estándar o metodología de nuestro cliente en caso de existir, si no se cuenta, entonces involucrarlos y transferir nuestro proceso a ellos. Así mismo, dado el contexto del equipo de desarrollo en ocasiones conviene incluir en nuestra propuesta servicios u horas de capacitación técnica o transferencia de conocimiento para que el equipo de desarrollo de nuestro cliente pueda recibir y certificar nuestro trabajo. Además de que es parte de nuestra naturaleza influir o divulgar lo nuevo en tecnología de desarrollo Microsoft.
  12. Que versión de Office System usan los usuarios finales. Office 2007 aporta una gran capacidad de conectividad con SharePoint 2007, la sincronización que actualmente se tiene es una fundación con la cual podemos construir soluciones personalizadas usando de capa de presentación los mismos productos cliente de la familia Office. Si nuestro nos indica que se usa Office 2000 y Office 2003, es importante tomar en cuenta en nuestro dimensionamiento y diseño general de nuestra solución este punto ya que  Office 2003 no cuenta con tantas características de sincronización con SharePoint y hay que asegurarnos de comunicar a nuestro las expectativas y posibilidades de las tecnologías con las que cuenta. Uno nunca sabe y quizás seamos el detonador para actualizar los escritorios por nuevas versiones de Office.
  13. Se cuenta con presupuesto. En mi experiencia dependiendo de la región en donde hagas negocio esta pregunta puede incomodar, así que toma en cuenta eso. Desde el punto de vista comercial es muy importante poder sentir al cliente en este tema. El saber que se cuenta con presupuesto asignado o que se está en pláticas de asignarlo nos da un alto nivel de probabilidad de cierre del proyecto y por ello podemos entonces empezar con un alto nivel de certeza a coordinar la logística y agenda de los consultores que estarán involucrados. Sin mencionar lo que representa financieramente.
  14. Cuando se ve arrancando este proyecto. Esta pregunta también nos deja ver cómo y cuándo debemos empezar a coordinar con el área de operación de nuestra empresa la logística y asignación de recursos humanos, técnicos y físicos. Empezamos a ponerle fechas a nuestros planes generales de venta y hacer nuestra planeación de la operación.
  15. Hay algún procedimiento requerido para darnos de alta como proveedor. Esta pregunta nos permite saber cómo podemos iniciar con el procedimiento de alta como proveedor para que el tema de las políticas de pago nos impacte tanto. No hay nada mejor que estar debidamente registrado y alineados con nuestro cliente para que al momento de cerrar los compromisos contractuales estemos preparados.

Bueno, estas fueron algunas de las preguntas que se dan en los primeros acercamientos y que considero importante hacer durante algún proceso de visita con el cliente tomador de decisiones. Sin duda, hay muchas mas que seria valioso compartas en este espacio. Estas preguntas, NO son una guía sino lo que a mí bajo ciertos contextos de negocio me ha funcionado y hoy quiero compartir con la comunidad SharePoint.

Suerte y tu que preguntas haces?

Manipulación programática de archivos de Microsoft Project *.mpp con .NET

Si por alguna extraña razón cósmica en este mundo ultra moderno de la programación de software bajo plataforma .NET  te encuentras con la necesidad de manipular programáticamente archivos de Microsoft Office te recomiendo uses el proyecto open source MPXJ.

La biblioteca MPXJ permite la lectura y escritura de diversos formatos de archivo de Microsoft Project usando un API en .NET o Java.  Estas API ofrecen clases que representan los componentes de un archivo de Project como Tareas, Recursos, Calendario, Asignaciones, etc. Y los métodos para poder acceder, operar y manipular dichos objetos.

Estoy seguro que este modelo de objetos te permitirá darte una idea de cómo inter operar con Project desde tus aplicativos. En mi caso, con la ayuda de @juankaram “que en definitiva fue estratégica su intervención”, tuvimos que integrar en SharePoint un WebPart lector de archivos de Project.

El resultado:

landetrabajo

Visual Studio 2010 ya son 8 años

Siempre estamos en constante cambio, la tecnología evoluciona prácticamente de manera exponencial. Fue desde 14 de Febrero del 2002 que se liberó la primer versión de la plataforma .NET, ya son hace 8 años y hoy más que nunca tenemos en nuestras manos un gran conjunto de herramientas y tecnologías para los desarrolladores de software que nos permiten producir soluciones tecnológicas a diversos problemas o escenarios de negocio. Hoy 12 de Abril se libera la versión 4.0 de .NET Framework y Visual Studio 2010. Sinceramente me encuentro muy emocionado ya que desde aquel 14 de febrero supe que un cambio radical a mi vida profesional estaba por suceder y en esta ocasión siento lo mismo, tenemos una nueva versión.

Tu que compartes estas líneas, ¿como te sientes respecto al lanzamiento y respecto a las piezas tecnológicas que ahora tenemos disponibles?.

Aquí dejo la segunda edición sobre arquitectura de aplicaciones .NET en donde se describe todas las tecnologías emergentes que se han venido integrando en la plataforma y donde encajan dentro de una arquitectura de aplicación.

http://msdn.microsoft.com/en-us/library/dd673617.aspx

Suerte!

PD. Microsoft ya esta planeando la siguiente version … :)

Lanzamiento de SharePoint 2010

Ya tenemos la fecha de cuando se libera a mercado nuestro producto favorito. Sera el próximo 12 de Mayo del 2010 cuando Microsoft realice el lanzamiento de SharePoint 2010 y Office 2010, en esta dirección podrás encontrar los detalles.

Si SharePoint 2007 fue popular ahora SharePoint 2010 será arrasador.

Posted by haaron | with no comments

WebCast sobre Servicios Web en SharePoint 2010

clip_image001

Estimado lector por medio de este correo quiero extender una invitación para que asista este  Lunes 1ro de Marzo del 2010 a un WebCast de SharePoint 2010 que estaré presentando para Centro de Medios de Microsoft Latam.

En este WebCast estaremos platicando sobre las múltiples alternativas para acceso y manipulación de datos SharePoint mediante Servicios Web. SharePoint 2010 ha sido diseñado para encajar en una arquitectura orientadas a servicios y en esta sesión veremos las múltiples alternativas disponibles.

La sesión será a las 12:30 tiempo e México 10:30 tiempo del pacifico.

URL de Registro para Asistentes (Público):
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032440497&Culture=es-AR

Saludos y Gracias

Posted by haaron | with no comments

Como consumir lista de SharePoint 2010 en Windows Forms mediante REST

En Microsoft uno de los puntos que se enorgullecen de divulgar es que ahora se soporta REST para acceso a listas y bibliotecas de documentos lo cual me parece fantástico ya que si aporta valor la alternativa de obtener acceso directo al contenido basado en un estándar y que sin tanto esfuerzo de programacion lo podamos lograr es tambien un tema a consiuderar. Este seguro que desde ya podemos ver muchas aplicaciones de esta característica en proyectos de desarrollo SharePoint.

Hagamos una breve y simple demostración de cómo consumir un servicio REST de SharePoint en una aplicacion Windows Forms.

Soporte REST en SharePoint 2010

Primeramente accedemos a nuestro sitio SharePoint 2010 y en la dirección URL hay que capturar “_vtn_bin/listdata.svc" el cual es un servicio WCF que se encarga de exponer el sitio entero en formato REST. Dependiendo del URL de nuestro sitio es el contenido que el servicio listdata.svc nos retorna.

Como puedes ver aquí tenemos en formato REST el contenido del sitio.

clip_image002

Mediante la URL indagamos y accedemos a los sub elementos de este esquema, por ejemplo si quisiéramos acceder a la lista de anuncios “Announcements” entonces modificamos el URL y capturamos subsecuentemente /_vti_bin/listdata.svc/Announcements arrojando lo siguiente:

clip_image004

El navegador lo interpreta y muestra como un Feed RSS sin embargo al ver el código fuente de esta página vemos más contenido de acuerdo a REST. Encontramos un esquema mucho mas explicito que describe y autocontiene la informacion invocada.

clip_image006

Lo único que debes de saber es que la dirección URL es sensible a mayúsculas y minúsculas de tal forma que debes de asegurarte de especificar exactamente igual el nombre de las listas y bibliotecas, no hay margen para el error aquí.

Consumiendo Servicio REST de SharePoint 2010

Debido a que REST opera via protocolo web podemos consumirlo tal como un servicio web. Desde Visual Studio 2010 creamos una aplicación de consola o Windows Forms y tenemos varias alternativas disponibles para generar un proxy que nos invoque los elementos que tenemos publicados por defecto en REST mediante el servicio listdata.svc. En esta demostración de tipo aplicación Windows Forms simplemente selecciono del menú principal la opción de Data en donde se muestra la opción de Visual Studio para agregar una conexión que apunte a diversos orígenes de datos.

clip_image007

Lo que vale la pena ver aquí es que ahora contamos con un nuevo conector hacia SharePoint.

clip_image009

A seleccionar Next simplemente se carga la ventana para hacer una referencia a un servicio WCF. Capturamos la URL de nuestro servicio listdata.svc de nuestro sitio SharePoint en cuestión y damos clic en el botón Go, para que Visual Studio descubra el contenido del servicio “el cual basado en REST obtendremos el contenido de nuestro sitio” y especificamos el namespace con el que estaremos haciendo referencia a nuestro proxy.

clip_image010

Damos clic en Ok y listo ya podemos generar instancias de nuestro proxy y realizar programáticamente invocaciones al contenido de nuestras listas. Cabe mencionar que al hacer la conexión vía Data Source de Visual Studio nos agrega una sección donde podemos arrastrar y soltar sobre nuestra lista de anuncios presentándonos las columnas y la posibilidad de mostrar los objetos sobre nuestro formulario, el proceso de vinculación lo realiza de forma automática y nos agrega el contexto de vinculación y el contexto de navegación dentro de un conjunto de datos.

clip_image011

Si tomamos nuestra lista de anuncios y la arrastramos y soltamos sobre nuestro formulario el resultado será un datagrid con su correspondiente objeto de navegación y contexto de vinculación.

clip_image013

Claro que nosotros podemos editar que columnas queremos incluir y atrapar eventos dentro del datagrid para determinar renglones nuevos o editados y programáticamente hacer algo al respecto.

Ya para terminar necesitamos realizar desde código la invocación a nuestra lista y pasarle como contexto de datos el resultado de nuestro servicio. Así mismo ocupamos también pasar el contexto de usuario para que podamos tener acceso seguro a SharePoint.

Lo que hay que hacer es:

  1. Hacer referencia a nuestro namespace RESTDemo y a System.Net usando using
  2. Instanciamos nuestro servicio generado por el proxy llamado “HomeDataContext” y pasamos como argumento dentro del constructor un objeto Uri apuntando a nuestro servicio listdata.svc.
  3. A nuestro objeto instanciado necesitamos asignarle la credenciales de usuario con las que se autentificara en SharePoint para consumir los datos.
  4. Asignamos a nuestro objeto de contexto de vinculación en su propiedad DataSource el resultado de nuestra lista.
using System.Net;
using WindowsFormsApplication9.RESTDemo;

namespace WindowsFormsApplication9
{
    public partial class Form1 : Form
    {

        private void Form1_Load(object sender, EventArgs e)
        {
            HomeDataContext dc = new HomeDataContext(new Uri("http://sp210-pdc/_vti_bin/listdata.svc"));
            dc.Credentials = CredentialCache.DefaultNetworkCredentials;
            announcementsBindingSource.DataSource = dc.Announcements;
        }
    }
}

El resultado:

image

MVP Summit 2010

Esta semana tuve la oportunidad de participar en el MVP Summit 2010 en Seattle, WA y la experiencia como siempre enriquecedora en varios sentidos. En primera, un aproximado de 1600 personas de 70 países hizo acto de presencia, la riqueza cultural y técnica es estimulante, la posibilidad de conocer las penas y glorias de nuestros colegas en distintas latitudes nos da una perspectiva interesante que en ocasiones no del todo logramos ver. En segundo lugar, el poder compartir con el equipo de producto y dar retroalimentación sobre las cosas que vamos viendo en el camino con nuestros clientes es una oportunidad que no podemos dejar pasar para exponer nuestras inquietudes y en ese sentido, ahora con la liberación de Visual Studio 2010 RC y SharePoint 2010 Beta tenemos mucha tela de donde cortar. En tercero, compartir con mis colegas expertos en SharePoint también es estimulante ya que compartirnos las mismas preferencias técnicas y definitivamente nos enriquecemos juntos, además de percibir la esencia de cada uno.

Todos y cada uno de los MVPs de Microsoft hemos firmado un acuerdo de no divulgación que nos obliga  a mantener en privado muchas de las cosas que aquí platicamos, por esa razón nos enfocamos a compartir la experiencia de haber participado en el evento.

Posted by haaron | with no comments

Off Topic: Cross Posting Test

cross posting works and lets see if cross edit works...

Posted by haaron | with no comments

Remote Desktop Connection vs Virtual PC 2007 en proyecto InfoPath 2007

Recientemente en mi ambiente de desarrollo sucedió un comportamiento extraño que definitivamente hacia que mi experiencia fuese un tanto limitada. Resulta que al trabajar con InfoPath 2007 dentro de una máquina virtual la funcionalidad de copiar y pegar no trabaja bien en modo de diseño, en ocasiones si funciona y en otras no. Dentro de InfoPath 2007 al hacer Ctrl – X y después dentro de otra celda de una tabla hacer Ctrl – Y pues si me cortaba los controles mas no los pegaba de regreso y el Ctrl – Z de nuevo rehacía los controles en su posición anterior.

Confieso que hasta el momento no del todo sé que fue lo que paso realmente, pero una alternativa de solución es conectarme desde mi equipo huésped o algún otro vía remote desktop connection y listo, todo funciona como se espera que funcione.

Asumo que es un tema relacionado con el direccionamiento de la memoria RAM cuando usamos el portapapeles dentro de una máquina virtual.

Un par de recursos SharePoint 2010 que debes tener

Mi buen amigo Mario Ferrel me ha comentado sobre dos enlaces relacionados con SharePoint 2010 que seguro debes de tener. Get Started on SharePoint 2010 y SharePoint eMagazine son recursos muy valiosos que sin duda te podran al dia.

More Posts Next page »