drunomics / contentpool-client
将网站连接到内容池。
Requires
- cweagans/composer-patches: ~1.0
- drunomics/contentpool_data_model: ^2.0
- drunomics/contentpool_replication: ^2.0
- drunomics/service-utils: *
- drupal/entity_edit_redirect: ^1.5
- drupal/relaxed: ^1.0@beta
- drupal/replication: ^1.0@beta
- drupal/scheduler: *
- drupal/uuid_url: ^1.0
- drupal/vuejs: ^1.0@beta
- drupal/workspace: ^1.0@beta
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^0.4.4
- drunomics/behat-drupal-utils: ^2.2.0
- drupal/coder: 8.3.8
- php-http/guzzle6-adapter: ^2.0
- woohoolabs/yang: ^1.2
- dev-8.x-1.x / 1.0.x-dev
- 1.0.0-alpha15
- 1.0.0-alpha14
- 1.0.0-alpha13
- 1.0.0-alpha12
- 1.0.0-alpha11
- 1.0.0-alpha10
- 1.0.0-alpha9
- 1.0.0-alpha8
- 1.0.0-alpha7
- 1.0.0-alpha6
- 1.0.0-alpha5
- 1.0.0-alpha4
- 1.0.0-alpha3
- 1.0.0-alpha2
- 1.0.0-alpha1
- dev-renovate/configure
- dev-feature/WV-4396-1
- dev-feature/ODT-1312-canonical-base-url
- dev-feature/WV-4297
- dev-feature/WV-4142
- dev-feature/WV-4247
- dev-feature/WV-4292
- dev-feature/WV-3992
- dev-feature/drupal-87
- dev-feature/WV-2591
- dev-feature/channel-selection
This package is auto-updated.
Last update: 2021-10-18 21:34:25 UTC
README
contentpool发行版结合了Thunder发行版的发布功能以及强大的内容API和复制功能!https://www.drupal.org/project/contentpool
状态
该发行版证明了自己的价值,但后来发现,通过多版本复制对我们用例来说过于复杂,所以我们转而采用了一种更简单的方法。
如果您想继续维护该发行版,请与我们联系!
概述
此存储库是一个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 变量。
致谢
- Österreichischer Wirtschaftsverlag GmbH:发起者,赞助商
- drunomics GmbH:概念,开发,维护