Comunidad Usuarios Microsoft Uruguay
Inicio de sesión
Iniciar la búsqueda
SQL Azure DataSync - Como migrar una Base a SQL Azure y no morir en el intento
Hace un tiempo atrás escribí un documento acerca de cómo migrar una B.D a SQL Azure. Dicho proceso no era para nada sencillo por cierto... Por suerte para nosotros, Microsoft liberó en su versión CTP una herramienta llamada SQL Azure Data Sync ◦SQL Azure Data Sync Tool for SQL Server: Esta herramienta contiene un asistente que le ayuda a los usuarios a través del proceso de conexión a SQL Azure, automatizando el proceso aprovisionamiento y sincronizacion de datos entre una base local y una base en Azure. Esta herramienta esta pensada para administradores de base de datos desarrolladores que quieran sincronizar rapidamente base de datos sin tener que escribir codigo. ◦Visual Studio 2008 Template: Para usuarios que quieran tener una base SQL Azure fuera de linea, este template simplifica la tarea de crear un cache de datos offline. Usando este template, los desarrolladores pueden elegir las tables que quieren bajar. Despues de completar el asistente, una base SQL Compact sera creada y el codigo sera generado para sincronizar los cambios on demand entre la base SQL Azure y SQL Compact Pre Requisitos Baje la versión de 32 bits del Microsoft Sync Framework 2.0 además del Microsoft Sync Framework Power Pack for SQL Azure November CTP. Note que es muy importante que instale la version de 32 bits del Microsoft Sync Framework, aún si lo estamos corriendo en una máquina con Windows 64 bits porque el Power Pack for SQL Azure CTP solo provee soporte para 32 bits. Como migrar una base Paso a Paso Espero les sea de utilidad, hasta la próxima!
Presentación de Windows Azure de L&A Sistemas

Quiero compartir un video de la presentación que está proponiendo L&A Sistemas para el próximo Run 2.0 a llevarse en Montevideo. Creo que es una presentación que abarca todas las características de Azure y explica y demuestra todas sus funcionalidades. Próximamente les estaré pasando el link para que puedan votar por la misma y así, Alvaro y Leonardo nos expliquen con sumo detalle todo este nuevo mundo de la nube.

Ver video

Formularios Personalizados en listas de Sharepoint 2010 para crear elementos

En esta ocasión vamos a ver algo que a mí me gustó mucho por la versatilidad que le da para la creación de formularios personalizados para las lista. La idea es crear un formulario con InfoPath rápidamente para manejar la creación de elementos en las listas.
Una vez en la lista en la barra de herramientas tenemos un icono, como podemos ver en la imagen 1 que nos permitirá crear o editar un formulario con Infopath para el manejo de elementos en la lista.

[Imagen 1]
1_Ribon_Lista

Al seleccionar este icono el cliente InfoPath se nos abrirá (se debe tener instalado Infopath en la máquina que se está trabajando) y nos cargara una vista del formulario en el diseñador como podemos ver en la imagen 2.

[Imagen 2]
2_Infopath_Fomulario_Edicion

Ahora disponemos de todas las funcionalidades que tiene Infopath 2010 para modificar el formulario como lo necesitemos. En la imagen 3 podemos apreciar como modifique el formulario que estamos trabajando.

[Imagen 3]
3_Formulario_Moficado

Una vez que terminamos de crear el formulario como deseamos, lo próximo que vamos hacer es publicar el mismo. La publicación se llevara a cabo en Form Services de Sharepont 2010, por lo que las restricciones que el formulario tienen se realizarán cuando estemos publicando el mismo. Para acceder a la publicación vamos a la sección “File” como podemos ver en la imagen 4.

[Imagen 4]
4_Publicando_Formulario

Al seleccionar la opción publicación rápida el proceso comenzara, dado que el formulario se abrió desde la lista no necesitamos ingresar ninguna configuración, una vez que el proceso finalice se nos desplegara un mensaje indicando lo sucedido como podemos ver en la imagen 5.

[Imagen 5]
5_Formulario_Publicado

