El monstruito no soy yo, es el SharePoint

El Blog de Luis Mañez, dedicado a tecnologías MS, principalmente SharePoint y Office 365

Ver por etiquetas

Todas las etiquetas » Sharepoint Online (RSS)
Office 365: Compartir documentos para descarga en tu sitio público
Supongamos que tenemos nuestra web pública, creada con Office 365. Sería algo así: Ahora imaginemos que queremos colocar varios documentos, para descarga de cualquier usuario que visite la web (casos de éxito, fichas de producto, portfolio, etc). Para ello, podemos usar la biblioteca de documentos, que viene por defecto en nuestro sitio, o podemos crear nuestra propia biblioteca. Yo he creado una nueva biblioteca de documentos, llamada “Casos de exito”, y he subido un par de archivos, que quiero...
SharePoint 2010: Usando el AjaxControlToolkit
Hace un tiempo me preguntaron si sería posible usar el AjaxControlToolkit dentro de SharePoint 2010. Mi respuesta rápida fue que sí, que tan sólo bastaría con descargar el AjaxControlToolkit de la versión basada en el .NET Framework 3.5, que es la base de SharePoint 2010. Sin embargo, cuando me puse a ello, no fue tan sencillo. Al parecer, las últimas versiones del AjaxControlToolkit, aún estando basadas en .NET 3.5, no son compatibles con SharePoint. Finalmente, conseguí hacerlo funcionar, siguiendo...
Office 365: No me aparecen los tipos de contenido de Excel, PowerPoint y OneNote
Sinceramente, desconozco el motivo, pero mi SharePoint Online no viene por defecto con los tipos de contenido de Office (excepto Word, que es el tipo por defecto para las bibliotecas de documentos). En este post he encontrado la solución, aunque no la explicación: http://office.microsoft.com/en-us/sharepoint-online-enterprise-help/add-multiple-office-templates-to-a-document-library-HA102409514.aspx Tras seguir los pasos, que básicamente consiste en crear un nuevo tipo de contenido personalizado,...
Office 365: Branding en SharePoint Online con URLs relativas a mi colección de sitios (II)
Previously on Fringe … Digo, anteriormente vimos cómo referenciar hojas de estilos con rutas relativas a una colección de sitios de SharePoint Online, o a un sitio concreto. Sin embargo, esa misma técnica, no es aplicable si lo que queremos son añadir referencias a archivos .js. Si intentamos hacer algo como lo siguiente: 1: < script type ="text/javascript" src ="<%$SPUrl:~SiteCollection/Style Library/JQUERY/mainFunctions.js%>" ></ script > Obtendremos una pantalla...
Office 365: Añadir opciones a un campo SPFieldChoice, no es tan evidente con la Sandbox!!
Hoy me he encontrado que algo tan “sencillo”, como añadir “options” a un campo de tipo SPFieldChoice, no es tan sencillo cuando lo hacemos en SharePoint online. Si queremos añadir una opción más a un campo dado, el código sería tan sencillo como: 1: try 2: { 3: SPList list = SPContext.Current.Web.Lists.TryGetList( "Products" ); 4:   5: if (list == null ) 6: { 7: throw new SPException( "List not found" ); 8: } 9:   10: SPFieldChoice fieldChoice = list.Fields.GetField...
Office 365: Error al desactivar una solución Sandbox que es una Site template
Si habéis guardado algún sitio de Office 365 como plantilla, y desplegáis la solución en otro site o colección de sitios, es posible que os encontréis un error al intentar desactivar la solución. Seguramente os ocurrirá si habéis estado creando y eliminando sitios basados en esa plantilla. Para poder desactivar la solución sin que os falle, primero, obviamente, tendremos que asegurarnos de que no hay ningún site existente...
Office 365: Branding en SharePoint Online con URLs relativas a mi colección de sitios
Si queremos añadir una referencia a una hoja de estilos CSS desde la Master Page de nuestro sitio de SharePoint Online, podemos hacerla relativa a la colección de sitios de la siguiente forma: 1: < SharePoint:CssRegistration 2: name ="<% $SPUrl:~SiteCollection/Style Library/~language/MyBranding/my.css%>" 3: After ="corev4.css" 4: runat ="server" /> Podemos usar los siguientes comodines en la ruta: $SPUrl:~SiteCollection : Para partir de la raíz de la colección...
SharePoint 2010: Actualizando el campo “Creado por” desde código
En algunos escenarios (por ejemplo en migraciones de datos y entornos), es posible que necesitemos actualizar o asignar los campos de sistema de los elementos de una lista de SharePoint. Los campos de sistema, serían: Creado, Creado por, Modificado y Modificado por. Os paso el código necesario para actualizar el campo Creado, de un item de una lista. 1: string createdBy = @"DOMAIN\myUser" ; 2: 3: using (SPSite site = new SPSite( "http://team.domain.lab" )) 4: { 5...
SharePoint 2010: Actualizando items de una lista, sin actualizar la fecha y usuario de modificación
Este post (más bien Tip) es totalmente válido en modo Sandbox, por lo que sirve para desarrollos en Office365. Si vemos ejemplos de código para insertar/actualizar items en listas de SharePoint, en la mayoría de los casos nos encontraremos algo como: 1: SPWeb mySite = SPContext.Current.Web; 2: SPListItemCollection listItems = mySite.Lists[ "List" ].Items; 3:   4: SPListItem item = listItems.Add(); 5:   6: item[ "Title" ] = "Title" ; 7: item[ "Stock"...
Office 365: Añadiendo un Verb personalizado en nuestro WebPart
Vamos a ver cómo podemos añadir un Verb personalizado a nuestro webpart en modo sandbox. Un Verb en un webpart, es cada una de las acciones que tenemos disponible, cuando pulsamos sobre la flechita de las opciones de configuración del webpart. COmo siempre, una imagen vale más que mil palabras: Como podemos apreciar en la imagen, aparece un Verb nuevo “Developed by ENCAMINA”. Si seleccionamos el verbo, nos abrirá una ventana nueva, y nos llevará a la web de ENCAMINA En este fragmento de código tenemos...
Office 365: Parámetros de QueryString reservados por SharePoint
Hoy os dejo un pequeño tip, de un problema que me he encontrado recientemente en SharePoint on-premise, y que me he decidido a probar en SharePoint Online, para ver si se sucede lo mismo, y, como era de esperar, sucede lo mismo. Muy resumido, SharePoint utiliza internamente algunos parámetros de QueryString, para, por ejemplo, cargar el contexto en determinadas ocasiones. Por ejemplo, si ha cualquier página de SharePoint, le añades como QueryString el parámetro...
Office 365: Usando el sdk de lync desde un webpart de Silverlight
En este post vamos a ver un sencillo ejemplo de cómo podemos hacer uso del SDK de Lync 2010, desde un webpart de Silverlight, dentro de un site de Office 365. Primero de todo, nesitaremos instalarnos: Microsoft Silverlight 4 tools for Visual Studio Microsoft Lync 2010 SDK También nos ayudará conocer el centro de desarrollo de Lync 2010 , con gran contenido de utilidad. Manos a la obra! Lo siguiente es crear un nuevo proyecto en Visual Studio, donde tras instalar el SDK, dispondremos...
Office 365: Destripando LINQ to SharePoint si usamos paginación de elementos II (ahora con REST)
En un post de hace unos días os comentaba cómo funciona internamente SharePoint cuando usamos Linq to SharePoint y hacemos uso de la paginación de elementos en el propio Linq (con los métodos de Skip y Take). En este post veremos qué pasa cuando hacemos uso de la API REST de listas. Para los que no conozcáis que podemos hacer con REST a la hora de atacar listas, os dejo un par de referencias muy sencillitas, pero donde podemos ver muy claramente cómo...
SharePoint 2010: SPUtility es útil!! (aunque menos en Office 365)
Os paso un par de métodos de la clase SPUtility que me han parecido de mucha utilidad y que creo que no son muy conocidos. Al mismo tiempo, os invito a que conozcáis con más detalle todo lo que nos ofrece esta clase, que es mucho, y que seguro que nos puede ahorrar algún método. Aquí tenéis la definición completa de la clase: http://msdn.microsoft.com/en-us/library/ms462952.aspx Y los métodos que os recomiendo utilizar son: 1: SPUtility...
Office 365: Destripando LINQ to SharePoint si usamos paginación de elementos
En el post anterior os hablaba de Linq to SharePoint y la posibilidad de usarlo en Office 365. Ahora os quiero contar algunas observaciones del funcionamiento. Lógicamente, las pruebas que he hecho sólo son posibles en modo on-premise, pero estoy casi seguro de que se comporta igual en la versión 365. Antes de nada, tiene que quedar claro que Linq to SharePoint, internamente, funciona con consultas CAML, igual que hace por ejemplo el SPQuery. Podemos ver qué CAML autogenera...
Office365: Usando linq to sharepoint en SharePoint Online
Para aquellos que no estén familiarizados con linq 2 sharepoint, os recomiendo este link con un sencillo “Get Started”: SP 2010: Getting started with LINQ to SharePoint in SharePoint 2010   Como veréis en el link, se hace referencia a la herramienta de SharePoint SPMetal , que nos permite sacar entidades tipadas de nuestras listas de SharePoint (similar a lo que hace Entity Framework con una base de datos). Ahora bien, si intentamos lanzar la herramienta SPMetal contra un site de Office 365...
Office 365: Convirtiendo un proyecto SharePoint en Visual Studio modo Farm, en sandbox
Como ya sabemos, cuando en Visual Studio 2010 creamos un nuevo proyecto de SharePoint, nos da la opción de desplegar en modo granja, o en modo sandbox: Si hemos elegido el modo granja, y posteriormente queremos pasar a modo sandbox, podemos hacerlo desde las propiedades del proyecto: Y ya está? pues sí, pero que sepáis, que automáticamente, Visual Studio, ha modificado el archivo assembly.info, añadiendo esta línea: y esto es importante, porque como...
Office365: Agrupando vista por tipo de contenido en SharePoint Online y OnPremise
Tarde o tempano, trabajando con SharePoint, necesitaréis crear una vista sobre una lista o bibliteca, y agruparla por tipo de contenido. Algo que en MOSS 2007 se hacía facilísimo con las características OOB, en SharePoint 2010 (tanto Online, como OnPremise) se complica, ya que esta funcionalidad OOB ha desaparecido. En la siguiente imagen podemos ver todas las opciones OOB que tenemos a la hora de agrupar, cuando se crea una vista en SharePoint: Fijaros como no tenemos la opción de agrupar por tipo...
Office365: Añadiendo una Custom Action desde código .NET en los eventos de la Feature
En este post vamos a ampliar el post anterior para conseguir el mismo efecto, es decir, una nueva opción en el menú de Site-settings que nos lleve a la página principal de la administración del sitio de SharePoint Online, pero esta vez lo haremos todo desde código .NET. Así, podemos hacer el vínculo dinámico, según la URL de cada sitio de Office 365, y empaquetarlo como una pequeña funcionalidad. Para ello, creamos un proyecto vacío de SharePoint, y añadimos una nueva feature: Seguidamente, le añadimos...
Office365: Llamando a componentes externos desde soluciones Sandbox
Hola a todos, A estas alturas, seguramente conoceremos más o menos las limitaciones del desarrollo en modo sandbox (y por tanto de SharePoint Online). Aquí tenemos un buen resumen del que empezar a tirar del hilo. Una de las limitaciones que más llama la atención es la de no poder desplegar dlls en la GAC al estilo que estamos acostumbrados en nuestro despliegues en granja. Además de no poder meter mano a nuestro querido 14 “hive”. Esto hace que nos preguntemos, cómo podemos desplegar soluciones...