SharePoint - Guía rápida

Este tutorial le dará una idea de cómo comenzar con el desarrollo de SharePoint. Microsoft SharePoint es una colaboración basada en navegador, una plataforma de gestión de documentos y un sistema de gestión de contenido. Después de completar este tutorial, comprenderá mejor qué es SharePoint y cuáles son las áreas de características y funcionalidades de alto nivel de SharePoint.

Que es SharePoint

SharePoint es una plataforma para apoyar la colaboración y el sistema de gestión de contenido. Es un portal central basado en web. Con SharePoint, puede administrar los documentos, las actividades sociales, los datos y la información de sus colegas y sus propios.

  • Permite a los grupos configurar un espacio centralizado protegido por contraseña para compartir documentos.

  • Los documentos se pueden almacenar, descargar y editar y luego cargar para compartirlos de forma continua.

  • SharePoint ofrece una gama tan amplia de características que es muy difícil para cualquier persona ser un experto en todas las cargas de trabajo.

Entendamos todo lo que podemos hacer con SharePoint. Está dividido en tres áreas separadas:

Colaboración

El término colaboración contiene un tema muy fuerte para SharePoint. Significa unir a las personas a través de diferentes tipos de colaboración, como la gestión de contenido empresarial, la gestión de contenido web, la informática social, la detección de personas y sus habilidades.

  • En SharePoint 2013, la colaboración se administra a través de aplicaciones.

  • Los desarrolladores pueden ampliar, personalizar o crear sus propias aplicaciones para SharePoint, así como gestionar la colaboración en SharePoint.

Interoperabilidad

SharePoint también se trata de unir esta colaboración a través de la interoperabilidad como:

  • Integración de documentos de Office y basados ​​en la web.

  • Capacidad para crear e implementar soluciones seguras y personalizadas que integran datos de línea de negocio con SharePoint y Office.

  • Integración con tecnologías web más amplias o implementación de aplicaciones en la nube.

Plataforma

SharePoint también es una plataforma que admite no solo la interoperabilidad y la colaboración, sino también la extensibilidad, a través de un modelo de objetos enriquecido, un conjunto sólido de herramientas de desarrollo y una comunidad de desarrolladores en crecimiento.

  • Uno de los cambios de paradigma clave es la noción de nube en SharePoint.

  • La nube presenta nuevos modelos de aplicaciones como:

    • Nuevas formas de desarrollar, implementar y alojar aplicaciones de SharePoint.

    • Nuevas formas de autenticación a través de OAuth.

    • Nuevas formas de interoperabilidad de datos utilizando OData y REST.

En este capítulo, cubriremos los diferentes tipos y versiones para comenzar a trabajar en SharePoint.

Hay tres formas principales de instalar y usar SharePoint:

  • Fundación SharePoint
  • Servidor de SharePoint
  • Oficina 365

Las dos primeras opciones son SharePoint local, mientras que Office 365 ha surgido como un tercer modelo totalmente alojado en la nube para SharePoint.

Fundación SharePoint

SharePoint Foundation es la solución esencial para las organizaciones que necesitan una plataforma de colaboración segura, administrable y basada en la web. SharePoint Foundation le proporciona las características básicas de colaboración que se incluyen en SharePoint.

  • SharePoint Foundation se envía como una instalación descargable gratuita y representa las partes fundamentales de SharePoint.

  • Incluye una serie de características como seguridad y administración, colaboración de usuarios y sitios de equipo y varias aplicaciones (como bibliotecas de documentos y listas).

  • En esencia, proporciona un conjunto básico de características que le permiten comenzar a usar y desarrollar SharePoint.

SharePoint Foundation requiere algunas características para crear soluciones estándar de colaboración y comunicación dentro de su organización. Las características principales de SharePoint Foundation giran en torno a la colaboración y la gestión de documentos.

Características clave de SharePoint Foundation

A continuación se presentan algunas de las características principales, que son responsables de su amplia adopción en las empresas.

  • Effective document and task collaboration - Los sitios web del equipo ofrecen acceso a la información en una ubicación central.

  • Reduced implementation and deployment resources - SharePoint Foundation está disponible para los clientes de Windows Server como descarga gratuita, con la ayuda de la cual se reducen considerablemente el tiempo y el costo de implementación.

  • Better control of your organization’s important business data - SharePoint Foundation también ofrece funciones para la administración y seguridad de datos e información.

  • Embrace the web for collaboration - Ampliando y personalizando SharePoint Foundation

En resumen, SharePoint Foundation representa las características centrales de almacenamiento y colaboración de contenido de SharePoint. Es la edición ideal para equipos y organizaciones pequeñas que buscan mejorar su capacidad para trabajar entre sí en un espacio de trabajo colaborativo seguro y fácil de usar.

Servidor de SharePoint

SharePoint Server ofrece una gran cantidad de características que se extienden a las que se ofrecen en SharePoint Foundation. Proporciona una colección más rica y avanzada de funciones que puede utilizar en las soluciones de su organización.

Características clave de SharePoint Server

Algunas de estas características adicionales se describen en la siguiente lista:

  • Advanced Search- Las funciones de búsqueda y las funciones disponibles en las versiones del servidor ofrecen más flexibilidad. Permiten páginas de resultados de búsqueda personalizadas que puede configurar con elementos web de búsqueda personalizados.

  • Web Content Management - SharePoint Server admite la creación y publicación de contenido web para Internet.

  • Enterprise Services - Estos servicios le brindan formas de crear soluciones personalizadas de manera rápida y sencilla utilizando herramientas que están disponibles para usted dentro de la familia de productos de Office.

  • Business Connectivity Services - Los Servicios de conectividad empresarial (BCS) le permiten conectarse a estas fuentes de datos externas y mostrar datos comerciales a través de elementos web, perfiles de usuario o listas de SharePoint.

  • Social Networking and Computing - Las redes sociales están en todas partes y se han convertido en un conjunto de características esperadas de muchas soluciones.

  • Records management - SharePoint Server proporciona un excelente soporte para la gestión de contenido durante todo su ciclo de vida.

Oficina 365

Office 365 ha surgido como un tercer modelo totalmente alojado en la nube para SharePoint. Es la opción alternativa para alojar su propia granja en su propio centro de datos local.

Características clave de Office 365

  • Las opciones para obtener licencias de SharePoint Online a través de Office 365 se basan en factores como la cantidad de usuarios que desea agregar, la cantidad de datos que necesita almacenar y las características que necesita para estar disponible.

  • También se ha convertido en un gran lugar donde puede desarrollar aplicaciones enriquecidas (tanto como aplicaciones hospedadas en SharePoint como en la nube) y escalar sin el costo de administrar la infraestructura local.

  • No tiene todos los mismos servicios y características que SharePoint Server, pero tiene grandes capacidades de desarrollo.

  • Hay aplicaciones .NET que se crean con C # o Visual Basic y luego se implementan en SharePoint como .WSP o .APP. Hay aplicaciones más ligeras, como aplicaciones HTML5 y JavaScript, que también puede implementar.

  • Como desarrollador, tiene la capacidad de personalizar cualquiera de las ediciones de SharePoint, ya sea SharePoint Foundation, Server u Office 365.

En este capítulo, cubriremos el conjunto predeterminado de capacidades (o características) integradas en SharePoint que le permiten aprovechar la plataforma sin realizar ningún desarrollo.

  • Puede utilizar o ampliar estas capacidades básicas al crear sus aplicaciones. Microsoft se ha referido históricamente a estas capacidades como cargas de trabajo.

  • Estas cargas de trabajo proporcionan una forma de hablar sobre las diferentes capacidades de SharePoint que se combinan. Debería ver que estas cargas de trabajo representan no solo un conjunto básico de aplicaciones relacionadas, sino también oportunidades para el desarrollo de su aplicación.

Las siguientes son las cargas de trabajo, que se agregaron en SharePoint 2010:

  • Sites - Representar los diferentes tipos de sitios disponibles para su uso y las características dentro de estos sitios.

  • Communities - Representar a la comunidad y características sociales como blogs y wikis.

  • Content - Representa las funciones centrales de gestión de contenido empresarial.

  • Search - Representando las funciones impulsadas por la búsqueda.

  • Insights - Representar funciones de inteligencia empresarial como KPI.

  • Composites - Representa la capacidad de integrar aplicaciones externas mediante, por ejemplo, Servicios de conectividad empresarial.

SharePoint 2013: capacidades

En SharePoint 2013, Microsoft ha ampliado las capacidades para agregar más funciones y proporcionar una integración más estrecha.

A continuación se muestran las capacidades principales de SharePoint 2013:

Capacidad Funciones nativas Ejemplo de extensibilidad
Sitios Sitios es donde encontrará los aspectos colaborativos de SharePoint. Los sitios contienen una gran cantidad de funciones, incluida la capacidad de crear, almacenar y recuperar datos, y administrar, etiquetar y buscar contenido, documentos e información. También tiene conectividad con las aplicaciones cliente de Microsoft Office 2013 a través de la lista y la biblioteca de documentos. Sitios, plantillas de sitio, aplicaciones para SharePoint, flujo de trabajo, páginas maestras, páginas del sitio
Social Proporciona capacidades de redes sociales y sociales, fuentes de noticias y búsqueda y etiquetado de perfiles, junto con la capacidad de buscar, ubicar e interactuar con personas a través de sus habilidades, ubicación organizacional, relaciones y clasificación de contenido. Personalización de búsqueda, capacidades de clasificación y etiquetado, blogs, wikis, etiquetas de metadatos
Contenido Contiene la capacidad de explorar, buscar y administrar contenido mediante páginas web, aplicaciones, flujo de trabajo o tipos de contenido. Aplicaciones para SharePoint, flujos de trabajo, Word o Excel Services
Buscar La capacidad de buscar contenido dentro y fuera de SharePoint de una manera rica y dinámica con vistas de documentos en tiempo real a través de Office Web Apps. Además, la integración de información en sistemas de bases de datos estructurados y sistemas LOB locales o basados ​​en la nube como SAP, Siebel y Microsoft Dynamics. Búsqueda de SharePoint, personalización de búsqueda, conectividad de datos empresariales (BDC)
Insights Sobre todo sobre BI y soporte, por ejemplo, la capacidad de integrar Microsoft Access en SharePoint; aprovechar Excel y SQL Server para acceder y mostrar datos en una página web; Permitir el uso de cuadros de mando e indicadores clave de rendimiento (KPI) para transformar datos sin procesar en información procesable. Servicios de Excel, servicios de acceso, paneles, BDC, PerformancePoint Services
Interoperabilidad Varía desde la integración LOB hasta la integración de Office, pasando por el nuevo modelo de aplicación Apps for Office; (piense en paneles de tareas personalizados basados ​​en HTML y JavaScript que se vinculan a servicios en la nube en lugar de complementos de código administrado por VSTO) para el desarrollo de soluciones personalizadas. BDC, aplicaciones para Office, desarrollo personalizado
Marca Cambiar la apariencia de su sitio a través de cambios de plantilla incorporados o una marca más detallada e impulsada por la organización. Configuración lista para usar, páginas maestras y aplicaciones personalizadas para SharePoint

En este capítulo, configuraremos el entorno de desarrollo para SharePoint. Como ya sabes, existen tres opciones diferentes de SharePoint. Ellos son -

  • Fundación SharePoint
  • Servidor de SharePoint
  • Oficina 365

En este capítulo, usaremos Office 365, que es una versión basada en la nube.

Step 1 - Puede crear fácilmente una cuenta de prueba gratuita aquí https://products.office.com/en/business/office-365-enterprise-e3-business-software.

Step 2- Haga clic en la opción Prueba gratuita. Se abrirá una nueva página.

Step 3 - Ingrese la información requerida y haga clic en Next y verá la siguiente página.

Step 4- Introduzca el nombre de usuario, el nombre de la empresa y la contraseña y haga clic en Siguiente. Te enviará un código de verificación. Una vez que se complete la verificación, comenzará a crear la cuenta.

Step 5 - Una vez creada su cuenta, verá la siguiente página.

Step 6 - Click You’re ready to go y verá la siguiente página:

Ahora su entorno está listo y puede comenzar el desarrollo de puntos compartidos, pero también deberá instalar Visual Studio.

Microsoft proporciona una versión gratuita de Visual Studio, que también contiene SQL Server y se puede descargar desde https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx.

Instalación

Los siguientes pasos lo guiarán para instalar SharePoint.

Step 1- Una vez completada la descarga, ejecute el instalador. Se mostrará el siguiente cuadro de diálogo.

Step 2 - Haga clic en Instalar e iniciará el proceso de instalación.

Step 3 - Una vez que el proceso de instalación se complete con éxito, verá el siguiente mensaje -

Step 4- Reinicie su computadora si es necesario. Ahora abra Visual Studio desde el menú Inicio. Se abrirá el siguiente cuadro de diálogo y llevará algún tiempo prepararlo.

Step 5 - Una vez hecho todo, verá la ventana principal de Visual Studio.

Ahora está listo para iniciar su aplicación.

Step 6 - Seleccionar File → New → Project opción de menú.

Step 7 - Seleccione Office / SharePoint en el panel izquierdo debajo Templates → Visual C#. Haga doble clicInstall Office Developer Tools.

Step 8 - Click Instally cierre todas las instancias de Visual Studio. Se abrirá una nueva página. Hacer clicNext.

Step 9- Aparecerá un cuadro de mensaje. Hacer clicUpdate.

Step 10 - Una vez que se actualice, verá el mensaje de la siguiente manera -

El sitio es el elemento central de SharePoint y representa el punto de partida para los desarrolladores, y sin una colección de sitios, no puede iniciar el desarrollo de SharePoint. Una colección de sitios en línea de Microsoft SharePoint es un sitio de nivel superior que contiene subsitios.

Hay varias plantillas de sitio disponibles que puede utilizar. Los subsitios comparten la configuración de administración, la navegación y los permisos, cada uno de los cuales se puede cambiar para subsitios individuales según sea necesario.

Crear colección de sitios

Al aprender una aplicación como SharePoint, es una buena idea crear un área donde pueda realizar ejercicios sin afectar los entornos o usuarios existentes.

Step 1 - Para crear una nueva colección de sitios, vayamos al sitio. https://portal.office.com/

Step 2 - Seleccione el icono Administrador y verá la siguiente página -

Step 3 - Seleccionar Resources → Sites, en el panel izquierdo. En el panel derecho, haga clic enAdd a site.

Step 4- Se abrirá la siguiente página. Ingrese la información requerida y haga clic en Aceptar.

Puede ver que la colección de sitios se agrega en la lista de URL de su centro de administración. La URL es la ubicación de la colección de sitios en la que el administrador puede comenzar a crear y administrar sitios.

Step 5 - Haga clic en el vínculo y verá la información detallada sobre esa colección de sitios.

En este capítulo, cubriremos los distintos conjuntos de API para acceder a la plataforma de SharePoint.

La selección de API depende de los siguientes factores diferentes:

  • Tipo de aplicacion
  • Habilidades existentes del desarrollador
  • Dispositivo en el que se ejecuta el código

tipo de aplicacion

Hay diferentes tipos de aplicaciones como:

  • Complemento de SharePoint
  • Elemento web en una página de SharePoint
  • La aplicación Silverlight se ejecuta en una computadora cliente o en un dispositivo móvil cliente
  • Aplicación ASP.NET expuesta en SharePoint
  • JavaScript ejecutándose en una página de sitio de SharePoint
  • Página de la aplicación de SharePoint
  • Aplicación Microsoft .NET Framework que se ejecuta en una computadora cliente
  • Secuencia de comandos de Windows PowerShell
  • Trabajo del temporizador que se ejecuta en un servidor de SharePoint

Habilidades existentes del desarrollador

Puede crear aplicaciones fácilmente en SharePoint si ya tiene experiencia en cualquiera de los siguientes modelos de programación sin necesidad de aprender mucho sobre la programación de SharePoint:

  • JavaScript
  • ASP.NET
  • REST/OData
  • .NET Framework
  • Telefono windows
  • Silverlight
  • Windows PowerShell

Dispositivo en el que se ejecuta el código

El dispositivo en el que se ejecuta el código puede ser cualquiera de los siguientes:

  • Servidor en la granja de SharePoint.
  • Un servidor externo como un servidor en la nube.
  • Una computadora cliente y un dispositivo móvil.

La siguiente tabla proporciona orientación para diferentes conjuntos de API, que se pueden usar para una lista seleccionada de proyectos de extensibilidad de SharePoint comunes.

S.No. API y uso
1

.NET Framework client object model, Silverlight client object model, REST/OData endpoints

Cree una aplicación web ASP.NET que realice operaciones CRUD en datos de SharePoint o datos externos que surgen en SharePoint mediante un tipo de contenido externo BCS, pero no tiene que llamar a SharePoint a través de un firewall.

