Change in ovirt-engine[master]: webadmin, userportal: UI optimizations

awels at redhat.com awels at redhat.com
Thu Jul 21 13:47:15 UTC 2016


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 at 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 at redhat.com>
Gerrit-Reviewer: Alexander Wels <awels at redhat.com>
Gerrit-Reviewer: Greg Sheremeta <gshereme at redhat.com>
Gerrit-Reviewer: Jakub Niedermertl <jniederm at redhat.com>
Gerrit-Reviewer: Jenkins CI
Gerrit-Reviewer: Martin Betak <mbetak at redhat.com>
Gerrit-Reviewer: Oved Ourfali <oourfali at redhat.com>
Gerrit-Reviewer: Scott Dickerson <sdickers at redhat.com>
Gerrit-Reviewer: Tomas Jelinek <tjelinek at redhat.com>
Gerrit-Reviewer: Vojtech Szocs <vszocs at redhat.com>
Gerrit-Reviewer: gerrit-hooks <automation at ovirt.org>



More information about the Engine-commits mailing list