openeuropa / oe_media
OpenEuropa项目媒体功能。
Requires
- php: >=8.1
- drupal/core: ^10
- drupal/embed: ^1.5
- drupal/entity_browser: ^2.5
- drupal/file_link: ^2.1
- drupal/inline_entity_form: ~1.0-rc12
- drupal/media_avportal: ^1.2
Requires (Dev)
- composer/installers: ~1.5
- cweagans/composer-patches: ^1.7 | ^2.0
- drupal/ckeditor: ^1.0
- drupal/composite_reference: ^2.2
- drupal/config_devel: ^1.9
- drupal/core-composer-scaffold: ^10
- drupal/drupal-extension: ^5.0
- drupal/entity_reference_revisions: ^1.7
- drupal/json_field: ^1.1
- drush/drush: ^12.4
- mikey179/vfsstream: ^1.6
- nikic/php-parser: ^4.18
- openeuropa/behat-transformation-context: ^0.2
- openeuropa/code-review: ^2.0.0-alpha6
- openeuropa/oe_link_lists: ^0.22
- openeuropa/oe_oembed: ~0.7.0
- openeuropa/oe_webtools: ^1.23
- openeuropa/task-runner-drupal-project-symlink: ^1.0-beta6
- phpspec/prophecy-phpunit: ^2
- symfony/phpunit-bridge: ^6.4
- dev-master
- 1.27.0
- 1.26.0
- 1.25.0
- 1.24.0
- 1.23.1
- 1.23.0
- 1.22.0
- 1.21.x-dev
- 1.21.2
- 1.21.1
- 1.21.0
- 1.20.0
- 1.19.0
- 1.18.0
- 1.17.0
- 1.16.0
- 1.15.0
- 1.14.0
- 1.13.0
- 1.12.0
- 1.11.0
- 1.10.1
- 1.10.0
- 1.9.0
- 1.8.0
- 1.7.0
- 1.6.0
- 1.5.0
- 1.4.0
- 1.3.0
- 1.2.0
- 1.1.0
- 1.0.0
- 1.0.0-beta5
- 1.0.0-beta4
- 1.0.0-beta3
- 1.0.0-beta2
- 1.0.0-beta1
- 0.4.0
- 0.3.0
- 0.2.0
- 0.1.0
- dev-contribution/UCPKN-3218
- dev-EWPP-3839
- dev-EWPP-3722
- dev-EWPP-3721
- dev-EWPP-0000
- dev-release-1.21.2
- dev-release-1.21.0
- dev-EWPP-2832
- dev-release-1.17.0
- dev-release-1.14.0
- dev-EWPP-847
- dev-EPIC-Media-iframe
- dev-EWPP-682
- dev-EWPP-483
- dev-EWPP-474
- dev-EWPP-284
- dev-EWPP-253
- dev-EWPP-32
- dev-EWPP-72
- dev-EWPP-95
- dev-OPENEUROPA-3047
- dev-EPIC-Link-lists-assets
- dev-OPENEUROPA-3234
- dev-OPENEUROPA-2818
- dev-release-1.6.0
- dev-OPENEUROPA-2659
- dev-SGECI2-370
- dev-OPENEUROPA-1766
- dev-OPENEUROPA-2258-test-php72
This package is auto-updated.
Last update: 2024-09-15 10:58:43 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.dist
到runner.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
或者,您可以使用提供的配置,通过 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
要运行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请求的过程。