Microsoft Touch pack para Windows 7!

Tal y como podéis leer en este enlace, Microsoft acaba de liberar el Microsoft Touc pack para Windows 7. Se trata de un conjunto de componentes y aplicaciones que permiten demostrar las capacidades táctiles de Windows 7:

  • Microsoft Surface Globe
  • Microsoft Surface Collage.
  • Microsoft Surface Lagoon.
  • Microsoft Surface Lagoon.
  • Microsoft Rebound.
  • Microsoft Garden Pond.
surface_globe_thumb_1B1739E2 surface_collage_thumb_2E2840C1 MicrosoftBlackboard2009041713560927_thumb_39612F31
MicrosoftRebound2009041713415190_thumb_68CF9DFD MicrosoftGardenPond2009041713401627_thumb_66466C3F  

Más detalles sobre el pack en el blog del equipo de Windows 7.

Windows Azure: Actualizadas las Azure Tools para Visual Studio!

Ya tenemos disponible una nueva actualización de las Windows Azure Tools para Visual Studio. Tal y como nos comenta Jason Zander en su blog, la nueva release incluye, entre otras, las siguientes novedades:

  • Soporte para Visual Studio 2010 Beta 1…simplemente una noticia genial!
  • Actualizado el soporte para Visual Studio 2008.
  • Mejorada la integración de Visual Studio con el Development Fabric y el Development Storage.

La idea de esta nueva release es la que ya se comentó en el pasado PDC 2008 y en las sucesivas versiones de las tools: no se trata de aprender y adquirir nuevas skills, sino aprovechar los conocimientos de desarrollo que ya tenemos en plataforma .NET para desarrollar aplicaciones en la nube.

image

WSS 3.0 & MOSS: Uso de los .NET 3.5 Chart Controls en SharePoint!

Hace unos meses os hablaba de que Microsoft había liberado los Microsoft chart Controls para .NET Framework 3.5. Estos controles, basados en los excelentes componentes de visualización de Dundas nos permiten añadir gráficos visualmente ricos a nuestras aplicaciones ASP.NET y Windows Forms. Para poder utilizarlos en nuestros desarrollos, necesitaremos:

Con los requisitos previos, ya estamos listos para empezar a usar los Chart Controls en nuestras aplicaciones:

  • En mi caso, he creado un proyecto de tipo aplicación ASP.NET.
  • En el markup de la página Default he añadido el código que tenéis más abajo.
  • A través de la opción View in Browser comprobamos que el gráfico se visualiza correctamente y que tiene una pinta interesante.
image image image

Este es el código que he añadido a la página ASP.NET del proyecto:

    <title>Untitled Page</title>

    <script runat="server">

        protected void Page_Load(object sender, EventArgs e)

        {

            Series series = new Series("Spline");

            series.ChartType = SeriesChartType.Spline;

            series.BorderWidth = 3;

            series.ShadowOffset = 2;

 

            series.Points.Add(67);

            series.Points.Add(57);

            series.Points.Add(83);

            series.Points.Add(23);

            series.Points.Add(70);

            series.Points.Add(60);

            series.Points.Add(90);

            series.Points.Add(20);

            Chart1.Series.Add(series);

        }

    </script>

Llevando la página a SharePoint

Para poder desplegar la página en SharePoint, y yendo a lo fácil:

  • En primer lugar, modificamos la etiqueta Page de nuestra página para que sólo contenga:

<%@ Page Language="C#"%>

  • Modificamos el web.config de nuestro sitio de SharePoint para:
    • Permitir la ejecución de páginas ASP.NET con código InLine (no es una buena práctica, pero nos sirve para propósitos demostrativos) modificando la sección <PagePaserPaths>:

      <PageParserPaths>

                        <PageParserPath VirtualPath="/Shared Documents/*" AllowServerSideScript="true" CompilationMode="Always"/>

      </PageParserPaths>

    • Añadimos el ensamblado de los Chart Controls en la sección <SafeControls>:

      <SafeControl Assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"  Namespace="System.Web.UI.DataVisualization.Charting" TypeName="*" Safe="True" AllowRemoteDesigner="True"/>

    • Añadimos a la sección <httpHandlers>:

<add verb="*" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>

    • Añadimos debajo de </System.Workflow.Componentmodel.WorkflowCompiler> la siguiente sección <appSettings> (Nota: En MOSS posiblemente esta sección ya exista por lo que con añadir la linea referente a los Chart Controls es suficiente).

<appSettings>

    <add key="ChartImageHandler" value="storage=memory;timeout=20;URL=/_layouts/Images/MicrosoftChartControls/" />

</appSettings>

  • Creamos dentro de la carpeta Images del directorio 12 una carpeta con las imágenes que necesitan los Chart Control (estas imágenes las podemos obtener de los ejemplos de Chart Controls para ASP.NET).
  • Subimos la página a la biblioteca de documentos y comprobamos que funciona sin problemas.
image image

Y hasta aquí llega este post sobre como usar los Chart Controls de forma sencilla en sitios de SharePoint. Espero que el post os haya resultado interesante.

