Compartir a través de


Aspectos importantes de la arquitectura y el entorno de desarrollo de los Complementos de SharePoint

Este artículo complementa la información del artículo Complementos de SharePoint.

El modelo de complemento de SharePoint ofrece las formas siguientes para hospedar los componentes de un complemento de SharePoint:

  • Hospedado por el proveedor: Complementos que incluyen al menos un componente remoto y que también pueden incluir componentes de SharePoint. Los componentes que no son de SharePoint se implementan mediante la lógica en su cuenta de hardware o en la nube, o se implementan en la cuenta de hardware o en la nube del cliente mediante programas de instalación e instrucciones que proporcione.

  • Hospedado en SharePoint: son complementos en los que solo se incluyen la lógica y los componentes de SharePoint que se ejecutan en el cliente.

Para obtener información más detallada sobre las opciones de hospedaje y sobre cuál elegir, consulte Elegir patrones para desarrollar y hospedar un complemento de SharePoint.

Webs de complemento, webs de host, características y componentes de SharePoint en complementos

El sitio web en el que está instalado un complemento de SharePoint se denomina web host. Sin embargo, las partes significativas del complemento de SharePoint, ya sean componentes de SharePoint o componentes externos, no se implementan en la web host. Los elementos externos se implementan en servidores externos o cuentas en la nube. Los componentes de SharePoint se implementan en un sitio web especial con su propio dominio. Esto se denomina web de complemento.

Solo se implementa en la web host un conjunto limitado de elementos de interfaz de usuario que proporcionan a los usuarios acceso a los demás componentes del complemento. Estos componentes de la interfaz de usuario en la web host se implementan como parte de una característica web de host, una característica que está suelta en el paquete del complemento en lugar de dentro de un archivo .wsp. Los componentes que se implementan en la web del complemento siempre están en Características que están dentro de un archivo .wsp. Ambos tipos de características deben tener ámbito web . No es posible ningún otro ámbito para las características en complementos de SharePoint.

Como regla general, cualquier componente de SharePoint que no incluya código personalizado que se ejecute en los servidores de SharePoint se puede incluir en un complemento de SharePoint (y implementarse en la web del complemento). Existen sin embargo algunas excepciones y algunos matices respecto a cómo y dónde se implementan los componentes. Para obtener más información sobre estos matices y sobre las webs host, las webs de complemento aisladas y las características de los complementos, vea Webs de host, webs de complementos y componentes de SharePoint en SharePoint.

Obtener acceso al complemento desde la interfaz de usuario

Cuando se instala un complemento de SharePoint en un sitio web, el complemento aparece en la página Contenido del sitio de la web host. Los usuarios pueden iniciar el complemento desde esa página. Cuando se abre de esta forma, el complemento se ejecuta en modo de pantalla completa.

Otra manera de exponer un complemento de SharePoint es a través de un elemento de complemento, un tipo de elemento web representado por la clase ClientWebPart . Este tipo de elemento web es esencialmente un contenedor para un IFrame que hospedaría una página del complemento. En el caso más sencillo, la única propiedad significativa del elemento web es una dirección URL que apunta a la página.

Pero los elementos web pueden tener propiedades personalizadas que los usuarios pueden establecer en un elemento de herramienta. Estas propiedades se pueden usar, por ejemplo, para establecer información de contexto como el código postal del usuario. Para incluir este tipo de elemento de complemento en el complemento, cree una característica web host en el complemento y agregue marcado de elemento web declarativo. Al igual que cualquier otro elemento web, aparece en la interfaz de usuario de SharePoint desde la que los usuarios agregan elementos web. Puede implementar más de un elemento de complemento con el complemento si necesitara más variabilidad aún. Por ejemplo, un complemento meteorológico puede constar de un elemento de complemento que muestre el tiempo en estos momentos y un segundo elemento de complemento que muestre la previsión para la semana. Los dos elementos pueden tener tamaños y funcionalidades diferentes.

Nota:

You can also deploy add-in parts to the add-in web. To implement this, the markup for the web part would be part of a Feature inside a .wsp file in the add-in package, not in the host web Feature.

Se recomienda que intente conferir a los complementos un aspecto parecido al de SharePoint en la medida de lo posible, pese a que no es obligatorio y no siempre es la mejor elección. Para obtener más información sobre las directrices de experiencia del usuario, vea Diseño de experiencia de usuario para complementos de SharePoint.

