Persistent web UI view and colour scheme?

Hiya

Is it possible to make the default view and/or colour scheme persistent across different sessions? for example I pretty much always want to use the graph view, grouped by cycle point and use the colour deficient scheme like this…

When I start a new UI session this information is lost. In cylc 7 this was possible with a gcylc.rc file. Is there something equivalent in 8.*?

Thanks!

Hi,

At present your user preferences are stored in the browser so will be restored in subsequent sessions.

User preferences currently include things like:

  • Colour scheme.
  • Current GUI layout (which includes settings like “group by cycle point”).
  • Default view.

If these things are not being preserved between your GUI sessions, make sure you’re not using the browser in “private mode”, blocking Cylc’s access to “LocalStorage”, or deleting the cached data via other means.

In the future:

  • We will extend the “default view” to cover the “default layout”, allowing you to configure a layout, perhaps including the graph view with “group by cycle point” turned on as the default.
  • We may allow view defaults to be configured independent of the layout (i.e, make it so you could configure “group by cycle point” to always be on whenever you open a new graph tab).
  • We may consider adding a local configuration file to backup user preferences allowing them to become portable between different browsers (i.e, user preferences would be remembered, even if you are on a different machine and or browser, even in private mode), however, there may be issues with doing this for setups where multiple users share access to group accounts which we haven’t solved yet.

Thanks @oliver.sanders

I certainly haven’t changed any Chrome settings since I started my job here (January). From memory it was the same at NIWA when I was there (up to May 2024), also on Chrome.

I’ll take a look at my browser settings but I’d be surprised if it was that since it saves all kinds of things already that I use daily.

Cheers.

Jonny

Try changing the colour scheme, then refreshing the page, the GUI should remember the changes:

settings

If the settings are reset every time you refresh, then something is preventing them from being stored / retrieved. The web developer console might yield some clues.

Hmm it’s fine when I refresh the page but not when I start a brand new session! It’s really not a big deal but would be nice to fix at some point.

Thanks :slight_smile:

Good, so it is saving and restoring settings as intended.

but not when I start a brand new session

What do you mean by “start a new session”:

  • Open a new browser window?
  • Log on/off machine?
  • Use another browser (or on another machine)?

but would be nice to fix at some point.

I don’t yet know what is causing these settings to be ignored in your setup, so can’t yet provide a fix.

I mean kill the cylc gui session, e.g. when logging off.

Cheers.

Hmm, that also works for me.

The browser will store the Cylc GUI settings against the host:port of the app.

E.G, if you are running the GUI stand-alone (i.e, run cylc gui to start the server), then it should launch as localhost:8888, so the settings will be stored against this address.

If the server were to start as localhost:8889 or were to be accessed as 127.0.0.1:8888, then the settings would not be remembered.

Are your GUI servers starting on a different port each time?

Aha! Yes I use a randomly selected port number! Let me try changing that that! :slight_smile:

Just for info I am starting the Cylc UI on PUMA2 via a command launched from my local Mac.

Thanks

Yes, that would do it! Working with a fixed port might prove tricky on a shared system (as each user would have to fix their own port to avoid conflicts).

Cylc Hub (aka Jupyter Hub) might be a good solution here. Rather than each user starting their own servers manually, Cylc Hub provides a single central service (behind a static URL) which launches user’s servers on request. This would need to be setup at the admin level.

1 Like

This is nominally something I could take charge of I think… :anxious_face_with_sweat:

Thanks again!