SharePoint: aplicaciones

En este capítulo, cubriremos las aplicaciones de SharePoint. El modelo de aplicación es un nuevo modelo de implementación y alojamiento de desarrollo para extensiones de SharePoint. Como desarrollador en SharePoint 2013, tenemos la opción de usar el modelo de soluciones, ya sea soluciones de granja o sandbox, o usar el modelo de aplicación.

La documentación y la guía de Microsoft sugieren que prefiere el modelo de aplicación sobre el modelo de soluciones y esa podría ser una guía muy válida. Sin embargo, debe considerar que el modelo de la aplicación, que es una adición significativa a SharePoint 2013, mientras que el modelo de soluciones ha existido desde SharePoint 2007.

Por lo tanto, la base de conocimientos para el desarrollo con el modelo de soluciones es significativamente mejor que el estado actual de la base de conocimientos para desarrollar aplicaciones.

Las aplicaciones no han existido el tiempo suficiente para que las personas compartan sus experiencias en el mundo real al usarlas. Creo que es muy importante que aprenda el modelo de la aplicación y sus fortalezas y debilidades.

Características de la aplicación

Las características de la aplicación se dan a continuación:

  • El primero y probablemente el más importante, desde el punto de vista del desarrollador, es que todos los códigos de una aplicación se ejecutan fuera del servidor de SharePoint. Esto significa que el código es JavaScript que se ejecuta en el navegador de los usuarios o es el código que se ejecuta en algún servidor externo.

  • Dado que todo el código se ejecuta fuera de SharePoint, la comunicación con SharePoint se realiza a través de servicios web, lo que significa que está utilizando el modelo de objetos de cliente o la API REST.

  • No hay circunstancias en las que pueda usar el modelo de objetos de servidor en una aplicación de SharePoint.

  • Una vez que haya terminado de crear su aplicación, la colocará en la tienda pública de aplicaciones o en el catálogo de aplicaciones local. Esto requiere un proceso de revisión y existen algunas reglas que debe seguir para que su aplicación sea elegible para ir a la tienda pública de aplicaciones.

  • La otra opción es poner su aplicación en un catálogo de aplicaciones local, que es solo una colección de sitios, dentro de su aplicación web, que ha sido configurada por la administración central para ser el catálogo de aplicaciones.

  • Una vez que la aplicación se haya implementado en el almacén del catálogo, los usuarios con permiso de propietario de la colección de sitios pueden instalarla en los sitios de SharePoint.

Tipos de aplicaciones

Hay diferentes tipos de aplicaciones que puede crear, que son las siguientes:

Aplicación alojada en SharePoint

La primera es la aplicación alojada en SharePoint. Como sugiere el nombre, este tipo de aplicación está alojada en su granja de SharePoint.

Las características importantes son:

  • Está alojado en un sitio secundario del sitio donde está instalado y este sitio secundario se comporta en su mayor parte, como otros sitios.

  • Puede contener listas, bibliotecas, páginas, tipos de contenido, etc.

  • Los conceptos básicos para crear una aplicación alojada en SharePoint son similares a los conceptos básicos para crear una solución de SharePoint.

    • Tenemos una función.

    • Podemos agregar elementos a esa característica y esos elementos se definen usando CAML.

    • Para muchos de los elementos tenemos diseñadores en Visual Studio.

    • Podemos agregar páginas del sitio.

    • Podemos agregar controles de servidor a esas páginas del sitio.

    • No podemos agregar código a esas páginas del sitio, pero podemos agregar código JavaScript.

    • Ahora, una vez que va más allá de lo básico, las cosas comienzan a ser cada vez menos similares.

Aplicaciones alojadas en la nube

Los otros dos tipos de aplicaciones, alojadas por el proveedor y alojadas automáticamente, se clasifican juntas como aplicaciones alojadas en la nube. Las características importantes son:

  • Estas aplicaciones viven en un sitio externo a SharePoint.

  • La gran diferencia entre Provider-Hosted y Auto-Hosted es quién va a crear y administrar este sitio externo:

    • En una aplicación alojada por un proveedor, es usted o su organización.

    • En una aplicación alojada automáticamente, es Microsoft.

  • Crear una aplicación alojada en la nube es lo mismo que crear cualquier otro sitio web.

  • Si es un desarrollador de .NET, probablemente esté utilizando MVC o Web Forms. Sin embargo, no está limitado a esas tecnologías. Puede crear una aplicación alojada en la nube con cualquier tecnología web que desee. Cuando haya terminado de crear su aplicación, en el escenario alojado por el proveedor, implementará la aplicación en su sitio de la misma manera que lo haría con cualquier otro sitio web.

  • En el escenario alojado automáticamente, usa Visual Studio para crear un paquete de aplicación. Es una aplicación equivalente a un paquete de solución y luego puede cargarla en SharePoint Online y en un sitio. Si es necesario, se le proporcionará una base de datos para que aloje su aplicación.

  • Las aplicaciones alojadas automáticamente solo se pueden usar con SharePoint Online, no son compatibles con una granja de servidores local.

Este es el mismo ejemplo, que ya cubrimos en el capítulo Modelo de aplicación.

Veamos un ejemplo simple de una aplicación alojada en SharePoint abriendo Visual Studio y seleccione la opción de menú Archivo → Nuevo → Proyecto.

Step 1 - Abra Visual Studio y seleccione el File → New → Project menu.

Step 2 - En el panel izquierdo, seleccione Templates → Visual C# → Office/SharePoint y luego en el panel central seleccione App for SharePoint.

Ingrese el Nombre en el campo Nombre, haga clic en Aceptar y verá el siguiente cuadro de diálogo.

En la Nueva aplicación para SharePoint, debemos agregar la URL del sitio de SharePoint que queremos depurar y luego seleccionar el modelo alojado en SharePoint como la forma en que desea alojar su aplicación para SharePoint.

Step 3 - Vaya al centro de administración de SharePoint y copie la URL de SharePoint.

Step 4 - Pegue la URL en el New App for SharePoint cuadro de diálogo como se muestra a continuación.

Step 5 - Click Next y abrirá el Connect to SharePoint cuadro de diálogo donde necesitamos iniciar sesión.

Step 6 - Ingrese sus credenciales y haga clic en el Sign inbotón. Una vez que haya iniciado sesión correctamente en el sitio de SharePoint, verá el siguiente cuadro de diálogo:

Step 7 - Click Finish. Una vez creado el proyecto, haga clic en elAppMenifest.xml archivo en el Explorador de soluciones.

Step 8 - Haga clic en el Permissionslengüeta. Se abrirá una lista desplegable de Ámbito.

Step 9 - En la lista desplegable Alcance, seleccione Web, que es el alcance de los permisos que está configurando. En la lista desplegable Permiso, seleccione Leer, que es el tipo de permiso que está configurando.

Step 10 - Abra el archivo Default.aspx y reemplácelo con el siguiente código.

<%-- The following 4 lines are ASP.NET directives needed when 
   using SharePoint components --%>

<%@ Page Inherits = "Microsoft.SharePoint.WebPartPages.WebPartPage,
   Microsoft.SharePoint, Version = 15.0.0.0, Culture = neutral,
   PublicKeyToken = 71e9bce111e9429c" MasterPageFile = "~masterurl/default.master"
   Language = "C#" %>

<%@ Register TagPrefix = "Utilities" Namespace = "Microsoft.SharePoint.Utilities"
   Assembly = "Microsoft.SharePoint, Version = 15.0.0.0, Culture = neutral,
   PublicKeyToken = 71e9bce111e9429c" %>

<%@ Register TagPrefix = "WebPartPages"
   Namespace = "Microsoft.SharePoint.WebPartPages" Assembly = "Microsoft.SharePoint,
   Version = 15.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c" %>

<%@ Register TagPrefix = "SharePoint"
   Namespace = "Microsoft.SharePoint.WebControls" Assembly = "Microsoft.SharePoint,
   Version = 15.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c" %>

<%-- The markup and script in the following Content element 
   will be placed in the <head> of the page --%>

<asp:Content ID = "Content1" ContentPlaceHolderID = "PlaceHolderAdditionalPageHead" 
   runat = "server">
   <script type = "text/javascript" src = "../Scripts/jquery- 1.6.2.min.js"></script>
   <link rel = "Stylesheet" type = "text/css" href = "../Content/App.css" />
   <script type = "text/javascript" src = "../Scripts/App.js"></script>
</asp:Content>

<asp:Content ID = "Content2" ContentPlaceHolderID = "PlaceHolderMain"
   runat = "server">
   <script type = "text/javascript"> 
      function hello() {
         var currentTime = new Date();
         $get("timeDiv").innerHTML = currentTime.toDateString();
      }
   </script>
   <div id = "timeDiv"></div>
   <input type = "button" value = "Push me!" onclick = "hello();" />
</asp:Content>

Step 11- Vaya al Explorador de soluciones, haga clic con el botón derecho en el proyecto y seleccione Publicar. Haga clic en elPackage the appbotón. Esto crea su aplicación alojada en SharePoint y la prepara para su implementación en su sitio de SharePoint.

Verá la siguiente carpeta, que contiene el archivo * .app.

Step 12 - Navegue a su sitio en línea de SharePoint.

Step 13 - Click Apps for SharePointen el panel izquierdo. Se abrirá una nueva página.

Step 14 - Arrastre sus archivos aquí para cargarlos.

Una vez que se cargue el archivo, verá la siguiente página:

Step 15 - Haga clic en la opción - Site Contentsen el panel izquierdo. Haga clic en eladd an app icono como se muestra en la siguiente captura de pantalla:

Se abrirá una nueva página.

Step 16 - Seleccionar Your Apps → From Your Organizationen el panel izquierdo y verá que la aplicación está disponible para su instalación. Haz clic en la aplicación.

Step 17- Cuando hace clic en la aplicación, se abre un cuadro de diálogo como se muestra en la siguiente captura de pantalla. Hacer clicTrust it.

Step 18- Verás que la aplicación está instalada. Una vez que se complete la instalación, puede hacer clic en la aplicación.

Verá la siguiente página, que contiene un botón:

Cuando haces clic en el Push me , mostrará la fecha actual.

Autohosted

Echemos un vistazo a un ejemplo sencillo de Autohosted creando un nuevo proyecto.

Step 1 - Seleccionar App for SharePoint 2013 y haga clic en OK.

Step 2 - Seleccione Autohospedado.

Step 3 - Seleccione Aplicación web ASP.NET MVC y haga clic en Finalizar.

Una vez creado el proyecto, publique su aplicación. El resto de los pasos son los mismos que se dan para la opción alojada en SharePoint.