This is a plugin for pretalx that provides an integration with Youtube, allowing you to embed recordings on talk pages.
The Plugin supplies an API at /api/events/<event>/p/youtube/ that returns all configured Youtube URLs:
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"submission": "DPC6RT",
"youtube_link": "https://youtube.com/watch?v=AAAAAB",
"video_id": "AAAAAB"
},
]
}A detail view for specific submissions is available at /api/events/<event>/p/youtube/<code>/:
{
"submission": "DPC6RT",
"youtube_link": "https://youtube.com/watch?v=AAAAAB",
"video_id": "AAAAAB"
}You can use POST requests against the list endpoint and PATCH or PUT requests against the detail endpoint to
create or update Youtube links. The video_id field is required, as is the submission field unless you are using
PATCH. The submission field must be the code of an existing submission, and the API will take care of updating
existing links if you use POST, so it's safe to just always POST to the list endpoint.
You can also bulk import data in either JSON or CSV format. The JSON format is the same as the one used by the API,
and the CSV format is a simple CSV file with a header row containing the fields submission and video_id. You can
upload the file to /api/events/<event>/p/youtube/import/ using a POST request with the file as the body.
(For JSON, you can also instead put the data in the request body.)
If you use the c3voc voctopublish tool to upload recordings to YouTube,
the plugin can receive the publishing notification and attach the YouTube
link to the matching session automatically.
Go to the plugin's settings page in the organiser backend to find the
webhook URL and a freshly-generated token. In your voctopublish ticket,
configure the webhook URL and set the webhook password (webhook_pass)
to the token — leave the username empty so voctopublish uses the
Authorization header. Always use HTTPS to protect the token in transit.
The token is a shared secret. Anyone who knows it can set YouTube links on your sessions, so keep it private. Use the Generate new token button in the settings to rotate it if you believe it has leaked.
- Make sure that you have a working pretalx development setup.
- Clone this repository, eg to
local/pretalx-youtube. - Install the plugin in editable mode:
uv pip install -e . - Restart your local pretalx server. You can now use the plugin from this repository for your events by enabling it in the 'plugins' tab in the settings.
Run just test to execute the test suite. This will automatically install pretalx from git if it's not already present.
If you're developing against a local pretalx checkout, use just install-pretalx-local /path/to/pretalx first.
Use just fmt to format your code, or just fmt-check to check formatting without modifying files.
Copyright 2021 Tobias Kunze
Released under the terms of the Apache License 2.0