2

REST/OData endpoints

Cree una aplicación web LAMP que realice operaciones CRUD en datos de SharePoint o datos externos que surgen en SharePoint mediante un tipo de contenido externo BCS.

Cree una aplicación para iOS o Android que realice operaciones CRUD en datos de SharePoint.

3

Mobile client object model

Cree una aplicación de Windows Phone que realice operaciones CRUD en datos de SharePoint.

4

Mobile client object model and the server object model

Cree una aplicación de Windows Phone que use el servicio de notificaciones push de Microsoft para alertar al dispositivo móvil de eventos en SharePoint.

5

.NET Framework client object model

Cree una aplicación .NET Framework que realice operaciones CRUD en datos de SharePoint.

6

Silverlight client object model

Cree una aplicación Silverlight que realice operaciones CRUD en datos de SharePoint.

7

JavaScript client object model

Cree una aplicación HTML / JavaScript que realice operaciones CRUD en datos de SharePoint.

Cree un complemento de Office que funcione con SharePoint

8

Server object model

Cree un comando personalizado de Windows PowerShell.

Cree un trabajo de temporizador.

Cree una extensión de Administración central.

Cree una marca coherente en toda una granja de SharePoint.

Cree un elemento web personalizado, una página de aplicación o un control de usuario ASP.NET.

En este capítulo, cubriremos la introducción de alto nivel de la Administración central de SharePoint. La Administración central es el lugar donde puede realizar tareas de administración desde una ubicación central. Como ya nos hemos registrado en Office 365, también tenemos un sitio de administración.

Abre la URL https://portal.office.com/ en el navegador.

Step 1 - Seleccione el icono Admin.

Step 2 - Ahora seleccione Admin centers → SharePoint en el panel izquierdo.

Se abrirá la siguiente página.

Puede ver una variedad de características de administración de la colección de sitios y administrar las siguientes actividades:

  • Gestión de aplicaciones
  • Monitoring
  • Security
  • Configuración general de la aplicación
  • Ajustes del sistema
  • Copia de seguridad y restaurar
  • Actualización y migración
  • Asistente de configuración
  • Apps

Gestión de aplicaciones

En Administración de aplicaciones, puede realizar tareas como crear nuevas aplicaciones web y colecciones de sitios. Puede administrar los servicios que están instalados en su sitio de SharePoint como Word, Excel o BCS y administrar su base de datos de contenido.

También puede realizar tareas como modificar las propiedades de la base de datos de contenido, activar funciones y crear nuevas colecciones de sitios, etc.

Supervisión

El monitoreo es el lugar central donde puede administrar los informes, el monitoreo y el estado de su sitio de SharePoint. El sitio de Monitoreo se divide en tres áreas, que son las siguientes:

  • Health Status - Puede ver el estado de diferentes servicios en su servidor de SharePoint.

  • Timer Jobs - Puede definir los trabajos específicos y decidir cuándo ejecutarlos.

  • Reporting - Un conjunto de herramientas que le permite crear y administrar informes, ejecutar registros de diagnóstico y ver informes sobre diversas actividades del lado del servidor.

Seguridad

La configuración de seguridad tiene que ver con la seguridad en la interfaz de usuario del navegador principal, donde los usuarios y los administradores del sitio pueden evaluar permisos específicos relacionados con los usuarios para sus sitios. La seguridad cubre muchas áreas como:

  • Gestión de cuentas de administrador
  • Configuración y gestión de cuentas de servicios.
  • Gestión de políticas y configuración de cambio de contraseña.
  • Especificaciones de proveedores de autenticación, proveedores de identidad de confianza.
  • Configuración de antivirus.
  • Tipos de archivos bloqueados.
  • Seguridad de autoservicio.
  • Servicios de token seguros.

Configuración general de la aplicación

En Configuración general de la aplicación, puede configurar una serie de opciones generales para sus sitios y colecciones de sitios de SharePoint, como enviar correo a los usuarios.

También puede administrar una serie de opciones de implementación y aprobación, como la ubicación de la implementación de contenido y los aprobadores de ese contenido. En general, piense en este sitio como la configuración genérica para sus sitios de SharePoint.

Ajustes del sistema

Puede configurar opciones centradas en el servidor, como características de acceso o de nivel de granja, o incluso administrar servicios como Excel y Word Services, que están disponibles para los usuarios de la colección de sitios. Usted administra estos tipos de configuraciones desde el sitio de Configuración del sistema.

Copia de seguridad y restaurar

A veces, es posible que deba realizar una copia de seguridad y restaurar su sitio de SharePoint. La función de copia de seguridad y restauración le permite crear y programar copias de seguridad periódicas para su SharePoint, realizar copias de seguridad ad hoc, restaurar desde un sitio de SharePoint previamente respaldado, etc.

Actualización y migración

A veces, es posible que desee actualizar de una versión de SharePoint a otra versión, como pasar de SharePoint Standard a SharePoint Enterprise. Esto requiere una licencia y alguna facilidad para actualizar el servidor.

Este tipo de actividad se puede realizar en la sección Actualización y migración del sitio de Administración central. También puede instalar parches de servicio, verificar la instalación y el progreso de la actualización desde esta parte del conjunto de herramientas de administración.

Asistente de configuración

Es simplemente un asistente paso a paso que configura SharePoint Server para usted.

Debería haber visto este asistente cuando instaló SharePoint por primera vez. Sin embargo, puede ejecutarlo nuevamente después de la instalación para cambiar algunas de las configuraciones en su servidor de SharePoint.

Aplicaciones

Aplicaciones es una nueva categoría dentro del sitio de Administración central que le permite administrar diferentes facetas de las aplicaciones que están instaladas en su instancia de SharePoint.

Por ejemplo, puede usar aplicaciones para administrar las licencias, asegurarse de que las aplicaciones se ejecuten y funcionen sin errores y también administrar el catálogo de aplicaciones.

En este capítulo, cubriremos los modelos de aplicación de implementación de SharePoint. Dado que SharePoint se está moviendo hacia la nube, los siguientes modelos de implementación están disponibles para usar Aplicaciones para SharePoint:

  • SharePoint-hosted
  • Autohosted

Aplicación alojada en SharePoint

El tipo de implementación alojada en SharePoint representa una forma de implementar aplicaciones ligeras del lado del cliente en SharePoint. La forma más sencilla de pensar en la aplicación alojada en SharePoint como una aplicación que no tiene código del lado del servidor.

Las características clave de la aplicación alojada en SharePoint son:

  • Es una aplicación compuesta por archivos o páginas de aplicaciones estáticas que residen en su SharePoint, como archivos HTML y JavaScript, que permiten la codificación del lado del cliente.

  • Cuando los usuarios acceden a la aplicación alojada en SharePoint, se les redirige a la página que contiene su aplicación.

  • El tipo de implementación alojada en SharePoint es bueno para aplicaciones más livianas, como vistas de lista de marca, aplicaciones multimedia o aplicaciones meteorológicas.

  • Si decide aprovechar el modelo de implementación alojado en SharePoint, estará limitado al código que no se ejecuta en el servidor.

  • Puede usar Silverlight con SharePoint y aprovechar HTML junto con JavaScript.

Echemos un vistazo a un ejemplo sencillo de aplicación alojada en SharePoint.

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

los AutohostedEl modelo de implementación es una desviación significativa de las aplicaciones de SharePoint anteriores. En este modelo, usted crea aplicaciones para SharePoint, pero el código se implementa sin problemas en Windows Azure en segundo plano, por lo que SharePoint crea automáticamente la aplicación alojada en la nube para usted.

Las características importantes son:

  • Parece que se está ejecutando en SharePoint, pero en segundo plano se implementa en una instancia especial de Office 365 Windows Azure y se registra como una aplicación autenticada y autorizada con SharePoint.

  • No tiene acceso completo a todas las capacidades de la plataforma de la plataforma Windows Azure con el modelo de implementación Autohosted, pero tiene suficiente plataforma para crear algunas aplicaciones interesantes.

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

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

Se abre un nuevo cuadro de diálogo.

Step 2 - Seleccionar Autohosted y haga clic en Next.

Step 3- Se abrirá un nuevo cuadro de diálogo. SeleccioneASP.NET MVC Web Application y haga clic en Finish.

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.

En este capítulo, cubriremos las opciones de integración. El nuevo modelo de aplicación en SharePoint 2013 ofrece una serie de opciones para que su aplicación se integre profundamente con SharePoint, otros sistemas y datos. Estas opciones son las siguientes:

  • Integración de la interfaz de usuario
  • Integración de eventos y lógica
  • Integración de datos

Integración de la interfaz de usuario

En la integración de la interfaz de usuario, se encuentran disponibles tres puntos de integración principales como parte del modelo de aplicación de SharePoint, que son los siguientes:

  • Partes y páginas de la aplicación
  • Menús de cinta y acción
  • Navigation

Partes y páginas de la aplicación

Las partes y páginas de la aplicación le ofrecen la posibilidad de mostrar la interfaz de usuario de sus aplicaciones a sus usuarios. Para las personas familiarizadas con SharePoint 2010, los elementos de aplicación son similares a los elementos web.

  • Las partes de la aplicación son ventanas reutilizables y configurables en su aplicación.

  • Las páginas se parecen mucho a una parte de la aplicación, excepto que se ven en un estilo de ventana más grande y completa.

Menús de cinta y acción

La cinta se introdujo por primera vez en SharePoint 2010. Proporciona una ubicación central para todas las acciones que un usuario puede querer realizar en documentos y otros datos.

En SharePoint 2010, los desarrolladores podrían incluir acciones personalizadas para sus aplicaciones en la cinta; Las aplicaciones de SharePoint también permiten esta personalización. Esto le permite incluir acciones donde los usuarios las esperan, junto con todas las demás acciones estándar que proporciona SharePoint.

El menú Acción es un menú contextual en los elementos de una lista o biblioteca de SharePoint. Por ejemplo, en una biblioteca de documentos de SharePoint, el menú Acción expone funciones comunes como Registrar y Verificar.

Otro término comúnmente utilizado para este menú es Editar bloque de control.

Las aplicaciones de SharePoint le permiten incluir acciones adicionales en este menú. Por ejemplo, es una excelente ubicación para mostrar las funciones de su aplicación, que se aplican a un solo elemento de la lista.

Navegación

La navegación les permite a los usuarios encontrar su aplicación, y la integración con los menús Ribbon y Action les permite a sus usuarios realizar acciones en la misma ubicación familiar que lo hacen en cualquier otro lugar de SharePoint.

El uso de uno o más de estos componentes básicos le permite integrar la interfaz de usuario de su aplicación con la de SharePoint y exponer su aplicación a sus usuarios.

Eventos e integración lógica

Proporcionar una interfaz de usuario para los usuarios suele ser el aspecto más destacado de cualquier aplicación. Por otro lado, responder a las acciones que realizan los usuarios, ya sea dentro de una aplicación o para interactuar con una aplicación, también es extremadamente importante.

Las características clave son:

  • Las aplicaciones de SharePoint brindan la capacidad de responder a actividades dentro de su aplicación, como hacer clic en un botón, y responder a actividades dentro de SharePoint, como un documento que se está extrayendo, etc.

  • Responder a las actividades dentro de su aplicación es muy sencillo. La interfaz de usuario y el código de su aplicación se ejecutan de forma remota desde SharePoint y simplemente se muestran a través de las partes y páginas de la aplicación. Por esta razón, responder a un evento, como hacer clic en un botón en su aplicación, está completamente vinculado al marco de programación de su aplicación. Por ejemplo, si su aplicación está construida con ASP.NET, simplemente captura elOnClick evento para un botón ASP.NET.

  • SharePoint no se interpone en su camino para este tipo de eventos. Para responder a eventos que ocurren dentro de SharePoint, como un documento que se guarda o actualiza, SharePoint proporciona receptores de eventos.

  • SharePoint 2013 también proporciona receptores de eventos que permiten que las aplicaciones respondan a eventos que ocurren dentro de un sitio de SharePoint.

Integración de datos

Los datos son el corazón de cada aplicación, que normalmente es con lo que los usuarios quieren trabajar dentro de su aplicación. SharePoint proporciona una serie de opciones listas para usar para almacenar datos y trabajar con ellos. Estas opciones son las siguientes:

  • Almacenar y manipular datos dentro de SharePoint.

  • Trabajar con datos que viven fuera de SharePoint.

Desde la primera versión de SharePoint, el objetivo ha sido hacer que el trabajo con datos sea sencillo y directo para los usuarios.

El ejemplo más simple de esto es el concepto de datos de lista. Los usuarios pueden almacenar y trabajar con datos de estilo tabular a través de una interfaz web común.

Muchos ven el uso de listas de forma análoga al uso de una tabla de datos en una base de datos. Las aplicaciones de SharePoint también pueden aprovechar estas mismas capacidades de almacenamiento de datos de forma nativa mediante el uso de listas. SharePoint ofrece a los desarrolladores la capacidad de aprovechar muchas de las capacidades de almacenamiento de datos que ofrece SharePoint sin tener que reinventar la rueda.

Si se usa correctamente, SharePoint puede ahorrar tiempo y esfuerzo y potencialmente reducir los costos de administración y soporte de su operación.

Las siguientes son las capacidades básicas de almacenamiento de datos:

  • Lists - Para almacenar datos estructurados, como en una tabla.

  • Libraries - Para almacenar datos no estructurados, como en un documento o archivo.

SharePoint proporciona un conjunto completo de API para que los desarrolladores lo utilicen dentro de las aplicaciones para interactuar y manipular los datos que residen en SharePoint. Para las aplicaciones de SharePoint, esas API se exponen en elClient-Side Object Model (CSOM).

Verá muchas de estas opciones en los próximos capítulos.

En este capítulo, cubriremos los diferentes niveles de "desarrollo" relacionados con SharePoint. Cada nivel sirve al usuario final del sitio de SharePoint de alguna manera. Puede dividir este espectro en lo siguiente:

  • End users - que utilizan la plataforma como plataforma de aplicaciones.

  • Power users - que crean y administran (y tal vez marca) sitios.

  • Designers - quién marca el sitio y construye la experiencia del usuario.

  • Developers - que crean e implementan aplicaciones.

Varias personas interactúan con SharePoint, desde los desarrolladores hasta los usuarios finales. Está representado en la siguiente figura

Configuración del sitio

La configuración del sitio es una de las partes principales de SharePoint. Es muy importante que estemos familiarizados con él.

Step 1 - Para acceder a la página Configuración del sitio, haga clic en User Profile en SharePoint Admin center. Haga clic en la opciónSetup My Site en Configuración de Mi sitio.

Se abrirá la siguiente página.

Encontrará la mayoría de las configuraciones para su sitio en esta página, como:

  • Cambie el tema de su sitio.
  • Activar funciones.
  • Administrar permisos.

Step 2- Algunas opciones de configuración también están disponibles en Configuración. Entonces haga clic en Configuración en el panel izquierdo.

Tenga en cuenta que las funciones principales de la página Configuración del sitio se dividen en categorías principales. Por ejemplo, la mayoría de las configuraciones de seguridad están disponibles para usted en la categoría Usuarios y permisos, temáticas en Galerías de diseñadores web, etc.

Agregar página HTML

La experiencia de edición abarca desde formatear texto hasta agregar imágenes o multimedia. Puede introducir un poco más en el código incorporando HTML directamente en su sitio de SharePoint.

Esta tarea se siente un poco más como un desarrollo, así que echemos un vistazo a un ejemplo simple agregando una página HTML.

Step 1- Abra su sitio de SharePoint y navegue hasta la página de inicio del sitio. En la pestaña Página, haga clic en la opción de menú Editar.

Step 2 - En la pestaña INSERTAR, haga clic en la opción Código incrustado.

Se abrirá el siguiente cuadro de diálogo:

Step 3 - Agregue algún código HTML en el campo de código como se muestra a continuación -

Step 4 - Click Insert y verá que se inserta el fragmento HTML.

Step 5 - Click Save.

Puede ver que el código HTML está insertado en su sitio de SharePoint.

Agregar archivo multimedia

Para agregar una aplicación de Media Player a su sitio de SharePoint, abra su sitio de SharePoint y navegue hasta la página de inicio del sitio.

Step 1 - En la pestaña Página, haga clic en la opción de menú Editar.

Step 2 - Seleccione la opción Elemento web.

Step 3 - Seleccione los medios y el contenido de Categories y seleccione el Media with Partsde la sección de Piezas. Hacer clicAdd.

Step 4 - Guarde la página y verá la siguiente página, que contiene el archivo multimedia.

Diseñador de SharePoint

Muchos desarrolladores prefieren no usar SharePoint Designer como herramienta para desarrollar un sitio de SharePoint. Sin embargo, el punto es que la herramienta SharePoint Designer puede facilitar algunas tareas de desarrollo.

