Alexander Wels has submitted this change and it was merged.
Change subject: webadmin,userportal: UI optimizations
......................................................................
webadmin,userportal: UI optimizations
1. Added ability to pre-load UI plugins before loading the main UI.
UI plugin host page is loaded asynchronously by default. This gives
no guarantees as to whether plugin init code (UiInit callback) runs
before the main UI is loaded, or after that.
Sometimes, this can cause unwanted side effects, e.g. using a plugin
that adds custom main tab and switches to it immediately (Dashboard),
there's a brief time window where main UI loads and shows the default
(VMs) tab.
To pre-load the plugin's host page (giving a guarantee that UiInit
callback is invoked before the main UI loads), specify:
"lazyLoad": false
in plugin's JSON descriptor file. The "lazyLoad" setting is optional
and defaults to true if not specified.
2. Removed dead and/or unnecessary code.
3. Improved bootstrap/login logic in BaseApplicationInit:
- no need to placeManager.revealCurrentPlace() in ApplicationInit's
performBootstrap() since performLogin() already takes care of that
4. Improved UI plugin infra code:
- removed the concept of plugin invocation context which was meant
to prevent plugins from interacting with WebAdmin while the user
was still on login screen (no login screen = no need for that)
- adding models for custom main tabs into CommonModel's items is
done via DynamicMainTabAddedEvent, guarding against a premature
CommonModel instantiation (which triggers creation of all other
main/sub tab models) which usually fails due to AsyncDataProvider
ConfigValues cache not initialized yet
Change-Id: I69e0a26cacfa33d5727b6ea008bf8032dba1412e
Bug-Url:
https://bugzilla.redhat.com/1353556
Signed-off-by: Vojtech Szocs <vszocs(a)redhat.com>
---
M
frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/Frontend.java
M
frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/server/gwt/WebAdminHostPageServlet.java
M
frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/server/gwt/plugin/PluginData.java
M
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/auth/CurrentUser.java
M
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/system/BaseApplicationInit.java
M
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/uicommon/AbstractRdp.java
M
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java
M
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/LoginModel.java
M
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/plugin/PluginModel.java
M
frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/system/ApplicationInit.java
M frontend/webadmin/modules/webadmin/exclude-filters.xml
M
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/place/WebAdminPlaceManager.java
M
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/plugin/Plugin.java
M
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/plugin/PluginManager.java
M
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/plugin/PluginMetaData.java
D
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/plugin/UiPluginsInitialized.java
M
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/plugin/api/PluginUiFunctions.java
A
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/DynamicMainTabAdded.java
M
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/DynamicUrlContentTabProxyFactory.java
M
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/MainSectionPresenter.java
M
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/system/ApplicationInit.java
21 files changed, 228 insertions(+), 256 deletions(-)
Approvals:
Alexander Wels: Looks good to me, approved
Jenkins CI: Passed CI tests
Vojtech Szocs: Verified
--
To view, visit
https://gerrit.ovirt.org/60666
To unsubscribe, visit
https://gerrit.ovirt.org/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I69e0a26cacfa33d5727b6ea008bf8032dba1412e
Gerrit-PatchSet: 3
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Vojtech Szocs <vszocs(a)redhat.com>
Gerrit-Reviewer: Alexander Wels <awels(a)redhat.com>
Gerrit-Reviewer: Greg Sheremeta <gshereme(a)redhat.com>
Gerrit-Reviewer: Jakub Niedermertl <jniederm(a)redhat.com>
Gerrit-Reviewer: Jenkins CI
Gerrit-Reviewer: Martin Betak <mbetak(a)redhat.com>
Gerrit-Reviewer: Oved Ourfali <oourfali(a)redhat.com>
Gerrit-Reviewer: Scott Dickerson <sdickers(a)redhat.com>
Gerrit-Reviewer: Tomas Jelinek <tjelinek(a)redhat.com>
Gerrit-Reviewer: Vojtech Szocs <vszocs(a)redhat.com>
Gerrit-Reviewer: gerrit-hooks <automation(a)ovirt.org>