Omitir los comandos de cinta
Saltar al contenido principal

Inicio rápido

...Mas emplea más cuidado quien se quiere aventajar .... > BlogShare
febrero 03
Lab SharePoint Development With Visual Studio 2010 - V de V

En la anterior entrega, Creando, desplegando y testeand elementos web, vimos las opciones de implementación disponibles en Visual Studio.Net 2010 a la hora de desplegar webparts. Acabamos este laboratorio de desarrollo con la creación de un elemento web visual con comportamiento Ajax. En concreto, el contenido proporcionado las entregas de este laboratorio son:

Creando un elemento web visual con Ajas Behavior

Vamos a empezar añadiendo un segundo elemento web utilizando la plantilla disponible Visual Webpart. Este tipo de plantilla permite crear la interfaz de usuario para un elemento Web utilizando controles de usuario ASP.NET mediante el diseñador de controles de usuario incorporado en Visual Studio. También vamos a utilizar el control UpdatePanel de ASP.NET AJAX para dar el elemento web una experiencia Web 2.0, eliminando las llamadas al servidor innecesarias (postbacks). Siga los siguientes pasos:

1º- Agregre un nuevo elemento web al proyecto ContosoWebParts, llamada ListInspector. Para ello, haga clic con el botón derecho del ratón sobre el proyecto ContosoWebParts en el explorador de soluciones y seleccione Add=>New Item. Seleccione el elemento de proyecto Visual Web Part y una vez haya establecido el nombre de ListInspector haga clic en el botón Add.

image
Imagen 1: Creación del elemento Visual Web Part ListInspector

2º- Inspeccione el nuevo nodo generado para el elemento Web en el explorador de soluciones denominado ListInspector. Verifique que contiene los archivos Elements.xml, ListInspector.cs/vb, ListInspector.webpart, ListInspectorUserControl.ascx y ListInspectorUserControl.ascx.cs (Nota: el ListInspectorUserControl.ascx.vb se encuentra oculto por defecto).

image
Imagen 2: Elemento web visual ListInspector en el explorador de soluciones

3º- Abra el archivo llamado ListInspector.webpart y examine su contenido XML. Observe que el XML actualmente contiene un elemento para la propiedad Title y otro para la propiedad Description. Actualice la descripción del elemento web para que contenga los siguientes elementos de propiedad y sus valores asociados:

a. ChromeType: TitleAndBorder
b. Title: List Inspector Web Part
c. Description: Un elemento web que muestra todas las listas en el sitio actual y permite recibir varias de los valores de sus propiedades.
d. CatalogIconImageUrl: _layouts/images/ContosoWebParts/WebPartIcon.gif
e. TitleIconImageUrl: _layouts/images/ContosoWebParts/WebPartIcon.gif

La sección dedicada a las propiedades de dicho archivo a de quedar de la siguiente manera:

 image
Imagen 3: Propiedades de ListInspector.webpart

4. Abra el archivo del elemento web Elements.xml y modifique el atributo URL del elemento File para cambir el nombre del archivo .webpart para asegurarse de que es único. Añada al valor el prefijo "ContosoWebParts_" y establezca el nombre de ContosoWebParts_ListInspector.webpart. Cambie también el valor para la propiedad Group a “Contoso Web Part”. El elemento File ha de quedar establecido de la siguiente forma:

imageImagen 4: Modificación del atributo URL del archivo Elements.xml

5. Agrege una referencia al proyecto al ensamblado llamado System.Web.Extensions. Esta referencia es requerida porque al desarrollar el nuevo elemento web visual será necesario hacer referencia al control UpdatePanel desde ASP.Net AJAX. Para ello, haga clic con el botón derecho del ratón sobre el proyecto ContosoWebParts en el explorador de soluciones y seleccione Add Reference… en el menú contextual. El ensamblado System.Web.Extensions debería encontrarse en la pestaña .Net.

imageImagen 5: Referencia a System.web.extensions

6. Abra el archivo de control de usuario del elemento web visual denominado ListInspectorUserControl.ascx. Podrá cambiar entre la vista diseño y la vista código. Cuando se encuentre en vista diseño, el diseñador no contendrá nada de inicio al no existir controles o texto HTML aún añadido. Una vez comprobado que se encuentra en la vista diseño y que el cuadro de herramientas de Visual Studio es visible. Sitúese en el cuadro de herramientas dentro de la sección AJAX Extensions y localize el control UpdatePanel como se muestra en la siguiente imagen.

image
Imagen 6: Control UpdatePanel en la sección AJAX Extensions

7. Arrastre el control UpdatePanel dentro del diseñador de controles de usuario y a continuación sitúese sobre la vista código. Observe que el diseñador de controles de usuario agregó el control UpdatePanel. El código debería ser como se muestra en el siguiente bloque:

imageImagen 7: Control UpdatePanel desde la vista código

8. Agregue un elemento ContentTemplate dentro del elemento UpdatePanel como se muestra en el siguiente bloque de código. A continuación copie y pegue el contenido del archivo ListInspectorTable.txt (el cual contiene una tabla preformateada) dentro del elemento ContentTemplate. Puede descargar este archivo desde los archivos de código fuente para este laboratorio.

imageImagen 8: Elemento ContentTemplate con diseño de tabla

9. Seguidamente cambie a vista diseño y compruebe que el resultado visualizado es como el que se muestra a continuación:

imageImagen 9: Elemento web ListInspector en vista diseño

10º. Llega la hora de escribir algo de código al elemento web antes de proceder con su implementación. Abra el archivo llamado ListInspectorUserControl.ascx.cs y siga los siguientes pasos:

- Agrege una referencia al espacio de nombres Microsoft.SharePoint.

- Elimine cualquier miembro preexistente (propiedades y métodos) en la definición de clase.

- Agrege un campo protegido llamado SelectedListID basado en el tipo GUID.

- Agrege un campo protegido llamado UpdateListProperties basado en el tipo bool.

