从 Portal for ArcGIS 10.5.1 开始,可将自定义微件添加到门户。这意味着在创建应用程序时,可以在构建器环境中选择自定义微件。自定义微件必须在 Web 服务器上托管并注册到门户后才能使用。出于安全考虑,只有门户管理员能够注册自定义微件,当匿名用户访问自定义微件时,公共应用程序将不会对其进行加载。
在 Web 服务器上托管自定义微件
在 Web 服务器上托管自定义微件与托管任何其他 Web 应用程序一样。需要安装和配置 Web 服务器。常见 Web 服务器包括 IIS、OS X Server 和 Apache。
要在 Web 服务器上托管自定义微件,请完成以下步骤:
- 启用 Web 服务器的匿名访问。
托管位置必须能够匿名访问。
- 启用 HTTPS。
启用 Web 服务器中的 HTTPS 访问可避免创建混合内容。Web AppBuilder 不允许通过在 HTTPS 连接下加载 HTTP 而导致混合的活动内容。此外,服务器需要具有证书颁发机构颁发的有效 SSL 证书才能建立 HTTPS 连接。
- 启用跨域资源共享 (CORS)。
Web AppBuilder 在门户域下运行,该域可能与托管自定义微件的 Web 服务器的域不同。需要启用 Web 服务器中的 CORS,才能从门户域进行访问。
- 将 JSON 处理程序添加到 Web 服务器。
每个微件都包含一个说明微件属性的 JSON 清单文件。一些 Web 服务器默认无法识别 JSON 文件扩展名。在这种情况下,需要将其作为新的 MIME 类型在应用程序或更高级别下添加到服务器。MIME 类型应将 .json 作为文件名扩展名并将 application/json 作为 MIME 类型。
- 将自定义微件部署到 Web 服务器。
可将自定义微件文件夹复制到 Web 服务器。部署完成后,需要获取自定义微件的清单文件的 URL 路径。例如,清单文件的 URL 路径为 <server.domain.com>/<my widget>/manifest.json。
注册自定义微件
必须在门户中注册每个自定义微件。需要以管理员身份登录才能执行此项操作。
- 在浏览器窗口中,登录到门户。
- 单击我的内容。
- 单击添加项目,然后选择一个应用程序。
- 选择应用程序扩展(应用程序构建器),然后提供清单文件的 URL。
例如,清单文件的 URL 路径为 <server.domain.com>/<my widget>/manifest.json。
- 单击标题框。
将自动从清单文件填充项目标题。或者,可以手动编辑标题。
- 在标签框中添加标签。
- 单击添加项目。
现在,自定义微件在我的内容中作为应用程序构建器扩展类型提供。
共享自定义微件
管理员可以将自定义微件共享给组织中需要访问的群组或共享给整个组织(如有必要)。
警告:
不建议公开共享自定义微件。出于安全起见,匿名用户访问自定义微件时,公共应用程序将不会加载该微件。此外,应用程序将仅加载已注册到有权访问该应用程序的用户所在组织的自定义微件。
在我的内容中,找到自定义微件,并与群组或组织共享。打开构建器时,自定义微件将显示在选择微件对话框的自定义选项卡下。
更新自定义微件
尽管您无法在门户中更新自定义微件,但是可以在 Web 服务器中更新托管自定义微件的 HTML 结构和 JavaScript 代码。
注:
自定义微件部署到 Web 服务器并作为应用程序构建器扩展类型项目在门户中注册后,清单文件的内容将保存在扩展项目中。这意味着已注册扩展将无法识别对在 Web 服务器上托管的清单进行的任何更改。建议创建新扩展而不是更新清单文件。