Hay, por ejemplo, una página maestra que se denomina app.master. Esta página está optimizada para su uso en las páginas de complementos. La página app.master forma parte de una nueva definición de sitio que se incluye en SharePoint.

Otra herramienta que puede usar para ayudar a los complementos a mantener una apariencia coherente con SharePoint es el control de cromo que se incluye con SharePoint. Con este control, podrá agregar un área de encabezado de SharePoint que permita la navegación a las páginas del complemento, lo cual incluye páginas hospedadas externamente. Para obtener más información sobre el diseño de experiencia de usuario en complementos de SharePoint, vea Diseño de experiencia de usuario para complementos de SharePoint. Para obtener más información sobre el control de cromo, vea Uso del control de cromo de cliente en complementos de SharePoint.

Estructura del paquete del complemento

Un paquete de complemento de SharePoint es un archivo con una extensión ".app" que cumple las Open Packaging Conventions (OPC, Convenciones de empaquetado abierto). (Para abrir el archivo, agregue ".zip" como extensión adicional en el nombre de archivo y, a continuación, ábralo en el Explorador de Windows). Contiene un manifiesto de complemento que especifica ciertas propiedades del complemento e instrucciones para la infraestructura de instalación de SharePoint. Para obtener más información sobre el manifiesto y el paquete del complemento, vea Explorar la estructura del manifiesto de la aplicación y el paquete de un complemento de SharePoint.

Permisos, autenticación y autorización de complementos de SharePoint

En SharePoint se introduce un nuevo sistema de seguridad y permisos de complementos.

Permisos de complementos

Los complementos de SharePoint tienen permisos igual que los usuarios y grupos. De esta manera, un complemento puede disponer de un conjunto de permisos distintos a los permisos de un usuario que está ejecutando el complemento.

Es preciso solicitar, en el archivo de manifiesto del complemento, los permisos que necesite el complemento para ejecutarse. El usuario que agregue el complemento debe otorgar estas solicitudes y el usuario solo podrá conferir los permisos de los que disponga como usuario. La concesión se debe realizar para todos los permisos solicitados o para ninguno con el fin de simplificar la administración de permisos para usuarios y desarrolladores. (La entidad de seguridad del complemento dispone siempre de derechos de control pleno para el sitio web de complemento, por tanto solamente necesita solicitar permisos para usar los recursos de SharePoint en el sitio web host u otras ubicaciones que no se encuentren en el sitio web de complemento).

Para obtener más información sobre los permisos de los complementos, consulte Permisos de complementos en SharePoint.

Autorización y delegación selectiva

Ni los usuarios que van a iniciar un complemento ni los propietarios de los recursos que otorgan los permisos de complemento para tener acceso a un recurso, deben facilitar sus credenciales o contraseña al complemento. En su lugar, SharePoint permite a los usuarios y propietarios de recursos conceder solo los permisos específicos que solicita el complemento. Lo que hace que esto sea posible es el uso por parte de SharePoint del protocolo de transacción OAuth 2.0. Para obtener más información sobre OAuth en SharePoint, vea Flujo de OAuth de token de contexto para complementos de SharePoint.

Acceso entre dominios

Un complemento de SharePoint que incluye una aplicación web remota que usa JavaScript para su lógica de acceso a datos puede usar una biblioteca entre dominios de JavaScript para obtener acceso autorizado a los datos de SharePoint dentro del inquilino donde está instalado el complemento. Para obtener más información, vea Obtener acceso a datos de SharePoint desde complementos con la biblioteca entre dominios.

Ciclo de vida de complementos

El ciclo de vida de un complemento de SharePoint incluye la publicación, instalación, actualización y desinstalación. Para obtener más información sobre estos temas, vea Publicar complementos de SharePoint, Implementar e instalar complementos de SharePoint: métodos y opciones y proceso de actualización de complementos de SharePoint.

Tenga en cuenta también que hay un mecanismo por el que los administradores de inquilinos pueden instalar por lotes un complemento de SharePoint en varios sitios web. Para obtener más información, consulte Tenancies and deployment scopes for SharePoint Add-ins.

Almacenamiento de datos en Complementos de SharePoint

