Começando com Portal for ArcGIS 10.5.1, você pode adicionar widgets personalizados no seu portal. Isto significa que você pode escolher os widgets personalizados no ambiente do construtor quando você criar o aplicativo. Antes de poder utilizar um widget personalizado, ele deve ser hospedado em um servidor web e registrado no seu portal. Por razões de segurança, somente os administradores de portal podem registrar o widget personalizado e os aplicativos públicos não carregarão o widget personalizado quando usuários anônimos acessarem o widget personalizado.
Hospedar um widget personalizado em um servidor web
Hospedar um widget personalizado em um servidor web não é diferente de hospedar qualquer outro aplicativo da web. Você precisa instalar e configurar um servidor da web. Os servidores da web comuns incluem IIS, OS X Server e Apache.
Para hospedar widgets personalizados em seu servidor da web, complete as seguintes etapas:
- Habilite o acesso anônimo para seu servidor da web.
O local de hospedagem deve ser anonimamente acessível.
- Habilite HTTPS.
Habilite o acesso de HTTPS no servidor da web para evitar a criação de conteúdo misto. O Web AppBuilder não permite que o conteúdo ativo misto seja causado pelo carregamento de HTTP em uma conexão de HTTPS. Além disso, o servidor deve ter um certificado SSL válido emitido por uma autoridade de certificação para estabelecer a conexão de HTTPS.
- Habilitar Compartilhamento de Recursos de Origem Cruzada (CORS).
O Web AppBuilder é executado no domínio do seu portal, que pode ser diferente do domínio do servidor da web que hospeda seu widget personalizado. Você precisa habilitar o CORS no servidor da web para que o acesso do seu domínio do portal seja permitido.
- Adicione um manipulador de JSON no seu servidor da web.
Cada widget consiste em um arquivo de manifesto JSON que descreve as propriedades do widget. Alguns servidores da web não reconhecem a extensão do arquivo JSON por padrão. Nestes casos, você precisará adicioná-lo ao seu servidor como um novo tipo MIME no aplicativo ou em um nível superior. O tipo MIME deve ter .json como a extensão de nome do arquivo e application/json como o tipo MIME.
- Implemente o widget personalizado no servidor da web.
Você pode copiar a pasta do widget personalizado para seu servidor da web. Após a implantação, você precisa obter o caminho da URL para o arquivo de manifesto do widget personalizado. Um exemplo de um caminho da URL para um arquivo de manifesto é <server.domain.com>/<my widget>/manifest.json.
Registrar um widget personalizado
Você deve registrar cada widget personalizado no seu portal. Você precisa estar registrado como administrador para fazer isto.
- Em uma janela do navegador, entre no seu portal.
- Clique em Meu Conteúdo.
- Clique em Adicionar Item e escolha Um aplicativo.
- Escolha Extensão do Aplicativo (App Builder), e forneça a URL para seu arquivo de manifesto.
Um exemplo de um caminho da URL para um arquivo de manifesto é <server.domain.com>/<my widget>/manifest.json.
- Clique na caixa Título.
O título do item será preenchido automaticamente a partir do arquivo de manifesto. Opcionalmente, você pode editar manualmente o título.
- Adicione tags na caixa Tags.
- Clique em Adicionar Item.
O widget personalizado está agora disponível em Meu Conteúdo como um tipo Extensão do App Builder.
Compartilhar um widget personalizado
Como administrador, você pode compartilhar o widget personalizado com os grupos da sua organização que precisam de acesso ou toda a organização, se necessário.
Aviso:
Não é recomendado compartilhar o item do widget personalizado publicamente. Por motivos de segurança, um aplicativo público não carregará o widget personalizado quando usuários anônimos acessarem o widget. Além disso, um aplicativo carregará somente o widget personalizado que está registrado na mesma organização como os usuários que têm permissões para acessar o aplicativo.
Em Meu Conteúdo, localize seu widget personalizado e compartilhe-o com grupos ou sua organização. Quando você abrir o construtor, seu widget personalizado será exibido na guia Personalizado na caixa de diálogo Escolher Widget.
Atualizar um widget personalizado
Embora não seja possível atualizar o widget personalizado no seu portal, você pode atualizar a estrutura HTML e o código JavaScript de um widget personalizado hospedado em seu servidor da web.
Anotação:
Após um widget personalizado ser implantado em um servidor da web e registrado como um item do tipo Extensão do App Builder no seu portal, o conteúdo do arquivo de manifesto será salvo no item de extensão. Isto significa que qualquer alteração realizada no seu arquivo de manifesto hospedado em um servidor da web não será reconhecida pela extensão registrada. É recomendado que você crie uma nova extensão, ao invés de atualizar o arquivo de manifesto.