多站点安装.

学习 DXPR Builder管理网站投入生产运行

DXPR Builder 在 Drupal 多站点安装中的运行方式与在独立服务器上相同:一份模块代码、每个网站一个数据库,以及所有网站共享的一个产品密钥。本页介绍共享的内容、按网站区分的内容,以及设置方法。

跨站许可

一个产品密钥服务您的所有网站。许可按编辑人员计数,而不是按网站计数,计数由 DXPR 许可证服务器维护:

  • 每个网站将其主机名和编辑人员(拥有 edit with dxpr builder 权限且未被排除的账户,以及 user 1)发送到许可证服务器 (src/Service/DxprBuilderLicenseService.php)。没有有效邮箱的账户不会发送。
  • 服务器按邮箱保存一条记录,附带该邮箱编辑过的域名列表。用同一邮箱在三个网站上编辑的人只计一次。
  • 每个网站从服务器获取共享的编辑人员列表,并向状态报告和 User Licenses 页面报告总数。该列表缓存 24 小时。

编辑人员如何计数和释放,请参阅 多站点许可。

共享与按网站区分的内容

通过代码库共享:

  • 模块及其子模块位于 modules/contrib/dxpr_builder 中。
  • 编辑器 JavaScript。Asset source 设为默认的 Cloud 时,每个网站都从 DXPR CDN 加载同一发行版。当模块目录中有本地构建时,每个网站改为从那里加载文件。
  • 模块和主题声明的图标集和实用类(*.dxpr_icon_sets.yml、dxpr_builder_classes,在主题 .info.yml 中)。主题的类只出现在启用该主题的网站上。

按网站区分,因为它们存放在各自网站的数据库和配置中:

  • dxpr_builder.settings:产品密钥或保存它的 Key 实体、Custom styles、Sideload Bootstrap files、媒体的 Browser type、文本筛选器和编辑器资源设置。
  • 用 Key 模块存放产品密钥时的 Key 实体本身(key.key.*)。
  • AI 设置(DXPR Studio > DXPR Builder > AI),包括启用了哪些模型。
  • 构建器档案(dxpr_builder.dxpr_builder_profile.*)、页面模板(dxpr_builder.page_template.*)和用户模板(dxpr_builder.user_template.*)。
  • 各网站文件目录中的上传图片(dxpr_builder_images、dxpr_builder_videos、dxpr_builder_files)。

Bootstrap 设置有两个值:None (theme provides Bootstrap) 和 Bootstrap 5。请根据各网站使用的主题按站选择。

在多站点中设置新网站

  1. 像创建任何 Drupal 多站点网站一样,创建该网站的 sites/<name>/settings.php 和数据库。

  2. 在该网站上启用模块:

    drush --uri=https://<site-host> en dxpr_builder -y
    
  3. 在该网站上前往 DXPR Studio > DXPR Builder > General Settings (/admin/dxpr_studio/dxpr_builder/settings)。在 License 部分粘贴与其他网站相同的产品密钥,或选择本站保存该密钥的 Key。

  4. 根据该网站的主题设置 Sideload Bootstrap files。

  5. 创建该网站的构建器档案,如有需要,按下文所述导入模板。

在网站之间共享模板

页面模板和用户模板是配置实体,因此可以用配置导出和导入来移动它们:

  1. 导出源网站的配置:

    drush --uri=https://<source-host> config:export
    
  2. 将 dxpr_builder.page_template.*.yml 和 dxpr_builder.user_template.*.yml 文件复制到目标网站的配置同步目录中。

  3. 在目标网站上导入它们:

    drush --uri=https://<target-host> config:import --partial
    

用户模板带有 uid;导出的文件引用的是源网站上所有者的用户 ID,因此导入后请检查所有者。

接下来做什么?