SharePoint 2013: Novedades en los Servicios de Access (V)!

Siguiendo con la serie de posts sobre los servicios de Access, en esta ocasión vamos a ver como podemos seguir extendiendo y personalizando una aplicación creada desde cero. Como siempre, os recuerdo los posts previos de la serie:

Otro ejemplo de personalización sencilla es añadirle lógica y comportamiento a nuestros formularios mediante la creación de macros:

  • Si editamos un formulario de tipo “Lista” de nuestra aplicación, podemos añadir de forma sencilla un nuevo botón.
  • Para el botón añadido podemos cambiar su apariencia indicando por ejemplo un icono diferente al que se añade por defecto. Por ejemplo, uno que simbolice “Ayuda”.
  • Además del cambio en el aspecto, podemos añadir comandos de acciones lo qué nos lleva al editor de macros de Access 2013 para poder hacer uso de las acciones disponibles por defecto o de las qué creemos. En mi caso, simplemente he añadido que se muestre una ventana modal informativa.
image image image
  • Guardamos los cambios y comprobamos qué la acción añadida funciona como hemos definido.

image

SharePoint 2013: Tip para cambiar el usuario logado!

Si estás trabajando con SharePoint 2013, te habrás dado cuenta que dado un sitio de SharePoint por ningún lado aparece una opción para cambiar el usuario logado como en versiones previas. Por fortuna, existe un tipo para solucionar este problema que consiste en:

  • Localizar el control  C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\CONTROLTEMPLATES\Welcome.ascx y modificarlo de acuerdo al artículo de la KB # 2752600.
  • Tras modificar dicho control (os recomiendo previamente hacer una copia de seguridad de dicho control), si accedéis al sitio podréis ver qué ya tenéis la opción de iniciar sesión como un usuario diferente.
  • Si pulsáis la opción, podréis ver que se solicitan las credenciales de acceso y el nuevo usuario accede al sitio sin problemas.
image image image

Referencia: http://blogs.msdn.com/b/sharepoint__cloud/archive/2012/12/20/where-is-quot-sign-in-as-different-user-quot-in-sharepoint-2013.aspx

SharePoint 2013: Novedades en los Servicios de Access (IV)!

Siguiendo con la serie de posts sobre las novedades en los Servicios de Access, en esta ocasión vamos a ver como crear una aplicación desde cero utilizando Access 2013. Como siempre, os recuerdo los artículos previos de la serie:

Para crear desde cero una aplicación qué sea publicada en los Servicios de Access:

  • Iniciamos Access 2013 y entre las plantillas disponibles elegimos la de “Personalizar aplicación web” que nos permite crear una apliación desde cero. A continuación se abre una ventana en la que especificaremos el nombre de la aplicación y la ubicación de la misma (qué sitio de SharePoint On-Premise u Online va a ser su hoster). En este caso, he especificado la URL de un sitio de SharePoint Online en Office 365 Preview.
  • Una vez que se ha creado la BD y aplicación, Access 2013 nos muestra una pantalla inicial en la que nos permite crear tablas para la BD subyacente de acuerdo a tres posibilidades:
    • A partir de buscar una plantilla de tabla existente. Por ejemplo, si buscáis personas Access os mostrará plantillas para tablas “Personas”, “Contactos”, “Clientes”, etc. Vamos, que esta aproximación nos ahorra bastante trabajo en la creación de tablas.
    • Crear una tabla desde cero usando el diseñador de tablas de Access 2013.
    • Crear las tablas a partir de importar datos de fuentes como BDs Access, documentos Excel, conexiones a BDs SQL Server u otras BDs con soporte para conexiones ODBC, archivos de texto/CSV o bien Listas de SharePoint.
  • En mi caso, he optado por crear una tabla desde cero de forma que puedo ir añadiendo los campos a la tabla que requiera para mi aplicación. Algunas cuestiones a notar aquí:
    • Los campos de tipo clave tienen que ser necesariamente de tipo Autonumeración.
    • Disponemos de un conjunto reducido de tipos de datos par añadir: texto corto, texto largo, Número, Fecha/Hora, Moneda, Sí/No, Hipervínculo, Imagen, Calculado, Búsqueda.
  • Fijaros como para cada campo añadido puedo configurar sus propiedades. Por ejemplo, puedo establecer propiedades como la longitud del capo, si es un campo obligatorio, si se tiene que aplicar una regla de validación, etc.

 

