Web Platform Installer: Disponible la RC!

Ya tenemos disponible para descarga la primera release candidate del Web Platform Installer. Se trata de una simple herramienta que instala todos los componentes de un entorno web típico Microsoft: IIS 7, Visual Studio Web Developer 2008 Express Edition, SQL Server Express Edition y .NET Framework. Por supuesto, el proceso de instalación nos permitirá elegir que componentes queremos instalar.


Podéis descargaros el instalador de este enlace.

XAMLX & XAML: Adiós a XOML!

Como sabéis, en el pasado PDC 2008 en Los Ángeles se presentó la primera CTP de Visual Studio 2010 y de .NET Framework 4.0. Como parte de .NET Fx 4.0, tendremos una nueva versión de Windows Workflow Foundation (4.0) que entre otras novedades, supondrá la despedida de la extensión XOML. en WF 4.0, cuando creemos workflows o actividades customizadas se generará un archivo XAML (Extensible Application Markup Language) en lugar del tradicional archivo XOML. Además, con WF 4.0 y de acuerdo a la idea de que sea perfectamente complementario a Windows Communication Foundation (WCF), aparecerá también un nuevo tipo de archivo con extensión XAMLX que contendrá la declaración del servicio WCF y la implementación del servicio WF.



 

Más información en el blog de WF.

WSS 3.0 & MOSS: TechNet Virtual Labs!

Preparando un nuevo seminario sobre SharePoint (una nueva vuelta de tuerca más: SharePoint + Business Intelligence), me encontré con una serie de virtual labs sobre la plataforma Microsoft Office 2007 (cliente y servidor) en la que podemos evaluar muchas de sus capacidades:

2007 Microsoft Office System: Virtual Lab Express

2007 Microsoft Office System

Office Groove 2007

Deployment and Migration

Windows SharePoint Services 3.0

Office SharePoint Server 2007

Business Intelligence

WSS 3.0 & MOSS: Un regalito por Navidad!

Finalmente, después de comenzar esta iniciativa el mes pasado, y como adelanto a la Navidad, me gustaría realizar por adelantado un regalo a la comunidad Geek en general y a la de SharePoint en particular (materializada en SUGES en España). Se trata de un documento PDF de más de 400 páginas que recoge un recopilatorio de los posts más relevantes que sobre plataforma SharePoint hemos escrito en el blog del CIIN desde los inicios del mismo haya por el mes de septiembre de 2006. La verdad es que hasta yo mismo me he sorprendido de la extensión del documento, no había tomado conciencia hasta hoy de lo mucho que hemos escrito sobre SharePoint.

image

Espero que esta guía sirva de ayuda a todos los que trabajan con la tecnología SharePoint y que le facilite la búsqueda de soluciones a problemas que se encuetran en el día a día con esta tecnología que no para de crecer y evolucionar y que se ha convertido en producto estrella y transversal para Microsoft. Podéis descargaros la guía de la página del proyecto SUGES en Codeplex a través de este enlace.

¿Que versión de SharePoint tiene nuestro servidor?


En diversos despliegues de desarrollos en SharePoint, como puede ser a través de una copia de seguridad de nuestro entorno y una restauración en uno nuevo, tenemos que tener cuidado que versión de servidor de SharePoint es la que tenemos instalada, ya que si no tienen la misma en los dos entornos en los que estamos trabajando no nos va a funcionar el despliegue.


Para poder comprobarlo aquí tenemos una tabla en la que nos muestra las diferentes versiones de SharePoint que tenemos una vez que hemos instalado la RTM del producto y los siguiente Service Pack y hotfix:








































Service Pack / Hotfix Version


WSS V3.0


MOSS 2007


Infrastructure Update (KB951695 & KB951297)


12.0.0.6318


12.0.0.6318


Post-SP1 hotfix (KB953137 & KB953138)


12.0.0.6316.500


12.0.0.6316.500


Post-SP1 hotfix (KB952698 & KB952704)


12.0.0.6315


12.0.0.6315


Post-SP1 hotfix (KB948945)


12.0.0.6303


12.0.0.6303


Post-SP1 hotfix (KB941274)


12.0.0.6301


12.0.0.6301


Post-SP1 hotfix (KB941422)


12.0.0.6300


12.0.0.6300


Service Pack 1


12.0.0.6219


12.0.0.6219


Release To Manufacturing (RTM)


12.0.0.4518


12.0.0.4518


Para saber que versión de SharePoint es la que tenemos instalada en nuestro entorno, tenemos que ir a la pestaña de ‘Operaciones’ dentro de la Administración Central de SharePoint y pulsar sobre la opción ‘Servidores en la granja’ dentro del menú ‘Topología y Servicios’:


image


Y en la pantalla que nos aparece ya podemos ver que versión es la que esta corriendo nuestro servidor:


image


Pablo

Microsoft Office 2007: Disponible el Add-In Get Started Tab en castellano!

Interesante Add-In que Microsoft ha puesto a disposición de los usuarios de Microsoft Office 2007: Get Startet Tab para Microsoft Word, Excel y Power Point 2007 y para los idiomas español, alemán, italiano, francés, portugués, danés, holandés, polaco y noruego. Este add-in, que en castellano se denomina Guía de Inicio,añade una nueva pestaña a la ribbon de Office desde la que los usuarios podrán acceder a contenido gratuito de Office como cursos de formación, vídeos demostrativos, y otros recursos pensados para asegurar un rápido aprendizaje de las aplicaciones de Microsoft Office.

Enlaces de descarga del add-in:

Y este es el aspecto de la Guía de Inicio en Microsoft Word:

image 

Fuente: Blog de Bart Wessels.

¿Se indexan los ficheros adjuntos en SharePoint? Si, pero…

A raíz de una pregunta que nos hicieron en una reunión sobre si se indexaban o no los ficheros adjuntos en SharePoint, hemos aprovechado y hemos estado investigando un poco mas en profundidad el servicio de búsqueda e indexación que nos proporciona por defecto la plataforma.


Al decirnos esta pregunta contestamos sin pensarlo que si, ya que en SharePoint se indexa todo el contenido que tengan los sitios, pero cual fue nuestra sorpresa que al probarlo en la oficina vimos que no se indexa todo.


Si adjuntamos un fichero a una lista y esperamos a que arranque el servicio de indexación vemos si que lo indexa y se muestra en el resultado de las búsquedas, pero lo que no se indexa es el nombre del fichero que hemos adjuntado, por lo que si por ejemplo adjuntamos un documento denominado equipo.docx a un elemento de una lista


image


y después realizamos una búsqueda del nombre del fichero no encontramos con la siguiente sorpresa:


image


pero si buscamos algo del contenido de este documento vemos que si aparece:


image


Con esto vemos que en SharePoint siguen apareciendo fantasmas que seguramente soluciones en service pack posteriores.


Aprovecho también para recordaros que si queréis mejorar el servicio de búsqueda e indexación que viene con la plataforma WSS, existe un producto gratuito que nos va a proporcionar toda la configuración necesaria para parecerse al servicio de búsqueda de MOSS permitiendo buscar en varios orígenes de contenido, configurar mejor la indexación, crear sitios propios de búsqueda, etc…. Este producto se llama Microsoft Search Server 2008 Express y nos lo podemos descargar gratuitamente desde la pagina de microsoft.


image


Link de descarga: http://www.microsoft.com/enterprisesearch/serverproducts/searchserverexpress/download.aspx

MOSS: Webcasts y HOLs gratuitos sobre desarrollo WCM!

Por cortesía de Microsoft, y a través de la campaña Do Less. Get More. Develop on SharePoint enfocada a que los desarrolladores de ASP.NET 2.0 adquieran los conocimientos básicos sobre desarrollo en SharePoint, tenemos a la vista una serie de Webcasts y HOLs gratuitos sobre desarrollo para WCM (Web Content Management) en MOSS 2007:

