Complementos de SharePoint
Hay dos tipos básicos de complementos de SharePoint: hospedados en SharePoint y hospedados por el proveedor. Para tomar la mejor decisión sobre el tipo correcto para desarrollar su escenario, empiece por aprender qué tienen en común los dos tipos de Complementos de SharePoint.
Nota:
Una aplicación de dispositivo, como la aplicación móvil, no es realmente un "complemento de SharePoint" incluso cuando accede a SharePoint. Lo mismo ocurre con una aplicación web que se ejecuta desde fuera de SharePoint. Si desea desarrollar cualquiera de estos tipos de aplicaciones, consulte Acceso a SharePoint desde aplicaciones de dispositivos móviles y nativas.
- Un complemento de SharePoint es un elemento independiente de funciones que amplía las funciones de los sitios web de SharePoint para solucionar un problema empresarial bien definido.
- Los complementos no tienen código personalizado que se ejecute en servidores de SharePoint. En su lugar, toda la lógica personalizada se mueve "hacia arriba" a la nube, o "hacia abajo" a los equipos cliente, o "sobre" a un servidor local que está fuera de la granja de servidores de SharePoint o de la suscripción de SharePoint Online. Mantener código personalizado fuera de los servidores de SharePoint proporciona la seguridad a los administradores de SharePoint de que el complemento no puede dañar los servidores o reducir el rendimiento de sus sitios web de SharePoint Online.
- La lógica de negocios en un Complemento de SharePoint puede tener acceso a los datos de SharePoint a través de una de las varias API de cliente incluidas en SharePoint. La API que usará para su complemento depende de ciertas otras decisiones de diseño que realice.
- Casi todos los tipos principales de componentes de SharePoint pueden formar parte de un Complemento de SharePoint, incluidas páginas, listas, flujos de trabajo, tipos de contenido personalizado, plantillas de listas, elementos web y más.
- Los sitios web de SharePoint donde se instalan los Complementos de SharePoint y desde los cuales los usuarios los inician se denominan webs de host.. Sin embargo, los componentes de SharePoint suelen estar en una web secundaria especial de la web host denominada web de complemento.
- Los complementos de SharePoint se pueden usar en un sitio web de SharePoint de diferentes maneras:
- : como una experiencia inmersiva de página completa que puede tener la apariencia de una página de SharePoint.
- Experiencia del elemento de aplicación : como parte de una página web, mediante un tipo especial de control denominado elemento de complemento, para exponer un elemento iframe que contiene el complemento.
- : como comandos de interfaz de usuario que amplían las cintas de opciones y los menús de listas, documentos y mucho más.
- Todas los Complementos de SharePoint que los usuarios instalan tienen un icono en la página Contenidos del sitio del sitio web de SharePoint. Al hacer clic en el icono, se ejecuta el complemento.
- Un complemento de SharePoint se configura mediante un manifiesto de complemento: un archivo XML que declara las propiedades básicas del complemento, dónde se ejecuta y qué debe hacer SharePoint cuando se inicia el complemento. Entre otras cosas, el manifiesto puede especificar qué idiomas admite el complemento, los servicios de SharePoint y la funcionalidad de la cual depende, y los permisos para el web host que necesita el complemento. (Los complementos de SharePoint tienen control total de su propia web de complemento).
- Usted distribuye Complementos de SharePoint en paquetes de complemento que siempre incluyen al menos el manifiesto del complemento. (Si no hay componentes de SharePoint, el manifiesto del complemento puede ser lo único en el paquete de complementos). Si el complemento tiene componentes de SharePoint en una web de complemento, estos se incluyen en el paquete como un conjunto de archivos XML. Los componentes remotos que están hospedados fuera de SharePoint, como una aplicación web remota o una base de datos, no se incluyen en el paquete y se implementan separados del paquete del complemento. (Sin embargo, el manifiesto del complemento especifica las direcciones URL de los componentes remotos).
- Los paquetes de complementos también pueden incluir complementos de Office. Cuando se instala el complemento de SharePoint, el complemento de Office se agrega a un catálogo de complementos de Office en SharePoint. Los usuarios pueden instalarlo desde el catálogo en aplicaciones de Office como Word o Excel.
Sugerencia
Eche un vistazo a algunos complementos de SharePoint en laTienda Office para obtener una idea de lo que puede desarrollar. O bien, abra un sitio web de SharePoint e instale algunos de los complementos gratuitos de SharePoint. Vaya a Contenido del sitio | agregar un complemento | Tienda SharePoint.
Unas notas para los desarrolladores veteranos de SharePoint
Hemos dejado de usar soluciones de espacio aislado que contienen código personalizado en el servidor. Todavía se admiten soluciones de espacio aislado "sin código" y soluciones de espacio aislado que contienen solo JavaScript.
Los complementos de SharePoint no usan el modelo de objetos de SharePoint del lado servidor. Los modelos de objetos del lado cliente se expanden considerablemente en SharePoint. Aunque algunas API del modelo de objetos de servidor de SharePoint no están disponibles en los modelos de objetos de cliente, son clases casi completamente administrativas y relacionadas con la seguridad. La lógica personalizada de SharePoint que aborda estas áreas es más adecuada para un script de Windows PowerShell o una solución de granja de servidores de SharePoint clásica. Para obtener información sobre cómo elegir entre complementos de SharePoint, soluciones clásicas de granja de SharePoint y soluciones de espacio aislado, vea Complementos de SharePoint en comparación con soluciones de SharePoint.
Dos formas de distribuir o vender un paquete de complementos
Puede distribuir un paquete de complementos de dos maneras:
- Para el catálogo de complementos de una organización, que es una colección de sitios de SharePoint dedicada en la suscripción de SharePoint Online o la granja local. Este método se usa cuando el complemento está personalizado para una organización concreta.
- A la Tienda Office. La tienda controla el proceso de marketing por usted, desde el descubrimiento a la compra y las actualizaciones. Microsoft tiene un Panel del vendedor para ayudarlo a vender los complementos la Tienda Office.
Después de implementar el complemento de alguna de estas maneras, queda disponible para instalación en la página Agregar un complemento de los sitios web de SharePoint. Si el complemento necesita permisos para su suscripción primaria o para el web host, SharePoint solicita al usuario que instale el complemento para conceder los permisos.
Cuando tenga que actualizar un complemento para corregir un error o agregar funcionalidad, realice los cambios y aumente el número de versión del complemento en el manifiesto. A continuación, vuelva a implementar el paquete del complemento en el catálogo de complementos o la tienda. Dentro de las 24 horas, los usuarios obtienen un aviso en la interfaz de usuario de SharePoint que hay una actualización disponible. Pueden instalar la actualización con un solo clic.
Dos tipos de Complementos de SharePoint: hospedado en SharePoint y hospedado en proveedor
Complementos de SharePoint hospedados en SharePoint
Los complementos hospedados en SharePoint constan casi por completo de componentes de SharePoint en una web de complemento. A veces se dice que tienen su centro en SharePoint.
Al igual que todos los complementos de SharePoint, un usuario puede ejecutar un complemento hospedado en SharePoint desde un icono en la página Contenido del sitio del sitio web de SharePoint en el que está instalado. Opcionalmente, también puede tener otros dos tipos de componentes de interfaz de usuario en la web host: elementos de complemento y acciones personalizadas (es decir, botones de cinta personalizados o elementos de menú). Todo lo demás en un complemento hospedado de SharePoint se implementa en la Web de complemento. Estos componentes se definen de forma declarativa mediante archivos XML y pueden incluir, entre otros:
- Páginas personalizadas
- Flujos de trabajo
- Módulos (conjuntos de archivos)
- Plantillas de lista
- Instancias de lista y biblioteca
- Vistas y formularios de lista personalizados
- Tipos de contenido personalizados
- Plantillas web
- Columnas integradas (no columnas personalizadas)
- Elementos web integrados (no elementos web personalizados)
- Archivos JavaScript
- Botones personalizados y elementos de menú para la web de complemento
Toda la lógica de negocios de un complemento hospedado en SharePoint usa JavaScript, ya sea directamente en una página personalizada o en un archivo JavaScript al que se hace referencia desde una página personalizada. Hay disponible una versión de JavaScript del modelo de objetos de SharePoint (JSOM) para que el complemento pueda realizar operaciones CRUD (crear, leer, actualizar y eliminar) en datos de SharePoint.
Las páginas personalizadas de un complemento hospedado en SharePoint suelen ser páginas ASP.NET (ASPX) y pueden hacer referencia declarativamente a los controles de SharePoint ASP.NET y en el cuadro, pero no puede haber código subyacente. Sin embargo, puede personalizar los controles de SharePoint mediante una opción de representación del lado cliente y JavaScript personalizado.
El JavaScript en complementos hospedados en SharePoint puede tener acceso a datos y recursos que se encuentran fuera de la web de complemento mediante alguna de las dos técnicas para solucionar de forma segura la directiva de mismo origen del explorador: una biblioteca entre dominios de JavaScript especial o una clase WebProxy de JavaScript específica. Con estas técnicas, un complemento hospedado en SharePoint puede trabajar con datos en la web host, su suscripción primaria o en cualquier lugar de Internet.
Complementos de SharePoint hospedados por el proveedor
Cualquier componente de SharePoint que puede estar en un complemento hospedado por SharePoint también puede ser un complemento hospedado por el proveedor. Pero los complementos hospedados por el proveedor se distinguen de los complementos hospedados en SharePoint porque incluyen al menos un componente remoto, como una aplicación web, un servicio o una base de datos, hospedados externamente desde la granja de servidores de SharePoint o la suscripción de SharePoint Online. Esto podría ser un servidor en la misma red corporativa como una granja de SharePoint o un servicio de la nube. Los componentes externos se pueden hospedar en cualquier pila de hospedaje web, incluida la pila de Linux, Apache, MySQL y PHP (LAMP).
Nota:
“Proveedor” es quien posee la cuenta en la nube o el servidor. Puede ser la misma empresa u organización propietaria de la granja de servidores de SharePoint o del inquilino de SharePoint Online donde se va a instalar el complemento. Pero el desarrollador del complemento también puede ser el proveedor. Normalmente, cuando se crea un complemento para una organización, la organización proporciona el hospedaje. Sin embargo, cuando se crea un complemento para varias organizaciones, es más probable que el desarrollador hospede los componentes remotos. El hospedaje para desarrolladores es obligatorio si el complemento de SharePoint se está comercializando a través de la Tienda Office, ya que el desarrollador no tiene información de contacto para los compradores de complementos. En este escenario, varias instancias del complemento conocen el URI del componente remoto ya que se especifica en el manifiesto del complemento.
Tiene una flexibilidad completa para el marco de hospedaje que se usa para los componentes remotos. No es necesario usar una pila de Microsoft. Se puede usar cualquier marco de hospedaje web, incluido LAMP (Linux, servidor Apache, MySQL, PHP), MEAN (MongoDB, ExpressJS, AngularJS, Nodejs), Java, Python y otros, y puede usar herramientas de desarrollo que no sean de Microsoft. Además, los componentes remotos se pueden hospedar en servicios en la nube que no son de Microsoft.
Puede darles a las páginas remotas del complemento la apariencia de las páginas de SharePoint con un control de cromo especial.
Los datos remotos pueden ser blobs, memorias caché, colas de mensajes, redes de entrega de contenido (CDN), y bases de datos, entre otras cosas. Además, las bases de datos pueden ser cualquier de tipo, incluidas las relacionales y las orientadas a objetos. Se puede tener acceso a datos remotos de diversas maneras. Por ejemplo, puede usar Servicios de conectividad empresarial (BCS) para explicitar los datos en una lista de SharePoint. Otra opción es exponer los datos en una cuadrícula en una página de una aplicación web remota.
Los Complementos de SharePoint usan las API de SharePoint para conectarse e integrarse con las características de SharePoint: búsqueda, flujo de trabajo, redes sociales, taxonomía, perfiles de usuario, BCS y mucho más. Esto les permite leer documentos, hacer búsquedas, conectar personas y realizar operaciones CRUD. Existe más de un conjunto de API:
- Cuando se implementan los componentes remotos con .NET, queda disponible la biblioteca del modelo de objetos del lado cliente (CSOM) de SharePoint del código administrado.
- Para los componentes remotos que no se basan en .NET, se puede usar un conjunto de API REST/OData para acceder a los datos de SharePoint. También se pueden usar desde un cliente de .NET si prefiere trabajar con una interfaz de OData.
- La biblioteca JSOM, mencionada anteriormente, no se puede usar en una página remota, pero los complementos hospedados por el proveedor pueden tener páginas de SharePoint personalizadas en una web de complemento. En estas páginas, JavaScript puede usar la biblioteca JSOM.
Los complementos hospedados por el proveedor que tienen acceso a SharePoint son entidades de seguridad tal como los usuarios y grupos. La entidad de complemento se debe autenticar y autorizar, tal como lo hace el usuario. El complemento necesita permisos para realizar operaciones en datos de SharePoint en el web de host. En la mayoría de los escenarios, los permisos efectivos de un usuario que trabaja con SharePoint mediante un Complemento de SharePoint son la intersección de los permisos del usuario y del complemento, aunque existen algunos escenarios en los cuales un usuario puede hacer cosas con un complemento para las que no tendría permiso de otra manera.
Los complementos hospedados por el proveedor pueden conectarse a cualquier servicio web público o interno y, a diferencia de los componentes hospedados por SharePoint, pueden controlar los eventos de elemento de lista y lista de SharePoint, como agregar un elemento a una biblioteca de documentos.
Seleccionar la ruta de desarrollo de SharePoint
¿Está listo para empezar?
Si es un desarrollador experimentado de SharePoint, le recomendamos que empiece con complementos hospedados en SharePoint. Son lo más parecido a los tipos de extensiones de SharePoint que haya realizado en el pasado.
Introducción a la creación de complementos de SharePoint hospedados en SharePoint
Si es un desarrollador experimentado de aplicaciones web de ASP.NET, le recomendamos empezar con complementos hospedados por el proveedor. Se crean a partir de aplicaciones web.
Empezar a crear complementos hospedados en proveedor para SharePoint
Si quiere desarrollar un complemento hospedado por el proveedor en una pila que no es de Microsoft, siga este procedimiento para empezar:
- Instale las herramientas adecuadas para su pila, si aún no están instaladas.
- Obtenga una cuenta de desarrollador en Office 365 para realizar pruebas y depuraciones. Para obtener más información, vaya a Configuración de un entorno de desarrollo para complementos de SharePoint en Office 365 o, si ya tiene una suscripción Office 365, solo tiene que crear un sitio para desarrolladores en él.
- El complemento usará las API de REST/OData de SharePoint para realizar operaciones CRUD en datos de SharePoint:
- Vea documentación explicativa en el artículo Get to know the SharePoint REST service (Introducción al servicio REST de SharePoint) y en otros artículos vinculados.
- Vea la documentación de referencia en Referencia a API de REST para SharePoint 2013.
- Si no está usando Visual Studio, debe crear el archivo del manifiesto del complemento y el paquete del complemento. Para obtener información, vea Explorar la estructura del manifiesto de la aplicación y el paquete de un complemento de SharePoint. El uso de Visual Studio y Microsoft Office Developer Tools para Visual Studio para crear el manifiesto y el paquete proporciona una gran cantidad de ventajas que permiten ahorrar tiempo. Le recomendamos considerarlas, incluso si usa otra herramienta para crear la aplicación web remota misma. La edición Community de Visual Studio es gratuita.
- Encontrará complementos hospedados por el proveedor de ejemplo para algunos lenguajes y plataformas distintos de Microsoft en la sección OfficeDev de GitHub (por ejemplo, PHP-App-for-SharePoint).
Nota:
Si es nuevo en el entorno de SharePoint y del desarrollo web, sacará más partido si empieza con el curso gratuito de Microsoft Virtual Academy o si trabaja con un manual sobre desarrollo de SharePoint.