Las características importantes son:

  • SharePoint Designer se puede usar para una variedad de funciones de diseñador para SharePoint, incluida la creación y edición de sitios, páginas, listas y tipos de contenido.

  • SharePoint Designer también es útil para crear un flujo de trabajo declarativo basado en reglas que luego se puede importar en Visual Studio para una personalización de nivel más profundo.

  • Se puede descargar e instalar desde https://www.microsoft.com/en-pk/download/details.aspx?id=35491

  • Cuando abre SharePoint Designer por primera vez, debe proporcionarle la URL de su sitio de SharePoint y autenticarse como un usuario elevado.

  • SharePoint Designer hereda los permisos estándar de SharePoint.

  • Después de abrir su sitio en SharePoint Designer, aparecen varias opciones navegables y cierta información sobre su sitio, como metadatos del sitio, permisos, subsitios, etc.

Entonces, usemos SharePoint Designer, pero primero debemos configurar SharePoint Designer usando Office 365 abriendo su sitio de SharePoint.

Step 1 - Abra el sitio de SharePoint.

Step 2- Seleccione la opción de menú Configuración de Office 365. Seleccione Configuración en el panel izquierdo y luego seleccione el software en el panel central.

Step 3 - Seleccionar Tools & add-insen el panel izquierdo y verá las diferentes opciones. Al final verá la opción de SharePoint Designer, haga clic en el enlace.

Step 4- Abra SharePoint Designer después de la instalación. Haga clic en elOpen Site opción.

Step 5 - Especifique la URL de su sitio de SharePoint y haga clic en Abrir.

Step 6 - Una vez que el sitio de SharePoint Designer esté abierto, verá que hay diferentes opciones disponibles.

Step 7 - Haga clic en Listas de SharePoint en la cinta y seleccione Tareas en el menú.

Step 8- Se abre un nuevo cuadro de diálogo. Especifique el nombre y la descripción y haga clic en Aceptar.

Step 9 - Vayamos al mismo sitio, utilizando el portal y verá la lista de tareas pendientes en su sitio.

Visual Studio y Expression Blend

También puedes usar Visual Studio y Blendpara agregar contenido a su sitio de SharePoint. Visual Studio ofrece muchas características para ayudar a desarrollar aplicaciones en SharePoint; Es útil familiarizarse con ellos en detalle.

Echemos un vistazo a un ejemplo sencillo de una aplicación alojada en SharePoint abriendo Visual Studio. SeleccioneFile → New → Project opción.

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, seleccioneRead, 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.

En este capítulo, analizaremos principalmente desde la perspectiva del usuario final, cubriendo las listas y algunas de las características de valor agregado en la parte superior de las listas como vistas, validación, etc. Cuando los usuarios finales crean contenido dentro de SharePoint, se almacena en el formulario de listas.

  • Las listas son realmente el mecanismo de almacenamiento de datos dentro de SharePoint.

  • Proporciona la interfaz de usuario para poder ver los elementos en una lista, agregar, editar y eliminar elementos o ver elementos individuales.

Echemos un vistazo a un ejemplo simple en el que agregaremos una lista de contactos.

Step 1- Abra su sitio de SharePoint y vaya a la página Contenido del sitio. Puede ver el contenido, las listas y las bibliotecas actuales, y tenemos la capacidad de agregar contenido nuevo haciendo clic enadd an app.

Step 2 - Así que echemos un vistazo a algunas de las cosas que podemos agregar a nuestro sitio -

  • Podemos crear una nueva biblioteca de documentos.

  • Podemos crear una lista personalizada donde definimos el esquema.

  • También hay algunas listas con esquemas predefinidos como la lista de tareas aquí.

  • Podemos agregar imágenes, algunas páginas wiki, formularios, una lista de enlaces, una lista de anuncios, una lista de contactos y un calendario, etc.

Step 3 - Permítanos seleccionar la lista de contactos.

Step 4 - Llamaremos a esta lista- Contacts y luego haga clic en el Create botón.

Step 5 - Entonces ahora puede ver aquí en los contactos de su sitio, tiene la lista de contactos y puede hacer clic en ella para trabajar con los elementos de la lista.

Step 6 - Una forma de agregar un nuevo elemento a esta lista es hacer clic en este enlace Nuevo elemento y luego agregarlo a mi contenido.

Step 7 - Ingrese el apellido y el nombre, y luego vaya a la barra de herramientas o la cinta y haga clic en Save.

Step 8 - También podemos poner la lista en modo de edición haciendo clic en el edit enlace.

Step 9- A continuación, podemos agregar algunos otros contactos. Una vez finalizada la edición, haga clic en elStop editing para salir del modo de edición de insignias.

La página mostrará todos los contactos.

Un par de cosas más cuando trabajamos con la lista aquí.

Step 10 - Click ITEMS para acceder a los elementos de Ribbon.

Step 11 - Click LIST aquí para acceder a la Ribbon elementos relacionados con la lista completa.

SharePoint proporciona muchas funciones para las listas. Proporciona almacenamiento para los datos de la lista, la capacidad de personalizar el esquema de la lista y la capacidad de ver, agregar, editar y eliminar elementos de la lista, etc. Hay muchas más funciones disponibles, como crear vistas en los datos de la lista, validación simple en ambos el nivel de campo y lista, aprobación de contenido, control de versiones de elementos, etc.

Puntos de vista

Empecemos a trabajar con Viewsen los datos de la lista. Aquí volvemos a la lista de Autores y, como puede observar, hemos agregado solo cuatro elementos. Con solo cuatro elementos, no es difícil obtener la información que necesitamos de sus datos.

A medida que aumenta el número de elementos, digamos de 4 a 50 a 100, hasta quizás 500, se vuelve cada vez más difícil echar un vistazo a la lista y obtener rápidamente la información que necesitamos. Para abordar este problema, SharePoint le permite crear múltiples Vistas en listas, de modo que podamos filtrar la información que no necesitamos, como:

  • Podemos ordenar los valores del campo.
  • Podemos agrupar información.
  • Podemos obtener totales.
  • También podemos tener diferentes formas de presentar la información.

Para la mayoría de las listas, cuando las crea, obtiene una Viewpor defecto. Se llama elAll Items View y esa es la vista que hemos visto en el ejemplo anterior.

Ahora echemos un vistazo a cómo podemos crear vistas personalizadas. Al igual que con la creación del esquema de lista, SharePoint nos ofrece un par de formas diferentes que podemos usar para crear vistas. Una forma es comenzar con una vista existente y cambiar la clasificación y el filtrado de diferentes columnas. Podemos obtener los datos de la forma que desea que se vean y luego guardarlos como una nueva vista.

Notará que si vamos a los otros encabezados de columna, la mayoría de ellos nos dan un pequeño menú desplegable al que podemos acceder como se muestra a continuación para el encabezado Salario / Tasa.

Vaya al encabezado de la otra columna: Bio. No tiene una lista desplegable ya que contiene varias líneas de texto. Las otras columnas tienen esta opción. Nos da la capacidad de ordenar la información o filtrarla.

Creemos un filtro aquí que solo muestre Empleados.

Una vez que agregamos ese filtro, observe que hay un pequeño ícono en el encabezado de la columna que indica que estos valores de campo se han filtrado. Clasifiquémoslo en orden descendente.

Así que ahora tenemos una nueva vista de los datos, es decir, la vista de orden descendente.

Ahora no se conserva el filtrado y la clasificación. Por lo tanto, debemos guardar la vista de orden descendente para el futuro.

Si simplemente navegamos de regreso a la lista de Autores, veremos All Items. Si queremos tener una vista que sea soloEmployees, ordenados por Salario / Tasa descendente, haga clic en SAVE THIS VIEW opción.

A esta vista la denominaremos vista Empleados. Seleccione entre las opciones dadas si esta vista debe estar disponible para todos los usuarios o solo para mí. Clic en Guardar.

Entonces, ahora tenemos dos vistas diferentes, la vista Todos los elementos y la vista Empleados, podemos cambiar entre estas vistas usando los enlaces en la parte superior de la vista Lista como se muestra en la captura de pantalla que se muestra a continuación.

Validación

Agregaremos reglas de validación simples a campos y elementos en una lista de SharePoint. Ahora, cuando creamos la lista de Autores, agregamos algunas reglas de validación usando las propiedades de los diferentes tipos de campos.

Hacer clic New Itemde la lista del autor. Ahora, haga clic enSave.

Al hacer clic en Guardar, obtendrá dos errores. Esto se debe a que hemos indicado que Nombre y Salario / Tarifa son campos obligatorios.

Ingrese el nombre y el salario / tarifa como Aamir Jameel y 1500 respectivamente. Hacer clicSave.

Como puede ver, todavía tenemos un problema con Salario / Tarifa, porque cuando creamos el campo indicamos que su valor debe estar entre 0 y 1000, y 1500 no cumple con ese requisito. Haga clic en Cancelar.

Vaya a la pestaña Lista en la cinta y luego haga clic en List Settings. Hacer clicName. Como puede ver en la captura de pantalla que se muestra a continuación, es un campo obligatorio,

Ahora regrese, haga clic en Salario / Tasa y desplácese hacia abajo. Verá que también es un campo obligatorio.

Aquí también hemos establecido el rango válido de valores. Entonces, está bien si el tipo de campo tiene estas propiedades, pero ¿qué haces si no las tiene? Bueno, podemos agregar una validación personalizada simple. Entonces, si nos desplazamos hacia abajo, puede ver que hay un área para la validación de columnas. Expandamos eso. Aquí podemos especificar una fórmula y luego dar un mensaje si el valor ingresado por el usuario no satisface esa fórmula.

Si no está familiarizado con la creación de fórmulas en SharePoint, hay un vínculo que le brinda ayuda sobre cómo hacerlo.

Ahora la validación que queremos agregar es que si no eres un empleado, entonces tu Salario / Tarifa indica tu tarifa por hora y queremos decir que el valor máximo de la tarifa es $ 50.00. Entonces, aquí, la validación depende tanto del valor del campo Empleado como del campo Salario / Tarifa. Por lo tanto, en lugar de agregar la validación a cualquiera de esos campos, lo agregaremos al elemento y luego la forma en que indicamos la validación del elemento es yendo a Configuración de la lista.

Hacer clic Validation Settings y configure la fórmula como se muestra a continuación.

Entonces, la condición será bastante simple, primero, ¿es usted un empleado? Entonces, si usted es un empleado, entonces ya establecemos el rango válido de valores de salario entre 0 y 1000. Por lo tanto, solo se devuelve el valor verdadero. Si no es un empleado, comprobaremos si el salario / tarifa es menor o igual a 50.

Si esta fórmula devuelve Verdadero, el elemento se considera válido. Si devuelve falso, no es válido. Por último, agregamos el mensaje de error, 'La tarifa máxima para un colaborador es de $ 50'.

Esto completa la configuración de validación. Clic en Guardar.

Ahora regrese a la lista de Autores y agregue un nuevo elemento. Lo nombraremos Prueba, marque la casilla de verificación Empleado (ya que estamos probando para un empleado), ingrese Salario / Tarifa como 800 y luego haga clic en Guardar.

Los datos se guardaron. No hubo ningún error. Ahora ingresemos diferentes condiciones. Vaya a la lista de autores. Lo llamaremos Prueba 2.

Ahora no seleccione la casilla de verificación Empleado, ya que asumimos que la persona es un contribuyente. Ingrese el salario / tasa es 800 y luego haga clic en Guardar.

Verá un mensaje de error. Por lo tanto, cambiemos el salario / tasa a un valor válido.

Ingrese 40 en el campo Salario / Tarifa.

Clic en Guardar.

Verá que los datos se guardan correctamente y se actualizan en la lista como se muestra en la siguiente captura de pantalla.

Campos de búsqueda

Echaremos un vistazo a las relaciones de lista y los campos de búsqueda. Crearemos una nueva lista para contener información sobre los cursos.

Step 1 - Ir a Site Contents → ‘add an app' → Custom List.

Step 2- Especifique la lista de Cursos y luego haga clic en Crear. Abra la lista de cursos. Solo hay una columna llamada Título, que representará el título del curso.

Step 3- Cree una segunda columna, que contendrá el nombre del autor. Vaya a LIST en la cinta. Haga clic en Crear columna.

Step 4 - Nombra esta columna como Author. Podemos tener una sola línea de texto donde el usuario ingresa el nombre del autor. Sin embargo, ya tenemos los nombres de los autores en la lista de Autores, por lo que en su lugar presentaremos al usuario una lista desplegable, donde puede seleccionar el autor. Por lo tanto, en lugar de crear un campo de una sola línea de texto, crearemos un campo de búsqueda.

Step 5- A continuación, necesitamos especificar qué campo de qué lista le mostraremos al usuario. SharePoint ha establecido los valores adecuados de forma predeterminada, pero si queremos cambiar la lista, podemos seleccionar si de la lista desplegable. Cuando haya terminado, haga clic en Aceptar.

Step 6 - Este curso es Tutoriales de SharePoint y puede ver que tenemos una lista desplegable para Autor.

Lista de almacenamiento de datos

Los datos de las listas se almacenan en filas y columnas. Para cada base de datos de contenido, hay una tabla que almacena los datos de las listas. Puede relacionar las listas, reforzar la integridad relacional y validar.

La gente asume con bastante frecuencia que existen muchas capacidades de una base de datos relacional con listas y un conjunto de listas se vuelve casi como una base de datos relacional, pero no es así.

Debe pensar en listas más como un conjunto de hojas de trabajo de Excel donde puede tener una hoja de trabajo vinculada con otra hoja de trabajo, y puede hacer cumplir la validación en columnas o celdas a través de algún formulario simple. Por lo tanto, un conjunto de listas en SharePoint no es como una base de datos relacional.

Echemos un vistazo a cómo crear una lista personalizada, donde definimos el esquema de la lista, en lugar de usar un esquema predefinido como el que hicimos cuando creamos la lista de Contactos.

Step 1- Para crear una lista personalizada, vaya a Contenido del sitio y luego agregue una aplicación. Haga clic en Lista personalizada.

Step 2 - Ingrese Autores en el campo Nombre y luego haga clic en Crear.

Step 3- Ahora puede ver que se agrega Autores. Hagamos clic en la aplicación Autores.

Step 4 - Haga clic en nuevo elemento.

Step 5- Como puede ver, nuestra lista tiene una sola columna. El nombre del campo es Título y es un campo obligatorio, por lo que aquí estableceremos el valor del campo en Prueba y luego haremos clic en Guardar.

Note - En SharePoint, las columnas también se denominan campos, por lo que estos términos son sinónimos.

Step 6 - Agreguemos un elemento más haciendo clic en el enlace Nuevo elemento.

Step 7 - Establezca el valor del campo Título en Demostración y haga clic en Guardar.

Puede ver que tenemos dos elementos o dos filas y vemos los valores del campo Título. Observe que junto a este valor, hay una pequeña elipse, que es un enlace para abrir un menú.

Note - Este menú se llamaba tradicionalmente Edit Control Block o ECB menú, pero también lo oirá referirse como el List Item Contacts menú.

Creamos la lista personalizada porque queríamos definir el esquema. Hay un par de formas de hacer esto.

Step 8- Una forma es poner la lista en modo de edición. Observe que hay una columna adicional al final con un signo + encima y aquí podemos agregar columnas a la lista.

Step 9 - Haga clic en el signo + y podemos crear una columna de texto.

Step 10- Verá la siguiente página. Llame a este campoName.

Step 11- Ingrese los nombres. Estos serán texto.

Step 12- Ahora agregue otra columna y hagamos esto como una columna numérica de modo que solo se puedan ingresar números como datos. Establezca esto en Tasa y agregue algunos valores.

Ahora bien, esta técnica es útil cuando está creando un prototipo de una lista, pero no tiene mucho control.

Entonces, echemos un vistazo a la otra forma de definir el esquema para la lista. Haremos esto a través de la configuración de la lista.

Step 13 - Haga clic en el enlace Detener la edición para salir del Editmodo. Seleccione Lista en la cinta y luego vaya a Configuración de lista.

Aquí, podemos definir el esquema de la lista. Cuando creamos la columna, ya teníamos la columna Título. Puede ver otras dos columnas, que creamos y algunas otras columnas, que están ocultas y utilizadas por SharePoint internamente.

Step 14- Para definir el esquema de la lista de Autor, haga clic en la columna Nombre y haga clic en Eliminar. A continuación, elimine la columna Tarifa.

Step 15- Ahora, si volvemos a la lista de Autor, podemos ver que esas columnas se han ido junto con los valores que establecimos para ellas. Vuelva a Configuración de la lista y configure el esquema real que desee.

