SparkPlug: extend the plugin mechanism, make it more powerful
(SPARK-1311)
[SPARK-1403] Enhance ability to extend core classes like ContactItem, ContactGroup, etc through plugin Created: 05/Jul/11 Updated: 28/Oct/20 Resolved: 19/Oct/11 |
|
Status: | Closed |
Project: | Spark |
Components: | None |
Affects versions: | None |
Fix versions: | None | Parent: | SparkPlug: extend the plugin mechanism, make it more powerful |
Type: | Sub-task | Priority: | Major |
Reporter: | Mircea Carasel | Assignee: | Unassigned |
Resolution: | Fixed | Votes: | 0 |
Labels: | None | ||
Remaining Estimate: | Not Specified | ||
Time Spent: | Not Specified | ||
Original estimate: | Not Specified |
Attachments: | SPARK-1403.patch testPlugin.jar |
Comments |
Comment by Mircea Carasel [ 05/Jul/11 ] |
Attached patch description 1. It introduces a component registry (UIComponentRegistry.java) that offer the possibility for plugin to replace some default components with their own instances By default Spark implementation are going to be used Spark classes that can be replaced: 2. It also contains minor changes in Spark code to support such mechanism Example on how a plugin can register its own ContactItem implementation: public class TestPlugin implements Plugin { public TestPlugin() { UIComponentRegistry.registerContactItem(TestContactItem.class); }.... public class TestContactItem extends ContactItem { ... } |
Comment by Mircea Carasel [ 05/Jul/11 ] |
The attached test plugin contains example on how to extend ContactItem through plugin |
Comment by Mircea Carasel [ 29/Aug/11 ] |
commited: r12581 = 7de4cd9aa842418178f0280ccf9c5e473671e0f8 By default Spark implementation are going to be used Spark classes that can be replaced: 2. It also contains changes in Spark code to support such mechanism, separates a bit UI building from business login Example on how a plugin can register its own ContactItem implementation: public class TestPlugin implements Plugin { public TestPlugin() { UIComponentRegistry.registerContactItem(TestContactItem.class); }.... public class TestContactItem extends ContactItem { ... }Phase2: Phase3: |
Comment by Mircea Carasel [ 31/Aug/11 ] |
Phase 4: -GroupChatParticipantList - exposed some fields(protected get methods) and changed some methods from private to protected |
Comment by Mircea Carasel [ 12/Sep/11 ] |
commited r12590 = eb8c807a7f5e25d45af0454395ee16b4f888e8f5 -fix concurency problem in Spark.java |
Comment by Mircea Carasel [ 12/Sep/11 ] |
commited r12591 = c1c382df83fa3f1edbf7b84f1ba8a0ab27854a8c Add eZuce copyright for the new classes |
Comment by Mircea Carasel [ 12/Sep/11 ] |
commited r12592 = aed1f9dec3aca5bd320e4b8a3c45650b9b161abd make emoticon button icon overridable from plugin |
Comment by Mircea Carasel [ 13/Sep/11 ] |
commited r12594 = 3c0b73c19b25d627c07e21cb3e81802b2cfcfae2 Set message attributes before insertMessage is called - this is useful when transcript window is extended and insertMessage overwritten, |
Comment by Mircea Carasel [ 14/Sep/11 ] |
commited r12595 = 98a72d7504ae54f566dbce57f889ce729631fbed make ConferenceServices.getDefaultBookmark protected so it can be overwritten in subclasses |
Comment by Walter Ebeling [ 16/Sep/11 ] |
This is a huge rework that is very much welcome. Can you ensure that the community get's some documentation about the capabilities introduced by your changes? |
Comment by Mircea Carasel [ 16/Sep/11 ] |
sure - I will write some docs and provide examples |
Comment by Mircea Carasel [ 25/Sep/11 ] |
commited r12839 = cc70289f32e5767add260d7ab0b60199acd4d92c Settings, tema, register group chat buttons creations are moved to ButtonFactory make RolloverButton's decorate method protected |
Comment by Mircea Carasel [ 27/Sep/11 ] |
commited r12842 = 361088d5e6bdfd0d8caf415cc91ed632716d0a82 OTR Plugin - use addComponent from TranscriptWindow for inserting UI panel, instead of duplicating code -make sure to scrollToBottom after adding OTR UI panel in Transcript window |
Comment by Mircea Carasel [ 13/Oct/11 ] |
commited r12867 = c36c985912825d81429299353cd81e93e8999fba SparkTransferManager.java: use TranscriptWindow.addComponent instead of duplicating code |
Comment by Mircea Carasel [ 13/Oct/11 ] |
Walter, |
Comment by Walter Ebeling [ 13/Oct/11 ] |
Hi Mircea, if you are happy with the features you have put into it, you should close it. I propose that we let 2.7.0 bake as beta1 in the community a bit. |
Comment by Mircea Carasel [ 19/Oct/11 ] |
I mark the ticket as resolved. For any new improvements on this field, also based on community testing, will open new tickets. |
Comment by Mircea Carasel [ 02/Nov/11 ] |
commited r12889 = 7f7e22bef522aba34e863e0186f940570e6ec7fd SPARK-1403: create dedicate, overridable method for Connection configuration creation |
Comment by Mircea Carasel [ 24/Nov/11 ] |
r12898 = 57cd94cf227245a709c9a17794db858278b7d2c4 move OTR button creation in ButtonFactory |
Comment by Mircea Carasel [ 19/Dec/11 ] |
commited create utility method in VCardManager to load personal vcard |
Comment by Walter Ebeling [ 24/Feb/13 ] |
Mass closing of resolved issues |