Patterns & Practices: Disponibles las Application Architecture 2.0 Pocket Guides!

El otro día Jorge Serrano nos hablaba de la disponibilidad de la Beta2 del Application Architecture Guide 2.0, pues bien, parece que Microsoft se está dando prisa en la elaboración de esta guía de patrones y buenas prácticas en cuanto a que tenemos disponibles para descarga las versiones de bolsillo (más de 100 páginas por guía) de las guías de patrones y buenas prácticas clasificadas por temáticas:

Application_Architecture_KB

image[15] image[19]

SQL Server 2008: Sparse Columns!

Una de las mejoras que introduce SQL Server 2008 en cuanto a tipos de datos se refiere es la de una mejor implementación de las denominadas sparse columns, es decir, aquellas que almacenan de manera frecuente valores nulos. Dos son las características fundamentales de las sparse columns en SQL Server 2008:

  • No consumen espacio en disco (vs versiones anteriores).
  • La clave está en el uso del atributo SPARSE en la definición de las columnas.

Para ver el comportamiento de las sparse columns, vamos a partir de un escenario en el que a priori tiene sentido la definición de este tipo de columnas: tablas con un número muy elevado de columnas (por ejemplo, 1000 columnas). Nuestra base de datos (BD) de pruebas tendrá dos tablas, una en la que no se usa el atributo SPARSE en la definición de las columnas, y otra en la que sí se utiliza:

  • Creamos en primer lugar la tabla en la que no utilizamos el atributo SPARSE en la definición de sus columnas.

CREATE TABLE TableWithoutSparseColumns (

   DocID INT IDENTITY, DocName VARCHAR (100), DocType INT,

   c0001 INT NULL, c0002 INT NULL, c0003 INT NULL, c0004 INT NULL, c0005 INT NULL,

….

c0991 INT NULL, c0992 INT NULL, c0993 INT NULL, c0994 INT NULL, c0995 INT NULL,

   c0996 INT NULL, c0997 INT NULL, c0998 INT NULL, c0999 INT NULL,c1000 INT NULL

   );

GO

  • Creamos a continuación la tabla en la que marcamos con el atributo SPARSE sus columnas

CREATE TABLE TableWithSparseColumns (

   DocID INT IDENTITY, DocName VARCHAR (100), DocType INT,

   c0001 INT SPARSE NULL, c0002 INT SPARSE NULL, c0003 INT SPARSE NULL, c0004 INT SPARSE NULL, c0005 INT SPARSE NULL,

….

   c0991 INT SPARSE NULL, c0992 INT SPARSE NULL, c0993 INT SPARSE NULL, c0994 INT SPARSE NULL, c0995 INT SPARSE NULL,

   c0996 INT SPARSE NULL, c0997 INT SPARSE NULL, c0998 INT SPARSE NULL, c0999 INT SPARSE NULL,c1000 INT SPARSE NULL

   );

GO

Una vez creadas las tablas, lo primero que vamos a comprobar es que efectivamente el espacio ocupado por la tabla que no utiliza el atributo SPARSE en la definición de las columnas ocupa más espacio que la tabla que si las utiliza. Para ello:

  • Insertamos datos en las dos tablas:

INSERT INTO TableWithSparseColumns (DocName, Doctype) VALUES (‘aaaa’, 1);

INSERT INTO TableWithSparseColumns (DocName, Doctype, c0945) VALUES (‘bbbb’, 2, 46);

INSERT INTO TableWithSparseColumns (DocName, Doctype, c0334) VALUES (‘cccc’, 3, 44);

INSERT INTO TableWithSparseColumns (DocName, Doctype, c0233, c0234) VALUES (‘dddd’, 4, 12, 34);

INSERT INTO TableWithSparseColumns (DocName, Doctype, c0233, c0234,c0235,c0236) VALUES (‘eeee’, 4, 12, 34, 46, 66);

GO

 

INSERT INTO TableWithoutSparseColumns (DocName, Doctype) VALUES (‘aaaa’, 1);