Step 16- La página muestra una columna con Título. Sin embargo, no queremos esta columna sino una columna que represente el nombre del autor. Por lo tanto, haga clic en Título.

Step 17 - Cuando haces clic Title, se abrirá una nueva página. Desplácese hasta el final de la página. No hay ninguna opción para eliminar la página.

Note- No podemos eliminar esta página porque esta columna está asociada con el enlace de elipse. sin embargo, podemos cambiarle el nombre.

Step 18- Cambiar el nombre de la columna. Usaremos esta columna para representar el nombre del autor y haga clic en Aceptar.

Step 19- A continuación, agregue otra columna para representar si el autor es un empleado o un colaborador. Haga clic en Crear columna.

Step 20- Establezca el nombre de la columna en Empleado y seleccione los tipos de campo Sí / No. Una vez que hayamos seleccionado el tipo de campo que queríamos, desplácese hacia abajo hasta la parte inferior de la página y podrá ver Configuración de columna adicional.

Note- Hay varios tipos de campos diferentes disponibles. Los tipos de campo disponibles son diferentes en SharePoint Foundation, SharePoint Server SharePoint Online.

Además, el tipo de sitio que está creando, es decir, un sitio de colaboración o un sitio de publicación, también influirá en los tipos de campo disponibles.

Step 21 - Establecer el Default value a No en lugar de Sí y haga clic en Aceptar.

Step 22- Ahora creemos otra columna, haciendo clic en Crear columna. Esta columna representará el salario de nuestros empleados o la tarifa de los contribuyentes.

Step 23 - Lo llamaremos Salario / Tasa y lo configuraremos en el campo Moneda.

Step 24 - Desplácese hacia abajo y conviértalo en un campo obligatorio y establezca el Mínimo en 0 y el Máximo en 1000. Introduzca 2 para mostrar la moneda hasta dos decimales.

Step 25- Agreguemos una columna más, que será la biografía. Simplemente lo llamaremosBio y establezca el tipo en varias líneas de texto.

Step 26- Ingrese 6 ya que seis líneas para editar está bien. En este caso, solo queremos texto sin formato y hacemos clic en Aceptar.

Step 27- Tenemos el esquema para nuestra lista de Autores. Ahora que nuestro esquema está completo, agreguemos algunos datos. Hacer clicAuthors en Reciente.

Eliminemos las dos filas que habíamos creado previamente haciendo clic en la pequeña marca al lado de cada una de ellas. A continuación, vaya a Elementos en la cinta y haga clic enDelete Item.

Step 28 - Agregue el primer elemento haciendo clic en Nuevo elemento.

Step 29 - Ingrese algunos datos más como se muestra en la captura de pantalla a continuación.

Verá todos los datos enumerados.

En este capítulo cubriremos las bibliotecas. Las bibliotecas son solo un caso especial de una lista. Heredan todas las características de una lista. Por lo tanto, todas las características que hemos visto hasta ahora se aplican a las bibliotecas del mismo modo que a las listas.

Diferencia entre lista y biblioteca

Aunque las listas y bibliotecas exhiben características similares, las siguientes son las diferencias:

  • La principal diferencia es que en una biblioteca, cada fila está asociada a un documento. Este documento puede ser de cualquier tipo. Por ejemplo, documentos de Office, imágenes, páginas web, documentos de Word Perfect, etc. La ventaja de utilizar documentos de Office es que existe una integración con las propias herramientas de Office.

  • La otra diferencia es más una diferencia de terminología que de funcionalidad. Por ejemplo, las columnas en una biblioteca significan los metadatos asociados con el documento.

Crear una biblioteca de documentos

En esta sección, veremos los conceptos básicos para trabajar con bibliotecas de documentos. Puede crear una biblioteca de documentos de la misma forma que ha creado una lista. Siga los pasos que se indican a continuación.

Step 1 - Vaya a Contenido del sitio y luego haga clic en "agregar una aplicación".

Step 2 - Click Document Library. Asigne un nombre a la biblioteca y haga clic en Crear.

Note - Aquí, aprenderemos sobre las opciones avanzadas.

Step 3 - Haga clic en Opciones avanzadas y nombre la biblioteca de documentos, Course Documents.

También tenemos la opción de configurar una versión aquí, pero sugiero no configurar una versión porque las mismas opciones no están disponibles en la configuración de la biblioteca. Sin embargo, si desea activar el control de versiones, hágalo en la configuración de la biblioteca, no aquí. Finalmente, tenemos la opción de decir qué tipo de documento queremos que sea la plantilla predeterminada. Seleccionaremos Word y haremos clic en Crear.

Step 4- Ahora, antes de agregar documentos, necesitamos agregar un par de columnas o campos. Vaya a la opción Biblioteca en la cinta y haga clic en Configuración de biblioteca.

Step 5- Agregue una nueva columna y esta columna será el curso que aparecerá en el campo de búsqueda en la lista de Cursos. Haga clic en Aceptar.

Step 6- Agreguemos una columna más. Nombraremos esta columna comoNumbery establezca el tipo en número. Establezca los valores mínimo y máximo, es decir, 0 y 100 respectivamente, y haga clic en Aceptar.

Puede ver que el esquema está listo.

Agregar un documento a la biblioteca

Ahora que tenemos el esquema listo, podemos agregar algunos documentos. Una forma de agregar un documento es crearlo aquí dentro de SharePoint.

Step 1- Ahora vayamos a la pestaña Archivos en la cinta. Haga clic en Nuevo documento.

Step 2 - Verás que Word está abierto y aquí podemos editar el contenido del documento.

Step 3 - Escribe un texto en la página de palabras abiertas.

El documento se guarda automáticamente, ahora regresemos al sitio y verá que se crea el documento de Word.

Step 4- Para editar los valores de los campos de metadatos, haga clic en las pequeñas elipses. Seleccione las elipses nuevamente en el cuadro de diálogo Document.docx y seleccioneRename de las opciones.

Step 5 - Ingrese la información requerida y haga clic en Guardar.

Otra forma en que podemos agregar un documento a una biblioteca de documentos es cargarlo.

Step 6 - Puedes subirlo usando New Document aquí.

Step 7 - También puede ir a la pestaña Archivos en la cinta y hacer clic en Cargar documento.

Step 8- Verá el siguiente cuadro de diálogo. Haga clic en Elegir archivos.

Step 9- Seleccione un archivo de muestra. Haga clic en Abrir.

Verá que el documento de muestra se agrega a la lista de la biblioteca.

Step 10- Si desea cargar varios documentos, puede arrastrarlos y soltarlos. Se cargarán varios documentos.

Una vez finalizada la carga, verá estos documentos en la lista.

Step 11 - Otra forma de configurar los metadatos es bajo el Library pestaña, haga clic en el Quick Edit opción en la cinta.

Step 12 - los metadatos están configurados, haga clic en Ver en la cinta para volver a la vista de lista estándar.

Verá que los archivos del documento son la lista como se ve en la siguiente captura de pantalla.

En este capítulo, cubriremos los elementos web. Vamos a restringir nuestra vista aList View Web Parts porque es la parte que está más estrechamente asociada con la colaboración de información.

Los elementos web son pequeños bloques de interfaz de usuario que puede componer juntos para crear una página o un sitio. Por ejemplo, un elemento web de noticias, un elemento web de correo electrónico, un elemento web de valores, resultados deportivos, videos de YouTube. Todos estos son ejemplos de pequeñas piezas de interfaz de usuario, que pueden componerse juntas para obtener una vista agregada en una aplicación estilo portal.

En términos de colaboración de información, los elementos web se denominan elementos web Vista de lista. Muestran la información de una lista o biblioteca y le permiten agregar nuevos elementos o documentos. De esta manera, puede crear una sola página, que muestra información en todas las listas y bibliotecas de un sitio, eliminando la necesidad de que el usuario navegue a las listas individuales y bibliotecas.

En este capítulo, nos centraremos en List View Web Parts. Estos son elementos web que nos permiten interactuar con datos de listas o bibliotecas, pero a lo largo del camino obtendrá una idea general de cómo funcionan los elementos web en SharePoint.

Echemos un vistazo a un ejemplo sencillo creando una página de elementos web, es decir, una página que admita el uso de elementos web.

Step 1- Llegué al Contenido del sitio. Desplácese hacia abajo y haga clic en el icono-Site Pages.

Step 2- Vaya a la pestaña ARCHIVOS. En la cinta, haga clic en la flecha desplegable en elNew Documentbotón. Seleccione Página de elementos web en las opciones.

Step 3 - Nombra esta página Coursesy luego debemos decidir el diseño de la página. Por lo tanto, los elementos web se agregan a las zonas de elementos web.

  • El diseño aquí determina el número y el diseño de estas zonas. También tenemos una idea de cómo se ven las zonas.

  • Podemos tener solo una zona de elementos web que ocupe toda la página, un encabezado y una columna y un cuerpo, o un encabezado y un pie de página y columnas, etc.

En este caso, solo necesitamos una zona de elementos web. Por lo tanto, seleccionaremos vertical de página completa y haremos clic en Crear.

Step 4- Para que pueda ver la zona de elementos web y su parte interior. Puede ver un vínculo que nos permite agregar un elemento web. Clic en el enlace.

Step 5 - Se abrirá la Galería de elementos web.

  • Esta página nos muestra los elementos web que están disponibles para agregarse a la página y estos están divididos en categorías.

  • Los elementos web que nos interesan, para este ejemplo, se encuentran en la categoría Aplicaciones.

Notará que hay un elemento web para cada una de las listas y bibliotecas de nuestro sitio.

Step 6- Puede ver los documentos del curso en el elemento web. Ahora agreguemos un elemento web una vez más y luego hagamos clic en elCourses List y haga clic en Add.

Step 7 - Una vez que haya terminado de agregar los elementos web, haga clic en Stop Editing en la cinta.

Step 8 - Tiene una sola página donde puede interactuar tanto con la lista de cursos como con la biblioteca de documentos del curso.

Step 9 - Si desea agregar un nuevo documento, puede cargarlo o puede arrastrar y soltar aquí, tiene acceso a los menús de Editar bloque de control tanto para la biblioteca como para la lista.

Puede realizar todas las tareas principales navegando a la lista o la biblioteca en sí. Para mantener los elementos web una vez que están en la página, podemos poner la página en modo de edición desde la cinta de opciones haciendo clic en Editar página.

Step 10- Puede ver que para cada uno de los elementos web hay un pequeño menú desplegable, que podemos usar para eliminar el elemento web. Si desea eliminar un elemento web, siempre haga clic enDeleteno Close. Cerrar solo oculta el elemento web, pero aún permanece en la página.Delete elimina el elemento web de la página.

Step 11 - Podemos editar las propiedades del elemento web haciendo clic en el Edit Web Partdel menú. Puedes ver en las propiedades que hay diferentes opciones, puedes decir qué vista quieres mostrar en el elemento web, qué barra de herramientas quieres tener. También puede cambiar la apariencia, el diseño, etc.

En este capítulo, cubriremos las columnas del sitio. Hasta ahora, hemos estado definiendo los esquemas de listas y bibliotecas en las listas y bibliotecas mismas, pero estos no son reutilizables. Por tanto, si desea tener dos listas con el mismo esquema, tendríamos que definir el mismo esquema dos veces. SharePoint tiene una solución para esto, que son las columnas del sitio y los tipos de contenido.

  • Las columnas de sitio definen definiciones de columnas reutilizables y los tipos de contenido, que se componen de columnas de sitio, definen esquemas reutilizables tanto para listas como para bibliotecas.

  • Además de definir el esquema, también puede adjuntar flujos de trabajo y controladores de eventos a un tipo de contenido. Las columnas del sitio y los tipos de contenido se almacenan en galerías a nivel del sitio y están disponibles para usarse dentro de ese sitio y cualquiera de sus elementos secundarios.

  • Si declara una columna de sitio o un tipo de contenido en un sitio secundario, solo estará disponible en la rama que se encuentra debajo.

  • A menos que exista una razón específica para no hacerlo, la práctica común es declarar las columnas del sitio y los tipos de contenido en la raíz de la colección de sitios y de esa manera estarán disponibles en toda la colección de sitios.

Ahora echemos un vistazo a un ejemplo simple en el que crearemos y usaremos columnas de sitio y tipos de contenido. Ya hemos visto los tipos de contenido, aunque puede que no haya sido obvio

Step 1 - Vaya a nuestra lista de contactos a través del contenido del sitio.

Step 2 - Si se desplaza hacia abajo, verá una sección llamada Columnas.

Step 3 - Subir a Advanced Settings. Seleccione Sí paraAllow Management of Content Typesy haga clic en Aceptar.

Verá que tenemos una nueva sección aquí llamada Tipos de contenido. Esto indica que esta lista se basa en el tipo de contenido de contacto.

Step 4 - Vaya a Configuración del sitio.

Step 5 - En Galerías de diseñadores web, haga clic en Site Content Types.

Step 6 - Desplácese hacia abajo en la página y encontrará el tipo de contenido de contacto, que se encuentra justo debajo de la lista de tipos de contenido y luego haga clic en el enlace de contacto.

Step 7- Si observa las columnas, verá que coincide con las columnas de nuestra lista. Básicamente, cuando crea una lista de la plantilla de la lista de contactos, asocia este tipo de contenido con la lista y es por eso que obtiene todos estos campos.

Ahora, los campos aquí que componen la definición de un tipo de contenido se conocen como columnas del sitio.

Para ver las Columnas del sitio, vayamos a Configuración del sitio y seleccione Columnas del sitio en Galerías del diseñador web,

Step 8- Puede ver las columnas asociadas a Contactos. Así que exploremos esto un poco más creando nuestra propia columna de sitio personalizada y nuestro propio tipo de contenido personalizado y luego usándolos en listas. En nuestra biblioteca de documentos del curso, tenemos una columna para el curso y definimos esta columna en la propia biblioteca.

Step 9- Quizás, mientras construye su sitio, se dé cuenta de que desea tener una columna de curso en algunas listas y bibliotecas y desea reutilizar esa definición. Por lo tanto, lo que podemos hacer es crear la columna del curso como una columna del sitio y luego usarla en diferentes listas y bibliotecas.

Vayamos a la columna del sitio desde la configuración del sitio.

Step 10 - Haga clic en el enlace Crear.

Step 11 - Nómbrelo como la columna Curso y será un campo de búsqueda.

Step 12 - Pon esto en un grupo llamado "SharePoint Basics”Para que podamos encontrarlo fácilmente más tarde. Buscará en la lista de Cursos y el campo que queremos buscar es el Título. Haga clic en Aceptar.

Step 13 - Verás que un nuevo grupo SharePoint Basics es creado.

Step 14 - Nuestra nueva columna de sitio se crea en el grupo "Conceptos básicos de SharePoint".

Step 15- Regresemos a Documentos del curso y luego vayamos a la Configuración de la biblioteca. Vaya a Columnas.

Elimine la columna Curso, que creamos en la propia biblioteca.

Step 16- Agreguemos la nueva columna del curso de las columnas del sitio. Por lo tanto, en lugar de hacer clic en Crear columna, haga clic enAdd from existing site columns.

Step 17- Cambie el grupo a "Conceptos básicos de SharePoint" y seleccione Curso en el lado izquierdo. Haga clic en Agregar para agregar esa columna a la lista y luego haga clic en Aceptar.

Step 18 - Volvamos a los Documentos del curso.

Step 19- Puede ver nuestra nueva columna del curso, pero está vacía porque la información que estaba aquí anteriormente se eliminó cuando eliminamos la columna del curso original. Por lo tanto, agreguemos eso como se muestra a continuación.

Si esta lista tuviera cientos de elementos, convertiría una tarea que podría llevar horas en una tarea que podría llevar minutos.

Tipos de contenido

En esta sección, veremos cómo crear un tipo de contenido personalizado.

Step 1- Vayamos a Configuración del sitio y luego a Tipos de contenido del sitio. Haga clic en el enlace Crear.

Hay dos cosas clave a considerar aquí cuando estamos creando un tipo de contenido.

  • La primera es que todos los tipos de contenido se basan en otro tipo de contenido o podría pensar que todos los tipos de contenido heredan de otro tipo de contenido.

  • La segunda es que un tipo de contenido funcionará con listas o funcionará con bibliotecas. Si funciona con listas o bibliotecas depende del tipo que herede.

Por ejemplo, si queremos crear una lista de contactos personalizada, iríamos a la List Content Typesy luego busque Contacto. Creábamos el tipo de contenido, añadíamos cosas que necesitábamos que aún no formaban parte de Contact o eliminamos cosas que formaban parte de Contact que no deseábamos.

  • Una estrategia que puede utilizar al crear tipos de contenido es encontrar un tipo de contenido que ya tenga la mayoría de las cosas que necesita, heredarlo y luego personalizarlo.

  • La otra estrategia es comenzar con un tipo de contenido base y simplemente construir sobre él.

