使用 drupal-config 命令

您可以使用 drupal-config 命令在 Developer Portal 服务上列出,获取值,设置值,新建和删除 Drupal 配置对象。

例如,可以使用 drupal-config 命令来禁用 CSS 和 JS 聚集以帮助进行 twig 调试,请参阅 示例

  1. 以提供者组织身份登录:
    apic login --server management_server --realm provider/identity_provider --username provider_username --password provider_password
    通过输入以下命令查看所有可用身份提供者的列表(无需登录即可使用此命令),可以确定要在 --realm 参数中使用的身份提供者:
    apic identity-providers:list --scope provider --server platform_api_endpoint_url --fields title,realm
    例如
    apic identity-providers:list --scope provider --server platform_api_endpoint_url --fields title,realm 
    total_results: 2
    results:
      - title: API Manager User Registry
        realm: provider/default-idp-2
      - title: Corporate LDAP user registry
        realm: provider/corporate-ldap
    您可通过 title 值确定要使用的身份提供者;然后,可以直接从显示的 realm 值复制对应的 --realm 参数。 对于管理员在 API Connect 安装后创建的任何身份提供程序,其名称都是在创建时确定的。 用于以提供者组织成员身份登录的缺省 API Manager 本地用户注册表为 default-idp-2

    有关 apic login 命令的完整详细信息,请参阅 登录到管理服务器

  2. 列出站点的所有可用 Drupal 配置。
    apic --mode portaladmin drupal-config:list --server management_server --catalog catalogid/name --org orgid/name --format format_type
    • management_server 是管理服务器的端点 URL (必填)。
    • catalogid/name 是站点所属目录的标识或名称 (必需)。
    • orgid/name 是目录所属的提供者组织的标识或名称 (必需)。
    • format_type 是输出格式。 可以是 jsonyamlgo-template=...go-template-file=...。 缺省值为 yaml
    例如:
    apic --mode portaladmin drupal-config:list --server my.management.server.com --org ibm --catalog portal-test --format yaml
    admin_toolbar_tools.settings:
      name: admin_toolbar_tools.settings
    adminimal_admin_toolbar.settings:
      name: adminimal_admin_toolbar.settings
    advagg.settings:
      name: advagg.settings
    advagg_css_minify.settings:
      name: advagg_css_minify.settings
    advagg_js_minify.settings:
      name: advagg_js_minify.settings
    autologout.settings:
      name: autologout.settings
    ...
    请注意,该示例已减少,因为完整响应非常大。
  3. 列出站点的特定 Drupal 配置。
    apic --mode portaladmin drupal-config:list --server management_server --catalog catalogid/name --org orgid/name --prefix config_prefix --format format_type
    • config_prefix 是 Drupal 配置的前缀,例如 system。 如果省略,那么该命令将返回系统中的所有配置名称。
    例如:
    apic --mode portaladmin drupal-config:list --server my.management.server.com --org ibm --catalog portal-test --format yaml --prefix system.theme
    system.theme:
      name: system.theme
    system.theme.global:
      name: system.theme.global
  4. 更新 Drupal 配置键值。
    apic --mode portaladmin drupal-config:set -server management_server --catalog catalogid/name --org orgid/name  --config_name config_name --config_key config_key --config_value config_value
    • config_name 是 Drupal 配置对象的名称,例如 system.site (必需)。
    • config_key 是 Drupal 配置密钥,例如 page.front (必需)。
    • config_value 是要分配给配置键的值 (必需)。
    例如,要将缺省主题设置为 claro:
    apic --mode portaladmin drupal-config:set --server my.management.server.com --org ibm --catalog portal-test --config_name system.theme --config_key default --config_value claro
    // Do you want to update default key in system.theme config?: yes.
  5. 创建新的 Drupal 配置密钥并设置值。
    apic --mode portaladmin drupal-config:set -server management_server --catalog catalogid/name --org orgid/name  --config_name config_name --config_key new_config_key --config_value new_config_value
    例如,要创建新的配置键并在 system.site 配置对象中设置值:
    apic --mode portaladmin drupal-config:set --server my.management.server.com --org ibm --catalog portal-test --config_name system.site --config_key new_key --config_value new_value
    // new_key key does not exist in system.site config. Do you want to create a new config key?: yes.
  6. 获取 Drupal 配置对象的所有键值。
    apic --mode portaladmin drupal-config:get --server management_server --catalog catalogid/name --org orgid/name  --format format_type --config_name config_name
    例如,要了解可用的主题:
    apic --mode portaladmin drupal-config:get --server my.management.server.com --org ibm --catalog portal-test --format json --config_name system.theme
    {
        "admin": "seven",
        "default": "claro",
        "_core": {
            "default_config_hash": "fOjer9hADYYnbCJVZMFZIIM1azTFWyg84ZkFDHfAbUg"
        },
        "defaultplus": "bartisk"
    }
  7. 获取 Drupal 配置对象的特定密钥的值。
    apic --mode portaladmin drupal-config:get --server management_server --catalog catalogid/name --org orgid/name  --format format_type --config_name config_name --config_key config_key
    例如,要了解缺省主题是什么:
    apic --mode portaladmin drupal-config:get --server my.management.server.com --org ibm --catalog portal-test --format json --config_name system.theme --config_key default
    {
        "system.theme:default": "claro"
    }
  8. 删除 Drupal 配置对象或特定配置键及其值。
    apic --mode portaladmin drupal-config:delete --server management_server --catalog catalogid/name --org orgid/name  --config_name config_name --config_key config_key
    • config_key 是 Drupal 配置密钥,例如 page.front (可选)。
    例如,要删除配置键 new_key 及其值:
    apic --mode portaladmin drupal-config:delete --server my.management.server.com --org ibm --catalog portal-test --config_name system.site --config_key new_key
    The config object/value was successfully deleted.

示例

以下场景提供了如何关闭 CSS 和 JS 聚集以帮助进行 twig 调试的示例。 但是,由于性能原因,应该在生产系统上启用聚集。

  1. 检查性能设置,其中包括 CSS 和 JS 聚集的设置:
    apic --mode portaladmin drupal-config:get --server management_server --catalog catalogid/name --org orgid/name --config_name system.performance 
  2. 关闭 CSS 聚集:
    apic --mode portaladmin drupal-config:set --server management_server --catalog catalogid/name --org orgid/name --config_name system.performance --config_key css.preprocess --config_value 0
  3. 关闭 JS 聚集:
    apic --mode portaladmin drupal-config:set --server management_server --catalog catalogid/name --org orgid/name --config_name system.performance --config_key js.preprocess --config_value 0
  4. 然后,重新构建高速缓存:
    apic --mode portaladmin site:cache-rebuild  --server management_server --catalog catalogid/name --org orgid/name
在浏览器中装入站点时,您现在应该会看到使用开发工具进行站点调试或定制时禁用了 CSS 和 JS 聚集。
注:
  • 禁用聚集会影响站点性能,因此如果站点进入生产环境,请记住再次开启聚集。
  • 虽然设置显示为 truefalse,但要使用 drupal-config:set 命令进行设置,您必须对 true应用值 1 ,对 false应用值 0