Ahora podemos acceder a la lista correspondiente y vamos a crear un nuevo elemento, como pueden ver en la imagen 6, el formulario que se nos abre es el creado con Infopath y no el que estaba predeterminado en la lista.

[Imagen 6]
6_Creando_Elemento_En_Lista

En la imagen 7 podemos ver el mismo formulario, pero esta vez cuando tratamos de editar un elemento de la misma lita.

[Imagen 7]
7_Editando_Elemento_En_Lista

Si queremos volver al formulario predeterminado de la lista, debemos acceder a la configuración de la misma y después seleccionar la opción de configuración de formularios. Como podemos ver en la imagen 8, solamente tenemos que seleccionar que se vuelva a usar el formulario predeterminado y si queremos borrar el formulario de InfoPath.

[Imagen 8]
8_Borrando_Configuración_Infopath

Como habrán podido observar la creación de formularios personalizados es mucho más sencillo y rápido. De todas formas, todas las opciones que teníamos disponible en la versión 2007 se encuentran disponibles en la versión 2010 y las estaremos viendo cuando hablemos del Sharepoint Designer 2010.

Fabián Imaz

Nuevas funcionalidades en las listas de Sharepoint 2010.

Vamos a ver las nuevas funcionalidades que incorporo Sharepoint 2010 en las listas. Funcionalidades que hicieron que el manejo de listas se torne mucho más robusto y muchas de las cuales nosotros mismos teníamos que desarrollar para tenerlas disponibles en la versión 2007.
Lo primero a destacar es la ventana modal que se nos abre para crear una lista la cual está desarrollada en Silverlight y donde contamos con todas las opciones de creación disponibles como podemos ver en la imagen 1.

[Imagen 1]
1_Create_List_Page

Una vez que introducimos los datos de la lista, Sharepoint 2010 nos llevara la home dela misma como podemos ver en la imagen 2 y acá lo más destacable es la nueva barra de herramientas, Ribon, que incorpora esta versión de Sharepoint 2010.

[Imagen 2]
2_Ribon_ToolBar

En la nueva barra de herramientas encontraremos acceso a las funciones para la configuración de las listas una de ellas es acceder a la configuración de la misma. En la imagen 3 podemos apreciar la página de configuración.

[Imagen 3]
3_Opciones_de_Configuracion

En esta ocasión estaremos hablando de 3 nuevas características incorporadas en las listas y a una de ellas le dedicaremos un post independiente dado que es una funcionalidad que vale la pena destacar. La configuración “Configuración de formularios” la veremos en el próximo artículo.

Lo primero a destacar son las nuevas configuraciones que tenemos al crear una nueva columna en nuestra lista, la primera de todas es la posibilidad de establecer que los valores para el campo que estamos creando sean únicos, en la imagen 4 podemos vemos como configurar esta opción.

[Imagen 4]
4_Creacion_Columna_Unique

Al crear un elemento para una lista lo primero que tenemos que destacar es que se nos abre una nueva venta modal para cargar los valores. Al intentar guardar un elemento en la lista donde uno de los valores introducidos para un campo que tiene habilitado la configuración de valores únicos Sharepoint 2010 nos informara que esto es incorrecto, como podemos ver en la imagen 5.

[Imagen 5]
5_Validation_Field_Unique

Otra característica importante que agrega Sharepoint 2010 a la hora de crear una columna para una lista es la posibilidad de configurar una validación específica al campo. Esta validación se basa en la creación de una fórmula que se ejecutara a la hora de guardar el mismo cómo podemos ver en la imagen 6.

[Imagen 6]
6_Creacion_Columna

Al establecer una validación personalizada sobre un campo de la lista la misma será ejecutada al tratar de guardarlo el elemento en la lista, en la imagen 7 podemos ver cuando intentamos guardar un campo que no cumple con la validación establecida y como nuestro mensaje de error cargado es mostrado al usuario.

[Imagen 7]
7_Validation_Field

Otra de las nuevas características que incorporan las listas es la posibilidad de crear una validación para toda la lista, a diferencia de la validación anterior, esta validación se ejecutara para todos los elementos de la lista, en la imagen 8 podemos ver como creamos una validación utilizando dos campos de la propia lista.