Fuente: Use Microsoft Chart Controls for .NET Framework in a SharePoint web site.

Novedades en Visual Studio 2010: Soporte de F#!

Otra de las novedades interesante de Visual Studio 2010 es el soporte de serie del nuevo lenguaje de programación en plataforma .NET: F#. Este nuevo y joven lenguaje se caracteriza fundamentalmente por ser un lenguaje funcional híbrido:

  • Es funcional porque:
    • Es completamente declarativo.
    • Es un lenguaje expresivo y elegante :-).
  • Es híbrido porque:
    • Es multi-paradigma.
    • Soporta orientación a objetos.
    • Se deriva del lenguaje funcional ML, y como él, permite programar de forma imperativa.

Antes de empezar a probar F#, os dejo algunos enlaces de interés sobre lenguajes funcionales y F#:

Empezando con F# en VS 2010

Para empezar a jugar con F# en VS 2010, lo tenemos realmente fácil:

  • En primer lugar, creamos un proyecto de tipo F# Tutorial en el que podremos ver las nociones básicas de sintaxis de este lenguaje.
  • Una vez familiarizados con la sintaxis del lenguaje, ya estamos listos para hacer nuestras primeras pruebas. Para ello, creamos un proyecto de tipo F# Application y ya estamos listo.
image image image
Para empezar, vamos a ver como trabajar con tipos enteros en F#. Por ejemplo, añadimos el siguiente código al archivo Program.fs:
  • Básicamente, fijaros que la clave para declarar e inicializar tipos enteros pasa por usar la palabra clave let y luego realizar la asignación de forma directa (inferencia de tipos) del valor entero.
  • Lo mismo aplica a la hora de definir operaciones entre enteros.
  • Para sacar por pantalla los valores de los tipos definidos, usaremos la sentencia printfn indicando el tipo de dato de salida (%d indica que se trata de un entero).
  • Como curiosidad, la sentencia Open System nos permite abrir espacios de nombre estándar de .NET Framework y utilizarlos en F#.

#light

//open standard namespaces

open System

let int1 = 1

let int2 = 2

let int3 = int1 + int2  

printfn "int1 = %d" int1

printfn "int2 = %d" int2

printfn "int3 = %d" int3

Sin más, comprobamos la salida por pantalla:

image

Otra capacidad interesante de F# es la de que nos permite definir y evaluar funciones matemáticas de forma sencilla medainte let f. Por ejemplo:

//Functions on integers…  

let f x = 2*x*x – 5*x + 3  

// The result of a simple computation

let result = f (int3 + 4)  

printfn "result = %d" result  

Console.ReadLine()

La correspondiente salida por pantalla es la que a continuación se muestra:

image

La misma filosofía comentada aplica cuando trabajamos con cadenas. De nuevo os destaco que poemos usar funciones de otras librerías .NET en nuestro código C#. Por ejemplo, en este caso estamos usando la función Join para concatenar dos cadenas:

// Strings…

let stringA  = "Hello"  

let stringB  = "world" 

/// "Hello world" computed using string concatentation

let stringC  = stringA + " " + stringB

printfn "stringC = %s" stringC  

/// "Hello world" computed using a .NET library function

let stringD = String.Join(" ",[| stringA; stringB |])

printfn "stringD = %s" stringD

Console.ReadLine()

La correspondiente salida por pantalla es la siguiente:

image

Finalmente, todo lo visto aplica cuando queramos trabajar con arrays. Por ejemplo, si tenemos un array de números, podemos calcular de forma sencilla el cuadrado de sus elementos de la siguiente forma:

let square x =x * x  

let numbers =[1 .. 15]  

let squares = List.map square numbers  

printfn "Numbers squared = %A" squares   

Console.ReadLine()

Y la salida por pantalla correspondiente es:

image

Y hasta aquí llega lo que os quería contar sobre F#. Espero que el post os haya resultado interesante.

Gemini: Un par de vídeos demostrativos!

Hace unos meses os hablaba sobre las buenas impresiones que me había causado Microsoft Gemini, un nuevo componente de la plataforma de BI de Microsoft pensado para explotar datos de forma masiva, con un rendimiento aceptable y generar modelos de análisis que luego se pueden compartir vía SharePoint y Excel Services. En esta ocasión os dejo un par de vídeos para que podáis ver en vivo las capacidades de Gemini.

  • Creación de un modelo con Gemini y Excel:
  • Como compartir el modelo de Gemini en la web mediante SharePoint y Excel Services:

Fuente: Blog del equipo de BI.

SharePoint Online: Recopilatorio de enlaces de interés (I)!

Aprovechando que estos días estoy mirando con un poco más de detalle las prestaciones de la versión de SharePoint en la nube (SharePoint Online), he decidido iniciar una serie de post en los que iré recopilando información relativa a este tema de forma que sean una referencia rápida a información variada en torno a nuestra plataforma de colaboración favorita ;-).

Artículos, Recursos & Documentación

Questions & Answers

Otras informaciones de interés

