drunomics/contentpool-client

此软件包已被废弃且不再维护。未建议替代软件包。

将网站连接到内容池。

安装数: 5,009

依赖项: 0

建议者: 0

安全: 0

星标: 4

关注者: 12

分支: 1

开放问题: 7

类型:drupal-module

1.0.0-alpha15 2020-08-27 08:28 UTC

README

contentpool发行版结合了Thunder发行版的发布功能以及强大的内容API和复制功能!https://www.drupal.org/project/contentpool

Build Status

状态

该发行版证明了自己的价值,但后来发现,通过多版本复制对我们用例来说过于复杂,所以我们转而采用了一种更简单的方法。

如果您想继续维护该发行版,请与我们联系!

概述

此存储库是一个Drupal客户端模块,可以连接到内容池服务器。您需要一个drupal项目来安装它。有关详细信息,请参阅“安装”。

安装

快速安装

请参阅发行版的快速安装说明,网址为 https://github.com/drunomics/contentpool#quick-installation

常规安装

  • 像往常一样安装模块及其依赖项。建议通过composer进行此操作。这需要启用composer的Drupal项目,例如由http://github.com/drunomics/drupal-project提供。

     composer require drunomics/contentpool-client
     drush en contentpool_client -y
    
  • 配置模块以指向您的内容池实例。这可以通过自动配置或手动完成。

自动配置

只需运行提供的drush命令,并提供contentpool URL。请确保提供复制用户的正确认证凭据,并将路径/relaxed附加到contentpool的基础URL

drush cps http://replicator:YOURPASS@example.contentpool-project.localdev.space/relaxed

drush命令将检查与内容池的连接,并在出现连接问题时输出错误。

手动配置

  • 为复制添加一个新“复制器”用户,并授予它“复制器”角色。它将由复制过程通过兼容CouchDB的/relaxedws API端点创建数据。

  • admin/config/relaxed/settings中设置“复制器”用户及其密码。不要更改API根。

  • admin/config/services/relaxed/add处添加一个新远程服务“Contentpool”并输入远程URL,包括/relaxedws后缀。提交表单后,将检查连接。如果没有指出问题,则一切正常。

  • 按照以下方式在admin/structure/workspace/配置实时工作空间

    • 将“分配默认目标工作空间”设置为“Contentpool - Live”。
    • 将“更新时的复制设置”设置为“复制内容池实体”
    • 将“更新时的复制设置”设置为“无”

这就完成了!

Vue.js

对于内容池筛选选择,依赖于Vue 2.5.17或更高版本。Vue.js将通过vuejs模块的预配置库自动加载。

使用说明

该模块配置了从contentpool复制内容所需的所有依赖项。也就是说,必要的数据库模型和复制的模块。有关此模块的更多信息,请参阅http://www.drupaldeploy.org/

客户端可以定期自动拉取数据,或者可以手动启动数据复制过程。最后,客户端提供了一个API端点,允许contentpool在发生更改后立即启动更新。

通过drush命令拉取数据

只需运行以下命令(需要Drush 9)

drush cppull

通过UI拉取数据

  • 作为管理员,你应该在工具栏右上角看到一个“更新”按钮。使用它来启动更新。

  • 完成此操作后,必须调用cron来实际执行复制。例如,通过“运行cron”按钮在admin/reports/status。

自动更新

contentpool客户端可以被配置为从配置的内容pool远程服务器更新内容。以下是一些可能的选项

通过Drupal的cron自动拉取

在远程配置中可以指定拉取间隔。在cron运行时,将检查间隔,并在必要时安排拉取。拉取将在cron执行结束时自动运行,当时Drupal处理工作区复制队列。

通过手动cron条目自动拉取

可以使用contentpool-client:pull-content命令手动触发更新。它将从所有标记为Contentpool的远程服务器拉取。

例如

drush cppull

提供的drush命令

# Pull content from contentpool:
drush cppull

# Show last replication status:
drush cpst

# Unblock replication status:
drush cpun

# Check whether somethings needs to be pulled:
drush contentpool-client:check

# Reset replication history, i.e. re-replicate everything:
drush cpr

# Remove conflicting revisions:
drush contentpool-client:remove-conflicts

故障排除

当出现复制问题时,请务必

  • 检查状态报告。如果与contentpool或复制错误存在连接问题,它将在此处报告。
  • 检查最近的日志消息(watchdog)中的复制错误。
  • 如果有API连接或认证问题,请检查复制用户是否在两个网站的admin/people屏幕上的最后登录日期已成功登录。
  • 检查contentpool的web服务器访问日志以确定访问的API URL,并尝试通过curl手动访问它们,同时提供复制用户访问凭证作为HTTP认证。
  • 当您遇到认证问题时,请清除contentpool上的洪水历史记录;例如,运行查询DELETE FROM flood;

开发

通过提供的发展设置

出于开发目的,可以使用提供的docker-compose设置。这正是它用于自动测试的设置。

首先,请确保您没有使用 Docker Compose 版本 1.21,因为它包含以下回归问题:[链接](https://github.com/docker/compose/issues/5874)

  docker-compose --version

如果是这样,请更新到版本 1.22,已知该版本可以正常工作。请参阅:[链接](https://github.com/docker/compose/releases/tag/1.22.0)

   ./scripts/create-project.sh
   ./scripts/run-server.sh
   ./scripts/init-project.sh
   # Optionally, launch a pool instance.
   ./scripts/launch-contentpool.sh

在自定义站点上

只需遵循上述安装说明,并编辑 web/modules/contrib/contentpool-client 目录下的模块内容。您可以通过执行以下操作来确保它是一个 Git 检出:[操作说明]

  rm -rf web/modules/contrib/contentpool-client
  composer install --prefer-source

运行测试

本地,通过提供的脚本

使用提供的脚本安装后(见上述内容),您可以按以下步骤启动测试

 ./scripts/create-project.sh
 ./scripts/run-server.sh
 ./scripts/init-project.sh
 ./scripts/launch-contentpool.sh
 ./scripts/run-tests.sh

手动

根据手动安装说明,您可以使用以下辅助脚本来启动测试

./web/modules/contrib/contentpool-client/tests/behat/run.sh

您可能需要设置一些环境变量才能使其正常工作。它需要一个启用远程调试的 Chrome 浏览器。设置 CHROME_URL 变量。

致谢