INSERT INTO TableWithoutSparseColumns (DocName, Doctype, c0945) VALUES (‘bbbb’, 2, 46);

INSERT INTO TableWithoutSparseColumns (DocName, Doctype, c0334) VALUES (‘cccc’, 3, 44);

INSERT INTO TableWithoutSparseColumns (DocName, Doctype, c0233, c0234) VALUES (‘dddd’, 4, 12, 34);

INSERT INTO TableWithoutSparseColumns (DocName, Doctype, c0233, c0234,c0235,c0236) VALUES (‘eeee’, 4, 12, 34, 46, 66);

GO

  • Comprobamos el espacio que ocupan los datos guardados mediante el siguiente script:

SELECT [avg_record_size_in_bytes], [page_count] FROM sys.dm_db_index_physical_stats (

   DB_ID (‘SPARSE_DB’), OBJECT_ID (‘TableWithoutSparseColumns’), NULL, NULL, ‘DETAILED’);

 

SELECT [avg_record_size_in_bytes], [page_count] FROM sys.dm_db_index_physical_stats (

   DB_ID (‘SPARSE_DB’), OBJECT_ID (‘TableWithSparseColumns’), NULL, NULL, ‘DETAILED’);

GO

El resultado que se obtiene es el esperado: la tabla en la que hemos utilizado el atributo SPARSE ocupa mucho menos espacios en bytes y número de páginas que la tabla en la que no se ha utilizado.

image

Si hacemos un SELECT de algunas de las columnas con valores nulos, vemos en cambio que ambas tablas almacenan el valor nulo. Sin embargo, en el caso de la tabla en la que se ha usado el atributo SPARSE, estos valores nulos no ocupan espacio en disco.

image

Finalmente, otra de las novedades que viene con las sparse columns de SQL Server 2008 es la posibilidad de marcar todas las columnas marcadas con el atributo SPARSE con el atributo XML COLUMN_SET, lo que nos permitirá devolver de manera sencilla los valores no nulos que tengamos insertados en la tabla. La definición de la tabla sería la siguiente:

drop TABLE TableWithSParseColumns

 

CREATE TABLE TableWithSparseColumns (

   DocID INT IDENTITY, DocName VARCHAR (100), DocType INT,

   c0001 INT SPARSE NULL, c0002 INT SPARSE NULL, c0003 INT SPARSE NULL, c0004 INT SPARSE NULL, c0005 INT SPARSE NULL,

   c0991 INT SPARSE NULL, c0992 INT SPARSE NULL, c0993 INT SPARSE NULL, c0994 INT SPARSE NULL, c0995 INT SPARSE NULL,

   c0996 INT SPARSE NULL, c0997 INT SPARSE NULL, c0998 INT SPARSE NULL, c0999 INT SPARSE NULL,c1000 INT SPARSE NULL,

   SparseColumns XML COLUMN_SET FOR ALL_SPARSE_COLUMNS);

GO

Para comprobar la utilidad de XML COLUMN_SET FOR ALL_SPARSE_COLUMNS:

  • Insertamos datos en la tabla.

INSERT INTO TableWithSparseColumns (DocName, Doctype) VALUES (‘aaaa’, 1);

INSERT INTO TableWithSparseColumns (DocName, Doctype, c0945) VALUES (‘bbbb’, 2, 46);

INSERT INTO TableWithSparseColumns (DocName, Doctype, c0334) VALUES (‘cccc’, 3, 44);

INSERT INTO TableWithSparseColumns (DocName, Doctype, c0233, c0234) VALUES (‘dddd’, 4, 12, 34);

INSERT INTO TableWithSparseColumns (DocName, Doctype, c0233, c0234,c0235,c0236) VALUES (‘eeee’, 4, 12, 34, 46, 66);

GO

  • Ejecutamos la siguiente sentencia T-SQL.

select * from TableWithSparseColumns

Y este es el resultado obtenido:

image

Y hasta aquí llega lo que os quería contar sobre las SPARSE COLUMNS en SQL Server 2008. Espero que el post os haya resultado interesante.