En el caso de las listas, ese es el tipo de contenido del elemento. Para las bibliotecas, desea heredar de Document, por lo que iremos aDocument Content Types.

Step 2- Nuestro tipo de contenido será para bibliotecas de documentos relacionadas con los cursos. Esto es lo que queremos aquí en términos de herencia.

Step 3 - Llamemos a esto Course DocumentsTipo. Al igual que hicimos con las columnas del sitio, lo pondremos en un grupo para que podamos identificarlo fácilmente y el nombre del grupo será "Conceptos básicos de SharePoint". Haga clic en Aceptar.

Step 4 - Puede ver en la siguiente captura de pantalla que ya existen un par de campos del Tipo de contenido del documento, File Name and Title. Agregaremos el campo Curso. Ahora, aquí no podemos simplemente agregar una columna a un tipo de contenido, la columna debe ser una columna de sitio. Por tanto, vamos a elegirAdd from existing site columns y luego aplique el filtro en el grupo "Conceptos básicos de SharePoint".

Step 5 - Seleccione la columna Curso, haga clic en Agregar y luego en Aceptar.

En este caso, esta es toda la personalización que queremos hacer a nuestro tipo de contenido, así que ahora estamos listos para usarlo.

Step 6 - Creemos una nueva biblioteca de documentos haciendo clic en Site Contents → add an app y crear una biblioteca de documentos.

Step 7 - Llamaremos a esta biblioteca Testy haga clic en Crear. Abra la biblioteca de pruebas y establezca el tipo de documento del curso encontentescriba para esta biblioteca. Vaya a Biblioteca en la cinta y luego a Configuración de biblioteca.

Step 8 - Para administrar los tipos de contenido, vaya a Configuración avanzada.

Step 9 - Establecer Allow Management of Content Types a Yes y luego haga clic en Aceptar.

Step 10- Puede ver que esta biblioteca está actualmente asociada con el tipo de contenido Documento. Necesitamos agregar nuestro tipo de contenido del curso, haciendo clic enAdd from existing site content types.

Step 11- Vuelva a filtrarlo en “Conceptos básicos de SharePoint”. Seleccione Tipo de documentos del curso, haga clic en Agregar y luego en Aceptar.

Así que ahora, nuestra biblioteca está asociada con dos tipos de contenido, el tipo de contenido del documento y el tipo de documentos del curso.

Step 12 - A continuación, vaya a la biblioteca de pruebas y luego haga clic en New Document.

Cuando hace clic en Nuevo documento o en la flecha desplegable, puede ver que podemos crear un documento de cualquier tipo. Ahora, si solo desea que las personas puedan crear documentos del curso, vuelva a la Configuración de la biblioteca. Elimine la asociación de tipo de contenido de documento haciendo clic en la sección Documento en tipos de contenido.

Step 13 - Click Delete This Content Type. Vuelva a la biblioteca y haga clic en Archivos, y luego haga clic en Nuevo documento.

Ahora puede ver que solo está disponible la opción Tipo de documento del curso. Estos son los conceptos básicos para trabajar con tipos de contenido en SharePoint.

En este capítulo, cubriremos una de las tareas más comunes de SharePoint, es decir, interactuar con las diversas fuentes de datos, como listas o bibliotecas de documentos. Una gran ventaja de SharePoint es que tiene varias opciones disponibles para interactuar con los datos. Algunos ejemplos son el modelo de objetos del servidor, el modelo de objetos del lado del cliente, los servicios REST, etc.

Antes de poder hacer algo con SharePoint mediante programación, debe establecer una conexión y un contexto con su sitio de SharePoint. Sin embargo, para esto necesitamos SharePoint on Premises, que se puede instalar en Windows Server.

Necesita agregar una referencia en su proyecto para Microsoft.SharePoint.dll o Microsoft.SharePoint.Client.dll. Con las referencias apropiadas agregadas a su proyecto, puede comenzar a establecer el contexto y el código dentro de ese contexto.

Echemos un vistazo a un ejemplo sencillo.

Step 1 - Abra Visual Studio y cree un nuevo proyecto desde File → New → Project menu opción.

Step 2 - Seleccione Windows de Templates → Visual C#en el panel izquierdo y elija Aplicación de consola en el panel central. Ingrese el nombre de su proyecto y haga clic en Aceptar.

Step 3 - Una vez creado el proyecto, haga clic con el botón derecho en el proyecto en el Explorador de soluciones y seleccione Add → References.

Step 4 - Seleccionar Assemblies → Extensions en el panel izquierdo y verifique Microsoft.SharePoint en el panel central y haga clic en Aceptar.

Ahora haga clic derecho en el proyecto nuevamente en el Explorador de soluciones y seleccione Propiedades.

Step 5 - Haga clic en el Build Pestaña en el panel izquierdo y desmarca la Prefer 32-bit opción.

Step 6 - Ahora vuelve al Program.cs archivo y reemplácelo con el siguiente código.

using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SharePointData {
   class Program {
      static void Main(string[] args) {
         using (var site = new SPSite("http://waqasserver/sites/demo")) {
            var web = site.RootWeb;
            Console.WriteLine(web.Title);
            var lists = web.Lists;
            
            foreach (SPList list in lists) {
               Console.WriteLine("\t" + list.Title);
            }
            Console.ReadLine();
         }
      }
   }
}

Note- En el código anterior primero se creó un nuevo objeto SPSite. Este es un objeto desechable, por lo que se crea dentro de una declaración de uso. El constructor de SPSite toma la URL de la colección de sitios, que será diferente en su caso.

La var web = site.RootWeb obtendrá la raíz de la colección de sitios.

Podemos obtener las listas usando web.Lists e imprimir el título de los elementos de la lista.

Cuando se compile y ejecute el código anterior, verá el siguiente resultado:

SharePoint Tutorials
   appdata
   Composed Looks
   Documents
   List Template Gallery
   Master Page Gallery
   Site Assets
   Site Pages
   Solution Gallery
   Style Library
   Theme Gallery
   User Information List
   Web Part Gallery

En este capítulo, veremos el modelo de objetos de SharePoint Server. Utilice el modelo de objetos de SharePoint Server cuando escriba código que se ejecutará dentro del contexto de SharePoint. Algunos ejemplos comunes serían el código subyacente en una página o un elemento web, los controladores de eventos detrás de una característica o una lista, trabajos de temporizador, etc.

Características del modelo de objetos de servidor

Las siguientes son las características clave del modelo de objetos de servidor

  • Puede usar el modelo de objetos de servidor si está programando una aplicación ASP.NET dentro del mismo grupo de aplicaciones que usa SharePoint.

  • El modelo de objetos de servidor se puede usar si está desarrollando una aplicación cliente como una consola o formularios de Windows o una aplicación WPF que se ejecutará en un servidor de SharePoint.

  • No puede usar el modelo de objetos de servidor para conectarse de forma remota a un servidor de SharePoint.

  • Cuando desee utilizar el modelo de objetos de servidor, consulte la Microsoft.SharePointmontaje. Hay otros ensamblados, que componen el Modelo de objetos de servidor, pero Microsoft.SharePoint es el principal.

  • Los tipos principales que usará con más frecuencia se asignan a los componentes que usa como usuario final, por lo que elementos como colecciones de sitios, sitios, listas, bibliotecas y elementos de listas se representan mediante los tipos SPSite, SPWeb, SPList, SPDocumentLibrary y SPListItem.

  • El tipo y el modelo de objetos de servidor que representa una colección de sitios es SPSite y el tipo que representa un sitio de SharePoint en el modelo de objetos de servidor es SPWeb. Por lo tanto, cuando pase de los términos del usuario final a los términos del desarrollador, solo tendrá que hacer ese mapeo mental.

Ahora, cuando comienza a usar SharePoint por primera vez, puede ser confuso porque el sitio está muy sobrecargado y significa cosas opuestas en el vocabulario del usuario final y del desarrollador, sin mencionar el vocabulario web.

Echemos un vistazo a un ejemplo simple de modelo de objetos de servidor.

Step 1 - Abra Visual Studio y cree un nuevo proyecto desde File → New → Project opción de menú.

Step 2 - Seleccione Windows de Templates → Visual C#en el panel izquierdo y elija Aplicación de consola en el panel central. Ingrese el nombre de su proyecto y haga clic en Aceptar.

Step 3 - Una vez creado el proyecto, haga clic con el botón derecho en el proyecto en el Explorador de soluciones y seleccione Add → References.

Step 4 - Seleccionar Assemblies → Extensions en el panel izquierdo y marque Microsoft.SharePoint en el panel central y haga clic en el botón Aceptar.

Ahora haga clic derecho nuevamente en el proyecto en el Explorador de soluciones y seleccione Propiedades.

Step 5 - Haga clic en el Build Pestaña en el panel izquierdo y desmarca la Prefer 32-bit opción.

Step 6 - Ahora vuelve al Program.cs archivo y reemplácelo con el siguiente código.

using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SharePointData {
   class Program {
      static void Main(string[] args) {
         using (var site = new SPSite("http://waqasserver/sites/demo")) {
            var web = site.RootWeb;
            Console.WriteLine(web.Title);
            var lists = web.Lists;
            
            foreach (SPList list in lists) {
               Console.WriteLine("\t" + list.Title);
            }
            Console.ReadLine();
         }
      }
   }
}

Note- En el código anterior primero se creó un nuevo objeto SPSite. Este es un objeto desechable, por lo que se crea dentro de una declaración de uso. El constructor de SPSite toma la URL de la colección de sitios, que será diferente en su caso.

La var web = site.RootWeb obtendrá la raíz de la colección de sitios.

Podemos obtener las listas usando web.Lists e imprimir el título de los elementos de la lista.

Cuando se compile y ejecute el código anterior, verá el siguiente resultado:

SharePoint Tutorials
   appdata
   Authors
   Composed Looks
   Contacts
   Course Documents
   Courses
   Documents
   List Template Gallery
   Master Page Gallery
   Site Assets
   Site Pages
   Solution Gallery
   Style Library
   Theme Gallery
   User Information List
   Web Part Gallery

Puede ver que estos títulos son Galería de soluciones, Biblioteca de estilo, Plantillas de formulario. Estas son listas que SharePoint usa internamente. Por lo tanto, en lugar de mostrar todas las listas, tal vez solo desee mostrar las listas que los usuarios verían normalmente.

Por lo tanto, en lugar de obtener la colección de listas completa, queremos obtener todas las listas que no están ocultas. Podemos hacerlo utilizando una consulta de enlace como se indica a continuación.

using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ServerObjectModel {
   class Program {
      static void Main(string[] args) {
         using (var site = new SPSite("http://waqasserver/sites/demo")) {
            var web = site.RootWeb;
            Console.WriteLine(web.Title);
            var lists = from SPList list in web.Lists
            where list.Hidden == false
            select list;
            
            foreach (SPList list in lists) {
               Console.WriteLine("\t" + list.Title);
            }
            Console.ReadLine();
         }
      }
   }
}

Cuando se compile y ejecute el código anterior, verá el siguiente resultado:

SharePoint Tutorials
   Authors
   Contacts
   Course Documents
   Courses
   Documents
   Site Assets
   Site Pages
   Style Library

Puedes ver que esto nos devolverá todas las listas que no están ocultas.

Echemos un vistazo a otro ejemplo sencillo en el que también mostraremos información sobre los elementos de la lista.

using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ServerObjectModel {
   class Program {
      static void Main(string[] args) {
         using (var site = new SPSite("http://waqasserver/sites/demo")) {
            var web = site.RootWeb;
            Console.WriteLine(web.Title);
            var lists = from SPList list in web.Lists
            where list.Hidden == false
            select list;
            
            foreach (SPList list in lists) {
               Console.WriteLine("\t" + list.Title);
               var items = list.Items.OfType<SPListItem>().Take(5);
               var isDocLib = list is SPDocumentLibrary;
               
               foreach (SPListItem item in items) {
                  var value = isDocLib ? item.Name : item.Title;
                  Console.WriteLine("\t\t" + value);
               }
            }
            Console.ReadLine();
         }
      }
   }
}

Cuando se compile y ejecute el código anterior, verá el siguiente resultado:

SharePoint Tutorials
   Authors
      Muhammad Waqas
      Mark Upston
      Allan Bommer
      Andy Onian
   Contacts
      Waqas
      Upston
      Bommer
   Course Documents
      Sample1.docx
      Sample2.docx
      Sample3.docx
   Courses
      SharePoint Tutorials
      C# Tutorials
      ASP.Net Tutorials
      NHibernate Tutorials
   Documents
   Site Assets
   Site Pages
      Home.aspx
      How To Use This Library.aspx
   Style Library

Lista de datos

Cuando crea una lista por primera vez, siempre tiene una columna de título. Esta columna de título da acceso, de forma predeterminada, al contexto de elemento de lista o al menú de bloque de control de edición.

Dado que, cada lista comienza con una columna: Título, el SPListItemtype expone eso como una propiedad. Para las columnas que no son comunes a todas las listas, puede acceder a ellas a través del indexador enSpListItem tipo.

Puede pasar un par de datos al indexador, pero el más común es el Column. Los usuarios finales en la configuración de la lista pueden cambiar este nombre. No desea utilizar este nombre porque, de nuevo, puede cambiar.

El segundo es el InternalName, que se establece en el punto en que se crea esta lista y nunca cambia. Este es el nombre que desea usar cuando accede al valor de la columna.

Echemos un vistazo a un ejemplo simple en el que recuperaremos la lista de Autores como se muestra a continuación:

En este ejemplo, obtendremos la lista de Autores y luego aumentaremos el Salario / Tasa en algún valor. Por lo tanto, para la columna Salario / Tasa usaremos elInternalName.

Step 1- Vaya al Explorador de servidores; botón derecho del ratónSharePoint Connections y seleccione Agregar conexión ... Especifique la URL y haga clic en Aceptar.

Step 2 - Expandir SharePoint Tutorials → List Libraries → Lists → Authors → Fields → Salary/Ratecampo. Botón derecho del ratónSalary/Ratey seleccione Propiedades. Verás elInternalName en la ventana Propiedades.

Step 3 - A continuación se muestra un ejemplo sencillo de cómo recuperar los autores según el salario / tarifa y aumentar su salario / tarifa.

using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ServerObjectModel {
   class Program {
      static void Main(string[] args) {
         using (var site = new SPSite("http://waqasserver/sites/demo")) {
            var web = site.RootWeb;
            var list = web.Lists.TryGetList("Authors");
            if (list == null)
            return;
            var items = list.Items;
            ShowItems(items);
            RaiseRates(items);
            Console.WriteLine("\nAfter Raise\n");
            ShowItems(items);
            Console.ReadKey();
         }
      }
      static void RaiseRates(SPListItemCollection items) {
         foreach (SPListItem item in items) {
            var employee = Convert.ToBoolean(item["Employee"]);
            var rate = Convert.ToDouble(item["Salary_x002f_Rate"]);
            var newRate = employee ? rate + 1 : rate + 0.1;
            item["Salary_x002f_Rate"] = newRate;
            item.Update();
         }
      }
      static void ShowItems(SPListItemCollection items) {
         foreach (SPListItem item in items) {
            Console.WriteLine("Salary or rate for {0} is {1:c}", item.Title,
            item["Salary_x002f_Rate"]);
         }
      }
   }
}

En el código anterior, puede ver que tenemos dos métodos:

  • Uno está recuperando la lista que se llama ShowItems y

  • El otro método es aumentar las tasas que se llama RaiseRates().

Cuando se compile y ejecute el código anterior, verá el siguiente resultado:

Salary or rate for Muhammad Waqas is $950.00
Salary or rate for Mark Upston is $15.00
Salary or rate for Allan Bommer is $20.00
Salary or rate for Andy Onian is $870.00

After Raise

Salary or rate for Muhammad Waqas is $951.00
Salary or rate for Mark Upston is $15.10
Salary or rate for Allan Bommer is $20.10
Salary or rate for Andy Onian is $871.00

Consultas CAML

En los ejemplos anteriores, siempre hemos iterado a través de los elementos usando un bucle foreach muchas veces iterando a través de todos los elementos y siempre hemos recuperado todas las columnas o al menos todas las columnas han sido accesibles.

Es realmente análogo a hacer una selección * del nombre de la tabla en una consulta SQL.

Podemos abordar este problema utilizando lo que se llama CAML queries. Al hacer una consulta CAML, tiene dos opciones:

  • Si desea consultar solo una lista, puede usar el objeto SPQuery.

  • Si desea consultar varias listas en una colección de sitios, puede usar SPSiteDataQuery.

Generalmente, cuando estás haciendo el SPSiteDataQuery, está consultando todas las listas de un tipo específico.

