openeuropa / oe_newsroom
OpenEuropa 新闻室集成。
Requires
- php: >=8.0
- drupal/core: ^9.4 || ^10
- drupal/multivalue_form_element: ^1.0@beta
Requires (Dev)
- composer/installers: ~1.11
- drupal/core-composer-scaffold: ^9.4 || ^10
- drupal/core-dev: ^9.4 || ^10
- drupal/http_request_mock: ^1.1
- drush/drush: ^11.1
- guzzlehttp/psr7: ^2.5
- openeuropa/code-review: ^2.0.0-alpha6
- openeuropa/task-runner-drupal-project-symlink: ^1.0.0-beta6
- phpspec/prophecy-phpunit: ^2
This package is auto-updated.
Last update: 2024-09-09 16:12:08 UTC
README
OpenEuropa oe_newsroom 提供了与新闻室服务的集成。
主要模块提供了一个用户界面来配置使用新闻室 API 所需的参数。
用法
为了开始使用此模块,您需要
- 宇宙;
- 应用(名称);
- 哈希方法;
- 标准化;
- 私钥。
这些由新闻室团队提供。除私钥外,所有内容都可以通过具有“管理新闻室配置”权限的用户在 /admin/config/system/newsroom-settings
页面上进行配置。
由于敏感性质,私钥必须在 settings.php 中配置。
建议将以下行添加到网站的 runner.yml
文件中
$settings['oe_newsroom']['newsroom_api_key'] = getenv('NEWSROOM_API_PRIVATE_KEY');
然后,对于本地开发,可以在 docker-compose.override.yml
文件中设置环境变量 NEWSROOM_API_PRIVATE_KEY
。
永远不要将私钥提交到 GIT!
创建 DevOps 工单以设置接受和生产环境中的环境变量 NEWSROOM_API_PRIVATE_KEY
。
子模块
OpenEuropa Newsroom Newsletter
提供可配置的块,用于订阅和取消订阅分发列表。
限制
- oe_newsroom_newsletter 子模块包含一个实现新闻室 API 子集的基本客户端。该客户端将被移动到一个专门的 PHP 库。因此,客户端及其所有依赖类都已标记为
@internal
。客户端没有声明为服务,以阻止将其用作依赖项。 - 必须为每个分发列表调用一次取消订阅新闻室 API。为了避免在执行请求时长时间锁定网站,可以指定的分发列表的最大数量限制为 5。
开发设置
您可以通过以下步骤构建开发网站
- 安装 Composer 依赖项
composer install
在 composer install
之后,将自动触发一个后置命令钩子(drupal:site-setup
)。这将将在测试网站中的正确目录内创建模块的符号链接,并在测试配置文件中执行令牌替换。
请注意:项目文件和目录是通过使用OpenEuropa Task Runner 的 Drupal 项目符号链接命令在测试网站内进行符号链接的。
如果您在项目的根目录中添加了新的文件或目录,您需要重新运行 drupal:site-setup
,以确保它们被正确符号链接。
如果您不希望重新运行完整网站设置,您只需运行以下命令
$ ./vendor/bin/run drupal:symlink-project
- 通过运行以下命令安装测试网站
$ ./vendor/bin/run drupal:site-install
开发网站 web 根目录应位于 build
目录中。
使用 Docker Compose
或者,您可以使用提供的配置使用 Docker 和 Docker Compose 构建开发网站。
Docker 提供了必要的服务和工具,如 Web 服务器和数据库服务器,以运行网站,而不论您的本地主机配置如何。
要求
配置
默认情况下,Docker Compose读取两个文件,一个是docker-compose.yml
,另一个是可选的docker-compose.override.yml
文件。按照惯例,docker-compose.yml
包含您的基配置,并默认提供。如文件名所示,覆盖文件可以包含现有服务的配置覆盖或完全新的服务。如果服务在两个文件中都有定义,Docker Compose将合并配置。
更多关于Docker Compose扩展机制的详细信息,请参阅官方Docker Compose文档。
用法
首先,运行
docker-compose up
建议不要将docker-compose
作为守护进程运行,这样您可以在完成工作后快速将其关闭(CTRL+C
)。但是,如果您想将其作为守护进程运行,则需要添加标志-d
docker-compose up -d
然后
docker-compose exec web composer install docker-compose exec web ./vendor/bin/run drupal:site-install
使用默认配置,开发站点的文件应位于build
目录中,开发站点应在以下位置可用:http://127.0.0.1:8080/build。
运行测试
运行grumphp检查
docker-compose exec web ./vendor/bin/grumphp run
运行phpunit测试
docker-compose exec web ./vendor/bin/phpunit
逐步调试
要启用命令行中的逐步调试,请将任何值传递给容器的XDEBUG_SESSION
环境变量
docker-compose exec -e XDEBUG_SESSION=1 web <your command>
请注意,从XDebug 3开始,如果设置了该变量但您的客户端没有监听调试连接,控制台将输出连接错误消息。错误消息将导致PHPUnit测试出现假阴性。
要从浏览器中启动逐步调试,请使用浏览器扩展或类似工具设置正确的cookie,如https://www.jetbrains.com/phpstorm/marklets/生成的工具。
贡献
请阅读完整文档,了解我们的行为准则以及向我们提交pull请求的流程。