Los complementos de SharePoint pueden crear y acceder a cualquier tipo de datos, incluidos datos estructurados, documentos y archivos multimedia. Estos datos se pueden almacenar en SharePoint o en una ubicación externa.

Opciones de almacenamiento de datos estructurados

Un complemento de SharePoint puede usar casi cualquier tipo de almacenamiento de datos estructurados, tanto dentro como fuera de SharePoint y en plataformas de Microsoft y que no sean de Microsoft. Las siguientes son algunas ubicaciones en las que puede almacenar datos estructurados para un complemento de SharePoint:

  • Listas de SharePoint en una web de complemento
  • SQL Azure
  • Orígenes de datos externos conectados a SharePoint con Servicios de conectividad empresarial de Microsoft (BCS)
  • Un servicio en la nube que no es de Microsoft
  • Una base de datos en su propio servidor

Sugerencia

Es probable que actualice el complemento de SharePoint en algún momento. Cuando un complemento de SharePoint incluye componentes de SharePoint en una web de complemento, el proceso de actualización realiza una copia completa de la web del complemento. Por este motivo, si se usan listas de SharePoint de gran tamaño en un complemento web, el proceso de actualización tardará mucho tiempo en completarse y consumirá un gran número de recursos en el servidor de bases de datos de contenido. No agregue macrodatos en listas de SharePoint del complemento web.

Opciones de almacenamiento de datos no estructurados

Los documentos, imágenes, vídeos, archivos de audio y otros tipos de datos no estructurados generados o usados por un complemento de SharePoint se pueden almacenar dentro o fuera de SharePoint. Las bibliotecas de documentos son una opción adecuada para los documentos y admiten búsquedas mediante la función de búsqueda de SharePoint. Una biblioteca de activos suele ser una opción adecuada para archivos multimedia.

Other options include Blob storage in your Microsoft Azure account or on your own servers. You can also store files in some non-Microsoft platforms or cloud services.

Configuración de complementos y otras opciones de almacenamiento de metadatos

Los metadatos de un complemento de SharePoint, como las preferencias del usuario, la información de ubicación y otras configuraciones se pueden almacenar en varios lugares. Una lista oculta de SharePoint puede ser una buena opción. También puede usar el contenedor de propiedades del complemento web. Otra opción, para un complemento hospedado por el proveedor, es usar Azure Table Storage.

Opciones de acceso seguro a los a datos

Las opciones disponibles para el acceso a datos seguro dependen, obviamente, del almacenamiento que se use. El acceso a los datos y las opciones de búsqueda se explican con detalle en otros artículos. Para obtener más información, vea Acceso a datos seguro y modelos de objetos de cliente para complementos de SharePoint.

Administración de complementos

Los administradores de colecciones de sitios y los administradores de inquilinos pueden supervisar los complementos y cambiar los recursos que se les han asignado. Además, el personal de Microsoft para el almacén de complementos puede marcar los complementos y deshabilitarlos.

Para obtener más información sobre la administración de complementos, consulte Instalar y administrar complementos de SharePoint en TechNet.

Supervisión de complementos

SharePoint proporciona supervisión del estado de los complementos y hace que esta información esté disponible en la interfaz de usuario para los propietarios del sitio web, los administradores de inquilinos y los administradores de la granja de servidores. La mayoría de la documentación del sistema de supervisión está en TechNet; por ejemplo , supervisar complementos de SharePoint. Esta sección es solo una introducción rápida para explicar cómo se supervisan los complementos que vende.

Algunos tipos de datos se notifican por aplicación y otros tipos se notifican por instancia de aplicación. Los elementos principales que notifica la estructura de notificación son los siguientes:

  • Uso del complemento como, por ejemplo, la cantidad de veces que se instaló (creando una instancia nueva).
  • Consumo de los recursos del servidor de cada instancia de complemento.
  • Errores de instalación, actualización y tiempo de ejecución de cada instancia de complemento.
  • Indicador del estado global para cada instancia de complemento en verde, amarillo y rojo.

Si el complemento incluye componentes del sitio web de Azure, el marco de supervisión también sondea a Azure cada hora por sus datos de error e informa de errores críticos y datos de cuota de almacenamiento en la interfaz de usuario de SharePoint. Azure SQL no se notifican errores de base de datos.