image image image
  • Una vez qué creamos una primera tabla en los Servicios de Access, si la guardamos veremos como Access 2013 crea automáticamente dos formularios asociados. El primer formulario es un formulario de tipo “Hoja de datos”, es decir, una vista tipo Excel. El segundo formulario es el típico de tipo “Lista” que nos permite hacer operaciones CRUD con la información relativa a la tabla.
  • Además de los formularios creados, ya tendremos disponible la aplicación para acceder a la misma desde el sitio de SharePoint Online. El formulario de tipo “Lista” nos permite agregar nuevos elementos en la tabla.
  • De la misma forma, podremos actualizar elementos creados utilizando dicho formulario.
image image image
  • El formulario “Hoja de datos” nos permite acceder a los datos en modo vista Excel.
  • Por supuesto, toda información que añadamos y actualicemos desde la aplicación la veremos en el cliente Access.
  • A partir de aquí, podemos empezar a personalizar los formularios cambiando nombres de etiquetas, ubicaciones de los controles de datos, etc.
image image image
  • También podemos personalizar la barra de navegación de la aplicación cambiando el título de los menús, el icono, etc.
  • Por supuesto, tras guardar las personalizaciones podemos verlas en vivo en la aplicación.
image image

[Libros]: SharePoint 2013 de principio a fin disponible en Amazon!

Hace una semana os comentaba que ya había visto la luz el nuevo libro sobre SharePoint 2013 en el que he participado junto con Gustavo Vélez y Fabián Imaz. Hoy la noticia es qué el libro ya está disponible a la venta en Amazon, por lo que es posible hacerse con el fuera de la España. Podéis acceder a la página del libro en Amazon en este enlace.

image

SharePoint 2013: Creación de acciones personalizadas en el contexto de una aplicación (I)!

Una de las posibilidades a nivel de desarrollo que tenemos en el nuevo modelo de aplicaciones de SharePoint 2013 es el de crear acciones personalizadas qué extiendan por ejemplo la cinta de opciones de listas desplegadas en el contexto de una aplicación. En este primer post recojo algunos ejemplos relativos a la creación de acciones personalizadas en el contexto de aplicaciones del nuevo marco de creación de aplicaciones de SharePoint 2013:

Un detalle a tener en cuenta como veréis en los ejemplos es qué las posibilidades que tenemos a la hora de crear acciones en el contexto de aplicaciones son mucho más limitadas que si lo hacemos en soluciones de tipo granja o de tipo sandbox. En cuanto a posibilidades para crear acciones personalizadas, tenemos las siguientes:

  • La cinta de trabajo de la lista.
  • El menú contextual de un elemento de lista.

SharePoint 2013: ¿Se pueden importar flujos de trabajo re-utilizables en Visual Studio 2012? (III)

Siguiendo con la serie de posts sobre importación de flujos de trabajo re-utilizables en Visual Studio 2012, en esta ocasión vamos a ver si es posible o no importar un flujo de la nueva arquitectura de flujos de SP 2013. Pero antes, os recuerdo los artículos previos de la serie:

Al lío como diría alguno:

  • En primer lugar, necesitamos disponer de un flujo de trabajo re-utilizable de SP 2013 que hayamos creado ya sea con el diseñador visual de SharePoint Designer 2013 (SPD 2013) o con el diseñador basado en texto. Guardamos el flujo como plantilla y lo descargamos en nuestro entorno de desarrollo de SharePoint 2013 para proceder a importarlo (si se puede) en Visual Studio 2013.
  • Usando la plantilla “SharePoint 2013 – Importar flujo de trabajo de 2010” no es aplicable como por otra parte era de esperar ya que el asistente de selección de elementos a importar no es capaz de encontrar ningún elemento.
  • Como la opción anterior no era válida, en Visual Studio 2012 creamos un proyecto te tipo “SharePoint 2013 – Importar paquete de solución”. Elegimos como tipo de despliegue “Solución Sandbox”. En este caso, el asistente de importación si que detecta que hay elementos a importar en el WSP. Los seleccionamos y pulsamos “Finalizar”.
image image image
  • Una vez concluye el proceso de creación del flujo, veremos que todos los elementos qué se tenían que importar forman parte de la solución de Visual Studio 2012 que se ha creado.
  • Dicho esto, el siguiente paso lógico es abrir el archivo XAML relativo al flujo para continuar con su configuración siempre que esto sea posible…y aquí es cuando nos encontramos con que no es posible ya que Visual Studio 2012 es incapaz de abrir el flujo de trabajo en el diseñador de flujos. Veremos a ver que pasa con la RTM de las tools de desarrollo para SharePoint de Visual Studio 2012.
