[xwiki-devs] [Proposal] Create xwiki-gwt-diff module
Hi devs, The diff package from the WYSIWYG editor source is used only by the sync (real time) plugin and it's suppose to be generic. I propose to move this package outside of the WYSIWYG editor in a separate module: platform/web/xwiki-gwt-diff The package will become: org.xwiki.gwt.diff.* You can see the sources here http://svn.xwiki.org/svnroot/xwiki/platform/web/trunk/wysiwyg/src/main/java/... Here's my +1. WDYT? Thanks, Marius
On 10/19/2009 03:19 PM, Marius Dumitru Florea wrote:
Hi devs,
The diff package from the WYSIWYG editor source is used only by the sync (real time) plugin and it's suppose to be generic. I propose to move this package outside of the WYSIWYG editor in a separate module:
platform/web/xwiki-gwt-diff
The package will become:
org.xwiki.gwt.diff.*
You can see the sources here http://svn.xwiki.org/svnroot/xwiki/platform/web/trunk/wysiwyg/src/main/java/...
Here's my +1. WDYT?
+1 -- Sergiu Dumitriu http://purl.org/net/sergiu/
On Oct 19, 2009, at 3:19 PM, Marius Dumitru Florea wrote:
Hi devs,
The diff package from the WYSIWYG editor source is used only by the sync (real time) plugin and it's suppose to be generic. I propose to move this package outside of the WYSIWYG editor in a separate module:
platform/web/xwiki-gwt-diff
The package will become:
org.xwiki.gwt.diff.*
You can see the sources here http://svn.xwiki.org/svnroot/xwiki/platform/web/trunk/wysiwyg/src/main/java/...
Here's my +1. WDYT?
If we start to separate plugins I'd see more a directory structure like this: xwiki-gwt/ |_ xwiki-gwt_api/ |_ ... |_ xwiki-gwt-plugins/ |_ xwiki-gwt-plugin-diff/ |_ (other plugins here) Second question: who else than the sync plugin will use this diff module? Thanks -Vincent
Hi Vincent, Vincent Massol wrote:
On Oct 19, 2009, at 3:19 PM, Marius Dumitru Florea wrote:
Hi devs,
The diff package from the WYSIWYG editor source is used only by the sync (real time) plugin and it's suppose to be generic. I propose to move this package outside of the WYSIWYG editor in a separate module:
platform/web/xwiki-gwt-diff
The package will become:
org.xwiki.gwt.diff.*
You can see the sources here http://svn.xwiki.org/svnroot/xwiki/platform/web/trunk/wysiwyg/src/main/java/...
Here's my +1. WDYT?
Let me explain a bit what I'd like to do. The current wysiwyg module contains a lot of reusable code. In the process of externalizing the editor from XWiki I'd like to start by extracting all this reusable code and place it in dependency modules. After this stage we could have: platform/web/ |_ standard/ |_ xwiki-gwt-api/ (reusable only inside XWiki) |_ xwiki-gwt-diff/ (reusable outside XWiki) |_ xwiki-gwt-dom/ (reusable outside XWiki) |_ xwiki-gwt-user/ (reusable outside XWiki) |_ xwiki-gwt-wysiwyg/ (only WYSIWYG specific code + plugins) Next I'll look for a solution to load WYSIWYG editor plugins dynamically. Right now there's no straightforward approach to do this because GWT doesn't support reflection. As a consequence we can't separate the plugins from the editor because we have a cyclic dependency. I'll have to use a trick most probably to decouple them. If I succeed we could have: platform/web/xwiki-gwt-wysiwyg/ |_ xwiki-gwt-wysiwyg-api/ (reusable outside XWiki) |_ xwiki-gwt-wysiwyg-plugins/ |_ xwiki-gwt-wysiwyg-plugin-color/ (reusable outside XWiki) |_ xwiki-gwt-wysiwyg-plugin-link/ (XWiki specific) |_ (other plugins here) At this point the plugins should be self contained. Regarding this, I'm currently changing the macro plugin to use its own service (MacroService) which is a pure component.
If we start to separate plugins I'd see more a directory structure like this:
xwiki-gwt/ |_ xwiki-gwt_api/ |_ ... |_ xwiki-gwt-plugins/ |_ xwiki-gwt-plugin-diff/ |_ (other plugins here)
Second question: who else than the sync plugin will use this diff module?
The diff module is reusable. I doubt there will be soon another code using it besides the sync plugin. We could move it inside the sync plugin but I prefer moving it outside of the wysiwyg module. WDYT? Thanks, Marius
Thanks -Vincent
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
On 10/19/2009 10:43 PM, Marius Dumitru Florea wrote:
Hi Vincent,
Vincent Massol wrote:
On Oct 19, 2009, at 3:19 PM, Marius Dumitru Florea wrote:
Hi devs,
The diff package from the WYSIWYG editor source is used only by the sync (real time) plugin and it's suppose to be generic. I propose to move this package outside of the WYSIWYG editor in a separate module:
platform/web/xwiki-gwt-diff
The package will become:
org.xwiki.gwt.diff.*
You can see the sources here http://svn.xwiki.org/svnroot/xwiki/platform/web/trunk/wysiwyg/src/main/java/...
Here's my +1. WDYT?
Let me explain a bit what I'd like to do. The current wysiwyg module contains a lot of reusable code. In the process of externalizing the editor from XWiki I'd like to start by extracting all this reusable code and place it in dependency modules. After this stage we could have:
platform/web/ |_ standard/ |_ xwiki-gwt-api/ (reusable only inside XWiki) |_ xwiki-gwt-diff/ (reusable outside XWiki) |_ xwiki-gwt-dom/ (reusable outside XWiki) |_ xwiki-gwt-user/ (reusable outside XWiki) |_ xwiki-gwt-wysiwyg/ (only WYSIWYG specific code + plugins)
Next I'll look for a solution to load WYSIWYG editor plugins dynamically. Right now there's no straightforward approach to do this because GWT doesn't support reflection. As a consequence we can't separate the plugins from the editor because we have a cyclic dependency. I'll have to use a trick most probably to decouple them. If I succeed we could have:
platform/web/xwiki-gwt-wysiwyg/ |_ xwiki-gwt-wysiwyg-api/ (reusable outside XWiki) |_ xwiki-gwt-wysiwyg-plugins/ |_ xwiki-gwt-wysiwyg-plugin-color/ (reusable outside XWiki) |_ xwiki-gwt-wysiwyg-plugin-link/ (XWiki specific) |_ (other plugins here)
At this point the plugins should be self contained. Regarding this, I'm currently changing the macro plugin to use its own service (MacroService) which is a pure component.
If we start to separate plugins I'd see more a directory structure like this:
xwiki-gwt/ |_ xwiki-gwt_api/ |_ ... |_ xwiki-gwt-plugins/ |_ xwiki-gwt-plugin-diff/ |_ (other plugins here)
Second question: who else than the sync plugin will use this diff module?
The diff module is reusable. I doubt there will be soon another code using it besides the sync plugin. We could move it inside the sync plugin but I prefer moving it outside of the wysiwyg module.
WDYT?
How do you plan to release/announce/market these standalone GWT extensions? Since they can be used by anyone, I think they should have their own dedicated pages on the xwiki.org wiki, and since they're not tightly bound to the XWiki platform, they should have their own Download, Release Notes, Road Map. Plus Jira project. WDYT? -- Sergiu Dumitriu http://purl.org/net/sergiu/
+1 On Mon, Oct 19, 2009 at 15:19, Marius Dumitru Florea <[email protected]> wrote:
Hi devs,
The diff package from the WYSIWYG editor source is used only by the sync (real time) plugin and it's suppose to be generic. I propose to move this package outside of the WYSIWYG editor in a separate module:
platform/web/xwiki-gwt-diff
The package will become:
org.xwiki.gwt.diff.*
You can see the sources here http://svn.xwiki.org/svnroot/xwiki/platform/web/trunk/wysiwyg/src/main/java/...
Here's my +1. WDYT?
Thanks, Marius _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne
participants (4)
-
Marius Dumitru Florea -
Sergiu Dumitriu -
Thomas Mortagne -
Vincent Massol