May 2010 - Artículos
Hace unos días, estábamos haciendo en el CIIN unas pruebas de desarrollo en SharePoint 2010 en las que hacíamos uso de las sesiones…el caso es que en dichas pruebas, los objetos sesión venían siempre con un valor “null” por lo que durante un buen rato nos estuvimos estrujando la cabeza hasta que por fin encontramos una pista en este post de José Quinto Zamora. El problema está en que por defecto SharePoint 2010 tiene deshabilitado el uso de las sesiones ASP.NET como explica Mark Arend en este otro post. Ambos posts dan una solución para poder usar sesiones ASP.NET en SharePoint 2010, aunque la opción recomendada es la de Mark Arend a través del uso del comando PowerShell Enable-SPSessionStateService. La opción que comenta José Quinto Zamora es válida para escenarios en los que no se hace un uso pesado de las sesiones, es decir, el número de usuarios del sistema no es demasiado elevado…para escenarios con un alto número de usuarios, se podrían producir problemas de rendimiento.

El otro día me preguntaban sobre como se podía desplegar un flujo de trabajo reutilizable creado con SharePoint Designer 2010 (SPF 2010) en un entorno de desarrollo a un entorno de pre-producción o producción una vez que el flujo esté correctamente implementado. Como siempre, responder a una pregunta de este tipo te lleva a realizar la correspondiente prueba si no tienes una respuesta inmediata, aunque intuyas por donde van los tiros:
-
Lo primero que hay que hacer es crear en SPD 2010 un flujo de trabajo reutilizable (una de las novedades existentes en esta herramienta).
-
Creamos el flujo de forma que se pueda vincular posteriormente con cualquier tipo de contenido disponible en el sitio.
-
Una vez especificados los parámetros de creación del flujo, se muestra el diseñador de flujos de SPD 2010 (otra novedad).
-
En el diseñador del flujo, añadimos una única actividad que permita escribir un mensaje en la lista de historial.
-
Configuramos la actividad de forma adecuada y guardamos el flujo en el sitio de trabajo.
-
Una vez que el flujo se muestre en el listado de flujos disponibles, ya estamos listos para guardar el flujo como plantilla (se guarda como una solución .WSP). No es necesario publicar el flujo en el sitio, basta con guardarlo para poder utilizarlo en otros sitios.
-
Verificamos en la Administración Central de SharePoint que la solución se ha agregado de forma correcta y procedemos a implementarla ya sea desde la propia interfaz de usuario o mediante la línea de comandos (stsadm/PowerShell).
-
De esta forma, en los Sitios dónde hayamos implementado la solución aparece la correspondiente característica que tras ser activada hace disponible el flujo en el sitio y accesible desde SPD 2010.
Y hasta aquí llega este post sobre como desplegar flujos de trabajo re-utilizables creados con SPD 2010.
Una pregunta que seguro que va a ser recurrente cuando nos planteemos instalar SharePoint 2010 en nuestra organización es que versión de SQL Server usar teniendo en cuenta que ya tenemos SQL Server a nivel corporativo y que muy probablemente no será SQL Server 2008 R2. Como sabéis, SharePoint 2010 soporta SQL Server 2005 SP3 + CU3 (o superior), SQL Server 2008 SP1 + CU2 (o superior) y SQL Server 2008 R2. De estas tres versiones, la recomendada para SharePoint 2010 es sin duda SQL Server 2008 R2 ya que (como se resumen en este excelente post) aporta las siguientes ventajas:
- Comprensión de backups:
- Almacenamiento remoto de BLOB, disponible incluso en SQL Server 2008 R2 Express:
- Despliegue de contenidos usando snapshots:
- Resource governor para monitorizar cargas de trabajo, asignar CPU y Memoria.
- PowerPivot para SharePoint 2010, quizás la característica más diferencial ya que únicamente está disponbile en SQL Server 2008 R2 (Enterprise).

