¡Próximos eventos a la vista…empezando mañana con SharePoint 2013 :-)!

Como no podía ser de otra forma, desde SUGES y Nuberos.NET (con el apoyo del CIIN) seguimos dando guerra y tenemos planificados una serie de WebCasts comenzando mañana mismo con el primer WebCast sobre SharePoint 2013 en el qué participaré con los amigos Fabián Imaz y Gustavo Vélez (alias “El maestro”). La semana que viene y el 16 de octubre realizaremos un par de WebCasts de Windows 8 en los que contaremos con los mentores del pasado hackaton de Windows 8 de Santander: Rafa Serna (@rafasermed) y Javi López (@JaviLopezG). Os dejo los enlaces a los WebCasts y espero veros participar en los mismos:

Webcast TechNet: Windows Store o como vender nuestras aplicaciones

SharePoint 2013: Despliegue de Aplicaciones (II)!

Siguiendo con la serie de posts sobre despliegue de aplicaciones, en esta ocasión vamos a ver como desplegar una aplicación en un escenario “SharePoint Hosted”, es decir, las aplicaciones a desplegar residen en un catálogo de aplicaciones que es una colección de sitios aislada y disponible por aplicación web. En este escenario:

  • Lo primero que tenemos que hacer es crear los catálogos de aplicaciones que necesitemos  a nivel de aplicación web. Nos vamos a la Administración Central de SharePoint 2013 y a la sección “Aplicaciones”. En la página que se abre, nos centraremos en la sección “Administración de aplicación” y en concreto en “Administrar catálogo de aplicaciones”.
  • Este enlace conduce a la correspondiente página desde la que podemos o bien añadir un catálogo de aplicaciones por aplicación web (estamos por lo tanto realizando las configuraciones relativas a un escenario de aplicaciones SharePoint Hosted, es decir, desplegadas y residentes en SharePoint). En este caso, al ya tener creado el catálogo que es una colección de sitios independiente de la aplicación web se muestra su Url y quien es el administrador. Si no estuviese creada la colección, aparecería una página para su creación.
  • Si pulsamos sobre el enlace “Ver configuración de sitio” se muestra la página en la que podemos ver los detalles relativos a las URLs de las aplicaciones que despleguemos. En concreto se muestra el dominio de aplicación definido a nivel de DNS y el prefijo de aplicación.
image image image
  • A partir de aquí, una alternativa que tenemos para desplegar aplicaciones en sitios bajo una cierta aplicación web pasa por cargar directamente los archivos .app en la colección de sitios definida como hub. Allí tendremos una biblioteca “Aplicaciones para SharePoint” en la que podemos ir cargando nuestras aplicaciones.
  • Al final, una aplicación para SharePoint es un tipo de archivo con sus propios metadatos.
  • A partir de aquí, nos iríamos al sitio en el que queremos usar la aplicación y “Configuración –> Agregar una aplicación”.
image image image
  • En el listado de aplicaciones disponibles para agregar, aparecerá la que hemos cargado en el catálogo.
  • Pulsamos la aplicación para agregarla, de forma que a continuación se nos pide que confirmemos que confiamos en dicha aplicación (OAuth señores).
  • Pulsamos el botón “Confiar” y listo, ya tenemos la aplicación agregada y lista en nuestro sitio.

image

image image

SharePoint 2010: ¿Está soportado en Windows Server 2012?

Pues eso, si alguno está tentado en hacer una instalación de SharePoint Server 2010 sobre Windows Server 2012, allá él porque Microsoft no soporta este escenario oficialmente…poder puedes hacerlo, pero antes ten en cuenta es articulo dela KB que es bastante tajante en cuanto al no soporte: http://support.microsoft.com/kb/2724471.

SharePoint2010_thumb

SharePoint 2010: Despliegue de elementos como páginas y otros en el Sandbox!

Las soluciones de tipo sandbox en SharePoint 2010 son muy flexibles en cuanto a que nos permiten desplegar distintos tipos de elementos en nuestros sitios de SharePoint sin necesidad de que tenga que intervenir personal de IT ya que basta conque carguemos las soluciones en la galería de soluciones de una cierta colección de sitios y las activemos posteriormente. Entre los elementos que podemos desplegar se encuentran páginas aspx, archivos javascript, páginas maestras, hojas de estilos, etc. Y la forma de desplegarlos es a través de un módulo. En la red hay un montón de ejemplos de este tipo de despliegue como los siguientes:

SharePoint2010_thumb

SharePoint 2013: Novedades en manejadores de eventos!

A nivel de manejadores de eventos, en SharePoint 2013 nos encontramos con los siguientes cambios con respecto a SharePoint 2010:

  • A nivel de soluciones Sanbox y granja, se soportan los mismos tipos de eventos.
  • En lo que al nuevo modelo de aplicaciones se refiere, se introducen los manejadores de eventos remotos:
    • Permiten a las Aplicaciones responder a eventos que tienen lugar en elementos de SharePoint como Listas o elementos de Listas.
    • Permiten reaccionar a cambios en sistemas externos: las listas externas soportan manejadores de eventos
  • Además, se introducen manejadores específicos para la gestión de aplicaciones:
    • Nos permiten responder a eventos qué tienen lugar cuando una aplicación se ha instalado, una aplicación está siendo desinstalada y una aplicación se ha actualizado.

