openeuropa/oe_media

OpenEuropa项目媒体功能。

安装次数: 114 470

依赖项: 7

建议者: 1

安全: 0

星标: 4

关注者: 21

分支: 7

开放问题: 12

类型:drupal-module

1.27.0 2024-06-11 08:33 UTC

README

OpenEuropa项目使用媒体实体作为任何类型资产(如图片、文档、视频等)的包装。因此,所有资产字段类型应引用媒体实体而不是直接引用文件。

OpenEuropa媒体模块提供各种功能,允许在您的网站上使用媒体。

目前可用的媒体(包)类型如下

  • 图片(本地)
  • 文档(本地)
  • 远程视频(支持YouTube、Vimeo、Daily Motion)
  • AV门户视频和照片
  • 视频iframe
  • Iframe

此外,模块内部还有一个演示模块,公开了一个内容类型和一个通用的实体浏览器,用于展示媒体与内容的用法。

权限

组件提供了一个名为 view any unpublished media 的新权限,用于检查访问未发布媒体实体的访问权限。

目录

文档媒体包

默认情况下,文档媒体包提供了上传本地文档或选择文档远程URL的功能,该文档的元数据将从远程文件中获取(如文件类型和大小)。

如果您是从版本 1.10.0 之前的版本更新,并希望利用远程文档功能,您只需执行以下操作:

  • 按照常规方式运行数据库更新
  • 编辑文档媒体表单显示,并将 文件类型远程文件 字段放置在 名称 字段下方。最常见顺序为
    • 名称
    • 文件类型
    • 文件
    • 远程文件

这将确保功能启动。

已知问题

  • 在远程视频包中,Daily Motion视频URL需要带有HTTP方案(不是HTTPS)。
  • 通常,Daily Motion缩略图的URL没有扩展名,因此本地副本不可用。这在#3080666 中已修复,所以如果您的主Drupal核心版本尚未包含该提交,您可以在那里应用最新的补丁。

开发环境

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

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

这将也会

  • ./build/modules/custom/oe_media 中创建主题的符号链接,使其在测试站点上可用
  • 使用 ./runner.yml.dist 中的值设置Drush和Drupal的设置。
  • 使用 ./runner.yml.dist 中的值设置PHPUnit和Behat配置文件。

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

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

如果您不想重新运行完整的站点设置,您可以直接运行

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

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

使用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/生成的那些。

贡献

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

版本控制

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