La información que facilita la estructura de supervisión permite a los administradores determinar si el presupuesto para la compra de complementos se ha invertido de forma inteligente, si han implementado más recursos para los complementos y si han deshabilitado un complemento que no funcionaba correctamente.

Registrar dependencias de complementos

Si el complemento de SharePoint depende de una funcionalidad de SharePoint que no está disponible y no se puede hacer disponible en la web del complemento, no funcionará correctamente y los clientes se quejan. Puede asegurarse de que su complemento no está instalado donde las características y los servicios de requisitos no están disponibles registrando las dependencias del complemento en el manifiesto del complemento. La infraestructura de instalación para complementos de SharePoint comprobará estos requisitos previos y bloqueará la instalación del complemento si alguno de ellos no está disponible.

En cuanto a los servicios, como Excel, Access o Visio, la infraestructura comprobará que el servicio está instalado y que dispone de una licencia.

Para las características (como una lista de tareas), la infraestructura comprueba si se implementó la característica y si:

  • activado en el ámbito De granja, Aplicación web o Sitio (colección de sitios)

o bien

  • se puede activar con el ámbito Web en la web de complemento creada al instalar el complemento.

Nota:

La infraestructura de instalación del complemento activará automáticamente esas características en la web de complemento al crearse.

En las siguientes secciones se proporciona la información detallada necesaria para registrar sus requisitos previos.

Registrar de forma implícita dependencias con solicitudes de permisos

Cuando su complemento necesita acceder a los componentes de SharePoint fuera de la web de complemento, debe solicitar permiso para obtener dichos recursos en la sección AppPermissionRequests del manifiesto del complemento. Estas solicitudes de permiso también sirven como registros de requisitos previos, ya que SharePoint deducirá de los permisos que solicita el complemento que necesita determinadas funcionalidades de SharePoint para estar disponible. En muchas situaciones, SharePoint puede deducir todas las funcionalidades que necesita el complemento, de modo que el resto de las secciones de este tema no son necesarias. Sin embargo, los registros de dependencias redundantes no son perjudiciales.

Registrar de forma explícita dependencias con AppPrerequisites

Cuando su complemento tiene una dependencia no implicada por sus solicitudes de permiso, puede registrar cada dependencia con un elemento AppPrerequisite en el manifiesto del complemento. Hay tres atributos en este elemento: Type, ID y (opcionalmente) MinimumVersion.

Hay tres valores de requisitos previos posibles para Type: Feature, Capablilityy AutoProvisioning. Un requisito previo de característica es simplemente una característica de SharePoint que debe implementarse y activarse en la web del complemento o en un ámbito más amplio que incluya la web del complemento. Una funcionalidad es un conjunto de características y servicios relacionados que deben estar disponibles en la web del complemento. (AutoProvisioning se describe en la sección siguiente).

El valor opcional MinimumVersion especifica la versión más antigua de la característica o funcionalidad que necesita su complemento. Los valores de atributo tienen el formato n.n.n.n; por ejemplo 15.0.0.0, .

El valor ID especifica la característica o funcionalidad necesaria. Si Type es Feature, el identificador es el GUID entre corchetes y guiones de la característica; por ejemplo {151D22D9-95A8-4904-A0A3-22E4DB85D1E0}, . Si Type es Capability, el identificador es el GUID de la funcionalidad. Las funcionalidades se enumeran a continuación. Para obtener el GUID de una funcionalidad, vea Elemento AppPrerequisite (AppPrerequisiteCollection complexType) (Manifiesto de complemento de SharePoint).

  • Access Services 2010
  • Servicios de Access
  • Servicio web de metadatos administrados
  • Servicios de PowerPoint
  • Servicios de almacenamiento seguro
  • Servicio de traducción automática
  • Servicio de perfiles de usuario
  • Servicio de gráficos de Visio
  • Servicio de administración del trabajo
  • Duet
  • Flujo de trabajo
  • Búsqueda
  • EDU

A continuación se muestra un ejemplo de marcado AppPrerequisites sin formato que registra la funcionalidad Flujo de trabajo. Si usa Visual Studio, edite el manifiesto del complemento en una herramienta de diseñador.

<AppPrerequisites>
  <AppPrerequisite Type="Capability" ID="{CDD8F991-B459-4512-8048-03D5A03FF27E}" MinimumVersion="15.0.0.0" />
</ AppPrerequisites>

En esta sección

Consulte también