Windowsw 8: Instalación de la developer preview paso a paso!

Por supuesto, y como no podía ser de otra forma, no me he podido resistir a instalar la primera preview que tenemos disponible de Windows 8 desde varios días. Como muchos habréis comprobado, el proceso de instalación es bastante sencillo, lleva poco tiempo y a mi particularmente me llamó la atención la integración que tiene con Windows Live. En mi caso, la primera instalación que he realizado de Windows 8 (con las herramientas de desarrollo) la he hecho en una máquina de Virtual Box y me han servido los tips explicados en este post: http://www.sysprobs.com/guide-install-windows-8-virtualbox. Sin más, pasemos a la instalación:

  • Por supuesto, las primeras pantallas de instalación son las típicas en las que eliges idioma de instalación, idioma y cultura para el teclado, etc.
  • Aceptas el correspondiente acuerdo de uso y a instalar.
image image image
  • El proceso inicial de descarga y configuración de archivos de instalación es idéntico al que ya conocíamos para Windows 7 (y por endé creo que para Windows Vista si el Alzheimer no me hace recordar mal).
  • Y es a partir de aquí dónde empiezan algunos cambios mínimos. Por ejemplo, la pantalla de configuración es completamente negra.
  • Una vez que el entorno está configurado (por cierto hasta aquí todo el proceso ha llevado unos pocos minutos), de nuevo aceptamos unos términos de uso de Windows 8 en el equipo en el que lo hemos instalado.
image image image
  • A continuación comenzaremos con la personalización en cuanto a nombre del equipo y las configuraciones iniciales.
  • Podremos elegir entre hacer estas configuraciones de forma personalizada o las sugeridas por Windows.
  • A continuación llegamos a una primera novedad en la que se nos pide una dirección de e-mail para el logon lo que me lleva a la integración con Windows Live comentada anteriormente.
image image image
  • Especificamos esa dirección de correo y la contraseña para que a continuación se inicie el proceso final de preparación de nuestro equipo con Windows 8 corriendo.
  • Una vez finaliza este proceso, llegaremos a la nueva interfaz METRO de Windows 8 ya de sobra conocida por todos.
image image image
  • Y a partir de aquí a hacer pruebas, como por ejemplo la pantalla de inicio de nuestro equipo cuando se vuelve a arrancar.
  • Movernos por la interfaz METRO y hacer el switch a la vista de escritorio.
  • Y por supuesto, lanzar y explorar la preview de Visual Studio 11.
image image image

Próximos pasos en mi caso, instalar Windows Server 8 Preview e instalar la Windows 8 Preview en un Netbook para ver que tal lo mueve.

SharePoint 2010: Operadores soportados en LINQ To SharePoint y su traducción en CAML!

Como sabéis, LINQ To SharePoint es el proveedor de LINQ para realizar consultas integradas en el lenguaje contra listas y bibliotecas de SharePoint. Como proveedor que es, no podemos esperar que cualquier tipo de operador que podamos usar en expresiones LINQ tenga su equivalente en LINQ To SharePoint y por lo tanto pueda ser traducido a su equivalente CAML. Así, operadores como Equals o HasValue no tienen un equivalente CAML. Tal y como podéis leer en la SharePoint Guidance, los operadores soportados, cuyo uso no incurre en penalizaciones de rendimiento, y sus equivalentes CAML en LINQ To SharePoint son los siguientes:

Operador LINQ

Traducción CAML

&&

And

||

Or

==

Eq

>=

Geq

> 

Gt

<=

Leq

< 

Lt

!=

Neq

== null

IsNull

!= null

IsNotNull

String.Contains

Contains

String.StartsWith

BeginsWith

SharePoint 2010: Limitaciones del BCS (II)!

Hace un tiempo escribía en torno a algunas de las limitaciones de los Business Connectivity Services (BCS) en lo que a capacidades se refiere. El caso es qué además de estas limitaciones, tenemos otras relativas a cuestiones de rendimiento en cuanto a los valores por defecto que se usan para número de elementos devueltos, tiempos de presupuesta en una consulta, etc. Lógicamente, estos valores van a ser dependientes de la fuente de datos o aplicación de línea de negocio que estemos integrando con los BCS:

  • 2.000 filas cuando estamos realizando una consulta a una base de datos (BD).
  • 3 M de bytes para la respuesta de un servicio web o de un servicio WCF.
  • 180 segundos de tiempo de respuesta al realizar una BDo un servicio WCF.
  • 200 conexiones en total para BDs, servicios web o servicios WCF.

Fuente: SharePoint Guidance disponible en http://spg.codeplex.com/releases

SharePoint2010_thumb

SharePoint 2010: ¿Por qué puede ser importante indexar las columnas de una lista?

Cuando trabajamos con listas de SharePoint, tenemos la posibilidad de indexar sus columnas como mecanismo para mejorar el rendimiento en el uso de las listas. El concepto de indexación de listas de SharePoint es similar al de indexar columnas en una tabla de base de datos, con la diferencia de qué es SharePoint quien se encarga de realizar el mantenimiento de los índices y no el SQL Server subyacente. Esta indexación puede ser necesarias en situaciones como las siguientes:

  • Estamos utilizando la características de unicidad de columnas de SharePoint 2010, de manera que cada vez que queremos configurar una columna para que tenga valores único será necesario realizar su indexación.
  • Tenemos una columna de tipo lookup en nuestra lista y configuramos el comportamiento referencial de la misma para habilitar la estrategia de borrado (en cascada o no), por lo que será necesario de nuevo indexar esta columna.
  • Optamos por indexar todas o parte de las columnas de la lista.