A nivel de herramientas, la experiencia de creación de manejadores de eventos clásicos, de aplicaciones y remotos es similar…si bien nos encontraremos con ciertas peculiaridades:

  • El asistente para crear el manejador de eventos remoto es idéntico al de crear manejadores de eventos clásicos con la diferencia de qué tendremos menos eventos a manejar. Por ejemplo, no tenemos la posibilidad de crear manejadores de eventos para flujos de trabajo.
  • A nivel de estructura de proyecto, tendremos por una parte el proyecto de la aplicación en el que se crea un SPI (SharePoint Project Item).
image image
  • El SPI contiene el manifiesto con la definición del manejador: plantilla de lista a la que aplica, nombre del manejador y evento a controlar…además de indicar la Url del servicio con la lógica del workflow.
   1: <?xml version="1.0" encoding="utf-8"?>

   2: <Elements xmlns="http://schemas.microsoft.com/sharepoint/">

   3:   <Receivers ListTemplateId="100">

   4:       <Receiver>

   5:         <Name>RemoteERSampleItemAdding</Name>

   6:         <Type>ItemAdding</Type>

   7:         <SequenceNumber>10000</SequenceNumber>

   8:         <Url>~remoteAppUrl/RemoteERSample.svc</Url>

   9:       </Receiver>

  10: </Receivers>

  11: </Elements>

  • Por otra parte, tendremos el proyecto web con el servicio WCF en el qué se define la lógica del manejador remoto que pasa por implementar dos métodos:
   1: public class RemoteERSample : IRemoteEventService

   2: {

   3:     public SPRemoteEventResult ProcessEvent(RemoteEventProperties properties)

   4:     {

   5:         SPRemoteEventResult result = new SPRemoteEventResult();

   6:         //Código para eventos síncronos        

   7:  

   8:         return result;

   9:     }

  10:  

  11:     public void ProcessOneWayEvent(RemoteEventProperties properties)

  12:     {

  13:         //Código para eventos asíncronos

  14:     }

  15: }

    • ProcessEvent() que se encarga de gestionar los eventos que tienen lugar antes de qué la acción ocurra, es decir, define la lógica para eventos de tipo síncrono.
    • ProcessOneWayEvent(), que se encarga de gestionar aquellos eventos que tienen lugar después de qué la acción ocurra, es decir, define la lógica de tratamiento de eventos de tipo asíncrono.

Referencias:

SharePoint 2013: Concepto de autorización en el uso de aplicaciones!

Otra de las grandes novedades de SharePoint 2013 es que introduce el concepto autorización a través de implementar el protocolo OAuth a la hora de permitir que las aplicaciones del nuevo modelo de aplicaciones tengan permiso o no para interactuar con el despliegue de SharePoint dónde se van a instalar. Básicamente el mecanismo de autorización de SharePoint 2013 permite que los usuarios autoricen a una aplicación a actuar en su nombre sin compartir su usuario y contraseña:

  • Por ejemplo: permitir que los usuarios compartan recursos privados o datos que residen en un sito en otro sitio: lista de contactos, docs, etc
  • La clave es que los usuarios no tienen que proporcionar las credenciales cada momento.

OAuth en SharePoint 2013 proporciona “tokens” de acceso, no de “sign-in” y sólo soporta WS-Fed.

¿Cómo funciona OAuth en SharePoint? Pues de acuerdo a las siguientes puntos

  • Permite a los usuarios autorizar a SharePoint para proporcionar tokens de acceso a las aplicaciones.
  • Estos tokens se pueden usar para devolver datos de SharePoint.
  • Cada token permite acceder:
    • A un sitio específico.
    • A un recurso especifico (documentos en una carpeta).
  • Y este acceso tiene una duración definida.

Como hemos comentado, el mecanismo de autorización se utiliza a la hora de indicar si una aplicación tiene permisos o no para interactuar con SharePoint. ¿Cómos se asignan los permisos a la aplicación?

  • Durante el proceso de instalación.
  • Los permisos que necesita la aplicación se definen en el archivo de manifiesto de la misma
  • Es el usuario quien “confía” en la aplicación y asegura qué los permisos se asignen a la aplicación mientras se instala.
  • Los usuarios sólo pueden proporcionar los permisos que ellos tienen.

En cuanto a ámbitos de permisos para aplicaciones:

  • Se definen en el manifiesto de la aplicación (= que los permisos)
  • Indican en qué nivel de la jerarquía de SharePoint la aplicación está solicitando permisos:.
    • SPSite.
    • SPWeb.
    • SPList.
    • Tenancy.
    • Otros para consultas de búsqueda, acceso a los perfiles de usuario, acceso a los datos de una taxonomía, …

Los permisos que se garantizan en un cierto ámbito, aplican en todos sus “hijos”…y me explico, los permisos que se den en un ámbito de tipo SPSite aplicarán en todos los subsitios que se definan por debajo, así como en listas y elementos de listas.

Referencias

SharePoint 2013: Creación de subsitios desde la interfaz de usuario!

Siguiendo con las novedades en cuanto a uso de SharePoint se refiere, en esta ocasión vamos a ver cuál es la mecánica para crear un nuevo sitio bajo el sitio actual:

  • Tenemos que pulsar sobre el menú “Configuración” y pulsar sobre “Ver todo el contenido del sitio”.
  • La página “Contenido del sitio” muestra las aplicaciones que tenemos instaladas en el sitio actual, el listado de subsitios definidos bajo el sitio actual y un enlace “nuevo sitio” para crear nuevos sitios.
  • Si pulsamos ese enlace, seremos redirigidos a la clásica de creación de sitios de SharePoint 2013.
image image image
  • Especificamos los parámetros de creación del sitio, pulsamos “Aceptar” y al cabo de unos instantes tendremos el nuevo sitio creado.

image