image image

SharePoint 2013: Tip para desplegar y probar un manejador de eventos remoto en un despliegue OnPremise (III)!

Siguiendo con la serie de posts sobre tips para desplegar y probar manejadores de eventos remotos (RERs) en un despliegue OnPremise, en esta ocasión vamos a ver algunas cuestiones a tener en cuenta en el caso en el que creemos el manejador como parte de una aplicación Autohosted por lo que su despliegue será en SharePoint Online y no en OnPremise…pero eso es lo de menos :P. Antes de meternos al tema, os recuerdo los posts previos de la serie.

En primer lugar, supongamos que hemos creado una aplicación de tipo “SharePoint-Hosted” que vamos a desplegar en SharePoint Online en Office 365 Preview. En dicha aplicación hemos añadido el correspondiente RER de forma qué se crea un proyecto web asociado al proyecto de aplicación que contiene el servicio WCF dónde se ha implementado toda la lógica del manejador.

image

 

Si desplegamos la aplicación en Office 365 y accedemos a la misma, lo primero que veremos es qué la URL es un “chorizo” bastante curioso:

%2Esharepoint%2Ecom%2Fsites%2FTDEVCR&SPLanguage=es%2DES&SPClientTag=0&SPProductNumber=15%2E0%2E4454%2E1011&SPAppWebUrl=https%3A%2F%2F%2Dfe7f0e9d237f43%2Esharepoint%2Ecom%2Fsites%2FTDEVCR%2FSPRERDemo">%2Esharepoint%2Ecom%2Fsites%2FTDEVCR&SPLanguage=es%2DES&SPClientTag=0&SPProductNumber=15%2E0%2E4454%2E1011&SPAppWebUrl=https%3A%2F%2F%2Dfe7f0e9d237f43%2Esharepoint%2Ecom%2Fsites%2FTDEVCR%2FSPRERDemo">%2Esharepoint%2Ecom%2Fsites%2FTDEVCR&SPLanguage=es%2DES&SPClientTag=0&SPProductNumber=15%2E0%2E4454%2E1011&SPAppWebUrl=https%3A%2F%2F%2Dfe7f0e9d237f43%2Esharepoint%2Ecom%2Fsites%2FTDEVCR%2FSPRERDemo">https://defe8b3e-8dbf-4afe-9ca2-274728027618.o365apps.net/Pages/Default.aspx?SPHostUrl=https%3A%2F%2F<DominioOffice365>%2Esharepoint%2Ecom%2Fsites%2FTDEVCR&SPLanguage=es%2DES&SPClientTag=0&SPProductNumber=15%2E0%2E4454%2E1011&SPAppWebUrl=https%3A%2F%2F<DominioOffice365>%2Dfe7f0e9d237f43%2Esharepoint%2Ecom%2Fsites%2FTDEVCR%2FSPRERDemo

También sabemos que el servicio WCF se tiene que haber publicado en Windows Azure…y aquí viene la primera pregunta: ¿Cómo lo comprobamos? Pues muy fácil, nos quedamos con la parte que nos interesa de la URL anterior y le añadimos el nombre del servicio para comprobar que efectivamente se ha publicado y listo para responder a eventos producidos en este caso en la lista que se ha añadido como parte de la aplicación:

https://defe8b3e-8dbf-4afe-9ca2-274728027618.o365apps.net/CompartimossRER.svc

 

image

 

Y ahora la segunda parte, ¿Dónde está desplegada la lista qué forma parte de la aplicación? Pues en un sitio de SharePoint aislado creado bajo el sitio hoster en el mismo momento que se ha publicado la aplicación. Para visualizar la lista y probar el manejador, modificamos la Url del sitio de Office 365 en el que se ha agregado la aplicación de la siguiente forma:

https://<URL_Sitio_Office365>/<NombreAplicacion>/Lists/<NombreLista&gt;

Además, podremos comprobar como al introducir esta Url en el navegador, automáticamente se realiza una redirección a una URL de la forma:

https://<DominioOffice365>-fe7f0e9d237f43.sharepoint.com/sites/TDEVCR/SPRERDemo/Lists/ListaTestRER/AllItems.aspx

SharePoint 2013: ¿Se pueden importar flujos de trabajo re-utilizables en Visual Studio 2012? (II)

Siguiendo con la serie de artículos relativos a la importación de flujos de trabajo creados con Designer en Visual Studio 2012, en esta ocasión vamos a ver como podemos importar un flujo de trabajo compatible con SharePoint 2010 respetando su naturaleza declarativa:

  • En Visual Studio 2012, elegimos en esta ocasión un proyecto de tipo “SharePoint 2013 – Importar paquete de solución”.
  • En este caso, podremos decidir si el tipo de despliegue es “Sandbox” o “Conjunto de servidores”.
  • Indicamos la ruta del .WSP a importar.
image image image
  • En la pantalla con el listado de elementos del .WSP que se pueden importar, fijaros en qué aparecen muchos más elementos que en el caso de utilizar la plantilla “SharePoint 2013 – Importar flujo de trabajo reutilizable de 2010”. Esto es así porque Visual Studio 2012 no está analizando si el .WSP es relativo a un flujo o a otro artefacto desplegable en la plataforma. Seleccionamos todos los elementos y pulsamos “Finalizar”.
  • Concluida la importación, podremos ver que la estructura de proyecto que se genera contiene más elementos que en el caso de utilizar la plantilla “SharePoint 2013 – Importar flujo de trabajo reutilizable de 2010”.
  • La definición del flujo (archivo .xoml) la podremos localizar dentro del SPI “Modules”. De nuevo, fijaros en la complejidad del flujo que ahora tiene una naturaleza declarativa.
image image image

Y hasta aquí llega este nuevo post sobre como importar flujos de trabajo declarativos. En el siguiente artículo veremos que sucede con flujos creados para el nuevo modelo.

SharePoint 2013: ¿Se pueden importar flujos de trabajo re-utilizables en Visual Studio 2012? (I)

Buena pregunta como diría alguno ;-)…la idea de este primer artículo y los tres siguientes es tratar de responder a la misma teniendo en cuenta que actualmente tenemos disponible la versión Preview 2 de las herramientas de Visual Studio 2012 de desarrollo para SharePoint 2013 y Office 2013 por lo qué con la RTM algunas de las conclusiones que se obtienen pueden cambiar (especialmente en el tercer artículo). Antes de empezar, es importante recordar que en SharePoint 2013 podemos tener dos grandes tipos de flujos:

  • Compatibles con SharePoint 2010, ya que SharePoint 2013 sigue incluyendo el motor de flujos de versiones previas y qué se basa en Windows Workflow Foundatio (WF) 3.x.
  • Compatibles con el nuevo modelo de flujos de trabajo, qué implica crear y desplegar flujos compatibles con WF 4.x en el denominado Windows Azure Workflow Server, qué se puede instalar en un servidor dedicado o no dependiendo de la topología y necesidades de la granja. En cualquier caso, la nueva infraestructura de flujos de SharePoint 2013 ya no es un elemento integrado de SharePoint, sino que es  un nuevo componente que permite que los flujos creados y desplegados se puedan usar en múltiples granjas de SharePoint.

De acuerdo a esta clasificación, vamos a empezar por ver como importar un flujo de trabajo compatible con SharePoint 2010:

  • De partida, disponemos de dos flujos de trabajo de tipo re-utilizable (tienen que ser de este tipo para poder guardarlos como plantilla). Uno compatible con SharePoint 2010 y otro basado en el nuevo modelo de flujos.
  • Guardamos los flujos como plantilla, lo qué genera el correspondiente archivo .wsp en la biblioteca Activos del sitio.
  • Empezamos con la importación del flujo compatible con SharePoint 2010. Nos vamos a Visual Studio 2012 y creamos un proyecto de tipo “SharePoint 2013 – Importar flujo reutilizable de 2010”.
image image image
  • La primera pantalla del asistente de configuración nos indica que el WSP que se genere posteriormente sólo se puede desplegar como una solución de tipo granja, lo cuál sigue lo ya conocido para SharePoint 2010 y Visual Studio 2010: el flujo se importa como un flujo de tipo “code behind”.
  • A continuación indicamos la ruta del archivo .wsp que contiene el flujo de trabajo.
  • Finalmente, en la pantalla de selección de elementos a importar nos aseguramos qué el flujo está seleccionado y pulsamos “Importar”.
image image image
  • Concluido el proceso de importación, comprobamos que todos los elementos que forman parte del flujo se han importado y qué en el diseñador de flujos podemos visualizar el .xoml importado. Fijaros en la complejidad del flujo (se trata de un proceso de aprobación) importado.

image

  • A partir de aquí, y si alguno se atreve, se podría tratar de extender el flujo importado para dotarle de mayor funcionalidad y de nuevos elementos.