Por ejemplo, a nivel de lista:

  • A través de la página de configuración de la lista podemos acceder a los índices disponibles actualmente para la lista haciendo clic sobre el enlace “Columnas indizadas”.
  • En la página que se muestra podemos ver los índices disponibles y editarlos.
  • Podremos crear nuevos índices en base a otras columnas de la lista y teniendo en cuenta que no todos los tipos de columna se pueden indizar.
image image image
  image  

Pero, ¿Por qué puede ser importante indexar columnas en una lista de SharePoint? Pues por cuestiones de rendimiento, ya que la indexación de columnas mejora el rendimiento en el caso de consultas que usen la(s) columna(s) indexadas, se realicen joins, operaciones de ordenado, etc. Por ejemplo, si tenemos una lista que contiene unos 20.000 elementos y queremos consultar los primeros 500 elementos de la misma ordenados por la columna Title, que no está indexada, nos encontraremos que SharePoint se recorre los 20.000 elementos de la lista para poder ordenarlos por Title y luego nos devuelve esos 500 primeros elementos, de manera que nos encontraríamos ante una consulta pesada. Si indexamos la columna Title, la consulta es mucho más ligera ya que accedemos de ofrma directa a los 500 primeros elementos ordenados por Title sin necesidad de buscar en el conjunto total de elementos de la lista. Por supuesto, el uso de índices hay que realizarlo con cuidado y no usarlos por sistemas ya que penalizan el rendimiento en operaciones de tipo CRUD y necesitan de almacenamiento. ¿Cuántos índices puedo tener por lista? Un máximo de 20.

SharePoint 2010: Concepto de Feature Stapling!

Una de las posibilidades que tenemos para extender nuestros sitios de SharePoint es la técnica de Feature Stapling o engrapado de características (la traducción literal es lo que tiene) que permite definir asociaciones de características a plantillas de sitio de manera que podamos agregar desde un “único punto” una seire de características a todas las instancias de sitios que se han creado a una cierta definición de sitio evitando la modificación de esta o la necesidad de crear código personalizado que active estas features en cada sitio. El Feature Stapling se implementa a través de una característica (de ahí lo de “único punto”) diseñada para crear estas asociaciones de características a una o más definiciones de sitios (o a todos). Algunos ejemplos son los siguientes:

  • Para asociar características a sitios basados en definiciones de sitio de tipo STS (SharePoint Team Site), tendríamos que crear una característica inicial que se encargue de realizar el stapling y un archivo elements.xml en el que definamos las asociaciones correspondientes:
   1: <Elements xmlns="http://schemas.microsoft.com/sharepoint/">

   2:    <FeatureSiteTemplateAssociation Id="00BFE171-1B17-4F72-28CB-1171C0140130" TemplateName="STS#0" />

   3:    <FeatureSiteTemplateAssociation Id="00BFE171-1B17-4F72-28CB-1171C0140130" TemplateName="STS#1" />

   4:    <FeatureSiteTemplateAssociation Id="00BFE171-1B17-4F72-28CB-1171C0140130" TemplateName="STS#2" />

   5: </Elements>

  • En el caso de querer realizar la asociación de una Feature de forma global, el contenido del archivo elements.xml sería el siguiente:
   1: <Elements xmlns="http://schemas.microsoft.com/sharepoint/">

   2:    <FeatureSiteTemplateAssociation Id="00BFE171-1B17-4F72-28CB-1171C0140130" TemplateName="GLOBAL" />

   3: </Elements>

 

Finalmente os dejo algunos enlaces relativos a la técnica de Feature Stapling:

Office 365: Disponible la versión 3.2 del Toolkit de Soporte MOSDAL!

Tal y como podéis leer en el blog del equipo de Office 365, desde hace varios días tenemos disponible la versión 3.2 del Toolkit de soporte MOSDAL que permite recolectar información diversa sobre configuración de servicio, diagnóstico de red, logs,  etc y otros parámetros relativos a los servicios de Microsoft en la nueva con vistas a averiguar cuál puede ser el origen de problemas que se tengan en el uso de los mismos. Los enlaces relativos a MOSDAL en los que se puede descargar tanto el toolkit como referencias a las novedades y su uso son los siguientes:

image

SharePoint 2010: Actualización de tipos de contenidos!

Siguiendo con la serie de artículos en torno a tipos de contenido en SharePoint 2010, en esta ocasión toca hablar sobre el concepto de actualización de tipos de contenido existentes. La pregunta clave aquí es si se pueden actualizar tipos de contenido existentes o no, la respuesta es que sí aunque en función de como se realice la actualización hay que tener en cuenta ciertas cosas:

  • Una primera aproximación de actualización de tipos de contenido pasa por utilizar la interfaz de usuario que nos permite por ejemplo actualizar cambios en columnas del tipo de contenido y reflejar estos cambios en todos aquellos lugares dónde se esté utilizando el tipo de contenido.

image

  • A través de SharePoint Designer 2010 (SPD 2010) y la correspondiente acción disponible en la cinta:

image

  • De forma programática resulta sencillo actualizar tipos de contenido que hayamos creado de esta forma. Un ejemplo de como hacerlo lo podéis encontrar en este enlace de MSDN. Por supuesto, se entiende que vía PowerShell se podrá hacer lo mismo que podemos hacer programática.
  • De forma declarativa, teniendo en cuenta que esta actualización no pasa por modificar la definición en XML del tipo de contenido, sino por aprovechar el concepto de actualización de característica nuevo en SharePoint 2010 y que nos permite añadir nuevos campos a un tipo de contenido dentro de la nueva sección <UpgradeActions>. Podéis ver un ejemplo en este otro enlace de MSDN.

Finalmente, os dejo una referencia final relativa a estrategias y aproximaciones en la actualización de tipos de contenido.