Como sabéis, una de las mayores novedades que tenemos a la hora de extender la plataforma SharePoint 2010 es la de disponer de serie de unas herramientas integradas en Visual Studio 2010 que nos facilitan construir WebParts, manejadores de eventos, flujos de trabajo, etc…y que simplifican el trabajo con características y soluciones, así como las tareas de depuración. Depurar uno de los artefactos para SharePoint 2010 que se pueden construir con Visual Studio 2010 es tan sencillo como pulsar la tecla F5. De esta forma se ejecutan una serie de pasos que facilitan esta depuración:
-
Se ejecutan los comando de pre-despliegue que se hayan indicados.
-
Se construye la solución .WSP con los elementos especificados.
-
Se recicla el pool de aplicaciones.
-
Se hace un retract de las versiones precias de la solución.
-
Se añade la solución.
-
Se activan todas las características incluidas en la solución.
-
Se ejecutan los comandos de post-despliegue indicados.
Y además de todo esto, se atacha el depurador de Visual Studio a los worker process de IIS para facilitar la depuración del elemento a desplegar. Todos estos pasos están disponibles en la pestaña SharePoint de la sección Properties del proyecto,junto con la posibilidad de marcar la opción de “Auto-retract after debugging” que elimina la solución desplegada una vez que hemos finalizado la depuración.
Microsoft acaba de lanzar un nuevo portal de recursos de SQL Server orientado en esta ocasión a todos aquellos aspectos que tenemos disponibles para conectarnos a SQL Server a través de distintas alternativas como ADO.NET Entity Framework, ODBC, OLEDB, etc. Podéis acceder al portal en este enlace.

Microsoft acaba de liberar un excelente recurso con el que podemos conocer de una forma visual y rápida la diferencia entre las diferentes versiones de producto que tenemos en SharePoint 2010: de Foundation a SharePoint Server Enterprise y a todos los niveles (desarrollo, funcionalidad). La comparativa la podéis encontrar en esta página.
Además, por cada funcionalidad clave de la plataforma podremos ir viendo el mismo tipo de comparación.
Una de las preguntas que seguro que a muchos les rondará la cabeza es en torno a los requerimientos HW y SW que necesita el amigo SharePoint. Como siempre, lo mejor en estos casos es recurrir a la información oficial de Microsoft:

Como siempre, cuando se estrena una nueva versión de un plataforma como SharePoint 2010 es fundamental disponer de recursos de formación para comprender y hacerse con ella lo antes posible. Por suerte, Microsoft en esta ocasión ha liberado una cantidad ingente de recursos que he intentado recoger en este post.
Recursos para IT Pro y desarrolladores
Todos los materiales para IT Pro. Además de estos:
Todos los materiales de desarrollo Desarrollo. Además de estos:
Otros recursos

Una necesidad que nos podemos encontrar cuando estamos trabajando con SharePoint 2010, sobre todo en el caso de realizar una migración, es la de extraer las soluciones .WSP que se encuentre almacenadas en el Solution Store. Desde la Administración central de SharePoint 2010 podemos ver las soluciones .WSP de dicho almacén, pero no tenemos forma de descargarnos una copia de las mismas:
-
Nos vamos a “Configuración del sistema”.
-
En la sección “Administración del conjunto de servidores”, pulsamos sobre “Administrar soluciones del conjunto de servidores.
-
De esta forma, accedemos a listado de soluciones disponibles en el Solution Store.
Para extraer estas soluciones:
- En Visual Studio 2010, creamos un proyecto de aplicación de consola para .NET Framework 3.5.
- Añadimos una referencia al modelo de objetos de SharePoint ( Microsoft.SharePoint.dll).
- Añadimos directivas using a Microsoft.SharePoint y Microsoft.SharePoint.Administration.
- Finalmente, añadimos el siguiente código:
|
Console.WriteLine("Iniciando el proceso de extracción de soluciones"); int iNumeroSoluciones=0; SPSolutionCollection spColeccionSoluciones = SPFarm.Local.Solutions; Console.WriteLine("Se han encontrado {0} soluciones a extraer", spColeccionSoluciones.Count); foreach (SPSolution spSolucion in spColeccionSoluciones) { SPPersistedFile spArchivoSolucion = spSolucion.SolutionFile; spArchivoSolucion.SaveAs(sPath + spArchivoSolucion.DisplayName); iNumeroSoluciones+=1; } Console.WriteLine( "Proceso de extración concluido. Se han extraido un total de {0} soluciones", iNumeroSoluciones);
|
De esta forma, copiaremos las soluciones del Solution Store en la ruta indicada.
Referencias:
Como sabéis, con SharePoint 2010 a nivel de administración mediante la interfaz de línea de comandos presenta la gran novedad de que Microsoft Windows PowerShell y los comandos específicos para SharePoint se convierten en la opción recomendada para la administración por esta vía frente a la herramienta stsadm. En este sentido, y para facilitarnos el paso de stsadm a PowerShell, en TechNet tenemos una estupenda guía que mapea las operaciones de stsadm a los comandos PowerShell equivalentes. Podéis acceder a la guía desde este enlace.