[Imagen 8]
8_Creating_Validation_For_The_List

Cuando tratamos de guardar un elemento de la lista que no cumpla con la regla establecida, Sharepoint 2010 nos mostrara el mensaje de error establecido para dicha regla como podemos ver en la imagen 9.

[Imagen 9]
9_Validation_For_The_List

La última características que quiero mostrar en este artículo es la capacidad de agregar una columna de votación a cada elemento de una lista. Para lo cual accedemos a la opción de la configuración de la lista y establecer que “Sí” para que una nueva columna sea creada en al lista, en la imagen 10 podemos ver la sección de configuración de la lista.

[Imagen 10]
10_Settings_Rating_In_Itmes_Of_The_List

Una vez configurado la opción de votación, al acceder a los elementos de la lista podemos ver una nueva columna en la vista que nos permite votar por cada uno de los elementos de la misma, como podemos ver en la imagen 11.

[Imagen 11]
11_Ratint_In_Items_Of_The_List

Seguiremos adentrándonos en las funcionalidades y características de la nueva versión de Sharepoint 2010.

Fabián Imaz

WebCast de Desarrollo SharePoint 2010

En esta ocasión quiero invitarlos a que asistan a una serie de Webcast sobre Sharepoint 2010 que mi buen amigo Haaron Gonzalez estará dictando. No se lo pueden perder!

1425_sp2010_21_0BC14014

Para más información WebCast de Desarrollo SharePoint 2010

Fabián Imaz

Todo en uno: All-In-One Code FrameWork
Buscando unos ejemplos de código para un problemita que tenía, me encontré con CodeFX, también conocido como All-In-One Code FrameWork y me pareció que valía la pena compartir el "hallazgo" con uds.
 
