Improvement: load plugins before workspace initialization

Hi,

I noticed that there may be situations when there are delays during plugin rendering in workspace tabs.

So I researched how plugin are loaded and I realized that we need to load plugins before the Workspace is initialized

This opens the door to change various workspace settings (like the presence of the search input, or tab position etc) through plugin mechanism

Also it is going to be easier to extend the whole sparkplug mechanism, making it more powerful

I am attaching a patch for review

I think this patch applies to SPARK-1298 effort

Thanks!,

Mircea
load-plugins-before-workspace-initialisation.zip (2011 Bytes)

Hello,

Do you have a Jira account? If so, I can give you permissions there to open tickets, attach files, etc.

daryl

Hi,

Yes, my account is: mirceac

Thanks,

Mircea

Hi Mircea

we will review the patch and include it in the code. This is patch may be a little late for the 2.6.0 release, but for 2.6.1 it is galdly welcome.

Walter

Thanks Mircea,

I have added you to spark-developers on Jira.

daryl

Thanks Daryl,

I have opened a ticket to track sparkplug improvement proposals: SPARK-1311

Also, I created two subtasks: one for the load plugins before workspace initalization

and a new one that describes a new proposal:

SPARK-1313: Enhance ability to overwrite spark properties values through plugin

Description:

-improved Spark Resources management: SparkRes.java and Default.java
by adding a new SparkPropertyResourceBundle as a wrapper around resource bundles
instances from SparkRes or Default

When a property value is retrieved, first is looked in a specific plugin location.
If not found it falls back to the Spark default property value

You simply add spark.properties and default.properties with keys/values you want overwritten by plugin
inside plugin’s .jar archive file

I created and attached patch also for SPARK-1313

Hi, just a related note. We had a problem i think after applying one of these patches with contacts loading SPARK-1310. Wolf has fixed this with http://fisheye.igniterealtime.org/changelog/spark/?cs=12320

that was my own fault^^

i changed the contactlist initialization order, without properly thinking it through

I created new subtask related to SPARK-1311 effort:

http://issues.igniterealtime.org/browse/SPARK-1403

Enhance ability to extend core classes like ContactItem, ContactGroup, etc through plugin

I also posted patch with description and sample plugin

Please review,

Thanks, Mircea