从 ArcGIS Enterprise 10.5.1 开始,可将自定义微件添加到门户。这意味着在创建应用程序时,您可以在构建器环境中选择自定义微件。自定义微件必须在 Web 服务器上托管并注册到门户后才能使用。出于安全方面的原因,只有门户管理员可以注册自定义微件。在 10.6 中,共享给所有人(公众)的自定义微件可以在公共应用程序中用于匿名用户访问。
旧版本:
在 10.5.1 中,公共应用程序无法加载自定义微件。在 10.6 中,该限制已被移除。现在,公开共享的自定义微件可以在公共应用程序中用于匿名用户访问。
在 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。
注册自定义微件
必须在门户中注册每个自定义微件。需要以门户管理员身份登录才能执行此项操作。
- 在浏览器窗口中,登录到门户。
- 单击内容页面的我的内容选项卡。
- 单击添加项目,然后选择应用程序。
- 选择应用程序扩展模块 (AppBuilder),并输入清单文件的 URL。
例如,清单文件的 URL 路径为 <server.domain.com>/<my widget>/manifest.json。
- 单击标题框。
将自动从清单文件填充项目标题。或者,可以手动编辑标题。
- 在标签框中添加标签。
- 单击添加项目。
自定义微件在内容页面的我的内容选项卡中作为 AppBuilder 扩展模块类型提供。
共享自定义微件
门户管理员可以将自定义微件共享给组织中需要访问的群组、共享给整个组织或公开共享(如有必要)。
警告:
应用程序将仅加载已注册到有权访问该应用程序的用户所在组织的自定义微件。
在我的内容中,找到自定义微件并将其共享。打开构建器时,自定义微件将显示在选择微件对话框的自定义选项卡下。
警告:
如果在加载自定义微件时收到 404 错误,请确认微件无需使用微件包名称的模块。相反,使用相对路径来加载模块。
更新自定义微件
尽管您无法在门户中更新自定义微件,但是可以在 Web 服务器中更新托管自定义微件的 HTML 结构和 JavaScript 代码。
注:
自定义微件部署到 Web 服务器并作为 AppBuilder 扩展模块类型项目在门户中注册后,清单文件的内容将保存在扩展项目中。这意味着已注册扩展将无法识别对在 Web 服务器上托管的清单进行的任何更改。建议创建新扩展而不是更新清单文件。