- Agrege un método llamado lsLists_SelectedIndexChanged usando la lista de parámetros mostrada en el siguiente bloque de código. Observe que el proyecto ContosoWebParts no compilará hasta que se añada este método de implementación debido a que el texto de la tabla de diseño introducida en el elemento ContentTemplate contiene el nombre lstLists que contiene un atributo que proporciona un controlador de eventos denominado lstLists_SelectedIndexChanged.

- Agrege una implementación del método Page_PreRender.

Toda la implementación anterior se muestra en el siguiente bloque de código:


Imagen 10: Código de implementación de la webpart visual

11º- Ahora tan solo queda construir el proyecto y desplegar la solución. Seguidamente tendremos que acceder a las características de la colección de sitios y activar la feature Custom Web Parts y proceder a maquetar el elemento web para ver el resultado final de la misma.

imageImagen 12: Resultado final de la webpart ListInspector

----------------------------------------------------------------------------------------------------
Lab SharePoint Development With Visual Studio 2010 – I de V
Lab SharePoint Development With Visual Studio 2010 – II de V​
Lab SharePoint Development With Visual Studio 2010 - III de V​
Lab SharePoint Development With Visual Studio 2010 - IV de V
Lab SharePoint Development With Visual Studio 2010 - V de V
----------------------------------------------------------------------------------------------------

RSS Puntocompartido 

enero 30
SQL Server 2012: Proyecto Crescent II de II

Hoy damos continuidad al laboratorio dedicado al proyecto Crescent disponible en la documentación de SQL Server 2012, esta vez viendo la forma de construir el informe Tailspin Toys Sales Analysis.

Creando e interactuando con el informe Tailspin Toys Sales Analysis

Para crear un informe de Crescent, partimos de la fuente de datos mostrada en el post anterior para, situándonos sobre dicha fuenta, hacer clic en el menú de lista desplegable y seleccionar la opción Create Crescent Report. El informe generado será una variación de informe de reporting services con extensión *.rdlx. Recuerde que el informe ha de basarse en una fuenta de datos de Reporting Services de tipo Business Intelligence Semantic Model (BISM).

imageImagen 1: Creación de informe “Crescent” a través de fuente de datos

