Hello,
Recently, I explored Opencast, a powerful video management tool, which I really like.
In my test deployment, I used a 2-node setup (admin-presentation and worker) and divided Opencast into three tenants: the default mh_default_org, tenant1, and tenant2, configuring different URLs for them.
Now, there's only one unachievable requirement: tenant separation for media download url. The configuration for `org.opencastproject.download.url` is in `custom.properties`, not in `org.opencastproject.organization-<tenant-id>.org`. Thus, the loading of media files in tenant1 and tenant2 still comes from the URL of mh_default_org.
This forces me to do two things to enable video playback:
1. Set CORS for the reverse proxy of mh_default_org's URL;
2. Set `authentication.required = false` in `org.opencastproject.fsresources.StaticResourceServlet.cfg`.
However, this inability to separate media download url by tenant does not meet our needs. Therefore, I tried the following approaches:
1. In `custom.properties`, I set
`org.opencastproject.download.url=${prop.org.opencastproject.engage.ui.url}/static`
However, as I expected, `custom.properties` cannot retrieve the variable `${prop.org.opencastproject.engage.ui.url}` from `org.opencastproject.organization-<tenant-id>.org`, leading to workflow failure when publishing to engage.
2. I also tried adding a definition in `org.opencastproject.organization-<tenant-id>.org`:
`prop.org.opencastproject.download.url=${prop.org.opencastproject.engage.ui.url}/static`
And commenting out the definition of `org.opencastproject.download.url` in `custom.properties`. This caused the workflow to not run at all, staying in pending status. Only when I added `org.opencastproject.download.url` back to `custom.properties` did the workflow run normally.
I wonder if tenant separation for media download url is currently possible? If not, is there any plan to add this feature?
If it's not feasible in the short term, I'll have to deploy two completely independent instances.
Thanks!
Ran