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