Una vez generado el informe observe las opciones de menú disponibles en Ribbons. La primera opción nos permitira guardar el informe con el nombre deseado, disponiendo también de las pestañas Home (para tareas de clipboard básicas como copiar o pegar o formateado de texto, entre otras( se admiten también las operaciones de deshacer y rehacer), y la pestaña Insert para operaciones de insercción de elementos dentro del informe, como imágenes o cuadros de texto.

imageImagen 2: Pestañas disponibles en el diseñador de informes de Crescent

En la parte derecha del diseñador de informes vamos a disponder de la lista de campos (Field List) que nos proporcionará el modelo semántico accedido por la fuente de datos, proporcionándonos una lista de tablas.  Se pueden observar los campos disponibles en cada tabla (como nos muestra la tabla Products) haciendo clic en el triángulo disponible a la izquierda de la misma.

imageImagen 3: Lista de campos disponibles en la tabla Product

Este listado de tablas es proporcionado por el modelo de semántica de inteligencia de negocio. Expanda la lista de campos para la tabla Product y observe que los campos proporcionan iconos en función del tipo de dato que almacenan (cadena, numéricos, etc.). Cada uno de los campos listados admiten la técnica de drag and drop sobre las diversas secciones o zonas que conforman el informe (Table Drop Zone).  Dicho esto, empezemos con el diseño del informe.

En el diseñador de informes, haremos clic en la sección Click To Add Title text y reemplaza e testo por el título “Tailspin Toys Sales Analysis”. A continuación, desde la pestaña Home disponible en ribbon, haga clic en el botón B para ampliar el grosor del formato.

imageImagen 4: Título del informe Tailspin Toys Sales Analysis

Para agregar una tabla basada en las columnas por defecto, en la lista de campos, haga clic sobre la tabla productos (Product) y observe como se agrega al diseño del informe.

imageImagen 5: Generación de tabla productos en informe Crescent

Observe las columnas incluidas en la tabla. Se encuentran incluidas en la medatada del modelo de semántica de BI. Las imágenes se pueden obtener de los datos del modelo, o como es el caso, por las direcciones URL haciendo referencia a un sitio Web. A continuación, con la tabla seleccionada, haga clic en la pestaña Design en ribbon y seleccione el diseño Card (utilice las barras de desplazamiento, ya que se encuentra en la parte inferior dentro de los diseños disponibles).

image

Imagen 6: Cambio en visualización a diseño Card

Una vez cambiado el diseño a formato Tarjeta, redimensione la tabla utilizando los bordes de la misma, para que sólo se vea un producto en la tarjeta. El diseño tendrá la siguiente visualización.

imageImagen 7: Visualización de datos en modelo tarjeta

Seleccionando cualquier zona el blanco del diseñador de informes, haga clic en el campo Demographic (de la tabla Product) y clic en el campo Reneuve (de la tabla Sales). Observe como se añaden los campos en el diseñador de informes. Ahora, con la tabla seleccionada, vamos a cambiar la visualización desde la pestaña Design escogiendo la opción Column. Ya sólo nos queda maqueta la tabla en la parte superior derecha de nuestro informe quedando de la siguiente forma:

imageImagen 8: Gráfico de suma de ingresos por ubicación geográfica

Situándonos de nuevo en una zona en blanco del diseñador, vamos a hacer clic sobre el campo Category de la tabla Product y clic sobre el campo Quantity de la tabla Sales. A continuación seleccione la tabla y sobre la pestaña Design, aplique un diseño de barras (Bar). La visualización ha de quedar de la siguiente forma:

image

Imagen 9: Gráfico de barras cantidad por categoría

A modo de prueba, puede hacer clic en la barra de la categoría Trainer (disponible en este último gráfico de barras denominado Quantity by Category) y ver como se filtran los datos en las zonas del informe restantes. Por otro lado, si nos situamos unos segundos sobre cualquier barra de nuestros gráficos, se nos mostrarán sus estadísticas. Para finalizar este último gráfico, situádos sobre el gráfico Quantity by Category, vamos a hacer clic sobre la pestaña Design en ribbons y establecer en Visualizations el formato Scatter. Para comparar el campo ventas de categorías(Category Sales) por el campo cantidad (quantity) e ingresos (revenue), en la lista de campos, expanda la tabla Sales y seleccione el campo Revenue y el campo #Products. El informe debería quedar como se muestra a continuación (observe la lista de campos del gráfico como queda).

imageImagen 10: Cambio visual a gráfico de dispersión (Scatter)

A continuación, para agregar los nombres de cada categoría al gráfico, en la pestaña Layout, y con el gráfico seleccionado, seleccione la opción Data Labels==>Above.

imageImagen 11: Visualización de etiquetas de datos en gráfico de dispersión

Como siempre, podemos hacer clic sobre un circulo de datos y revelar sus estadísticas. El siguiente paso consistirá en observar la tendencia de ventas a través del tiempo. Para ello, sobre la lista de campos disponibles, expanda la tabla Date y haga clic sobre el campo Month. Esto hará que el campo Month se agrege al eje de reproducción (Play Axis), disponíendo del botón de reproducción (play) en la parte inferior del gráfico para visualizar la tendencía de forma dinámica. El informe ha de quedar como se muestra a continuación:

imageImagen 12: Gráfico con eje de reproducción dinámico

Sigamos personalizando el informe. Seleccione la tarjeta de productos (con la que comenzabamos el diseño del informe) y a continuación seleccione en la pestaña Design de ribbons la opción Tiles. Esto permitirá que visualizamos la tarjeta de un producto a través de la barra de desplazamiento superior recien agregada.

imageImagen 13: Visualización de tarjeta de productos mediante miniaturas (Tiles)

Ya estamos acabando. Ahora vamos a agregar una tabla de datos para posicionar geográficamente los productos. Para ello vamos a agregar una tabla de datos debajo de la tarjeta de los productos seleccionando la tabla Region y haciendo clic sobre los campos Region Name y Region Map. Seguidamente, sobre la tabla Sales, seleccionaremos el campo Revenue.

imageImagen 14: Gráfico de ingresos demográfico

Ya solo falta ver el resultado final. Para ello sitúese sobre la pestaña Home de ribbons y haga clic sobre la opción Full Screen para visualizar el informe a pantalla completa.

imageImagen 15: Visualización final del informe mediante Full Screen

El último paso es guardar el informe en nuestro entorno de SharePoint, para ello haga clic sobre el menú File==>Save as y guarde el informe con el nombre Tailspin Toys Sales Analysis.

imageImagen 16: Informe Tailspin Toys Sales Puntocompartido guardado en SharePoint

--------------------------------------------------------------------------------------------------------------------------------------
SQL Server 2012: Proyecto Crescent I de II
SQL Server 2012: Proyecto Crescent II de II
--------------------------------------------------------------------------------------------------------------------------------------

Con este ejemplo finalizamos la visualización y generación de informes mediante Proyecto Crescent con SQL Server 2012 y SharePoint Server 2010. Mientras tanto, si quieres recibir noticias como esta, no te olvides de suscribirte al canal RSS del blog de Puntocompartido.

RSS Puntocompartido

enero 04
Novedades en SQL Server 2012 “Denali” III de V

Continuamos mostrando las novedades disponibles en la Release Candidate de SQL Server 2012 puesta a disposición del público para descarga. En esta entrada vamos a mostraros las principales funcionalidades de inteligencia de negocio incorporadas en el producto.

Funcionalidades de Inteligencia de Negocio

Proyecto Crescent

SQL Server 2012 incluye una nueva herramienta para la generación de informes perfectamente integrable en tecnologías SharePoint que permitirá a las organizaciones la visualización de datos interactivos mediante la creación de informes Crescent.

imageImagen 1: Create Crescent Report mediante Self-Service BI

Business Intelligent Semantical Model

Es el pilar principal en los cambios de la plataforma de Análisis services.  Como estrategía a la hora de acercar a las personas que todavía observan el concepto de servicios de análisis con cierto excepticismo, debido a su modelo multidimensional, SQL Server 2012 abarcará con los servicios de análisis a aquellos usuarios que estan más familiarizados con conceptos relacionales.

Es por esto que se incluye el concepto de BISM (Business Intelligence Semantic Model), donde encontraremos un modelo semántico que abarcará todas las experiencias de usuario final, ya sea bien a través del uso de reporting services, cuadros o paneles de mando, tecnologías SharePoint, o algo tan extendido como Excel o Powerpivot.

La arquitectura del modelo semántico de BI incorpora tres capas bien diferenciadas:

- Modelo de datos: Es la capa frontal con respecto a las aplicaciones cliente. El modelo BISM es principalmente relacional, pero podremos acceder a nuestras fuentes de datos tanto de forma relacional como multidimensional. Con esta dualidad, tendremos aplicaciones como Excel utilizando consultas del lenguaje MDX (Multidimensional Expressions) para el modelo multidimensional o aplicaciones como informes Crescent que utilizarán la interfaz tabular enviando consultas DAX (Data Analysis Expressions). 

- Lógica de negocio y consultas: Esta capa será la encargada de encapsular nuestro modelo y se utilizará por el desarrollador teniendo presente el uso de DAX cuando se utilize Excel con PowerPivot para desarrollos relacionales de dificultad fácil-media y MDX para implementaciones más complejas y avanzadas a la par que proporcionan mayores capacidades.

- Acceso a datos: Proporcionará la información desde diversas fuentes de datos, teniendo siempre el concepto de acceso a datos en tiempo real con la capacidad de acceso que ofreca el sistema origen de datos o el acceso a datos en cache gracias al nuevo motor vertiPaq y su sistema de compresión.

imageImagen 2: Arquitectura de BI Semantic Model

¿Y que pasará con nuestras aplicaciones existentes que utilicen el modelo UDM? Pues que cuando migremos a SQL Server 2012 seguirán ejecutándose bajo el concepto del modelo semántico de BI.

imageImagen 3: Funcionamiento de aplicaciones existentes UDM bajo BISM

Puedes obtener más información mediante las diapositivas proporcionadas por Microsoft para la citada tecnología.

PowerPivot para SharePoint Server 2010 SP1

Con la llegada de PowerPivot para SharePoint, se extendieron las capacidades de SharePoint 2010 y Excel Services agregando funcionalidad avanzada de procesamiento del lado servidor para los libros de PowerPivot (archivos de excel que contienen grandes conjuntos de datos generados en una ventana de PowerPivot independiente de Excel utilizándose conjuntamente con tablas y gráficos dinámicos en una hoja de calculo) implementados en SharePoint.

Pues bien, SQL Server 2012 incluye una nueva herramienta de configuración  para PowerPivot (PowerPivot Configuration Tool) que permitirá una administración mejorada de la funcionalidad.

imageImagen 4: PowerPivot Configuration Tool

Con esta herramienta, podemos por ejemplo, eliminar la integración con SharePoint con algo tan simple como seleccionar la acción especifica (Remove PowerPivot for SharePoint) y pulsar el botón Ejecutar. Además, disponemos de una pestaña (Script) para visualizar los comandos en PowerShell que serán ejecutados para llevar a cabo dicha acción.

imageImagen 5: Remove PowerPivot for SharePoint

Recuerda que si quieres recibir noticias como esta, tan sólo has de suscribirte al canal RSS del blog de Puntocompartido.

--------------------------------------------------------------------------------------------------------------------------------------
Novedades en SQL Server 2012 “Denali” I de V
Novedades en SQL Server 2012 “Denali” II de V​
Novedades en SQL Server 2012 “Denali” III de V
Novedades en SQL Server 2012 “Denali” IV de V
Novedades en SQL Server 2012 “Denali” V de V
--------------------------------------------------------------------------------------------------------------------------------------

RSS Puntocompartido

enero 03
SQL Server 2012: Proyecto Crescent I de II

Una de los laboratorios que Microsoft proporciona para su desarrollo dentro de la documentación disponible para SQL Server 2012 RC0 es el dedicado al Proyecto Crescent, denominado Exploring Proyect Crescent.

Para todos aquellos que aún no lo sepáis, el proyecto “Crescent” no es ni más ni menos que la nueva herramienta (se podría decir que es el nuevo report builder) para desarrollo de informes rápidos y ágiles basados en web, integrándose perfectamente en entornos SharePoint 2010.  Con proyecto crescent las organizaciones dispondrán de visualizaciones de datos interactivas, basadas en libros de PowerPivot y en el nuevo modelo semántico de Business Intelligence.

El laboratorio empieza con la revisión de un origen de datos de reporting services el cual se conecta al modelo semántico de business intelligent TailspinToys. Una vez analizada la conexión, y a partir de este origen de datos, el laboratorio continua con la generación de un informe Crescent llamado Tailspin Toys Sales Analysis.

El informe consta de tres partes diferentes, pero relacionadas, que proporcionan una exploración de datos interactiva, utilizando para ello tablas, columnas y gráficos de barras así como un gráfico de dispersión animado.

imageImagen 1: Informe Tailspin Toys Sales Analysis

Explorando el entorno de Crescent

Para analizar el origen de datos, deberemos desplazarnos al sitio de SharePoint habilitado a tal efecto en el entorno de la RC de SQL Server 2012 (intranet.contoso.com). Sobre el repositorio en cuestión, podemos encontrar el origen de datos TailspinToysModel. Situándonos sobre el mismo, podemos encontrar la opción Edit Data Source Definition para analizar el tipo de conexión realizada a nuestro modelo de semántica.

imageImagen 2: Archivo de conexión a BISM

Una vez editada la definición del origen de datos, podemos observar como el tipo de fuente de datos es Microsoft Business Intelligence Semantic Model y la cadena de conexión se establece apuntando al archivo de modelo de semántica TailspinToysModel.bism.

imageImagen 3: Detalles del archivo de conexión a BISM

Si procedemos con la edición del archivo de conexión BISM mediante el enlace Edit BISM Connection, podremos observar los detalles de la conexión del archivo de semántica de BI.

imageImagen 4: Archivo de modelo de semántica de Business Intelligent

En dicho archivo, podemos ver que disponemos la posibilidad de establecer una conexión bien a un libro de excel de PowerPivot o bien a una instancia de análisis services con modelo de base de datos tabular (novedad en SQL Server 2012). Este último caso es el ejemplo incorporado en la imagen de la RC de SQL Server 2012 proporcionada por Microsoft. Podemos ver que la base de datos a la que se conecta el archivo de BISM se denomina tailspinmodel.

imageImagen 5: Detalles de conexión del archivo TailspinToysModel de BISM

El entorno de SharePoint dispone del tipo de contenido BISM Connection File, para que podamos proceder a la generación de archivos de semántica de BI.

imageImagen 6: Nuevo tipo de tipo de contenido BISM Connection File

Si procedemos a conectarnos con SQL Server Management Studio, podemos ver que la imagen virtual de la RC proporcionan una base de datos tabular de análisis services con dicho nombre (observe los tres iconos de la conexión a los servidores, correspondientes a una instancia de análisis UDM, una instancia de análisis PowerPivot y una instancia de análisis del nuevo modelo tabular el cual utiliza el ejemplo).

image

Imagen 7: Servidor de análisis de datos tabular en SSMS

--------------------------------------------------------------------------------------------------------------------------------------
SQL Server 2012: Proyecto Crescent I de II
SQL Server 2012: Proyecto Crescent II de II
--------------------------------------------------------------------------------------------------------------------------------------

En la siguiente entrada veremos como crear el informe crescent a partir de dicho archivo de conexión. Mientras tanto, si quieres recibir noticias como esta, no te olvides de suscribirte al canal RSS del blog de Puntocompartido.

RSS Puntocompartido

noviembre 30
Novedades en SQL Server 2012 “Denali” II de V

Continuamos mostrando las novedades disponibles en la Release Candidate de SQL Server 2012 puesta a disposición del público para descarga. En esta entrada terminamos de mostraros las funcionalidades de misión crítica incorporadas en el producto y para comenzar con la siguiente entrada con las funcionalidades de inteligencia de negocio.

Funcionalidades de Misión Crítica de Confianza (Continuación)

Roles de servidor

Es quiza uno de los cambios más sorprendentes a nivel de seguridad. La posibilidad, nunca antes disponible, de poder crear roles de servidor con los privilegios y permisos que deseemos, para poder ser otorgados a la carta a los usuarios del sistema gestor.

image Imagen 1: Creación de roles de servidor en SQL Server 2012

Tres ediciones, una nueva

Entre las ediciones disponibles se posiciona una nueva edición, la denominada SQL Server Business Intelligence. Seguiremos disponiendo de SQL Server Express, Developer u otras ediciones de índole parecida.

image Imagen 2: Tres ediciones para SQL Server 2012

Auditorías en todas las ediciones

Las funciones de auditoría, disponibles en determinadas ediciones en la versión anterior del producto, van a estar disponibles en todas las ediciones de SQL Server 2012, por lo que podremos crear auditorías de servidor o de base de datos en cualquier momento.

image Imagen 3: Auditorías de servidor en todas las ediciones

Almacenamiento de índices por columna

Se incluye índices para el almacenamiento por columna en una página de datos, lo que acelerará el rendimiento en bases de dato de gran tamaño, muy útil en entornos de Datawarehouse.

image Imagen 4: Creación de índices de almacenamiento por columna

El código en Transact-SQL para crear índices de columna:

CREATE COLUMNSTORE INDEX  indice_columna ON Nombretabla
( columna1, columna2, columna n,…)

Testeo rápido de aplicaciones con Distributed Replay

Esto me recuerda lo que introdujo Oracle en la versión 11g denominado Oracle Database Testing Replay. En el caso de SQL Server 2012, nos permitirá testear cambios en nuestro entorno, por ejemplo, parámetros o hints que puedan afectar el rendimiento de determinadas instrucciones select. Otra posibilidad principal a tener en cuenta es la aplicación de parches o hotfix, donde podremos aplicarlos en nuestro entorno de testeo con Distributed Replay, para ver sus efectos antes de aplicarlos en sistemas en producción. El proceso de instalación ya nos avisa de esta funcionalidad, debiendo especificar aquellos usuarios con privilegios sobre el servicio.

image Imagen 5: Distributed Replay Controler

Además deberemos indicar el equipo controlador cliente y los directorios utilizados por la funcionalidad.

image Imagen 6: Cliente de Distributed Replay

Características de Eventos Extendidos

Se incorpora de forma gráfica un nodo de administración para los Eventos Extendidos. Los eventos extendidos aportan un sistema de control de eventos para los sistemas del servidor. La infraestructura de eventos extendidos amite la correlación de datos de SQL Server y bajo ciertas condiciones, la correlación de datos de las aplicaciones de base de datos y sistema operativo [fuente].

image Imagen 7: Asistente de sesión de eventos extendidos

Recuerda que si quieres recibir noticias como esta, tan sólo has de suscribirte al canal RSS del blog de Puntocompartido.

--------------------------------------------------------------------------------------------------------------------------------------
Novedades en SQL Server 2012 “Denali” I de V
Novedades en SQL Server 2012 “Denali” II de V​
Novedades en SQL Server 2012 “Denali” III de V
Novedades en SQL Server 2012 “Denali” IV de V
Novedades en SQL Server 2012 “Denali” V de V
--------------------------------------------------------------------------------------------------------------------------------------

RSS Puntocompartido 

noviembre 29
Lab SharePoint Development With Visual Studio 2010 - IV de V

En el post anterior vimos como desplegar y depurar nuestro proyecto realizado con las SharePoint Tools. Esta vez, continuamos con la creación, despliegue y testeo de elementos web en Visual Studio 2010. En concreto, el contenido proporcionado las entregas de este laboratorio son:

Creando, desplegando y testeando elementos web

En los dos ejercicios que quedan por realizar en el laboratorio, se van a agregar dos nuevos elementos de SharePoint al proyecto, utilizando para ello la plantilla disponible de elementos web. Dicha plantilla es uno de los múltiples elementos de SharePoint incluidos en Visual Studio 2010.

1º- El primer paso será agregar un nuevo elemento web al proyecto ContosoWebParts denominada HelloPart. Para ello, haga clic sobre el proyecto ContoWebParts en el explorador de soluciones y seleccione Add » New Item. En la ventana de diálogo, vamos a seleccionar SharePoint » 2010 » Web Part y a establecer el nombre HelloPart pulsando el botón Add.

imageImagen 1: Nuevo elemento de tipo plantilla Web Part

2º- Si inspeccionamos el nodo para el elemento web recien creado en el explorador de soluciones, encontrará tres archivos denominados Elements.xml, HelloPart.cs y HelloPart.webpart.

imageImagen 2: WebPart en el explorador de soluciones

3º- A continuación vamos a abrir el archivo llamado HelloPart.webpart y vamos a cambiar la propiedad Title por el valor The "Hello" Web Part y la propiedad Descripción por el textoElemento web del Lab SharePoint 2010 disponible en www.puntocompartido.com/blogshare”.

imageImagen 3: Moficiación de propiedades Title y Description del elemento web

4º- Además de cambiar la propiedad Title y Description, vamos a cambiar las tres propiedades Chrometype, catalogiconimageUrl y TitleIconImageUrl con los siguientes valores:

  • ChromeType: TitleAndBorder
  • CatalogIconImageUrl: _layouts/images/ContosoWebParts/WebPartIcon.gif
  • TitleIconImageUrl: _layouts/images/ContosoWebParts/WebPartIcon.gif

imageImagen 4: Modificación de las propiedades ChromeType, CatalogIconImageUrl y TitleIconImageUrl

5º- Una vez guardados los cambios, vamos a proceder a abrir con la modificación del archivo Elements.xml y realizar las dos siguientes modificaciones:

  • Modificar el atributo URL del elemento FILE del archivo para identificar la webpart de forma única. Para ello, añadiremos el prefijo “ContosoWebParts_” al inicio del valor de dicho atributo.

imageImagen 5: Modificación del atributo URL del elemento FILE

  • Modificar la propiedad Group con el valor de “Contoso Web Parts” y proceda a guardar el archivo

imageImagen 6: Modificación de la propiedad Group

6º- Ahora por último, vamos a modificar el codebehind con un simple código de saludo que nos muestre mediante una etiqueta un saludo a través del elemento web. Para ello, abra el archivo HelloPart.cs e introduzca el siguiente código:

imageImagen 7: Modificación del codebehind en HelloParts.cs

7º- Ya sólo queda guardar los cambios y construir el proyecto ContosoWebParts asegurándonos de que no produce errores de compilación. Para ello disponemos con el botón derecho del ratón del comando Build. Una vez se construya sin errores, proceda a hacer clic en el comando Deploy para que la solución se retraiga y se vuelva a desplegar con los cambios pertinentes.

imageImagen 8: Despliegue del elemento web en el entorno de SharePoint

8º- Ahora tan solo nos queda comprobar que la colección de sitios dispone correctamente del elemento web. Para ello, navegamos hasta el sitio http://intranet.contoso.com/sites/lab02 y acceda a la configuración del sitio de nivel superior (Site Actions » Site Settings). Una vez accedido a la configuración del sitio haga clic sobre el enlace Site Collection Features para navegar a las características de la colección de sitios.

imageImagen 9: Características de la colección de sitios

9º- Una vez situados en las características de la colección de sitios, vamos a localizar la caracteristica Custom Web Parts y activarla.

imageImagen 10: Activación de la característica Custom Web Parts

10º- Comprobamos, con la característica activada, que el elemento web existe en la galería de elementos web.

image

Imagen 11: Elemento web ContosoWebparts_HelloPart.webpart en la galería

11º- Para finalizar, tan sólo queda probarla procediendo a la edición de una página de nuestro sitio (Site Actions » Edit Page). Al pulsar el botón Add para agregar un elemento web, nos vamos a situar sobre la categoría Contoso Web Parts para seleccionar el elemento web The “Hello” WebPart y proceder a agregarlo a la zona deseada.

imageImagen 12: Webpart disponible en la edición de la página

12º- Saliendo del modo edición mediante el botón Stop Edititing disponible en la cinta, podemos ver el resultado final de nuestro elemento web maquetado en el sitio.

image

Imagen 13: Resultado final del elemento web en la página de SharePoint

----------------------------------------------------------------------------------------------------
Lab SharePoint Development With Visual Studio 2010 – I de V
Lab SharePoint Development With Visual Studio 2010 – II de V​
Lab SharePoint Development With Visual Studio 2010 - III de V​
Lab SharePoint Development With Visual Studio 2010 - IV de V
Lab SharePoint Development With Visual Studio 2010 - V de V
----------------------------------------------------------------------------------------------------

RSS Puntocompartido

noviembre 25
Novedades en SQL Server 2012 “Denali” I de V

Esta semana hemos celebrado desde informatica64 los primeros Hands On Lab​ en las instalaciones de Microsoft dedicados a SQL Server 2012 desde que Spectra pusiera para descarga la imagen virtual de su Release Candidade​. Han sido muchas las nuevas funcionalidades mostradas, que a continuación pasamos a comentarios:

Funcionalidades de Misión Crítica de Confianza

Alta disponibilidad AlwaysOn

Un nuevo aporte a la disponibilidad ofertada por SQL Server será AlwaysOn, mediante dos nuevos conceptos a asimilar:

1º- AlwaysOn Availability Group: capacidad de tratar a un grupo de bases de datos como una entidad a ser balanceada. Esta entidad se llama un grupo de disponibilidad (Availability Group). Para poder configurar este grupo de disponibilidad, dispondremos una nueva pestaña en el servicio de SQL Server (accesible a través de la herramienta SQL Server Configuration Manager).

imageImagen 1: AlwaysOn High Availability en el servicio SQL Server

La opción de grupos de disponiblidad se encontrará disponible a través de SQL Server Management Studio accediendo al grupo de opciones Management, desde donde encontraremos la opción Availability Group. Aquí dispondremos de los enlaces New Availability Group Wizard o New Availability Group.

imageImagen 2: Nuevo grupo de disponibilidad en SQL Server

Desde esta opción, podremos indicar un nombre de grupo de disponibililidad y las bases de datos incluidas en dicho grupo. En la parte inferior dispondremos para configurar el tipo de disponibilidad para las mismas (sincrono o asincrono y el control automático de error).

imageImagen 3: Bases de datos con AlwaysOn High Availability

A mi, personalmente esta opción me parece un mirroring de base de datos SQL Server pero a nivel de grupo, pudiendo seleccionar varias bases de datos, tomándose como una entidad. Habrá que mirar la letra pequeña en el producto final.

2º -AlwaysOn Failover Cluster Instance: Incluye la capacidad de realizar una conmutación por error de clúster o espejo a través de subredes ( Multi-subnet failover), proporcionando protección para toda la instalación posicionándose como una mejora añadida a las funcionalidades actuales de SQL Server Failover Cluster Instance. Consiste en una nueva política de recuperación de fallos flexible que nos va a permitir identificar exactamente lo que causa una conmutación por error.

Entorno de restauración mejorado

Un elemento a favor de SQL Server ‘Denali’ es la línea de tiempo que han incluido en los procesos de restauración de nuestras bases de datos, la cual nos permitirá de una forma más fácil, funcional y operativa, poder restaurar nuestras bases de datos a un momento del tiempo específico.

imageImagen 4: Nueva línea de tiempo en procesos de restauración

Soporte para Windows Server Core

SQL Server 2010 será compatible con Windows Server Core. Mediante la ejecución de SQL Server en el sistema Windows Server Core, la aplicación de parches se reducirá de manera significativa lo que disminuirá enormemente el tiempo de inactividad previsto. El porcentaje de reducción de parches y reinicios de sistema podrá ser minimizado entre un 40-60% en determinados escenarios, dependiendo de las funciones de servidor que están habilitadas y el tipo de parches que se apliquen.

Licenciamiento por Core, no por procesador

Nada que indicar al respecto. Se acabaron los tiempos donde Microsoft licenciaba por procesador, a diferencia de algunos de sus competidores, como Oracle.

Bases de datos autocontenidas

Información que antes se almacenaba a nivel de instancia, ahora podrá ser manejada dentro de una misma base de datos

  • Inicios de sesión
  • Servidores vinculados
  • Trabajos

Bien, esto se agradece muchísimo. Cuantas veces hemos procedido a realizar un backup de una base de datos con determinados usuarios en la misma y proceder a restaurarla en otro servidor sin sus inicios de sesión correspondientes. Ahora, con esta funcionalidad, podremos indicar cuales de estos elementos se gestionan por la base de datos. El código en Transact-SQL para indicar la base de datos autocontenida:

sp_configure 'show advanced', 1;
RECONFIGURE WITH OVERRIDE;
go
sp_configure 'contained database authentication', 1;
RECONFIGURE WITH OVERRIDE;
Go:
CREATE DATABASE DatabaseContainedName CONTAINMENT = PARTIAL;
go

Gráficamente dispondremos de la opción Containtment type con valor igual a Partial, a través de las propiedades de una base de datos.

imageImagen 5: Opción de base de datos autocontenida

Esto nos permitirá, por ejemplo, cuando demos de alta a un usuario en la base de datos, indicar si será un usuario con inicio de sesión incluido en la base de datos (utíl a la hora de restaurar en otros servidores) o sin inicio de sesión incluido.

image 

Imagen 6: Creación de usuario autocontenido en la base de datos

Recuerda que si quieres recibir noticias como esta, tan sólo has de suscribirte al canal RSS del blog de Puntocompartido.

--------------------------------------------------------------------------------------------------------------------------------------
Novedades en SQL Server 2012 “Denali” I de V
Novedades en SQL Server 2012 “Denali” II de V​
Novedades en SQL Server 2012 “Denali” III de V
Novedades en SQL Server 2012 “Denali” IV de V
Novedades en SQL Server 2012 “Denali” V de V
--------------------------------------------------------------------------------------------------------------------------------------

RSS Puntocompartido 

noviembre 14
Imagen de SQL Server “Denali”, SharePoint 2010 y Office 2010

Mientras me encuentro instalando SQL Server 2012 “Denali” CTP3 en una imagen virtual para probar las nuevas funcionalidades incorporadas en el famoso servidor de Microsoft, me encuentro con la perla de la casa que solventa todo un proceso de instalación y configuración de entorno virtual “entretenido”. Microsoft ha puesto para descarga la imagen virtual  SQL Server Denali CTP3 Demo VHD, a gestionar con Hyper-V con el entorno del citado gestor más SharePoint 2010 y Office 2010.

image

Eso si, armaros de paciencia a la hora de descargaros el entorno (trozeado en partes de 700 megas) e ir preparando según se indica en la letra pequeña 16 Gb de RAM para moverlo. Aquí os dejo los requisitos extraídos de la página de descarga:

  • Supported Operating Systems: Windows Server 2008 R2
  • Windows Server 2008R2 with Hyper-V role.
    16GB of RAM recommended machine for running the Hyper-V image.
    60GB of diskspace for the image.

RSS Puntocompartido

noviembre 09
Lab SharePoint Development With Visual Studio 2010 - III de V

Una vez generado un receptor de eventos para la característica de nuestro proyecto ContosoWebParts, hoy procedemos con el despliegue y la depuración de nuestro proyecto con las herramientas de SharePoint disponibles en Visual Studio 2010. En concreto, el contenido proporcionado las entregas de este laboratorio son:

Desplegando y depurando proyectos de SharePoint Tools

Es el momento para testear la característica y su receptor de eventos, desplegando el proyecto para ver como se comporta dentro de la colección de sitios de SharePoint que desplegamos en la primera entrada. Para dicho fin, accederemos a las opciones de despliegue del proyecto de SharePoint realizado con VS 2010 haciendo clic con el botón derecho del ratón sobre el proyecto ContosoWebParts en el explorador de soluciones para proceder con la opción Properties. Una vez situado en las propiedades, nos vamos a situar en la pestaña SharePoint para visualizar las opciones de despliegue. Observe que contamos con los campos de texto Pre-deployment Command Line y Post-Deployment Command Line las cuales admiten instrucciones de línea de comandos para que se ejecuten antes o después de que se despliegue el proyecto.

Situándonos en el menú desplegable Active Deployment Configuration vamos a cambiar el valor Default por No Activation.

imageImagen 1: Opciones de despliegue en proyecto de SharePoint

Situándonos sobre la configuración No Activation, haga clic sobre el botón View… para inspeccionar los pasos de configuración de despliegue establecidos.

imageImagen 2: Pasos de configuración de despliegue en la configuración No Activation

Pulsamos el botón OK para cerrar la ventana de diálogo y procederemos a guardar todo el trabajo y cerrar la página que nos muestra las propiedades del proyecto. Seguidamente vamos a proceder a desplegar el proyecto. Para ello, vamos a asegurarnos primero que la ventana de salida (Output Windows) se encuentra visible para ver el proceso de despliegue durante la ejecución del comando Deploy. Para ello haga clic sobre el menú View y seleccione Output y a continuación seleccione el proyecto ContosoWebParts en el explorador de soluciones y ejecute el comando Deploy.

imageImagen 3: Despliegue de proyecto de SharePoint con visualización en ventana de salida

Examinando la ventana de salida después de que el comando Deploy se haya completado. Verifique los pasos realizados en dicha ventana. En ella puede observar como el paquete de solución (archivo *.wsp) ha sido desplegado en la granja de SharePoint. Si es así, vamos a proceder a activar la característica que hemos definido dentro del proyecto mediante la colección de sitios http://intranet.contoso.com/sites/lab02.

Para tal fin, en dicha colección de sitios, vamos a situarnos sobre Site Actions=>Site Settings y mediante las opciones de configuración del sitio vamos a hacer clic sobre el enlace Site Collection features (disponible en el grupo de opciones Site Collection Administration), desde el que podremos activar la característica Custom Web Parts.

imageImagen 4: Característica Custom Web Parts desplegada en colección de pruebas

Una vez activada la característica, podemos observar como cambia el título en la página de inicio de nuestra colección de sitios.

imageImagen 5: Título de la página de inicio cambiado al activar la característica

Ahora vamos a proceder a desactivarla de nuevo comprobando que el título del sitio vuelve a su valor original. Una vez verificado el correcto funcionamiento de la característica, vamos a proceder a practicar el modo de depuración a través del código mientras se está ejecutando dentro del contexto de la colección de sitios. Para ello, abra el archivo de origen Main.EventReceiver.cs y agregue un punto de interrupción a FeatureActivated.

imageImagen 6: Inserción de punto de interrupción en método FeatureAdtivated

Inicie el proyecto en modo depuración ejecutando el comando Debug=>Start Debugging o pulsando la tecla equivalente (F5). Si recibe un mensaje indicando que es necesario modificar el archivo Web.config para habilitar la depuración, haga clic en Ok.

Una vez que se inicie el comando Start Debugging, espere hasta que el depurador de Visual Studio ejecute Internet Explorer y navegue hasta el sitio de pruebas. Navegue de nuevo hasta la característica y proceda a activarla. En ese momento, el depurador tomará el control para situarnos en el punto de interrupción establecido

imageImagen 7: Depuración paso a paso a través del código

Ya sólo queda pulsar la tecla F11 para proceder con las restantes líneas de código. Deberíamos ser capaces de pulsar la tecla F11 repetidas veces hasta que el depurador devuelva el control a Internet Explorer. Para finalizar, tan sólo hemos de volver a Visual Studio y parar el depurador mediante el comando Debug=>Stod Debugging (o pulsando la tecla Shift + F5 y procediendo a eliminar el punto de interrupción de nuestro código

----------------------------------------------------------------------------------------------------
Lab SharePoint Development With Visual Studio 2010 – I de V
Lab SharePoint Development With Visual Studio 2010 – II de V​
Lab SharePoint Development With Visual Studio 2010 - III de V​
Lab SharePoint Development With Visual Studio 2010 - IV de V
Lab SharePoint Development With Visual Studio 2010 - V de V
----------------------------------------------------------------------------------------------------

RSS Puntocompartido 

noviembre 08
Lab SharePoint Development With Visual Studio 2010 - II de V

En la entrega anterior aprendimos a modificar las propiedades del proyecto y las propiedades de una característica mediante las herramientas de SharePoint incluidas en Visual Studio 2010. En la entrada de hoy vamos a añadir un receptor de eventos a la característica para que pueda escribir código en el modelo de objetos de SharePoint el cual se ejecutará automáticamente durante la activación y desactivación de la misma. En concreto, el contenido proporcionado por el laboratorio es:

Agregando un receptor de eventos a una característica

En nuestro proyecto ContosoWebParts, vamos a añadir un receptor de eventos haciendo clic derecho con el ratón sobre el nodo principal de la característica (Main) en el explorador de soluciones para seleccionar en el menú contextual la opción Add Event Receiver.

image 

Una vez agregado un receptor de eventos, se abrirá el archivo de origen denominado Main.EventReceiver.cs. Inspeccionemos lo que hay dentro. Podemos ver que dentro de la definición de clase, están comentados los métodos específicos para la activación, desactivación, instalación y desinstalación de la feature. También un atributo GUID que se ha aplicado a la clase de receptor para proporcionar un identificador único. No elimine el GUID de la clase, ya que se utilizará durante el proceso de empaquetado. Elimine el comentario de los dos métodos con el nombre de FeatureActivated y FeatureDeactivating quedando el código como se muestra a continuación.

image 

Vamos a implementar el método FeatureActivated para modificar la propiedad Title y la propiedad ImageUrl del sitio de nivel superior y para llamar al método Update para guardar estas modificaciones en la base de datos de contenido. Antes de cambiar la propiedad Title, el código deberá llevar un seguimiento y control del valor original para que la característica pueda restaurarlo en el proceso de desactivación de la misma. Implementaremos el método FeatureActivated utilizando los siguientes pasos:

  • Obtención de la referencia que apunte a la colección de sitios donde la característica será activada mediante SPSite.
  • Obtención de la referencia que apunte al nivel superior de la colección de sitios mediante SPWeb.
  • Consultar la propiedad Title del sitio de nivel superior y almacenar el valor como un par de nombre/valor dentro de la colección SPWeb.Properties.
  • Modificar la propiedad Title del sitio con el valor de texto “VS2010 SPT Rocks”.
  • Modificar la propiedad SiteLogoUrl del sitio para que apunte a la imagen SiteIcon.gif dentro del directorio Images (_layouts/images/ContosoWebParts/SiteIcon.gif)

image 

Seguidamente vamos a implementar el método FeatureDeactivating para que mediante el código se restaure el valor original de la propiedad Title y proporcione una cadena vacía a la propiedad SiteLogoUrl.

image 

Ahora, una vez guardado todo, tan sólo queda hacer clic con el botón derecho del ratón en el proyecto ContosoWebParts en el Explorador de soluciones y ejecutar el comando Generar para que el código se compila. Si tiene errores de compilación en el código, arreglarlos hasta que son capaces de ejecutar el comando Generar sin ningún error.

----------------------------------------------------------------------------------------------------
Lab SharePoint Development With Visual Studio 2010 – I de V
Lab SharePoint Development With Visual Studio 2010 – II de V​
Lab SharePoint Development With Visual Studio 2010 - III de V​
Lab SharePoint Development With Visual Studio 2010 - IV de V
Lab SharePoint Development With Visual Studio 2010 - V de V
----------------------------------------------------------------------------------------------------

RSS Puntocompartido 

1 - 10Siguiente
Rubén Alonso Cebrián
- MVP SharePoint Server -
 
Nuevo Libro en español: