Bug 31915 - Improve performance of App Center frontend: App Detail dialog can open instantly
Improve performance of App Center frontend: App Detail dialog can open instantly
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UMC - App-Center
UCS 3.1
Other Linux
: P5 normal (vote)
: UCS 3.2-2-errata
Assigned To: Dirk Wiesenthal
Alexander Kläser
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-07-08 13:11 CEST by Dirk Wiesenthal
Modified: 2014-07-02 11:29 CEST (History)
3 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments
Simply remove the tools.umcpCommand('appcenter/get', {'application': app.id}) (10.20 KB, patch)
2013-07-08 13:14 CEST, Dirk Wiesenthal
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dirk Wiesenthal univentionstaff 2013-07-08 13:11:49 CEST
When clicking on an app icon in the App Center a new request is sent to the server to get all information about the app. But nearly everything was already sent when getting the whole list. Only README_UPDATE and LICENSE_AGREEMENT are missing.

I suggest sending those in the first place. It may slightely reduce performance until the list shows up (not because of computations but because of more bits being transferred - so I think it is *very slightely*).
But if this is done in the beginning, the opening of the app details can be instant without asking the server.
Comment 1 Dirk Wiesenthal univentionstaff 2013-07-08 13:14:26 CEST
Created attachment 5307 [details]
Simply remove the tools.umcpCommand('appcenter/get', {'application': app.id})

Patch looks huge, but it is just indentation.
Comment 2 Dirk Wiesenthal univentionstaff 2013-07-19 12:05:07 CEST
Patch has one drawback: Apps will not know that a new UUID license has been installed. One would still have to reload the app if (!app.allows_using)
Comment 3 Dirk Wiesenthal univentionstaff 2013-11-19 16:50:32 CET
With the new App Center, where the "Install" button is always visible and the tests are run _after_ pressing it, this bug is relatively easy again.

But the patch will not work. In some cases one can instantly open the dialog (in 3.2 it is more a full page), e.g. when clicking on an app from the App Center GalleryPane, in some cases one has to load the app from the server, e.g. when opening an "Installed App" module
Comment 4 Dirk Wiesenthal univentionstaff 2014-06-03 17:29:41 CEST
Fixed in
  univention-management-console-module-appcenter 3.0.51-16.250.201406031613

App is fetched from the host if only the id is given (happens in "Installed Apps" module or when clicking on "This app cannot be installed due to dependencies. Click here to install "$app" first").

But if the full app is known (AppGallery) this is not done anymore.
Comment 5 Alexander Kläser univentionstaff 2014-06-26 17:03:48 CEST
In my tests it seems that ConflictedSystemPackages is not evaluated. Can you confirm this?
Comment 6 Alexander Kläser univentionstaff 2014-06-27 10:41:50 CEST
(In reply to Alexander Kläser from comment #5)
> In my tests it seems that ConflictedSystemPackages is not evaluated. Can you
> confirm this?

That was my mistake!
Comment 7 Alexander Kläser univentionstaff 2014-07-02 07:51:06 CEST
Behaviour is fine, AFAIS:
* open installed app from overview → details are loaded, app is displayed fine
* open app within App Center → app is displayed immediately without loading data
* open app within App Center → open required/conflicted app → details are loaded, app is displayed fine
* open app within App Center → install app → cancel reload → app details are updated correctly

(In reply to Dirk Wiesenthal from comment #0)
> ...
> I suggest sending those in the first place. It may slightely reduce
> performance until the list shows up (not because of computations but because
> of more bits being transferred - so I think it is *very slightely*).
> But if this is done in the beginning, the opening of the app details can be
> instant without asking the server.

There is no real difference 126KB vs 127KB.

YAML file → OK

→ VERIFIED
Comment 8 Moritz Muehlenhoff univentionstaff 2014-07-02 11:29:07 CEST
http://errata.univention.de/ucs/3.2/133.html