Como ya habrán deducido por su nombre, All-In-One Code Framework es una gran biblioteca de ejemplos de código (actualmente tiene 290 y aumentando) en 3 lenguajes de programación distintos (C#,C++ y VB .NET) que agrupa 24 tecnologías de Microsoft (Windows 7,Silverlight 3,WPF, etc) y que está en permanentemente en fase de revisión y ampliación.
 
Según los creadores se diferencian de MSDN y CodeProject, ya que los ejemplos de CodeFx son típicos, extensibles, estructurados, completos, bien documentados y faciles de entender.
 
 
La página del proyecto: http://cfx.codeplex.com/
 
 
Sin duda una gran biblioteca de conocimiento, que vale la pena ver
 
Saludos y espero les sirva!
Silverlight + Sharepoint 2010, demostración del Run Reload, Argentina

Quiero compartir con todos ustedes la demostración que hicimos en el evento Run Reload en Buenos Aires, Argentina. Está demostración combina el poder de Silverlight 3.0 y la nueva versión de la plataforma Sharepoint Server 2010. La misma muestra una aplicación realizada para contestar una encuesta confeccionada en Sharepoint Server 2010, tomando los datos de una lista y guardando los resultados proporcionados por el usuario en la lista.
Tengo que agradecer a Alvaro (Siderys Elite Software) que estuvo trabajando varias horas en la creación, animación y estética de la aplicación Silverlight, sin él la misma no se podría haber realizado, gracias!!!

http://silverlight.services.live.com/invoke/110881/Survery%20-%20Sharepoint/iframe.html


En los próximos días estaremos publicando el artículo completo de como podemos hacer la misma y la aplicación Silverlight parametrizada para que la puedan usar con cualquier encuesta en Sharepoint 2010.

Fabián Imaz

Microsoft Codename "Dallas"
Ya hace bastante tiempo que en L&A SISTEMAS venimos “jugando” con los servicios de Windows Azure y SQL Azure.
 
Mirando las novedades del PDC 2009, nos encontramos con varias novedades y nos hemos propuesto probarlas una a una. La primera de ellas es “Dallas”.
 
¿Pero, Qué es Dallas?
 
Es un servicio de datos, como ha dicho Ray Ozzie… "Data as a Service". Permite a los desarrolladores e ‘information workers’ encontrar y consumir los conjuntos de datos que necesiten para alimentar sus aplicaciones.
 
Por otro lado nos permite que (si nosotros como proveedores de datos), demos de alta nuestros servicios en el repositorio, para que cualquier consumidor de Dallas pueda buscarlo y utilizarlo. Los datos que exponemos luego pueden ser consumidos incluso desde Excel
 
Aquí pueden encontrar algunos escenarios: http://www.microsoft.com/windowsazure/dallas/
 
 
En Channel 9 pueden encontrar un Hands On Lab que fue el que utilizamos nosotros para jugar un poco con el servicio. http://channel9.msdn.com/learn/courses/Azure/Dallas/IntroToDallas/Overview/
 
Cabe aclarar que necesitan un codigo de invitacion que demora unos dias en obtenerse y ademas deben tener instalado el Windows Azure Platform Kit de Noviembre de 2009.
 
Ejemplo de acceso a la información
 
 class Program
    {
        static void Main(string[] args)
        {
            //Especifica la clave de la cuenta y el user id
            string accountKey = "0qskpSR1tYaz0pLnyL9....";
            string uniqueUserId = "f414bab2-8726-480b-....";
            // Crear el proxy del servicio
            NewsCategoriesService service = new NewsCategoriesService(accountKey, new Guid(uniqueUserId));
            // Invocar la consulta con los parametros necesarios (Varian de acuerdo al servicio que invoquemos)
            List<NewsCategoriesItem> results = service.Invoke();
            // Iterar a traves del resultado
            foreach (NewsCategoriesItem item in results)
            {
             Console.WriteLine(item.Title);
            }
            Console.ReadLine();
        }
    }
 
 
(Para los que me conocen -> Si, esta escrito en C# ... :) )
 
Hasta la próxima!!!
Windows Azure Storage Client v1.0

El paquete de Noviembre de 2009 del SDK de Windows Azure y herramientas ha introducido para la muchachada una API totalmente renovada StorageClient v 1.0 que ahora es una parte integral de la liberación de Azure, en lugar de ser sólo un ejemplo como sucedia anteriormente (Para más información consulte nuestros post anteriores acerca del tema de almacenamiento en Azure). La API de StorageClient incluye cerca de 70 clases repartidas en 3 espacios de nombres:

Microsoft.WindowsAzure.StorageClient.dll

La funcionalidad de cliente de almacenamiento se encuentra en Microsoft.WindowsAzure.StorageClient.dll.
Esta funcionalidad se expone a través de cerca de 70 clases repartidas en 3 espacios de nombres:


Microsoft.WindowsAzure
Microsoft.WindowsAzure.StorageClient
Microsoft.WindowsAzure.StorageClient.Protocol


El espacio de nombres Microsoft.WindowsAzure proporciona funcionalidad en cuenta de almacenamiento. El espacio de nombres Microsoft.WindowsAzure.StorageClient proporciona la funcionalidad de clave de almacenamiento del cliente.
La clase Microsoft.WindowsAzure.StorageClient.Protocol proporciona la funcionalidad de bajo nivel relacionados con las llamadas REST al servicio de almacenamiento de Azure y no está cubierto en este post.

Espacio de nombres Microsoft.WindowsAzure

El espacio de nombres Microsoft.WindowsAzure comprende clases relacionadas con las cuentas de almacenamiento y credenciales:


CloudStorageAccount
StorageCredentials
StorageCredentialsAccountAndKey
StorageCredentialsSharedAccessSignature


CloudStorageAccount expone información de cuenta y clave, y es capaz de analizar el archivo de configuración para recuperar esta información.
StorageCredentials es una clase base abstracta para StorageCredentialsAccountAndKey, el soporte a las credenciales de clave compartida,
y StorageCredentialsSharedAccessSignature usadas para crear firmas compartidas para el acceso a blobs.

La clase CloudStorageAccount se declara:


public sealed class CloudStorageAccount {
// Constructors
public CloudStorageAccount(StorageCredentialsAccountAndKey storageCredentialsAccountAndKey, Boolean useHttps);
public CloudStorageAccount(StorageCredentials storageCredentials, Uri blobEndpoint, Uri queueEndpoint, Uri tableEndpoint);

// Properties
public Uri BlobEndpoint { get; }
public StorageCredentials Credentials { get; }
public static CloudStorageAccount DevelopmentStorageAccount { get; }
public Uri QueueEndpoint { get; }
public Uri TableEndpoint { get; }

// Methods
public static CloudStorageAccount FromConfigurationSetting(String settingName);
public static CloudStorageAccount Parse(String value);
public static void SetConfigurationSettingPublisher(Action<STRING,FUNC> configurationSettingPublisher);
public String ToString(Boolean exportSecrets);
public static Boolean TryParse(String value, out CloudStorageAccount account);

// Implemented Interfaces and Overridden Members
public override String ToString();
}


La clase CloudStorageAccount es esencial para el cliente de almacenamiento, ya que cualquier intento de utilizar el servicio de almacenamiento de Azure comienza por la creación de una instancia del mismo.
Los servicios de Windows Azure services utilizan el archivo de configuración para almacenar información de su cuenta tales como nombre y clave.
Una simple llamada al método estático FromConfigurationSetting() será suficiente para crear un CloudStorageAccount objeto correctamente inicializado a partir del archivo de configuración.
Sin embargo, un intento de hacer esto producirá un error en tiempo de ejecución porque no se ha especificado un valor de configuración de Publisher.
La solución a esto es invocar la SetConfigurationSettingPublisher() en el nuevo método OnStart() para el rol.
El código necesario para hacer esto es bastante retorcido, y la técnica más simple para hacerlo funcionar es la de copiarlo directamente del ejemplo de los thumbnails que viene con el SDK de Azure v1.0.


Es posible ignorar al archivo de configuración y crear un objeto de CloudStorageAccount de un objeto StorageCredentialsAccountAndKey como se muestra a continuación:

StorageCredentialsAccountAndKey storageCredentialsAccountAndKey = new StorageCredentialsAccountAndKey("ACCOUNT_NAME",
"ACCOUNT_KEY");
CloudStorageAccount cloudStorageAccount = new CloudStorageAccount(storageCredentialsAccountAndKey, true);


Esto hace que el cliente de almacenamiento vaya directamente contra el almacenamiento en la nube con la cuenta indicada.
Tenga en cuenta que la sustitución del ACCOUNT_NAME y ACCOUNT_KEY con las de almacenamiento de desarrollo no causa que sea usado el almacenamiento de desarrollo y causa un error de ejecución.
Sin embargo, la propiedad DevelopmentStorageAccount es un objeto pre instanciado del tipo CloudStorageAccount que puede ser utilizado para el acceso al almacenamiento de desarrollo:

CloudStorageAccount cloudStorageAccount = CloudStorageAccount.DevelopmentStorageAccount;


Espacio de nombres Microsoft.WindowsAzure.StorageClient

Este espacio de nombres es el núcleo del cliente de almacenamiento y dispone de casi 40 clases de apoyo a la gama completa de funcionalidad para blobs,
las tablas y las colas. Las clases son enumeradas aquí, junto con un breve resumen del uso de las mismas. Casi toda la funcionalidad se ofrece tanto en forma sincrónica y asincrónica. Por ejemplo, la clase CloudQueue soporta adición de mensajes sincrónica y asincrónica a una cola a través de los siguientes métodos:

public void AddMessage(CloudQueueMessage message, TimeSpan timeToLive);
public void AddMessage(CloudQueueMessage message, TimeSpan timeToLive);
public void AddMessage(CloudQueueMessage message);
public IAsyncResult BeginAddMessage(CloudQueueMessage message, TimeSpan timeToLive, AsyncCallback callback, Object state);
public IAsyncResult BeginAddMessage(CloudQueueMessage message, AsyncCallback callback, Object state);
public void EndAddMessage(IAsyncResult asyncResult);

Hasta la proxima!
1 - 10 Siguiente

 ‭(oculto)‬ Vínculos del administrador