Skip to content

opencast/opencast-admin-interface

Repository files navigation

Opencast Admin UI

The Opencast Admin UI is a graphical interface included with Opencast that allows admins to easily manage their Opencast instance.

Development and testing

To get a local copy of the admin UI to test or develop on, you can do the following:

git clone git@github.com:opencast/opencast-admin-interface.git opencast-admin-interface-demo
cd opencast-admin-interface-demo
git switch my-branch  # or otherwise check out, pull, merge, etc. whatever branch you want to test/hack on
npm ci

You can now run a local instance of the UI by saying

npm start

This runs a development server at http://localhost:3000, serving a development build of the admin UI, and automatically opens a browser tab pointed to it. The build and the browser tab should automatically refresh on every change you make to the codebase. By default, this server also replies mock data to the various requests the UI would normally send to the Opencast backend.

Not all functionality of the admin UI works in this mode. If you need to test with real data, or need the ability to change it, you can rely on the proxy functionality of said development server, instead of running the static file server. Run:

PROXY=1 npm start

This assumes you have an Opencast instance running at http://localhost:8080 to which the development server will then proxy all the backend request, authenticating them as user admin with password opencast.

If you want to work with a different Opencast and/or user, you can change the command thusly:

PROXY_TARGET=https://develop.opencast.org npm start

Here, PROXY_TARGET is the target URL of the Opencast instance you want to test against. This can also be a local one like http://localhost:8080.

By default, this tries to authenticate backend requests using HTTP Basic Auth as user admin with the default password opencast. If you want to authenticate using different credentials, you can specify them in the PROXY_AUTH variable in the format user:password, as in

PROXY_TARGET=http://localhost:8080 PROXY_AUTH=jdoe:aligator3 npm start

Note that PROXY=1 is not required if you specify either PROXY_TARGET or PROXY_AUTH.

Similarly, if you want to change the port the development server itself runs at, you can specify an alternative port in the PORT environment variable.

How to cut a release for Opencast

  1. [NOT YET FUNCTIONAL] (Optional) Run the Update translations workflow to ensure all changes from crowdin are included in the next release.

  2. Switch to the commit you want to turn into the release

  3. Create and push a new tag

    DATE=$(date +%Y-%m-%d)
    git tag -m Release -s "$DATE"
    git push upstream "$DATE":"$DATE"
  4. Wait for the Create release draft workflow to finish

  5. Submit a pull request against Opencast

Translating the Admin UI

You can help translate the Opencast Admin UI to your language on crowdin.com/project/opencast-admin-interface. Simply request to join the project on Crowdin and start translating. If you are interested in translating a language that is not a target language right now, please create a GitHub issue and we will add the language.

This project follows the general form of Opencast's Localization Process, especially regarding what happens when you need to change an existing translation key. Any questions not answered there should be referred to the mailing lists!

Configuration

The Admin UI frontend cannot be directly configured. Rather, it adapts to the various configurations in the Opencast backend. TODO: Throw in some links to the docs, which ones?