From ef16342d7ba2d8e5ac1bdad686b5643ded662902 Mon Sep 17 00:00:00 2001 From: bosd <11499387+bosd@users.noreply.github.com> Date: Wed, 14 Oct 2026 11:54:02 +0200 Subject: [PATCH] [ADD] website_media_video_html5 Embed video files hosted on your own server or on a CDN in website pages, played with the browser's HTML5 player. Works for video blocks and section background videos. Hosts serving videos from URLs without a file extension can be allowed in the website settings. --- website_media_video_html5/README.rst | 136 +++++ website_media_video_html5/__init__.py | 2 + website_media_video_html5/__manifest__.py | 36 ++ .../controllers/__init__.py | 1 + website_media_video_html5/controllers/main.py | 47 ++ .../i18n/website_media_video_html5.pot | 105 ++++ website_media_video_html5/models/__init__.py | 1 + .../models/res_config_settings.py | 16 + website_media_video_html5/pyproject.toml | 3 + website_media_video_html5/readme/CONFIGURE.md | 7 + .../readme/CONTRIBUTORS.md | 1 + .../readme/DESCRIPTION.md | 11 + website_media_video_html5/readme/ROADMAP.md | 3 + website_media_video_html5/readme/USAGE.md | 13 + .../static/description/icon.png | Bin 0 -> 8975 bytes .../static/description/index.html | 479 ++++++++++++++++++ .../static/src/editor/media_plugin.esm.js | 38 ++ .../static/src/editor/video_selector.esm.js | 38 ++ .../static/src/editor/video_selector.xml | 24 + .../static/src/js/background_video.esm.js | 43 ++ .../static/src/js/html5_video_utils.esm.js | 88 ++++ .../static/src/js/media_video.esm.js | 43 ++ .../static/src/scss/html5_video.scss | 18 + .../static/tests/sample.webm | Bin 0 -> 741 bytes .../tours/website_media_video_html5.esm.js | 165 ++++++ website_media_video_html5/tests/__init__.py | 3 + .../tests/test_controller.py | 56 ++ website_media_video_html5/tests/test_tools.py | 122 +++++ website_media_video_html5/tests/test_ui.py | 55 ++ website_media_video_html5/tools.py | 120 +++++ .../views/res_config_settings_views.xml | 24 + 31 files changed, 1698 insertions(+) create mode 100644 website_media_video_html5/README.rst create mode 100644 website_media_video_html5/__init__.py create mode 100644 website_media_video_html5/__manifest__.py create mode 100644 website_media_video_html5/controllers/__init__.py create mode 100644 website_media_video_html5/controllers/main.py create mode 100644 website_media_video_html5/i18n/website_media_video_html5.pot create mode 100644 website_media_video_html5/models/__init__.py create mode 100644 website_media_video_html5/models/res_config_settings.py create mode 100644 website_media_video_html5/pyproject.toml create mode 100644 website_media_video_html5/readme/CONFIGURE.md create mode 100644 website_media_video_html5/readme/CONTRIBUTORS.md create mode 100644 website_media_video_html5/readme/DESCRIPTION.md create mode 100644 website_media_video_html5/readme/ROADMAP.md create mode 100644 website_media_video_html5/readme/USAGE.md create mode 100644 website_media_video_html5/static/description/icon.png create mode 100644 website_media_video_html5/static/description/index.html create mode 100644 website_media_video_html5/static/src/editor/media_plugin.esm.js create mode 100644 website_media_video_html5/static/src/editor/video_selector.esm.js create mode 100644 website_media_video_html5/static/src/editor/video_selector.xml create mode 100644 website_media_video_html5/static/src/js/background_video.esm.js create mode 100644 website_media_video_html5/static/src/js/html5_video_utils.esm.js create mode 100644 website_media_video_html5/static/src/js/media_video.esm.js create mode 100644 website_media_video_html5/static/src/scss/html5_video.scss create mode 100644 website_media_video_html5/static/tests/sample.webm create mode 100644 website_media_video_html5/static/tests/tours/website_media_video_html5.esm.js create mode 100644 website_media_video_html5/tests/__init__.py create mode 100644 website_media_video_html5/tests/test_controller.py create mode 100644 website_media_video_html5/tests/test_tools.py create mode 100644 website_media_video_html5/tests/test_ui.py create mode 100644 website_media_video_html5/tools.py create mode 100644 website_media_video_html5/views/res_config_settings_views.xml diff --git a/website_media_video_html5/README.rst b/website_media_video_html5/README.rst new file mode 100644 index 0000000000..39f0ad0d04 --- /dev/null +++ b/website_media_video_html5/README.rst @@ -0,0 +1,136 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + +========================= +Website Media Video HTML5 +========================= + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:6e4083b96d07509d46bcb9d4f69b2de77a1b9af83abf95fb8e9037ff6657a31e + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fwebsite-lightgray.png?logo=github + :target: https://github.com/OCA/website/tree/19.0/website_media_video_html5 + :alt: OCA/website +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/website-19-0/website-19-0-website_media_video_html5 + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/website&target_branch=19.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module lets website editors embed video files hosted on their own +server or on a CDN, next to the YouTube, Vimeo, Dailymotion, Instagram +and Facebook videos supported by Odoo. + +Such videos are played with the browser's native HTML5 ``