Modify Manager UI app in a custom project

By following the User Guide: Custom deployment · openremote/openremote Wiki · GitHub guide, I have successfully installed and run a custom project and I have also managed to modify the backend application (i.e., add new maps, assets, new realms and users).

I wonder how I can slightly modify the Manager UI app without modifying the @openremote submodule (for example, I would like to add an extra logo at the right bottom of the Map page).

Initially, and before the custom project, I had made the required modifications in a project created by cloning your openRemote project. But as I modified the main openRemote code, my code now diverses from yours and thus it cannot be up to date.

Therefore, it seemed to be a great idea to follow the custom project template solution proposed by you, but I cannot figure out how I can slightly modify the Manager UI app.

For example, to meet the requirement for an extra logo at the right bottom of the Map page, I modified in our local openRemote project the index.ts of the or-map component and some css files.

So, my question is that: Shall I locate somewhere these modified files in our custom project (and where)? Or, I have to copy the @openremote/ui/app/manager folder from the @openremote submodule to the /ui/app/custom folder and then to proceed to the necessary modifications?

1 Like

The ability to customise the manager UI is limited to json config files unless you do as you say (i.e. fork the main repo and modify the existing code).

What you should be able to do in your custom project is create a custom app and then import whatever parts of the main manager UI you would like to use in your app, the custom project template contains a very simple example of this.

Hi @Rich - I’ve managed to get ui/custom up and running but it’s not accepting admin / secret as the username / password… is this set to something else for this app?

Hi @henry,

The custom example app uses the custom realm which is provisioned by the setup code here and it creates a realm called custom with a user called custom with a default password of custom.

You can see where the custom example app sets the realm it uses here.

Some apps are hardcoded to a specific realm but others can be more flexible (i.e. the manager UI) where you can specify the realm as a query parameter ?realm=custom (if not set it defaults to master).

2 Likes

Ah that’s great - thanks @Rich