OpenConext / OpenConext-myconext

A (guest) IdP for OpenConext
https://eduid.nl/
4 stars 7 forks source link

Req: branding #64

Open TWIYOnl opened 3 years ago

TWIYOnl commented 3 years ago

Hi,

In order to be able to use myConext by other organisations (i.e. govroam), our feature request would be to be able to adjust brand-specific graphical elements. The main ones are:

...by either replacing a fixed files that remain persistent after, or can easily be migrated during an upgrade, or by pointing to alternative files in the configuration.

Color scheme: For the short term, the color scheme would replace:

Text:

oharsta commented 3 years ago

The preferred way to accomplish this is to add additional steps to the deployment. In SURFconext we download and extract the account-guiarchive from https://build.openconext.org/repository/public/releases/org/openconext/account-gui/4.0.0/account-gui-4.0.0.zip. This will not work if branding needs to be applied. In the branding scenario the sources needs to be cloned from git and the following files need to be patched:

account-gui/src/App.svelte (color scheme) account-gui/src/components/Header.svelte (Logo) account-gui/src/locale/en.js (text) account-gui/src/locale/nl.js (text) account-gui/src/favicon.ico

The patching can best be done with git patch. After the patches have been applied the JS bundle can be build by executing:

./build.sh

The resulting bundle located in account-gui/public/index.html can be copied to the correct apache2 location. See https://github.com/OpenConext/OpenConext-deploy/blob/master/roles/account-gui/templates/account.conf.j2 for a working template.

The backend application can be downloaded from https://build.openconext.org/repository/public/releases/org/openconext/myconext-server/4.0.0/. This is a standalone executable JAR file. The feature toggles can be applied by placing a application.yml in the folder from where the spring boot app is run from. See https://github.com/OpenConext/OpenConext-deploy/tree/master/roles/myconext-server for a working ansible role.