Una pregunta recurrente últimamente es si es posible usar firma digital en SharePoint. Por desgracia, las posibilidades que hay a día de hoy no son muchas. Aún así, os dejo algunas referencias que os pueden dar alguna idea al respecto:
Firmas de formularios Infopath
Uno de los elementos que disponen de cierta capacidad de firma digital son los formularios Infopath, inclusive si se publican en Infopath Forms Services. Como muestra, aquí van algunos ejemplos en los que se pueden ver un paso a paso de este escenario.
Proyecto de Codeplex de firma digital
Una aproximación más real a lo que se puede requerir (por ejemplo, firmar con el DNI electrónico en España desde SharePoint) la podemos encontrar en el proyecto SharePoint DigiDoc signature que permite firmar digitalmente documentos en SharePoint usando el equivalente al DNI electrónico de España, pero de Eslovenia. La página del proyecto es esta.
Productos de terceros
Finalmente, y gracias a Gustavo y Luis Panzano, no nos podemos olvidar de los productos de terceros. En este caso, el producto CoSign que ofrece la empresa Arx es más que interesante.
El otro día comentábamos Gustavo y yo que en SharePoint 2010 no había ni rastro de las capacidades de Single Sign On (SSO) que aparecían con SharePoint 2007…por más que revisábamos la Administración Central, no aparecía por ningún lado la posibilidad de realizar una configuración de SSO en SharePoint 2010. Por suerte, una rápida búsqueda en Google nos permitió ver algo de luz dentro de la poca información disponible sobre el tema ahora mismo:
-
Por una parte, en SharePoint 2010 tenemos una nueva aplicación de servicio Secure Store Service que aparentemente sustituye al SSO de SharePoint 2007 tal y como podéis leer en
este enlace.
-
-

Ya están disponibles para descarga los materiales del evento sobre SharePoint Designer 2010 que, a pesar de las dos caídas de red que sufrimos tanto asistentes como un servidor (os juro que no estaba descargando nada con el eMule, más que nada porque estaba en la oficina :P) y que luego hizo que Murphy apareciera en la parte de demos, se realizó ayer y en el que espero haber mostrado las capacidades de SPD 2010 para trabajar con objetos de SharePoint 2010 por un lado, y realizar tareas de personalización por otro, sin olvidar las características de integración de datos a través de la DataFormWebPart y sobre todo los Business Connectivity Services. Las direcciones de descarga son las siguientes:
-
-
Grabaciones (a través del enlace de inscripción al evento os las podréis descargar).
Permaneced atentos a los próximos WebCast que realizaremos en torno a SharePoint 2010….¿los temas? Pues creo que hay para parar un tren, para empezar tendremos a Alberto Díaz Martín el próximo 9 e junio hablando sobre el modelo de objetos en cliente.
Sin duda, una de las grandes aportaciones que tenemos en Visual Studio 2010 a la hora de desarrollar para SharePoint 2010 es la posibilidad de importar artefactos ya creados utilizando para ello una serie de plantillas disponibles. En concreto, me estoy refiriendo a las plantillas para importar una solución .WSP (SharePoint Solution Package) y un flujo de trabajo reutilizable. Podéis encontrar más información respecto a como usar estas plantillas en los siguientes enlaces de MSDN:

Microsoft acaba de liberar el Microsoft Business Intelligence Indexing Connector. Se trata de un conector que permite realizar búsquedas de información sobre documentos de BI como pueden ser informes de SQL Server Reporting Services (SSRS) o documentos Excel. Por ejemplo, este conector permite realizar búsquedas por dimensiones en informes de SSRS. En cuanto a los enlaces de descarga del conector, que se apoya por una parte en la plataforma SharePoint y por otra en las capacidades extra que aporta FAST a las búsquedas empresariales, tenemos los siguientes:

Otro de los ejemplos de aplicación que facilita el mejor soporte de serie de Silverlight por parte de SharePoint 2010 es la facilidad de integrar en sitios de SharePoint controles potentes como el control de Silverlight de mapas de Bing Maps que facilita encajar un mapa de Bing en aplicaciones web en general y en SharePoint en particular. Para usar este control en SharePoint 2010:
-
En primer lugar, nos descargamos e instalamos el control en nuestro entorno de desarrollo.
-
Creamos un proyecto de tipo Silverlight Application en Visual Studio 2010.
-
Añadimos referencias a los ensamblados disponibles en el directorio de instalación de Bing Maps en nuestro equipo de desarrollp (C:\Program Files (x86)\Bing Maps Silverlight Control):
-
En la superficie de diseño, arrastramos desde la paleta de controles el control de Bing Maps o bien especificamos el correspondiente código XAML (para usar de forma correcta el control, os recomiendo revisar las referencias que he añadido al final del post.
-
Nos vamos a la vista de código de la aplicación Silverligth, y añadimos directivas using a Microsoft.Maps, Microsoft.Maps.MapControl y System.Windows.Media.Imaging.
-
En el método Loaded() del control, añadimos el siguietne código que permite configurar de forma adecuada el mapa de Bing a desplegar:
|
private void CIINMap_Loaded(object sender, RoutedEventArgs e) { //Coordendas y nivel de zoom var lLatitud=43.454609; var lLongitud=-3.86825; var zZoomLevel =15; //Localización Location lcCIINLocation = new Location(lLatitud, lLongitud); //Capa para añadir la localización MapLayer mpLayer = new MapLayer();
//Objeto pin Pushpin psPushpIn = new Pushpin(); psPushpIn.Location = lcCIINLocation; psPushpIn.Width = 10; psPushpIn.Height = 10; psPushpIn.Opacity = 0.65; psPushpIn.Name = "PCTCAN - Grupo Sodercan"; psPushpIn.Tag = "Haga clic aquí para más información...";
//Eventos del Pushin psPushpIn.MouseEnter += new MouseEventHandler(psPushpIn_MouseEnter); psPushpIn.MouseLeave += new MouseEventHandler(psPushpIn_MouseLeave);
//TextBlock / Image que muestra la información tbInformacion = new TextBlock(); imgLogo = new Image(); MapLayer mpLayerInfo = new MapLayer(); mpLayerInfo.Children.Add(tbInformacion); mpLayerInfo.Children.Add(imgLogo); CIINMap.Children.Add(mpLayerInfo); //Añadimos el Pushpin al MapLayer mpLayer.Children.Add(psPushpIn); //Centramos la capa y el nivel de zoom CIINMap.SetView(lcCIINLocation, zZoomLevel); //Añadimos la capa al control de mapa CIINMap.Children.Add(mpLayer);
}
|
|
void psPushpIn_MouseEnter(object sender, MouseEventArgs e) { Pushpin pin = (Pushpin)sender; tbInformacion.Text=pin.Name; tbInformacion.Visibility = Visibility.Visible; tbInformacion.Foreground = new SolidColorBrush(Colors.Black); tbInformacion.FontStyle = FontStyles.Italic; tbInformacion.FontWeight = FontWeights.Bold; //Posicionamos el TextBlock MapLayer.SetPosition(tbInformacion, pin.Location); MapLayer.SetPositionOrigin(tbInformacion, PositionOrigin.BottomCenter); MapLayer.SetPositionOffset(tbInformacion,new Point(0,-20));
//Posicionamos la imagen Uri uriImage = new Uri("http://www.ciin.es/web/servicios/eventos/PublishingImages/logociin.jpg");
BitmapImage biImage = new BitmapImage(uriImage); imgLogo.Source =biImage; imgLogo.Width = 80; imgLogo.Height = 80; imgLogo.Visibility = Visibility.Visible; MapLayer.SetPosition(imgLogo, pin.Location); MapLayer.SetPositionOrigin(imgLogo, PositionOrigin.BottomCenter); MapLayer.SetPositionOffset(imgLogo, new Point(0, 70));
}
void psPushpIn_MouseLeave(object sender, MouseEventArgs e) { tbInformacion.Visibility = Visibility.Collapsed;
}
|
-
Compilamos el proyecto y nos vamos a nuestro sitio de SharePoint 2010. Editamos una página cualquiera disponible y a través de la pestaña “Herramientas de edición” y la opción “Insertar”, hacemos clic sobre “Elemento web” y localizamos la WebPart de Silverlight que viene de serie con la plataforma (Categoría “Medios y contenido”).
-
Pulsamos el botón Agregar para añadir la WebPart de Silverlight, con lo que de forma automática se nos solicita la ruta del archivo .xap que se va a visualziar en la WebPart.
-
Cargamos el archivo .xap correspondiente al mapa creado en una biblioteca de documentos o en la ruta del servidor “..14\TEMPLATE\LAYOUTS\ClientBin. En el caso de usar esta última opción, tendremos que especificar la ruta de la forma /_layouts/ClientBin/SPSilverlightCIINBingMap.xap.
-
Tras pulsar “Aceptar”, se muestra el mapa creado en nuestro sitio de SharePoint 2010.
Finalmente, comentaros que para facilitar el despliegue del mapa en el directorio ClientBin, podríamos crear un proyecto de tipo “Empty SharePoint Proyect” en Visual Studio 2010, crear una carpeta mapeada seleccionando la carpeta ClientBin del directorio del servidor y añadir el archivo XAP en dicha carpeta. De esta forma, podremos desplegar de forma directa el mapa y crear la correspondiente solución .WSP.
Algunas referencias adicionales al trabajo con el control Silverlight de Bing Maps:
Espero que el post os haya resultado interesante.
El equipo de SharePoint acaba de hacer pública la lista definitiva de idiomas soportados por la nueva versión de la plataforma. Como no podía ser de otra forma, la lista viene con sorpresas que en este caso y para España son gratas ya que por fin tenemos un Language Pack (LP) para idioma vasco, que se añade a los ya soportados para nuestro país: castellano y catalán. En lo que a disponibilidad se refiere, el LP para catalán lo tendremos en el mes de julio y en el caso del vasco, estaríamos hablando del mes de septiembre. Sin duda una excelente noticia.

Esta mañana el amigo Mario me preguntaba sobre que novedades tenemos en torno a PerformancePoint en SharePoint 2010…la primera gran novedad es que PerformancePoint no es un producto independiente, sino que se incorpora a la gama de aplicaciones de servicio de SharePoint 2010 (en la versión empresarial)…y el resto de novedades las podremos evaluar en los siguientes videos.
Fuente: http://manish-sharepoint.blogspot.com/2010/05/learning-performancepoint-with-step-by.html

Microsoft acaba de liberar el Feature Pack para SQL Server. Se trata de un conjunto de utilidades individuales que proporcionan valor adicional a SQL Server 2008 R2:
Podéis descargar el Feature Pack desde este enlace.

Más artículos
Página siguiente >