Adjusting the manager, correct approach?

Dear OpenRemote developers,

I want to change the manager: the menus, the white labeling, add custom pages (like an own approach of displaying assets) and add custom widgets.
To easily develop I’d like to use webpack.
I have a local Windows Docker desktop succusfully running, checked out the custom project template and am able to serve with npm serve.
(both from the openremote/ui/app/manager directory or the ui/app/custom directory).

When I pass the config=…/…/…/deployment/manager/app as option to the serve in the custom dir, it doesn’t get picked up (in the manager_config I have ‘custom’ as the realm).
When I do the same from the openremote/ui/app/manager I can see a realm dropdown with Master and Custom, where the Custom shows the right logo, however with the Master’s menu.

My understanding is that I could develop on the custom dir (with webpack serve), and when I am satisfied, place the code src folder in the deployment/manager/app, run a gradle built and then the dockerimage gets updated.

Am I thinking in the right direction here? Any thought errors?
How to make the manager_config work on the webpack serve on custom?
Should I copy the whole manager dir from openremote/ui/app to the custom dir in ui/app/custom ?

Any help/insight is greatly appreciated!

When I pass the config=…/…/…/deployment/manager/app as option to the serve in the custom dir, it doesn’t get picked up (in the manager_config I have ‘custom ’ as the realm).

The manager config for your custom project is stored in /deployment/manager/app.
Just double check if there is a manager_config.json file present on that URL and
that it uses the correct format :wink:

.

When I do the same from the openremote/ui/app/manager I can see a realm dropdown with Master and Custom , where the Custom shows the right logo, however with the Master ’s menu.

Double check whether your relative URL is correct. Because if your going up 3 folders,
it is pointing to the manager_config from the original OpenRemote project/repo.
Are you editing the correct file?

.

My understanding is that I could develop on the custom dir (with webpack serve), and when I am satisfied, place the code src folder in the deployment/manager/app , run a gradle built and then the dockerimage gets updated.

Don’t think you need to move anything. Am not too known with the gradle build steps of the project,
so asking @Rich for some clarification here. I’m imagining you want to deploy it on web,
or planning on mobile apps?

.

Am I thinking in the right direction here? Any thought errors?

Using the custom apps /ui/app/custom indeed looks to be the correct approach here :slight_smile:
You can inherit on existing features of the platform if you want to, or just import pages and reuse them.
The build process is also quite solid / automatic for custom apps, so extra build configuration should not be required.

1 Like

Thank you for your reply Martin!

The manager config.json is in the correct format and present on the URL, I double checked.
When I start the npm serve from the original OpenRemote repo I am adding an extra folder going up, from the custom project ( ui/app/custom) I only need to go up 3 folders.

I guess the passed configs in the custom project index file are not processed as they are in the orginal repo index.

Yes, I want to deploy the web.
So building the custom project should take the manager_json into account, and all overrides, excludes and extra widgets? No need to move the ui/app/custom files into the deployment folder (@Rich ?)