opencast / opencast-admin-interface

A modern admin user interface for Opencast
https://admin-interface.opencast.org
Educational Community License v2.0
1 stars 24 forks source link

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.

The default target for API calls is https://develop.opencast.org to which the development server will 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=http://localhost:8080 npm start

Here, PROXY_TARGET is the target URL of the Opencast instance you want to test against.

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

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. (Optional) Run the GitHub Actions workflow Crowdin » Download translations to ensure all changes from Crowdin are included in the new 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 -s -m "Release ${DATE}" "${DATE}"
    git push upstream "${DATE}"
  4. Wait for the Create release draft workflow to finish

  5. Submit a pull request against Opencast

    • Update the release
    • Verify that the new release runs in Opencast, then create the pull request.

Translating the Admin Interface

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. Fore more information, take a look at Opencast's documentation.