[Proposal] Create xwiki-gwt-diff module

6 messages Options
Embed this post
Permalink
Marius Dumitru Florea

[Proposal] Create xwiki-gwt-diff module

Reply Threaded More More options
Print post
Permalink
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/com/xpn/xwiki/wysiwyg/client/diff/

Here's my +1. WDYT?

Thanks,
Marius
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Sergiu Dumitriu-2

Re: [Proposal] Create xwiki-gwt-diff module

Reply Threaded More More options
Print post
Permalink
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/com/xpn/xwiki/wysiwyg/client/diff/
>
> Here's my +1. WDYT?

+1

--
Sergiu Dumitriu
http://purl.org/net/sergiu/
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
vmassol

Re: [Proposal] Create xwiki-gwt-diff module

Reply Threaded More More options
Print post
Permalink
In reply to this post by Marius Dumitru Florea

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/com/xpn/xwiki/wysiwyg/client/diff/
>
> 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

_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Marius Dumitru Florea

Re: [Proposal] Create xwiki-gwt-diff module

Reply Threaded More More options
Print post
Permalink
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/com/xpn/xwiki/wysiwyg/client/diff/
>>
>> 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
> [hidden email]
> http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Sergiu Dumitriu-2

Re: [Proposal] Create xwiki-gwt-diff module

Reply Threaded More More options
Print post
Permalink
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/com/xpn/xwiki/wysiwyg/client/diff/
>>>
>>> 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/
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
tmortagne

Re: [Proposal] Create xwiki-gwt-diff module

Reply Threaded More More options
Print post
Permalink
In reply to this post by Marius Dumitru Florea
+1

On Mon, Oct 19, 2009 at 15:19, Marius Dumitru Florea
<[hidden email]> 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/com/xpn/xwiki/wysiwyg/client/diff/
>
> Here's my +1. WDYT?
>
> Thanks,
> Marius
> _______________________________________________
> devs mailing list
> [hidden email]
> http://lists.xwiki.org/mailman/listinfo/devs
>



--
Thomas Mortagne
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs