Community
Participate
Working Groups
see also bug 27357 At startup the update.core plugin is being activated and loading 99 classes for a total of about 500K of CODE. Since nothing actually changed in the configuration, this seems like quite a lot of work. Also, in most scenarios, that code is never run again so the total space is wasted.
is that a dup of bug 27412 ? Is the code loaded by workbench or everytime. Code should only be executed/loaded when reconciliation is triggered by startup or when update perspective is opened.
*** Bug 27552 has been marked as a duplicate of this bug. ***
This is not a dup of bug 27412. We have improved how often we check for new features with Update Core by checking the getFeaturesChangeStamp(). However, when we do check, it should not be so heavyweight. Does it really take 99 classes and 500K to find the new features, or is this other stuff that could be deferred?
Action Taken: we have two options 1) have a lazy instanciation of the model 2) save the info a cookie when new feature have been found and enabled. Action Plan: what data does UI need for each new found feature ?
I don't know if lazy instantiations covers configuration in the history, but we should definitely do that. If there is a separate defect that will cover that part, sorry for appending here. If not, then: We should only load the current configuration and create list of saved and history configurations with the minimal set of fields needed by the UI to present them. Full loading of the configuration (from the separate configuration file) should be triggered when 'getConfiguredSites' is called. The following fealds should be available without triggering full parsing: getLabel() getTimeline() isCurrent() These three fields can be encoded on the main configuration file (used to populate ILocalSite). They can be present as attributes in the configuration reference element. Consequently, they may be removed from the configuration file (although that is not critical). ConfigurationView will not call 'getConfiguredSites()' as long as '+' sign is not pressed in the tree. That means that we can delay loading these files (in many cases configuration history folder is not open for the entire session, so users should not pay the price upfront).
Action taken: implemenetd for M4 Action Plan: close