Por ejemplo, quiero consultar todas las listas de contactos, etc. SPSiteDataQuery le permite determinar el alcance, por lo que puede indicar que desea consultar la colección de sitios completa, un sitio individual o el sitio y todos sus elementos secundarios.

La sintaxis de las consultas CAML se describe básicamente en formato XML y se necesita un poco de tiempo para acostumbrarse a la construcción de este tipo de consultas.

Echemos un vistazo a un ejemplo sencillo de consultas CAML. Aquí, crearemos una consulta CAML para consultar los datos en nuestra lista de Autores.

using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ServerObjectModel {
   class Program {
      static void Main(string[] args) {
         using (var site = new SPSite("http://waqasserver/sites/demo")) {
            var web = site.RootWeb;
            var list = web.Lists.TryGetList("Authors");
            if (list == null)
            return;
            var items = QueryItems(list);
            ShowItems(items);
            
            //RaiseRates(items);
            //Console.WriteLine("\nAfter Raise\n");
            //ShowItems(items);
            Console.ReadKey();
         }
      }
      static SPListItemCollection QueryItems(SPList list) {
         var query = new SPQuery();
         
         query.ViewFields =
            "<FieldRef Name='Title' />" +
            "<FieldRef Name='Employee' />" +
            "<FieldRef Name='Salary_x002f_Rate' />";
         
         query.Query =
            "<OrderBy>" +
            " <FieldRef Name='Salary_x002f_Rate' />" +
            "</OrderBy>" +
            "<Where>" +
            " <Eq>" +
            " <FieldRef Name='Employee' />" +
            " <Value Type='Boolean'>False</Value>" +
            " </Eq>" +
            "</Where>";
         return list.GetItems(query);
      }
      static void RaiseRates(SPListItemCollection items) {
         foreach (SPListItem item in items) {
            var employee = Convert.ToBoolean(item["Employee"]);
            var rate = Convert.ToDouble(item["Salary_x002f_Rate"]);
            var newRate = employee ? rate + 1 : rate + 0.1;
            item["Salary_x002f_Rate"] = newRate;
            item.Update();
         }
      }
      static void ShowItems(SPListItemCollection items) {
         foreach (SPListItem item in items) {
            Console.WriteLine("Salary or rate for {0} is {1:c}",
            item.Title,
            item["Salary_x002f_Rate"]);
         }
      }
   }
}

Hemos utilizado una consulta CAML para obtener algunos de los elementos. En elQueryItems método, puede ver que hemos recuperado solo aquellos elementos que no son Empleados.

Salary or rate for Mark Upston is $15.10
Salary or rate for Allan Bommer is $20.10

En este capítulo, veremos el modelo de objetos de cliente o CSOM. Esta fue una de las dos API para crear aplicaciones remotas que se agregaron a SharePoint 2010.

Uno de los objetivos de diseño del modelo de objetos de cliente era imitar el modelo de objetos de servidor tanto como fuera posible, por lo que habría una curva de aprendizaje más corta para los desarrolladores que ya están familiarizados con el desarrollo en el lado del servidor.

El corazón del modelo de objetos de cliente es un servicio web llamado Client.svc, que vive en el _vti_bindirectorio virtual. No se supone que nos comuniquemos directamente con Client.svc, pero se nos dan tres proxies o puntos de entrada, que podemos usar. Ellos son -

  • Código administrado .NET.
  • JavaScript.
  • JavaScript.

El código se comunica con estos proxies y luego estos proxies finalmente se comunican con el servicio web.

Dado que se trata de una API remota y la comunicación se realiza con SharePoint a través de llamadas al servicio web, el modelo de objetos de cliente está diseñado para permitirnos agrupar comandos y solicitudes de información.

Código administrado .NET

Los dos ensamblados principales para la implementación de administración de .NET son:

Microsoft.SharePoint.Client.dll y Microsoft.SharePoint.Client.Runtime.dll.

Código Silverlight

Los ensamblados para la implementación de Silverlight viven en TEMPLATE\LAYOUTS\ClientBin. Los nombres de los ensamblados también comienzan conMicrosoft.SharePoint.Client. Para todos los ensamblados menos uno, el nombre del ensamblado termina en Silverlight.

Los dos ensamblajes principales para la implementación de Silverlight son:

  • Microsoft.SharePoint.Client.Silverlight.dll
  • Microsoft.SharePoint.Client.Silverlight.Runtime.dll

JavaScript

La implementación de JavaScript en el modelo de objetos de cliente se encuentra en la carpeta TEMPLATE \ LAYOUTS debajo de la raíz del sistema de SharePoint. Todos los nombres de las bibliotecas de JavaScript comienzan con SP. Las tres bibliotecas principales sonSP.js, Sp.Runtime.jsy SP.Core.js.

El modelo de objetos de cliente se amplió en SharePoint 2013.

Recuperar recursos con carga usando .NET

Veamos un ejemplo simple en el que usaremos la implementación administrada del Modelo de objetos de cliente mediante la aplicación de formularios de Windows. Por lo tanto, primero necesitamos crear un nuevo proyecto.

Step 1 - Seleccionar Windows Forms Applicationen el panel central e ingrese el nombre en el campo Nombre. Haga clic en Aceptar.

Step 2- Una vez creado el proyecto, agreguemos un cuadro de lista y un botón como se muestra a continuación. Para usar el modelo de objetos de cliente, necesitamos agregar un par de referencias de ensamblaje. Haga clic con el botón derecho en las referencias y elija Agregar referencia.

Step 3 - Seleccionar Extensions en el panel izquierdo debajo Assemblies.

Los dos ensamblados principales para la implementación administrada del modelo de objetos de cliente son Microsoft.SharePoint.Client y Microsoft.SharePoint.Client.Runtime. Marque estas dos opciones y haga clic en Aceptar.

Ahora haga doble clic en el botón Cargar para agregar el controlador de eventos como se indica a continuación.

using Microsoft.SharePoint.Client;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ClientObjectModel {
   public partial class Form1 : Microsoft.SharePoint.Client.Form {
      public Form1() {
         InitializeComponent();
      }
      private void loadBtn_Click(object sender, EventArgs e) {
         using (var context = new ClientContext("http://waqasserver/sites/demo")) {
            var web = context.Web;
            context.Load(web);
            context.Load(web.Lists);
            context.ExecuteQuery();
            ResultListBox.Items.Add(web.Title);
            ResultListBox.Items.Add(web.Lists.Count);
         }
      }
   }
}

El punto de entrada al modelo de objetos del cliente es el contexto del cliente. Es la versión remota de cliente delSPContextobjeto. Este es un tipo desechable, por lo que está envuelto en unusingdeclaración. Pasamos la URL del sitio de SharePointClientContext.

Así que ahora tenemos nuestro contexto. Necesitamos un objeto para representar el sitio actual para que seavar web = context.web.

Note- Recuerde, este objeto es solo un shell vacío, por lo que necesitamos cargar los objetos web usando context.load y pasar el objeto web. Esto indica que queremos que las propiedades de los objetos web se completen en la siguiente recuperación por lotes.

A continuación, necesitamos llamar context.ExecuteQueryy eso realmente inicia la recuperación por lotes. Recuperamos los valores de propiedad del servidor y los agregamos al cuadro de lista.

Cuando se compile y ejecute el código anterior, verá el siguiente resultado:

Haga clic en el botón Cargar y verá que obtenemos ambos, el título y el recuento de las listas.

Permite que la configuración de nuestro proyecto use el modelo de objetos de cliente para verificar los recursos de carga usando el método de carga.

En este capítulo, cubriremos las API REST. Esta no es una API tradicional, donde tenemos un conjunto de bibliotecas que contienen tipos y esos tipos contienen propiedades y métodos.

La API REST se implementa como un servicio web centrado en datos basado en el protocolo de datos abiertos o OData. La forma en que funcionan estos servicios web, el uso de cada recurso en el sistema es direccionable por una URL específica que usted pasa al servidor.

Veamos esto en Internet Explorer en el que el sitio de SharePoint está abierto.

Step 1 - Si está utilizando Internet Explorer, vaya a la configuración de Internet Explorer y en la pestaña Contenido, seleccione la configuración de Feeds y Web Slices como se muestra en la captura de pantalla siguiente.

Verá el siguiente cuadro de diálogo. Asegurarsefeed reading view es off y haga clic en Aceptar.

Step 2 - Ahora cambiemos la URL a la URL del sitio + / _ api / web y presione Enter.

Ahora debería obtener una vista similar a la siguiente captura de pantalla.

Queremos información sobre la web actual o el sitio actual. Por lo tanto, la URL del sitio + / _ api es la URL base para la API REST de SharePoint 2013 y la web es nuestra consulta. Queremos información sobre la web actual.

Recuperamos un documento XML y si nos desplazamos hacia abajo, obtendremos información sobre nuestra web actual.

A continuación, si desea conocer las listas en la web, puede agregar las listas a su URL. En lugar de información sobre un objeto individual, obtendremos una colección de información sobre todas las listas del sitio actual.

Cuando usábamos el navegador, emitíamos solicitudes de obtención al servidor, lo que significa que queremos recuperar información. Sin embargo, también podemos hacer el resto de las operaciones CRUD estándar.

Recuperar recursos usando la API REST

La API REST de SharePoint 2013 no expone metadatos. Por lo tanto, cuando estamos trabajando con él en código administrado, no podemos usar Visual Studio para generar un proxy de servicio usando el diálogo de referencia de servicio. En su lugar, podemos usar un tipo como el cliente web del objeto de solicitud web http para enviar una solicitud al servidor y simplemente recuperar los resultados sin procesar.

Si esos resultados se devuelven como XML o JSON, lo determina el encabezado de aceptación que enviamos junto con la solicitud.

  • Si recuperamos XML, entonces podemos usar LINQ to XML para recuperar la información de la respuesta que necesitamos para nuestra aplicación.

  • Si recuperamos JSON, entonces podemos usar uno de los varios serializados JSON para analizar el JSON en objetos .NET y luego usarlo para recuperar la información que necesitamos.

Cuando trabajamos con la API REST en JavaScript, podemos usar jQuery o el objeto SP.RequestExecutor para realizar la llamada al servicio. Al igual que en el ejemplo del Código administrado, podemos controlar si recuperamos XML o JSON usando el encabezado de aceptación. Dado que estamos trabajando en JavaScript la mayoría de las veces, vamos a querer recuperar JSON.

La otra cosa a tener en cuenta es que cuando crea la URL del servicio, podemos usar la _spPageContextInfoobjeto para obtener la URL absoluta del sitio y luego agregar la URL del servicio más la consulta. Esto se debe a que el servicio de la API REST no expone los metadatos y no puede crear una referencia de servicio en Visual Studio, el uso de la API REST en el código administrado no es nada básico.

Echemos un vistazo a cómo llamar a la API REST desde JavaScript creando un nuevo proyecto.

Step 1 - Seleccionar App for SharePointen el panel central e ingrese el nombre de su proyecto. Hacer clicOK.

Step 2 - Ingrese la URL de su sitio y seleccione el SharePoint – hostedopción y haga clic en Siguiente. Haga clic en Finalizar.

Step 3 - Una vez creado el proyecto, abramos la página Default.aspx, que está en Páginas en el Explorador de soluciones y agreguemos un botón.

Aquí está la implementación completa del archivo Default.aspx.

<%-- 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 ContentPlaceHolderID = ”PlaceHolderAdditionalPageHead”
   runat = ”server”>
   <script type = ”text/javascript” src = ”../Scripts/jquery-1.9.1.min.js”></script>
   <SharePoint:ScriptLink name = ”sp.js” runat = ”server” OnDemand = ”true”
      LoadAfterUI = ”true” Localizable = ”false” />
   <meta name = ”WebPartPageExpansion” content = ”full” />
   <!–Add your CSS styles to the following file ->
   <link rel = ”Stylesheet” type = ”text/css” href = ”../Content/App.css” />
   <!–Add your JavaScript to the following file ->
   <script type = ”text/javascript” src = ”../Scripts/App.js”></script>
</asp:Content>

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

<asp:Content ContentPlaceHolderID = ”PlaceHolderPageTitleInTitleArea”
   runat = ”server”>
   Page Title
</asp:Content>

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

<asp:Content ContentPlaceHolderID = ”PlaceHolderMain” runat = ”server”>
   <div>
      <p id = ”message”>
         <!–The following content will be replaced with the user name when
            you run the app – see App.js -> initializing…
      </p>
      <input id = ”loadButton” type  = ”button” value = ”Load” />
   </div>
</asp:Content>

Step 4 - Abra el archivo App.js, que se encuentra en Script en el Explorador de soluciones y reemplácelo con el siguiente código.

JQuery(document).ready(function () {
   JQuery("#loadButton").click(usingLoad)
});

function usingLoad() {
   var context = SP.ClientContext.get_current();
   var web = context.get_web();
   context.load(web);
   context.executeQueryAsync(success, fail);
   
   function success() {
      var message = jQuery("#message");
      message.text(web.get_title());
      message.append("<br/>");
      message.append(lists.get_count());
   }
   function fail(sender, args) {
      alert("Call failed. Error: " + args.get_message());
   }
}

Estamos usando jQuery para crear el document.readyfunción. Aquí, solo queremos adjuntar el controlador de eventos de clic al botón. Por lo tanto, hemos utilizado el selector para obtener elloadButton y luego hemos agregado el controlador de eventos de clic usando Load.

Entonces, cuando hacemos clic en el botón, queremos hacer lo mismo que hicimos en la versión administrada de la demostración, queremos mostrar el título de la web.

Step 5 - Publica tu aplicación y verás el siguiente archivo -

Step 6 - Arrastre este archivo a la página de aplicaciones de su sitio de SharePoint.

Verás el archivo JavaScriptDemo en la lista.

Step 7- Haga clic en Contenido del sitio en el panel izquierdo y luego seleccione agregar una aplicación. Haga clic en elJavaScriptDemo icono.

Step 8 - Click Trust it.

Step 9- Ahora verá su aplicación. Haga clic en el icono de la aplicación.

Step 10 - Al hacer clic en el botón Cargar, se actualizará el texto.

Puedes ver el texto actualizado.

En este capítulo, veremos características y elementos. Las características son, de alguna manera, el modelo de componente en SharePoint. Le permiten definir unidades lógicas de funcionalidad.

Por ejemplo, es posible que desee tener la capacidad dentro de un sitio:

  • Para crear una lista con un esquema específico,

  • Tener una página que muestre los datos de esa lista, y luego

  • Tenga un enlace o una opción de menú en algún lugar dentro del sitio para navegar a esa página.

Puede crear una función que defina esa agrupación lógica de funciones. Las piezas individuales de funcionalidad están definidas por elementos.

Entonces habría un elemento que ...

  • Crea la lista y establece el esquema.

  • Aprovisiona la página en su sitio de SharePoint y

  • Crea la opción de menú o el enlace.

La característica define la unidad y luego los elementos definen las piezas individuales de funcionalidad dentro de esa unidad. Discutimos sobre los tres tipos de elementos:

  • Una instancia de lista para crear una lista.

  • Un módulo para aprovisionar una página.

  • Una acción personalizada para crear una opción de menú o un enlace.

Sin embargo, hay muchos otros tipos de elementos que se pueden crear dentro de SharePoint. Otro concepto importante que hay que comprender sobre las características es el de activación y desactivación.

Por ejemplo, si un usuario final desea que se agregue la funcionalidad mencionada anteriormente a su sitio, activaría la función correspondiente que crearía la lista, agregaría la opción de menú o el enlace y proporcionaría la página en su sitio. Más tarde, podría desactivar la función para eliminar la funcionalidad.

Es importante tener en cuenta que al desactivar una función, algunos elementos se eliminan automáticamente. Por ejemplo, SharePoint eliminaría automáticamente la opción de menú o el enlace, que se define mediante una acción personalizada.

Otros no se eliminan automáticamente. Por lo tanto, en nuestro caso, la instancia de la lista y la página no se eliminarían automáticamente.

Por lo tanto, como desarrollador, debe comprender qué elementos se eliminan automáticamente y cuáles no. Si desea eliminar los que no se eliminan automáticamente, puede escribir en código en unfeature receiver.

Veamos el trabajo con características y elementos. Comenzaremos con la vista de las funciones de los usuarios finales.

Step 1 - Abra su sitio de SharePoint.

Step 2 - Para ir a la configuración del sitio, tiene dos enlaces que le permiten administrar las funciones.

  • El primer enlace Manage Site features está en Acciones del sitio, lo que le permite administrar las características del alcance del sitio.

  • El otro enlace Site collection features en Administración de la colección de sitios, que le permite administrar las características del ámbito de la colección de sitios.

Step 3- Si hace clic en cualquiera de estos enlaces, se le dirigirá a una página que muestra las funciones activas e inactivas actualmente. Para cada una de las funciones, tiene la opción de activar o desactivar la función.

