openeuropa/oe_content

包含欧洲委员会企业实体的OpenEuropa Drupal模块。

安装次数: 101 213

依赖: 7

建议者: 0

安全: 0

星标: 12

关注者: 20

分支: 14

开放问题: 16

类型:drupal-module

4.1.0 2024-08-29 12:02 UTC

This package is auto-updated.

Last update: 2024-08-29 12:02:29 UTC


README

这是一个包含欧洲委员会企业实体的Drupal模块。

该模块使用RDF SKOS模块提供对出版物办公室分类词汇的SKOS建模。这些模型可以直接在依赖的RDF三元组存储中提供。

所有内容类型都组织在子模块中。可以通过覆盖语言.content_setting配置将这些内容类型设置为可翻译。

此模块提供了一个子模块(oe_content_entity),其中包含了一组用于的企业内容实体。查看模块的README

目录

需求

此模块依赖于以下软件

  • PHP >=8.1
  • 包含以下出版物办公室(OP)词汇的RDF表示的三元组存储(Virtuoso或等效):企业实体、目标受众、组织类型、资源类型、Eurovoc

安装

安装包及其依赖项

composer require openeuropa/oe_content

强烈建议使用包含已预装OP词汇的Virtuoso提供的Docker镜像。为此,将镜像添加到您的 docker.compose.yml 文件中

  sparql:
    image: openeuropa/triple-store-dev
    environment:
    - SPARQL_UPDATE=true
    - DBA_PASSWORD=dba
    ports:
      - "8890:8890"

否则,请确保您已启动三元组存储实例并已导入这些词汇。

接下来,如果您正在使用任务运行器来设置您的站点,请添加连接到三元组的 runner.yml 配置。在 drupal 键下

  sparql:
    host: "sparql"
    port: "8890"

仍在 runner.yml 中,添加创建连接到三元组的Drupal设置的指令。在 drupal.settings.databases 键下

  sparql_default:
    default:
      prefix: ""
      host: ${drupal.sparql.host}
      port: ${drupal.sparql.port}
      namespace: 'Drupal\Driver\Database\sparql'
      driver: 'sparql'

然后您可以继续使用常规任务运行器命令来设置站点。

否则,请确保在您的站点 setting.php 文件中您有自己的三元组存储实例的连接信息

$databases["sparql_default"] = array(
  'default' => array(
    'prefix' => '',
    'host' => 'your-triple-store-host',
    'port' => '8890',
    'namespace' => 'Drupal\\Driver\\Database\\sparql',
    'driver' => 'sparql'
  )
);

使用

OpenEuropa 内容

如果您想使用OpenEuropa内容,请启用模块

drush en oe_content

OpenEuropa 企业站点信息集成

此模块提供了与OpenEuropa企业站点信息模块的集成。

当创建新节点时,如果字段“内容所有者”和“作者”可用,它们将自动填充为OpenEuropa企业站点信息模块提供的“基本站点设置”中配置的“默认内容所有者”值。

开发环境搭建

需求

初始设置

您可以通过以下步骤构建测试站点。

  • 安装Virtuoso。最简单的方法是使用OpenEuropa的三元组存储开发Docker容器,该容器还预装了主要欧洲词汇。

  • 安装所有Composer依赖项

composer install
  • 通过复制 runner.yml.distrunner.yml 并更改相关值(如数据库凭据)来自定义构建设置。

这将还将主题链接到测试站点中的正确目录,并在测试配置文件(如behat.yml.dist)中执行令牌替换。

  • 通过运行以下命令安装测试站点:
./vendor/bin/run drupal:site-install

您的测试站点将在 ./build 中可用。

请注意:项目文件和目录通过使用OpenEuropa Task Runner的Drupal项目符号链接命令在测试站点内进行符号链接。

如果您在项目的根目录中添加了新文件或目录,您需要重新运行drupal:site-setup以确保它们被正确地符号链接。

如果您不想重新运行完整的站点设置,您可以简单地运行

$ ./vendor/bin/run drupal:symlink-project

使用Docker Compose

或者,您可以使用提供的配置使用DockerDocker 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

要运行behat测试

docker-compose exec web ./vendor/bin/behat

步骤调试

要启用从命令行的步骤调试,将任何值传递给容器的XDEBUG_SESSION环境变量

docker-compose exec -e XDEBUG_SESSION=1 web <your command>

请注意,从XDebug 3开始,如果变量已设置但您的客户端未监听调试连接,控制台将输出连接错误消息。错误消息会导致PHPUnit测试出现假阴性。

要从浏览器中启动步骤调试,请使用浏览器扩展或类似https://www.jetbrains.com/phpstorm/marklets/生成的书签设置正确的cookie。

处理内容

该项目包含以下Task Runner命令来处理RDF存储中的内容,它们需要Docker Compose服务正在运行。

清除所有数据

docker-compose exec sparql ./vendor/bin/robo purge

或者,如果您可以在主机机器上运行命令

./vendor/bin/run sparql:purge

导入默认数据

docker-compose exec sparql ./vendor/bin/robo import

或者,如果您可以在主机机器上运行命令

./vendor/bin/run sparql:import

重置所有数据,即运行清除和导入

docker-compose exec sparql ./vendor/bin/robo purge
docker-compose exec sparql ./vendor/bin/robo import

或者,如果您可以在主机机器上运行命令

./vendor/bin/run sparql:reset

贡献

请阅读完整文档以了解我们的行为准则和向我们提交pull请求的过程。

版本控制

我们使用SemVer进行版本控制。有关可用版本,请参阅此存储库的标签