Blogs sobre MOS en general y SharePoint Online en particular

image

SharePoint 2010: Otra forma mejor de superar la limitación de los 64 bits ;-)!

Hace unos días os contaba una de las posibilidades con las que contaremos para superar la limitación de 64 bits que vendrá con SharePoint 2010. Esta opción pasaba por utilizar VMWare en cuanto a que nos permite crear máquinas virtuales de 64 bits siempre y cuando tengamos un sistema operativo (S.O) de 64 bits (en mi caso tengo un Windows Vista Ultimate de 64 bits). El caso es que he seguido dándole vueltas al asunto, y a base de darle vueltas es como he llegado a otra alternativa de virtualización (de momento gratuita) que nos permite crear nuestras máquinas virtuales de 64 bits de una forma bastante flexible. Se trata de VirtualBox, una herramienta de virtualizacion creada por Sun, multiplataforma y he de decir que tiene una interfaz de usuario muy amigable y usable. Volviendo al tema de los 64 bits, VirtualBox nos permite crear en un S.O de 64 bits máquinas virtuales de 64 bits de Windows Vista, Windows 7 (si, Windows 7…el software está muy actualizado), Windows Server 2008 e incluso Windows Server 2008 R2. Pero, pasemos a la práctica…vamos a ver como podemos crear una máquina virtual de Windows Server 2008 R2 con VirtualBox ideal para instalar la nueva versión de SharePoint…más de uno (me incluyo) respirará tranquilo ;-).

Creación de una máquina virtual con VirtualBox

Una vez instalado VirtualBox en nuestro para crear una nueva máquina virtual:

  • Simplemente pulsamos el botón Nueva.
  • En la siguiente pantalla simplemente pulsamos Siguiente
  • En la siguiente pantalla especificamos el nombre de la máquina virtual y elegimos el sistema operativo a utilizar (es interesante comprobar como podemos elegir entre sistema operativo Windows, Linux, Solaris, BSD, IBM OS 2). En este caso seleccionamos la opción Windows 7 (64 bits) para instalar un Windows Server 2008 R2 RC ya que VirtualBox no ofrece la posibilidad de instalar esta versión de S.O (la arquitectura es la misma ;-), por lo que no hay problema).
  • Pulsamos Siguiente.
image image image

  • Ajustamos la memoria de la máquina virtual. Pulsamos Siguiente.
  • En la siguiente pantalla dejamos marcada la opción Create new hard disk y pulsamos Siguiente.
  • En la siguiente pulsamos Siguiente.
image image image

  • En la siguiente pantalla elegimos el tipo de almacenamiento (aquí tienen que revisar alguna traducción :PP)).
  • Pulsamos Siguiente.
  • En la siguiente pantalla elegimos el path dónde se guardará la máquina virtual y el tamaño máximo del disco.
  • En la siguiente pantalla pulsamos Terminar y listo.
image image image

Instalación de Windows Server 2008 R2 RC en la máquina virtual

Una vez creada la máquina virtual, vamos a ver si somos capaces de instalar Windows Server 2008 R2 RC (64 bits):

  • Arrancamos la máquina virtual desde la consola de administración de VirtualBox.
  • De esta forma se iniciará un asistente que nos guiará por las configuraciones iniciales de la máquina virtual. Pulsamos Siguiente.
  • En la nueva pantalla especificamos el medio de instalación. Dejamos la opción marcada por defecto (Unidad CD/DVD). Pulsamos Siguiente.
image image image

  • En la siguiente pantalla pulsamos Terminar.
  • Si todo ha ido bien, se tiene que iniciar el proceso de instalación de Windows Server 2008 R2 RC.
image image image
image image image

Pues nada, aunque tiene algunas cosas que no me gusta, VirtualBox es un buen candidato para salir del apuro de sólo tener una versión de SharePoint de 64 bits. Espero que el post os haya resultado interesante.

SQL Server 2008: Disponible el Developer Training Kit!

Desde hace unos días tenemos disponible para descarga el SQL Server 2008 Developer Training Kit. Este Kit está pensado para facilitar una mayor comprensión de como utilizar los nuevos tipos de datos, paradigmas de programación y modelos que forman parte de SQL Server 2008:

  • Presentaciones:
    • Filestream
    • Spatial
    • T-SQL
    • Date and Time Types
    • SQLCLR
    • Reporting Services
  • Demos:
    • AdventureWorks Racing All-Up SQL Server 2008 Demo
    • SQL Server 2008 All-Up Spatial Demo
    • Spatial Types Demo
    • Intro to Filestream Demo
    • SQL CLR Nullable Types Demo
    • Programming with Filestream Demo
    • Reporting Services Web Application Integration Demo
    • Date and Time Support in SQL Server 2008 Demo
    • T-SQL Table-Valued Parameters Demo
    • T-SQL Row Constructors Demo
    • T-SQL Grouping Sets Demo
    • T-SQL Merge Demo
  • Hands-on Labs:
    • Using Spatial Data in TSQL
    • Using Spatial Data in Managed Code
    • Using SQL CLR in SQL Server 2008