#2678 [RFE] WebUI load speed up - cache object and commands metadata
Opened 8 years ago by pvoborni. Modified 2 years ago

Web UI load can be very slow. One of the main issue is loading the metadata each time.

Metadata for object and commands have about 1.1MB. They should be consistent between server updates so there is no need to load they every time. They can be stored in HTML 5 local storage and retrieved if present. It's important to reload the metadata on server updates.

Moving to next month iteration.

The load time varies from 1-5s - depends on environment.

We have to solve following issue first: The metadata is automatically extended by
new server plugins. That's a great feature. The downside is that UI is
not told in any way that third party plugin was installed. So it will
not know when to refresh the cached metadata.

Possible solutions are:
1. periodically reload metatada, i.e., once a day + add button to force reload manually
2. adjust server side to send information about plugins change (removal, add, update). It can be simple number which is raised on change. UI would reload metadata when this number changes. Ideally(from UI POV) the number should be part of each API response.

Note: IPA version is not enough because it's not updated on plugin change.

I'm for solution #2. #1 is not reliable and may end with complaints from users.

There is not enough time to finish this tichet in 4.0. Postponing till the next version where we should decide how big problem this really is and when we also see if we get a feedback from users.

The FreeIPA 4.2 was already shaped (see [[milestone:FreeIPA 4.2]] milestone), this does not fit. Pushing out.

If anyone is willing to help and contribute to this one, please let us know!

Metadata Update from @pvoborni:
- Issue assigned to pvoborni
- Issue set to the milestone: FreeIPA 4.5 backlog

3 years ago

Metadata Update from @pvomacka:
- Issue close_status updated to: None
- Issue tagged with: webui

3 years ago

Still relevant. Probably lower prio as whole WebUI loads in approx. 3-4s.

Login to comment on this ticket.