Veamos un ejemplo simple creando un nuevo proyecto vacío de soluciones de SharePoint.

Step 1 - Llamemos a esto FeaturesAndElements y haga clic en Aceptar.

Step 2 - Especifique el sitio que desea utilizar y seleccione el Deploy as a farm solution opción y luego haga clic en Finalizar.

Lo primero que queremos crear es la función. En el Explorador de soluciones, puede ver una carpeta de características, que actualmente está vacía.

Step 3 - Haga clic derecho en el Features carpeta y elija Add Feature. Crea una característica llamadaFeature1y abre el Diseñador de funciones. El título predeterminado es el título del proyecto, más el título de la función.

Step 4 - Cambie el nombre de la función de Feature1 a Sample.

El título y la descripción son lo que ve el usuario en la página donde activa y desactiva las funciones.

Establecer el título en Sample Feature y la Descripción para Adds the Contacts list and the page is used to view the list. La otra cosa que debemos establecer es el alcance de la función, que es el alcance de la activación.

Puede ser una granja, una aplicación web, una colección de sitios o un sitio. En este caso, vamos a proporcionar una lista y una página. Dado que ambos viven en un sitio de SharePoint, elegiremos Web aquí.

Step 5- Comencemos a agregar características en nuestros elementos. El primer elemento será la lista y crearemos una lista de contactos. Haga clic derecho en su proyecto y elijaAdd → New Item...

Step 6- Seleccione Lista en el panel central e ingrese Contactos en el campo de nombre. Haga clic en Agregar.

Step 7- Verá el Asistente para la creación de listas. Cree una lista llamada Contactos basada en la lista de Contactos. Haga clic en Finalizar para crear la lista o al menos crear el elemento, que eventualmente creará la lista.

A continuación se muestra la captura de pantalla del diseñador de listas.

Step 8- Este diseñador es solo un editor XML. Abra el archivo Elements.xml en Contactos y agregue los siguientes datos.

<?xml version = "1.0" encoding = "utf-8"?>

<Elements xmlns = "http://schemas.microsoft.com/sharepoint/">
   <ListInstance Title = "Contacts" OnQuickLaunch = "TRUE" TemplateType = "105" 
      FeatureId = "00bfea71-7e6d-4186-9ba8-c047ac750105"
      Url = "Lists/Contacts" Description = "">
      <Data>
         <Rows>

            <Row>
               <Field Name = "ID">1</Field>
               <Field Name = "Last Name">Anders</Field>
               <Field Name = "First Name">Maria</Field>
               <Field Name = "Company">Alfreds Futerkiste</Field>
               <Field Name = "Business Phone">030-0074321</Field>
            </Row>

            <Row>
               <Field Name = "ID">2</Field>
               <Field Name = "Last Name">Hardy</Field>
               <Field Name = "First Name">Thomas</Field>
               <Field Name = "Company">Around the Horn</Field>
               <Field Name = "Business Phone">(171) 555-7788</Field>
            </Row>

            <Row>
               <Field Name = "ID">3</Field>
               <Field Name = "Last Name">Lebihan</Field>
               <Field Name = "First Name">Laurence</Field>
               <Field Name = "Company">Bon app'</Field>
               <Field Name = "Business Phone">91.24.45.40</Field>
            </Row>

            <Row>
               <Field Name = "ID">4</Field>
               <Field Name = "Last Name">Ashworth</Field>
               <Field Name = "First Name">Victoria</Field>
               <Field Name = "Company">B's Beverages</Field>
               <Field Name = "Business Phone">(171) 555-1212</Field>
            </Row>

            <Row>
               <Field Name = "ID">5</Field>
               <Field Name = "Last Name">Mendel</Field>
               <Field Name = "First Name">Roland</Field>
               <Field Name = "Company">Ernst Handel</Field>
               <Field Name = "Business Phone">7675-3425</Field>
            </Row>

         </Rows>
      </Data>
   </ListInstance>
</Elements>

Tenga en cuenta lo siguiente:

  • Dentro de ListInstance elemento, tenemos un elemento llamado Data y tiene algunas filas en su interior.

  • ListInstance tendrá atributos Contacts, se muestre o no en el lanzamiento rápido.

  • Queremos una lista basada en la plantilla de contacto. Aquí,TemplateType se establece en 105. Este no es un número aleatorio, sino un número con un significado.

  • Cada uno de los tipos predeterminados de lista que puede tener en SharePoint, como una lista de anuncios, una lista de tareas, una lista de contactos, etc., tiene un número asociado. Por lo tanto, si cambia 105 a 107, obtendrá un tipo de lista diferente.

  • FeatureId es la guía asociada a la definición de lista de contactos.

Step 9- Ahora queremos tener una página, que muestre datos de esta lista. Haga clic derecho en su proyecto y elijaAdd → New Item... Elija Módulo en el panel central, ingrese SitePage en el campo de nombre y haga clic en Add.

Verás un nodo llamado SitePage, que tiene dos archivos, Elements.xml y Sample.txtarchivo. No queremos aprovisionar este archivo sample.txt, pero queremos aprovisionar un SitePage.

Step 10 - Cambiar el nombre del archivo de texto a Contacts.aspx y reemplace el siguiente código -

<%@ Assembly Name = "Microsoft.SharePoint, Version = 14.0.0.0, Culture = neutral,
   PublicKeyToken = 71e9bce111e9429c" %>

<%@ Page MasterPageFile = "~masterurl/default.master"
   meta:progid = "SharePoint.WebPartPage.Document" %>

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

<asp:Content ID = "Content2" runat = "server" ContentPlaceHolderID = "PlaceHolderMain">
   <SharePoint:SPDataSource runat = "server"
      ID = "ContactsDataSource" DataSourceMode = "List"
      UseInternalName = "false">
      <SelectParameters>
         <asp:Parameter Name = "ListName" DefaultValue = "Contacts" />
      </SelectParameters>
   </SharePoint:SPDataSource>
   
   <SharePoint:SPGridView runat = "server"
      ID = "ContactsGridView" DataSourceID = "ContactsDataSource"
      AutoGenerateColumns = "false" RowStyle-BackColor = "#DDDDDD"
      AlternatingRowStyle-BackColor = "#EEEEEE">
      <Columns>
         <asp:BoundField HeaderText = "Company"
            HeaderStyle-HorizontalAlign = "Left" DataField = "Company" />
         <asp:BoundField HeaderText = "First Name"
            HeaderStyle-HorizontalAlign = "Left" DataField = "First Name" />
         <asp:BoundField HeaderText = "Last Name"
            HeaderStyle-HorizontalAlign = "Left" DataField = "Last Name" />
         <asp:BoundField HeaderText = "Phone"
            HeaderStyle-HorizontalAlign = "Left" DataField = "Business Phone" />
      </Columns>
   </SharePoint:SPGridView>
</asp:Content>

<asp:Content ID = "PageTitle" ContentPlaceHolderID = "PlaceHolderPageTitle"
   runat = "server">
   Contacts
</asp:Content>

<asp:Content ID = "PageTitleInTitleArea"
   ContentPlaceHolderID = "PlaceHolderPageTitleInTitleArea" runat = "server" >
   Contacts
</asp:Content>

El SitePage tiene un SP.DataSource, que usaremos para hacer que los datos de la lista de contactos, algo a lo que podamos vincularnos en nuestra página. losSP.GridView mostrará la información de los contactos.

Esa es nuestra página del sitio y ahora veamos la función.

Aviso, en Items in the Feature, Se han agregado como elementos la instancia de la lista de contactos y la provisión de módulos en nuestro SitePage.

Visual Studio comprende que los elementos por sí solos no pueden hacer nada. Los elementos deben ser parte de una función. Por lo tanto, cuando agrega un elemento, debe agregarlo a la función.

Step 11 - Vaya a su proyecto, haga clic derecho y elija Add → New Item...

Aquí queremos agregar una Acción personalizada, así que seleccione Elemento vacío en el panel central, llame a esta Acción y luego haga clic en Agregar.

Si regresa a su Característica, puede ver que el elemento ahora se ha agregado a la Característica como se muestra en la captura de pantalla que se muestra a continuación.

Step 12 - Vuelve a Elements.xml en Acción y reemplace el siguiente código:

<?xml version = "1.0" encoding = "utf-8"?>

<Elements xmlns = "http://schemas.microsoft.com/sharepoint/">
   <CustomAction
      Id = "SiteActionsToolbar"
      GroupId = "SiteActions"
      Location = "Microsoft.SharePoint.StandardMenu"
      Sequence = "100"
      Title = "Contacts"
      Description = "A page showing some sample data">
      <UrlAction Url = "~site/SitePages/Contacts.aspx"/>
   </CustomAction>
</Elements>

Ahora, si desea agregar un enlace o una opción de menú, debe definir dónde lo va a agregar y es una combinación de Location y GroupId, que los define. Esta combinación de valores indica que la opción de menú debe agregarse al menú SiteActions.

Hay muchas otras combinaciones de valores, que agregan el enlace o el menú en otros lugares dentro de nuestro sitio de SharePoint. Esto es algo que tendría que investigar para averiguar cuál es la combinación adecuada de valores que necesita cuando desea agregar una opción de menú en algún lugar dentro de SharePoint.

Step 13 - Haga doble clic en el Feature, verá el diseñador de funciones. El diseñador de características es un editor elegante del manifiesto de características, que es un documento XML.

Puntos importantes -

  • La característica define la agrupación lógica de elementos. Aquí, nuestra Característica se refiere a nuestros tres manifiestos de Elementos que acabamos de crear.

  • Cuando active la función, SharePoint verá el manifiesto de elemento individual y agregará la lista, la página y el enlace a nuestro sitio de SharePoint.

  • Cuando implementa con Visual Studio, automáticamente activa cualquier característica en su proyecto. Como queremos pasar por el proceso de activación de la función, le diremos a Visual Studio que no lo haga.

Step 14- Vaya a Propiedades del proyecto yendo a la pestaña de SharePoint. Cambie la configuración de implementación aNo Activation.

Probemos esto.

Step 15 - Haga clic derecho en su proyecto en el Explorador de soluciones y elija Deploy. Empacará todo el material de su proyecto y lo implementará en su SharePoint Development Farm.

Una vez que se haya implementado correctamente, lo verá en la ventana Salida.

Step 16- Vaya al sitio de SharePoint y actualícelo. Ve a laSite Settings → Site Actions.

Step 17 - Seleccione Administrar funciones del sitio porque su función personalizada tenía un alcance web y verá su Sample Feature. Puede ver que esta función no se ha activado, así que sigamos adelante y la activemos.

Verá la lista de contactos en el panel izquierdo.

Step 18 - Haga clic en Contacto y se mostrarán los datos que teníamos en la lista.

Step 19- Vaya al menú de acciones del sitio. Hay una opción para navegar a la página de Contactos. Esa es nuestra CustomAction.

Step 20 - Si hace clic en Contactos, verá su SitePage, mostrando los datos de la lista de Contactos.

En este capítulo, aprenderemos a agregar code handle. Los controladores de código son eventos que se generan cuando se activa o desactiva una función. En otras palabras, examinaremosFeature Receivers.

El proyecto de Visual Studio que creamos en el último capítulo tenía una característica y cuando se activó, aprovisionó nuestra lista de contactos, nuestra página del sitio y el enlace a la página del sitio.

Sin embargo, cuando la función está desactivada, SharePoint solo elimina el vínculo, la página del sitio y la lista de contactos aún permanecen.

Podemos escribir el código cuando la Característica esté desactivada para eliminar la lista y la página, si queremos. En este capítulo, aprenderemos cómo eliminar contenido y elementos, cuando una función está desactivada.

Para manejar los eventos de una función, necesitamos un Feature Receiver.

Step 1 - Para obtener el receptor de funciones, haga clic con el botón derecho en la función en el Explorador de soluciones y luego elija Add Event Receiver.

using System;
using System.Runtime.InteropServices;
using System.Security.Permissions;
using Microsoft.SharePoint;

namespace FeaturesAndElements.Features.Sample {
   /// <summary>
      /// This class handles events raised during feature activation, deactivation,
         installation, uninstallation, and upgrade.
   /// </summary>
   /// <remarks>
      /// The GUID attached to this class may be used during packaging and should not be modified.
   /// </remarks>
   [Guid("e873932c-d514-46f9-9d17-320bd3fbcb86")]
  
   public class SampleEventReceiver : SPFeatureReceiver {
      // Uncomment the method below to handle the event raised after a feature has been activated.
      //public override void FeatureActivated(SPFeatureReceiverProperties properties)//{
         //
      }
      // Uncomment the method below to handle the event raised before a feature is deactivated.
      //public override void FeatureDeactivating(SPFeatureReceiverProperties properties)// {
         //
      }
      // Uncomment the method below to handle the event raised after a feature has been installed.
      //public override void FeatureInstalled(SPFeatureReceiverProperties properties)// {
         //
      }
      // Uncomment the method below to handle the event raised before a feature is uninstalled.
      //public override void FeatureUninstalling(SPFeatureReceiverProperties properties)// {
         //
      }
      // Uncomment the method below to handle the event raised when a feature is upgrading.
      //public override void FeatureUpgrading(SPFeatureReceiverProperties
         properties, string upgradeActionName,
         System.Collections.Generic.IDictionary<string, string> parameters) // {
         //
      }
   }
}

Puedes ver lo que obtenemos es una clase que hereda de SPFeatureReceiver.

En SharePoint, existen diferentes clases para diferentes tipos de eventos que puede manejar. Por ejemplo, eventos en listas, eventos en elementos de lista, eventos en sitios. Puede crear una clase que se derive de un receptor de eventos específico y luego puede anular métodos dentro de esa clase para manejar los eventos.

Los eventos de una función se utilizan cuando se está:

  • Activated
  • Deactivated
  • Installed
  • Uninstalled
  • Upgrading

A continuación, debe adjuntar esa clase como controlador de eventos para el elemento específico. Por ejemplo, si hay un controlador de eventos que maneja eventos de lista, necesita adjuntar esa clase a la lista.

Por lo tanto, manejaremos dos características:

  • Cuando la función está activada y

  • Cuando está siendo desactivado.

Step 2 - Implementaremos el FeatureActivated y FeatureDeactivated métodos como se muestra a continuación -

using System;
using System.Runtime.InteropServices;
using System.Security.Permissions;
using Microsoft.SharePoint;

namespace FeaturesAndElements.Features.Sample {
   /// <summary>
      /// This class handles events raised during feature activation, deactivation,
         installation, uninstallation, and upgrade.
   /// </summary>
   /// <remarks>
      /// The GUID attached to this class may be used during packaging and should
         not be modified.
   /// </remarks>

   [Guid("e873932c-d514-46f9-9d17-320bd3fbcb86")]
   public class SampleEventReceiver : SPFeatureReceiver {
      private const string listName = "Announcements";
      
      public override void FeatureActivated(SPFeatureReceiverProperties properties) {
         var web = properties.Feature.Parent as SPWeb;
         
         if (web == null) return;
         var list = web.Lists.TryGetList(listName);
         
         if (list != null) return;
         var listId = web.Lists.Add(listName, string.Empty,
         SPListTemplateType.Announcements);
         list = web.Lists[listId];
         list.OnQuickLaunch = true;
         list.Update();
      }
      public override void FeatureDeactivating(SPFeatureReceiverProperties properties) {
         var web = properties.Feature.Parent as SPWeb;
         
         if (web == null) return;
         var list = web.Lists.TryGetList(listName);
         
         if (list == null) return;
         if (list.ItemCount == 0) {
            list.Delete();
         }
      }
   }
}

Note -

  • Cuando la función esté activada, crearemos una lista de Anuncios.

  • Cuando la función esté desactivada, comprobaremos si la lista de Anuncios está vacía y si lo está, la eliminaremos.

Step 3- Ahora haga clic derecho en el Proyecto y elija implementar. Verá la siguiente advertencia de conflicto de implementación.

Visual Studio nos dice que estamos tratando de crear una lista llamada contactos, pero ya existe una lista en el sitio llamada Contactos. Nos pregunta si queremos sobrescribir la lista existente, y en este caso haga clic enResolve.

Step 4 - Vuelva a SharePoint y luego actualice su sitio y vaya a Site Actions → Site settings → Manage site features → Sample feature.

Puede ver que no hay una lista de anuncios en el panel izquierdo.

Step 5 - Permítanos activar la función de muestra y verá la lista de Anuncios, pero está vacía en este momento.

Note - Si desactiva su función de muestra, notará que la lista de anuncios desaparece.

Step 6- Reactivemos la función. Vaya a Anuncios y luego Agregar un nuevo anuncio. Llamaremos a esta prueba y luego haremos clic en Guardar.

Verá el archivo de prueba en Anuncios.

Ahora, cuando desactive los anuncios, verá que la lista de anuncios permanece porque no estaba vacía.

En este capítulo, cubriremos la plataforma Microsoft Azure. Microsoft Azure es la tecnología de plataforma en la nube de Microsoft, que es en sí misma una tecnología muy poderosa. No es solo un lugar para implementar su código, sino que es un conjunto completo de servicios que usted, como desarrollador, puede usar en el desarrollo de su solución de SharePoint.

Computación en la nube

Para comprender Microsoft Azure, primero debe saber un poco sobre la nube. La computación en la nube consiste en aprovechar la Web como un conjunto de recursos para el desarrollo y la implementación de sus soluciones. Tradicionalmente, la computación en la nube se ha definido como categorías de servicios. Ellos son -

  • Infraestructura como servicio (IAAS)
  • Plataforma como servicio (PAAS)
  • Software como servicio (SAAS)

Cada una de estas categorías es diferente en el contexto del desarrollo. Por ejemplo, podrías pensar:

  • IAAS como máquinas virtuales alojadas (VM) que administra de forma remota.

  • PAAS como el lugar donde implementa código, datos, objetos grandes binarios (BLOB), aplicaciones web y otros artefactos de aplicaciones en un entorno basado en la nube (como Windows Server 2012 R2 e IIS).

  • SAAS como servicios basados ​​en suscripción para los que puede registrarse, por ejemplo, Office 365.

Aunque estas tres categorías de servicios dominan la forma en que se caracteriza la nube, la nube tiene cuatro pilares generalmente aceptados:

  • Agrupe recursos con otros usuarios de la nube.

  • Administre sus propios servicios y aplicaciones a través del portal de administración.

  • Las aplicaciones y los servicios pueden crecer y contraerse con sus necesidades comerciales.

  • Pague solo por lo que usa con respecto a la nube.

Descripción general de la plataforma Azure

La plataforma Microsoft Azure se compone de muchos servicios diferentes. Puede aprovecharlos en el diseño, implementación y administración de su aplicación, como Datos, Servicio e Integración, que es la capa de Cliente en cualquier aplicación que consume los servicios dentro de Microsoft Azure.

Capa de datos

En la capa de datos hay varios tipos diferentes de mecanismos o características de almacenamiento de datos que se asignan directamente al almacenamiento de datos que contiene tanto no relacional como relacional.

Non-relational Feature

Las funciones de almacenamiento no relacional le permiten:

  • Para almacenar activos como imágenes de máquinas virtuales o imágenes o videos en Blobs

  • Crea tablas no relacionales

  • Administre las colas de mensajes a lo largo de un bus de servicio y administre el almacenamiento en caché de datos en sus aplicaciones distribuidas

Relational Feature

Las características de datos relacionales son las siguientes:

  • El núcleo de Azure SQL Database, que es la versión en la nube para SQL Server local

  • Servicios de informes (informes SQL)

  • La capacidad de transmitir flujos de datos casi en tiempo real a partir de transacciones de datos (Stream Insight)

Capa de servicios

La capa de servicios contiene una serie de servicios predeterminados que puede utilizar al crear sus soluciones, que van desde los servicios multimedia hasta los servicios básicos en la nube, como:

  • Creando sitios web

  • Clases de roles de trabajadores

  • Aprovechamiento de Hadoop en Microsoft Azure para procesar solicitudes de Big Data

Para muchos de estos servicios, puede utilizar funciones integradas y un conjunto de API dentro de su aplicación. Por ejemplo, si desea crear una solución de aprendizaje multimedia, puede aprovechar los Servicios multimedia:

  • Para cargar WMV

  • Transcodificarlos a MP4

  • Guárdelos en el almacenamiento BLOB

  • Cree una URL pública para acceder y luego transmítalas desde Microsoft Azure

Capa de integración

La capa de integración contiene algunos servicios fundamentales como:

  • Red de entrega de contenido replicado geográficamente (CDN)

  • Gestor de tráfico

  • Red privada virtual, que le permite conectar una máquina virtual a su sistema local.

  • Servicios de integración y procesos de negocio y flujo de trabajo

Todas estas capacidades le permiten integrar sistemas o protegerlos.

Aplicaciones de Azure

Microsoft Azure no se trata solo de servicios. Azure es una plataforma en la nube en constante evolución que tiene un conjunto de herramientas y SDK que le permiten comenzar rápidamente con el desarrollo de aplicaciones en la nube.

Para comenzar con Microsoft Azure, necesita lo siguiente:

  • Visual Studio más reciente
  • Suscripción a Microsoft Azure
  • Suscripción a Microsoft Azure

Step 1 - Echemos un vistazo a un ejemplo simple en el que implementaremos nuestra aplicación web en Microsoft Azure creando una nueva aplicación ASP.NET MVC.

Step 2- Haga clic en Aceptar y verá el siguiente cuadro de diálogo. Seleccione la plantilla MVC, marqueHost in the Cloud casilla de verificación y luego haga clic en Aceptar.

Step 3- Cuando aparezca el cuadro de diálogo Configurar la configuración de la aplicación web de Microsoft Azure, asegúrese de haber iniciado sesión en Azure. Si no ha iniciado sesión, primero inicie sesión.

Puede ver el nombre predeterminado, pero puede cambiar el Web App name.

Step 4- Ingrese la información deseada como se muestra a continuación. SeleccioneCreate new server de la lista desplegable del servidor de base de datos.

Step 5- Verá el campo adicional. Ingrese el servidor de la base de datos, el nombre de usuario y la contraseña y haga clic en Aceptar.

Una vez creado el proyecto, ejecute su aplicación y verá que se está ejecutando en localhost.

Step 6 - Para implementar estas aplicaciones en Azure, haga clic con el botón derecho en el proyecto en el explorador de soluciones y seleccione Publicar.

Step 7- Verá el siguiente cuadro de diálogo. Haga clic en Microsoft Azure Web Apps.

Step 8 - Seleccione el nombre de su aplicación en el Existing Web Apps y haga clic en Aceptar.

Step 9 - Haga clic en el Validate Connection para comprobar la conexión en Azure.

Step 10 - Click Next continuar.

Ahora verá que la cadena de conexión ya se generó para usted, de forma predeterminada.

Step 11 - Click Next continuar.

Step 12 - Para verificar todos los archivos y dlls que publicaremos en Azure, haga clic en Inicio Preview.

Step 13 - Click Publish para publicar su aplicación.

Una vez que la aplicación se haya publicado correctamente en Azure, verá el mensaje en la ventana de salida.

También verá que su aplicación ahora se está ejecutando desde la nube.

Ahora vayamos de nuevo al portal de Azure y verá la aplicación aquí también.

Aplicaciones de SharePoint y Microsoft Azure

SharePoint y Microsoft Azure son dos plataformas importantes en sí mismas. SharePoint es una de las plataformas de productividad de servidor líderes de Microsoft o la plataforma colaborativa para la empresa y la Web.

Microsoft Azure es el sistema operativo de Microsoft en la nube. Por separado, tienen sus propias fortalezas, viabilidad de mercado y seguimiento de desarrolladores.

Juntos, brindan muchos beneficios poderosos. Ellos son -

  • Ayudan a expandir cómo y dónde implementa su código y datos.

  • Aumentan las oportunidades para aprovechar Microsoft Azure y, al mismo tiempo, reducen los costos de almacenamiento y conmutación por error de las aplicaciones locales.

  • Le proporcionan nuevos modelos de negocio y ofertas que puede llevar a sus clientes para aumentar sus propias ofertas de soluciones.

En SharePoint 2010, Azure y SharePoint eran dos plataformas y tecnologías distintas, que podían integrarse con bastante facilidad, pero no formaban parte del mismo sistema. Sin embargo, en SharePoint 2013 esto ha cambiado.

SharePoint 2013 presenta diferentes tipos de aplicaciones en la nube. De hecho, puede crear dos tipos de aplicaciones integradas de Azure.

El primer tipo de aplicación es Autohospedado y el segundo es Hospedado por el Proveedor (a veces denominado autohospedado).

La principal diferencia entre los dos es:

  • Las aplicaciones autohospedadas admiten de forma nativa un conjunto de características de Azure, como sitios web y bases de datos SQL, con la experiencia de implementación y desarrollo de SharePoint.

  • Las aplicaciones alojadas por el proveedor están diseñadas para integrarse con un conjunto más amplio de tecnologías y estándares web que las aplicaciones alojadas automáticamente, una de las cuales es Microsoft Azure.

Por lo tanto, puede aprovechar toda la pila de Microsoft Azure al crear aplicaciones alojadas por proveedores que usan Azure.

En este capítulo, cubriremos el empaquetado y la implementación de la solución de SharePoint. El primer paso en la implementación de una solución de SharePoint es la creación de un paquete de soluciones.

UN Solution Package es un CAB archivo con extensión WSP, que contiene todos los archivos necesarios para implementar las características en su proyecto de Visual Studio.

Los archivos necesarios para implementar las funciones incluyen:

  • El manifiesto de características.

  • Cualquier elemento se manifiesta.

  • El dll, que contiene el código administrado compilado.

  • Archivos asociados como páginas web, controles de usuario y archivos emparejados con la web.

  • Otro archivo contenido en el paquete de la solución es el manifiesto de la solución. El manifiesto de la solución es un catálogo de los archivos contenidos en el paquete. Para las soluciones Farm, también contiene instrucciones de implementación.

  • Al igual que con el manifiesto de características, Visual Studio crea y mantiene automáticamente el manifiesto de la solución a medida que modifica su proyecto. Puede ver el manifiesto de la solución con el diseñador de soluciones.

  • Además de crear y mantener el manifiesto de la solución, Visual Studio también crea automáticamente el paquete de la solución para nuestro proyecto. Hace esto detrás de escena cada vez que implementa su trabajo para la depuración.

  • El paquete de solución generado se coloca en la misma carpeta que la dll, por lo que será la carpeta bin debug o bin release. Para ver el contenido de este archivo en el Explorador de Windows, simplemente cambie la extensión de WSP a CAB y luego haga doble clic en el archivo.

Echemos un vistazo a un ejemplo simple en el que examinaremos los paquetes de soluciones asociados con los proyectos de soluciones de SharePoint que hemos creado en el capítulo anterior. Comencemos con el proyecto de características y elementos que hemos creado anteriormente.

Como saben, en el proyecto, tenemos una característica, llamada Muestra. Esta característica hace referencia a tres manifiestos de elementosContacts, SitePage, and Action.

También puede ver que Action tiene el manifiesto del elemento, Contactos tiene su manifiesto del elemento, SitePage tiene el manifiesto del elemento y una página web, que proporciona esta página web en el sitio. Por lo tanto, deberíamos esperar que el paquete de la solución contenga el manifiesto de características, los tres manifiestos de elementos, la página web y también el ensamblado que se crea cuando construimos el proyecto.

Step 1 - Haga clic con el botón derecho en su proyecto en el Explorador de soluciones y elija Abrir carpeta en el Explorador de archivos.

Step 2- Vaya a bin y abra la carpeta Debug. Verá el paquete de la solución.

Step 3 - Haga una copia y luego cambie la extensión del archivo de copia de wsp a cab.

Step 4- Ahora haga doble clic en el archivo cab para abrirlo y verá los archivos. Verá el manifiesto de funciones, tres manifiestos de elementos, la página aspx, el dll y un archivo adicional, que es el manifiesto de la solución.

Step 5 - En el Explorador de soluciones, verá una carpeta llamada Paquete y si la expande, verá un archivo llamado Package.package. Haga doble clic en ese archivo y verá el diseñador de soluciones.

Este diseñador muestra que actualmente solo hay una característica en la Solución y esa característica hace referencia a tres manifiestos de elementos, Contactos, Página del sitio y Acción.

Este diseñador es un editor de un documento XML al igual que el diseñador de características.

El manifiesto de la solución para este proxy es simple. Solo indica que aquí hay un ensamblado que debe implementarse llamado FeaturesandElemenest.dll y lo implementaremos en elGlobalAssemblyCache.

También indica que tenemos una característica con este manifiesto de características. Si navegamos de regreso a la característica y miramos su manifiesto, indica que hay el manifiesto de tres elementos y nuestra página aspx.

Implementación de soluciones agrícolas

Ahora que sabemos qué son los paquetes de soluciones y qué contienen, debemos aprender a implementarlos.

Para implementar una solución de granja, entregue el paquete de solución creado por Visual Studio a su administrador de SharePoint. Utilizarán PowerShell o Administración central o una combinación de ambas herramientas para implementar el paquete.

Veamos la implementación de la solución Farm.

Step 1 - Vaya a Características y elementos en el proyecto de Visual Studio.

Este proyecto tiene una característica con tres elementos. Cuando implementa una solución de granja, el contenido de la solución se copia en las carpetas del sistema de SharePoint como se muestra a continuación:

Step 2 - Ahora vayamos al Diseñador de listas y luego cambiemos el Título a Contactos-Cambiar 1 y luego hagamos clic en el botón Guardar.

Step 3- Ahora vaya a las propiedades del proyecto y luego seleccione SharePoint en el panel izquierdo. En elActive Deployment Configuration , elija la opción Predeterminada de la lista desplegable.

Step 4- En el Explorador de soluciones, haga clic con el botón derecho en el proyecto y elija Implementar. Una vez finalizada la implementación, actualice su sitio y verá el cambio.

En este capítulo, cubriremos la implementación de Sandbox Solutions. La implementación de una solución Sandbox es bastante más simple que la implementación de una solución Farm.

Es similar a cargar un documento en una biblioteca de documentos. Cuando termine su desarrollo, tomará el paquete de la solución y, en lugar de dárselo a su administrador de SharePoint, se lo dará a un usuario final, alguien con privilegios de propietario de la colección de sitios. Luego, tomarán el paquete y lo cargarán en la galería de soluciones de colección de sitios.

Al igual que con las soluciones Farm, las herramientas de Visual Studio automatizan este proceso de implementación durante el desarrollo.

Echemos un vistazo a un ejemplo sencillo de implementación de soluciones de espacio aislado. Es bastante más simple que la implementación de la solución Farm.

Step 1 - Aquí tenemos que crear una nueva colección de sitios y llamarla Demo 1.

Step 2 - Cambie el nombre de la lista de contactos a solo Contactos en el proyecto FeaturesAndElements.

Step 3- Retirar la solución haciendo clic con el botón derecho en el proyecto y seleccionando Retirar. Si regresamos a las carpetas del sistema de SharePoint, notará que nuestra carpeta de funciones está ausente.

A continuación, si vamos a Manage site features, no deberíamos ver la función de muestra.

Step 4- Regrese al proyecto de Visual Studio, haga clic en el proyecto en el Explorador de soluciones y luego vaya a la ventana de propiedades. Cambie Sandbox Solution de False a True.

Se muestra un diálogo de advertencia.

Esto nos da una indicación de que algunos de los elementos que agregó al proyecto de Visual Studio no funcionarán con las soluciones Sandbox y algunas de las API de SharePoint. Algunos de los tipos del modelo de objetos de SharePoint Server no son compatibles con las soluciones de espacio aislado.

Haga clic en Sí para realizar el cambio. En este caso, crear una solución de espacio aislado es lo mismo que crear una solución de granja, pero el proceso de implementación es completamente diferente.

Con la solución de espacio aislado, en lugar de implementar archivos en las carpetas del sistema de SharePoint, los implementamos en la base de datos de contenido de SharePoint.

Step 5- Vaya a la configuración del sitio. Debajo de las galerías de diseñadores web, hay una galería de soluciones.

Step 6 - Haga clic en el enlace Soluciones y verá la siguiente página donde implementamos nuestras soluciones de espacio aislado.

Ha terminado con el desarrollo. En lugar de entregar el paquete de la solución al administrador de SharePoint y luego hacer que use PowerShell o el Administrador central para implementar la solución de la granja, puede entregar su paquete a un usuario final, alguien con privilegios de propietario de la colección de sitios y luego pueden cargar la solución en la galería de soluciones.

Step 7 - Vuelva a Visual Studio, haga clic con el botón derecho y seleccione Publicar en sistema de archivos.

Haga clic en el Publish para publicar el Nuevo paquete de soluciones en la carpeta del paquete.

Verá el paquete en la carpeta Paquete.

Step 8- Ahora vaya al sitio de SharePoint. Haga clic en la opción del botón Cargar solución en la cinta.

Step 9- Busque su solución FeaturesAndElements. Haga clic en Aceptar.

Verá el siguiente diálogo.

Step 10 - Solo necesita hacer clic en el botón Activar para activar la solución de espacio aislado

Step 11 - Vaya a Administrar funciones del sitio.

Ahora verá su función de muestra y cuando haga clic en Activar, debería obtener el mismo comportamiento que habíamos visto antes.

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.