Community
Participate
Working Groups
While stepping through the code on startup, I realized that the views are being populated while the workbench is coming up which will be problematic as the data gets bigger (more profiles with more content), or the access to the data gets slower, etc. This is obviously not a problem for now and we have far more important issues but I'm still opening up this bug such that we don't loose track of it.
One of the items in the UI plan (no milestone assigned) is to investigate deferred/lazy content providers, which would solve this problem,
Another area where lazy/or async content providers would help: Computing the sizes individually for a large list of IU's can take some time, since we are running the resolver over and over. It would be nice to show something like "Computing..." so that the dialog could come up right away, and then fill in the sizes as we find them.
I went ahead and implemented deferred content providers for repositories, since this is the case most likely to cause performance degradation on startup of the admin UI. Metadata and artifact repos won't retrieve their contents until expanded in the view. This doesn't really affect the current performance of the agent startup time with a remote repo, but it absolves the UI from blame ;-) Keeping this bug open for now and renaming until we determine whether we want deferred content providers for the content of a profile.
Another possible optimization would be to get rid of the viewer filters and instead use the engine query infrastructure to get subsets of iu's. Not sure if this affects our performance much or not...needs investigation. For example, query only groups instead of getting all IU's and using a viewer filter to filter out non-groups. Note this affects API because we wouldn't want to expose all those viewer filters if they aren't going to be used.
This was done for M4....I'm so glad to have found a specific bug on it since I spent so much time on it... ;-)