Hosts da Web, sites de suplemento e componentes do Microsoft Office SharePoint Online no Microsoft Office SharePoint Online
Quando um suplemento que inclui componentes do Microsoft Office SharePoint Online é instalado em um site, ele é listado na página Conteúdo do Site, a partir da qual pode ser iniciado. Essa listagem, que é o ponto de inicialização do suplemento, é a única adição necessária ao site, embora outras coisas possam ser adicionadas opcionalmente, como uma ação personalizada ou uma parte de suplemento. Para obter informações sobre essas opções, confira Acessar o suplemento pela interface do usuário.
Hosts da Web, sites de suplemento e o domínio isolado
Além destes elementos da interface do usuário, os componentes e o conteúdo do Suplemento do SharePoint, como listas, tipos de conteúdo, fluxos de trabalho e páginas, são implantados em um site diferente em um domínio isolado especial. Este fato é amplamente oculto ao usuário. O site especial no qual o suplemento é implantado é chamado de site do suplemento. O site no qual o suplemento é instalado é chamado de host da Web. Embora o site do suplemento tenha seu próprio domínio isolado, ele está no mesmo conjunto de sites do host da Web. (Uma exceção a essa regra é quando o suplemento é instalado com escopo de locatário. Nesse cenário, o suplemento da Web está na coleção de sites do catálogo de suplementos corporativos.)
A Figura 1 mostra um host da Web com dois Suplementos do SharePoint instalados. O suplemento 1 possui componentes remotos, mas nenhum componente do Microsoft Office SharePoint Online; portanto, ele não possui um site do suplemento. O suplemento 2 não possui componentes remotos, mas possui duas listas do Microsoft Office SharePoint Online e um fluxo de trabalho. Eles foram implantados em um subsite isolado (um Suplemento do SharePoint pode ter componentes remotos e hospedados no Microsoft Office SharePoint Online, embora nenhum dos suplementos deste diagrama tenha ambos).
Figura 1: Site de host com um suplemento hospedado pelo provedor e um suplemento hospedado pelo SharePoint
Por exemplo, vamos supor que um suplemento, com componentes do SharePoint que vão além dos elementos de interface do usuário que podem ser implantados em um site de host, está instalado em um site da Web de host na seguinte URL:
https://www.fabrikam.com/sites/Marketing
O Suplemento do SharePoint será implantado em um site recém-criado com uma URL como a seguinte:
http://add-in-bdf2016ea7dacb.fabrikamadd-ins.com/sites/Marketing/Scheduler
Observe que essa URL tem a seguinte estrutura:
https://` _Add-in_Prefix_ `-` _Add-in_ID_ `.` _Add-in_Base_Domain_ `/` _Domain_Relative_URL_of_Host_Web_ `/` _Add-in_Name_
Os espaços reservados são definidos desta forma:
- Add-in_Prefix é qualquer cadeia de caracteres definida pelo administrador do farm na Administração Central. O padrão é "padrão". Neste exemplo, o administrador alterou isso para "suplemento".
- ID_Suplemento é um número hexadecimal gerado internamente quando o suplemento é instalado.
- Add-in_Base_Domain é qualquer cadeia de caracteres definida pelo administrador do farm na Administração Central ou no Shell de Gerenciamento do Microsoft Office SharePoint Online. Isso não deve ser definido como um subdomínio do aplicativo Web do Microsoft Office SharePoint Online; do contrário, o objetivo do isolamento do suplemento será perdido. Neste exemplo, o administrador removeu o "www" e adicionou "suplementos" ao nome da empresa. Assim,
fabrikamadd-ins.com
é o domínio base do suplemento. - URL_Relativa_Domínio_do_Site_de_Host é a URL relativa do site de host pai, nesse caso
sites/Marketing
. - Nome_Suplemento é o valor do atributo Name do elemento App no arquivo appmanifest.xml.
Há duas razões principais pelas quais os componentes do SharePoint são implantados para webs de suplemento, em vez da Web do host. Ambos estão relacionados à segurança.
Aplicação de permissões de suplemento: No modelo para Suplementos do SharePoint, um suplemento tem sua própria identidade e tem permissões que não são necessariamente as mesmas que as permissões do usuário que está executando o suplemento. Essas permissões de suplemento são solicitadas quando o suplemento é instalado e concedido pela pessoa que instala o suplemento, desde que a pessoa tenha todas as permissões que o suplemento solicita. (Se o usuário que está instalando o suplemento não tiver todas as permissões solicitadas pelo suplemento, o usuário não poderá instalar o suplemento.) Ao fornecer a cada suplemento seu próprio domínio, o SharePoint pode identificar de forma confiável as solicitações feitas pelo suplemento e verificar as permissões do suplemento. Para obter mais informações sobre permissões de suplemento, consulte Permissões de suplemento.
Segurança de script entre domínios: Os navegadores modernos dão suporte a uma "mesma política de origem" em relação às chamadas de método JavaScript. Ao implantar cada Suplemento do SharePoint em seu próprio domínio, o SharePoint aproveita a mesma política de origem do navegador para garantir que o JavaScript no Suplemento do SharePoint não possa executar nenhum JavaScript de qualquer outro domínio, incluindo o domínio no qual, na perspectiva do usuário final, o suplemento está instalado.
O Microsoft Office SharePoint Online também fornece um meio de superar com segurança os limites da política. Entre outras coisas, isso permite que os componentes remotos de um Suplemento do SharePoint consultem dados de qualquer site na locação pai comum dos hosts da Web e sites de suplemento. Para saber mais, confira Acessar dados do Microsoft Office SharePoint Online a partir de suplementos usando a biblioteca de domínio cruzado.
Tipos de componentes do Microsoft Office SharePoint Online que podem estar em um Suplemento do SharePoint
Em geral, um Suplemento do SharePoint pode conter um ou mais dos componentes na lista a seguir. Com certas exceções, estes componentes devem ser implantados em Recursos com escopo da Web que estejam dentro de um arquivo de pacote de soluções do Microsoft Office SharePoint Online (.wsp).
Observação
Os componentes marcados com um asterisco (*) são discutidos com mais detalhes na seção Ressalvas para implantar componentes do SharePoint posteriormente neste artigo.
- Recursos (somente com escopo da Web)
- Ações personalizadas (incluindo itens de menu de atalho e personalizações da faixa de opções)*
- Receptores de evento remoto*
- Marcação que faz referência a web parts, incluindo partes de suplemento, que são incluídas no SharePoint (mas não web parts personalizadas)*
- Arquivos CSS (folhas de estilo em cascata personalizadas) para uso de páginas do SharePoint
- Arquivos JavaScript personalizados para uso de páginas do SharePoint
- Módulos (conjuntos de arquivos)
- Páginas
- Modelos de lista
- Instâncias de lista e biblioteca (apenas experiência clássica)
- Formulários de lista personalizados
- Exibições de lista personalizadas
- Tipos de conteúdo personalizados
- Campos (de tipos de campos internos do SharePoint)
- Modelos do BCS (Serviços de Conectividade empresarial) da Microsoft (somente com escopo da Web), tipos de conteúdo externos com base no modelo e listas externas que usam os tipos de conteúdo*
- Fluxos de trabalho*
- Recipientes de propriedades
- Modelos da Web (mas não definições de site)*
Nenhum outro tipo de componente do Microsoft Office SharePoint Online pode ser implantado em um Suplemento do SharePoint. Para obter mais informações relacionadas às restrições sobre o que pode ser incluído em um Suplemento do SharePoint, confira Suplementos do SharePoint em comparação com as soluções do Microsoft Office SharePoint Online.
Limitações da implantação de componentes do Microsoft Office SharePoint Online
Veja a seguir algumas limitações e detalhes referentes à implantação de certos tipos de componentes do SharePoint em um suplemento:
Ações personalizadas: Além de adicionar ações personalizadas ao site do suplemento, você também pode adicioná-las ao host da Web. Para adicionar a ação personalizada ao site do suplemento, inclua-a em um Recurso com escopo da Web que esteja dentro de um arquivo .wsp, da mesma forma como você incluiria qualquer outro componente adicionado ao site do suplemento. Para adicionar uma ação personalizada ao host da Web, você pode incluir (mesmo em um suplemento com base externa) a marcação CustomAction em um Recurso que esteja no pacote de suplementos, mas fora de qualquer arquivo .wsp. Os componentes desse Recurso "solto" se aplicam ao host da Web, não ao site do suplemento; portanto, esse tipo de Recurso é chamado de Recurso do host da Web.
Web Parts: Uma parte de suplemento, um tipo de Web part, pode ser implantada em um suplemento, e uma parte de suplemento pode ir para o site do suplemento ou para o host da Web. Todos os outros tipos de Web parts podem ser referenciados em suplementos, mas não podem ser implantados por eles. Se uma parte de suplemento for implantada no host da Web, ela deverá ser incluída em um Recurso do host da Web.
Receptores de eventos remotos: Estas são novas no SharePoint. Eles se assemelham a receptores de eventos clássicos do SharePoint, exceto que o código é executado na nuvem. Elas não estão disponíveis em um suplemento hospedado pelo SharePoint.
Fluxos: Os fluxos de trabalho no SharePoint usam o runtime de fluxo de trabalho hospedado pelo Microsoft Azure que é novo no SharePoint. Fluxos de trabalho codificados que usam o runtime de fluxo de trabalho hospedado pelo SharePoint não podem ser incluídos em um Suplemento do SharePoint. Somente fluxos de trabalho declarativos ou fluxos de trabalho que usam o runtime mais recente são permitidos.
Modelos dos Serviços Corporativos de Conectividade da Microsoft (BCS), tipos de conteúdo externo e listas externas: Os modelos de Serviços Corporativos de Conectividade (BDC) geralmente têm um escopo mais amplo que um conjunto de sites. No entanto, quando um modelo de serviço BDC é implantado em um suplemento, seu escopo é limitado ao site do suplemento. Quando um modelo de serviço BDC é incluído em um suplemento, ele não é armazenado no repositório de serviços compartilhados do serviço BDC. Em vez disso, ele é armazenado como um arquivo no site do suplemento.
Modelos da Web: Na maioria dos casos, você deve usar o site do suplemento para instanciar a nova configuração interna de definição de site APP#0, que é otimizada para sites de suplemento. (Para obter mais informações, confira Acessar o suplemento pela interface do usuário.) O Microsoft Office SharePoint Online usa automaticamente a configuração APP#0 quando o pacote de suplementos não inclui um elemento WebTemplate.
Você também pode definir um tipo de site personalizado para o site do suplemento. Existem duas etapas principais para fazer isso:
Inclua um Elemento WebTemplate (Modelo da Web) personalizado, um arquivo onet.xml, e possivelmente outros arquivos associados, no Recurso do site de suplemento do seu suplemento. Implantar o modelo da Web no Recurso com escopo da Web em um arquivo .wsp dentro do pacote de suplementos, como de costume.
Adicione um elemento WebTemplate (PropertiesDefinition complexType) (Manifesto de Suplemento do SharePoint) ao manifesto do suplemento como filho do elemento Properties, e defina seu atributo Id como o GUID do Recurso do site do suplemento e o valor do atributo Name do Elemento WebTemplate (Modelo da Web). Observe que o GUID deve ser hifenizado e colocado entre chaves "{}", e o GUID e o nome do modelo são separados pelo caractere "#". Veja um exemplo a seguir:
<WebTemplate Id="{81dd4ae5-873b-4759-9838-4ad9c3dd2952}#NewSiteType" />
Observação
O novo elemento WebTemplate para manifestos de suplemento não é a mesma marcação que o elemento WebTemplate que pode ser incluído nos Recursos. O elemento WebTemplate que pode ser incluído nos Recursos define um tipo de site, mas o elemento WebTemplate para manifestos de suplemento simplesmente identifica o tipo de site a ser usado. Para obter mais informações sobre o manifesto de suplemento de um Suplemento do SharePoint, confira Estrutura do pacote de suplementos.
Cuidado
Não use o elemento WebTemplate no manifesto do suplemento para designar qualquer uma das configurações internas de definição de site do Microsoft Office SharePoint Online como o tipo do site do suplemento. Não oferecemos suporte ao uso de nenhuma das configurações internas de definição de site, exceto a APP#0, para sites de suplemento.
Para obter mais informações sobre configurações de definição de site e modelos da Web, consulte Trabalhando com modelos e definições de site.