[Proposal] Create xwiki-gwt-user module

7 messages Options
Embed this post
Permalink
Marius Dumitru Florea

[Proposal] Create xwiki-gwt-user module

Reply Threaded More More options
Print post
Permalink
Hi devs,

I'd like to create a xwiki-gwt-user module in platform-web which will
contain classes from the util and widget WYSIWYG packages. This module
corresponds to the com.google.gwt.user package which contains utility
and UI-related classed. The module will have this structure:

org.xwiki.gwt.user.client.* (classes from the current util package)
org.xwiki.gwt.user.client.widget.* (classes from the current widget package)

Since I want this module to be generic (an extension of what GWT
currently provides) I'd like to exclude the following class/packages
which are XWiki specific:

* util.Attachment
* widget.explorer.*
* widget.wizard.util.*
* widget.PageSelector
* widget.SpaceSelector
* widget.WikiSelector

These can remain in the WYSIWYG source tree for the moment but I'm
considering moving them to the gwt module which is XWiki specific.

You can see the current sources here
http://svn.xwiki.org/svnroot/xwiki/platform/web/trunk/wysiwyg/src/main/java/com/xpn/xwiki/wysiwyg/client/

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-user module

Reply Threaded More More options
Print post
Permalink
On 10/19/2009 03:37 PM, Marius Dumitru Florea wrote:

> Hi devs,
>
> I'd like to create a xwiki-gwt-user module in platform-web which will
> contain classes from the util and widget WYSIWYG packages. This module
> corresponds to the com.google.gwt.user package which contains utility
> and UI-related classed. The module will have this structure:
>
> org.xwiki.gwt.user.client.* (classes from the current util package)
> org.xwiki.gwt.user.client.widget.* (classes from the current widget package)
>
> Since I want this module to be generic (an extension of what GWT
> currently provides) I'd like to exclude the following class/packages
> which are XWiki specific:
>
> * util.Attachment
> * widget.explorer.*
> * widget.wizard.util.*
> * widget.PageSelector
> * widget.SpaceSelector
> * widget.WikiSelector
>
> These can remain in the WYSIWYG source tree for the moment but I'm
> considering moving them to the gwt module which is XWiki specific.
>
> You can see the current sources here
> http://svn.xwiki.org/svnroot/xwiki/platform/web/trunk/wysiwyg/src/main/java/com/xpn/xwiki/wysiwyg/client/
>
> Here's my +1. WDYT?

Why "user"? It doesn't look like a user thing to me, perhaps I'm wrong.
Can you explain what this code does in more details?

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

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

Reply Threaded More More options
Print post
Permalink
Hi Sergiu,

Sergiu Dumitriu wrote:

> On 10/19/2009 03:37 PM, Marius Dumitru Florea wrote:
>> Hi devs,
>>
>> I'd like to create a xwiki-gwt-user module in platform-web which will
>> contain classes from the util and widget WYSIWYG packages. This module
>> corresponds to the com.google.gwt.user package which contains utility
>> and UI-related classed. The module will have this structure:
>>
>> org.xwiki.gwt.user.client.* (classes from the current util package)
>> org.xwiki.gwt.user.client.widget.* (classes from the current widget package)
>>
>> Since I want this module to be generic (an extension of what GWT
>> currently provides) I'd like to exclude the following class/packages
>> which are XWiki specific:
>>
>> * util.Attachment

util.ResourceName too

>> * widget.explorer.*
>> * widget.wizard.util.*
>> * widget.PageSelector
>> * widget.SpaceSelector
>> * widget.WikiSelector
>>
>> These can remain in the WYSIWYG source tree for the moment but I'm
>> considering moving them to the gwt module which is XWiki specific.
>>
>> You can see the current sources here
>> http://svn.xwiki.org/svnroot/xwiki/platform/web/trunk/wysiwyg/src/main/java/com/xpn/xwiki/wysiwyg/client/
>>
>> Here's my +1. WDYT?
>
> Why "user"? It doesn't look like a user thing to me, perhaps I'm wrong.
> Can you explain what this code does in more details?

GWT has 3 main jars:

gwt-servlet-1.7.0.jar
gwt-user-1.7.0.jar
gwt-dev-1.7.0-linux.jar

Some of the main packages from the user jar are:

com.google.gwt.dom
com.google.gwt.emul
com.google.gwt.user

The dom package exposes, obviously, the JavaScript DOM API in Java code.
We have extended what this package offers and created the xwiki-gwt-dom
module.

The user package contains utility classes like Timer, Random or
DeferredCommand and basic widgets (ui.* package) like CheckBox or
RichTextArea. We have extended what this package offers with other
useful utility classes like Console, ShortcutKeyManager or
DeferredUpdater and other widgets (widget.* package) like
VerticalResizePanel, improved RichTextArea, generic dialog wizard.

In order to be consistent I proposed a xwiki-gwt-user module. I'm open
to your suggestions regarding the name.

Anyway, this module will be generic (reusable in any GWT application)
without any XWiki specific code.

Hope it's clear now,
Marius
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs
Sergiu Dumitriu-2

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

Reply Threaded More More options
Print post
Permalink
On 10/19/2009 09:41 PM, Marius Dumitru Florea wrote:

> Hi Sergiu,
>
> Sergiu Dumitriu wrote:
>> On 10/19/2009 03:37 PM, Marius Dumitru Florea wrote:
>>> Hi devs,
>>>
>>> I'd like to create a xwiki-gwt-user module in platform-web which will
>>> contain classes from the util and widget WYSIWYG packages. This module
>>> corresponds to the com.google.gwt.user package which contains utility
>>> and UI-related classed. The module will have this structure:
>>>
>>> org.xwiki.gwt.user.client.* (classes from the current util package)
>>> org.xwiki.gwt.user.client.widget.* (classes from the current widget package)
>>>
>>> Since I want this module to be generic (an extension of what GWT
>>> currently provides) I'd like to exclude the following class/packages
>>> which are XWiki specific:
>>>
>>> * util.Attachment
>
> util.ResourceName too
>
>>> * widget.explorer.*
>>> * widget.wizard.util.*
>>> * widget.PageSelector
>>> * widget.SpaceSelector
>>> * widget.WikiSelector
>>>
>>> These can remain in the WYSIWYG source tree for the moment but I'm
>>> considering moving them to the gwt module which is XWiki specific.
>>>
>>> You can see the current sources here
>>> http://svn.xwiki.org/svnroot/xwiki/platform/web/trunk/wysiwyg/src/main/java/com/xpn/xwiki/wysiwyg/client/
>>>
>>> Here's my +1. WDYT?
>>
>> Why "user"? It doesn't look like a user thing to me, perhaps I'm wrong.
>> Can you explain what this code does in more details?
>
> GWT has 3 main jars:
>
> gwt-servlet-1.7.0.jar
> gwt-user-1.7.0.jar
> gwt-dev-1.7.0-linux.jar
>
> Some of the main packages from the user jar are:
>
> com.google.gwt.dom
> com.google.gwt.emul
> com.google.gwt.user
>
> The dom package exposes, obviously, the JavaScript DOM API in Java code.
> We have extended what this package offers and created the xwiki-gwt-dom
> module.
>
> The user package contains utility classes like Timer, Random or
> DeferredCommand and basic widgets (ui.* package) like CheckBox or
> RichTextArea. We have extended what this package offers with other
> useful utility classes like Console, ShortcutKeyManager or
> DeferredUpdater and other widgets (widget.* package) like
> VerticalResizePanel, improved RichTextArea, generic dialog wizard.
>
> In order to be consistent I proposed a xwiki-gwt-user module. I'm open
> to your suggestions regarding the name.
>
> Anyway, this module will be generic (reusable in any GWT application)
> without any XWiki specific code.
>
> Hope it's clear now,
> Marius

OK, so the "user" name comes from GWT. I agree with the consistency
reason, but my problem is that for those that don't know GWT (like me),
this name is misleading, since it doesn't suggest utility classes and
user interface elements. OK, maybe it could suggest *user* interface a
little, but only if you're searching for this connection. So, should we
stick with the "user" name for consistency, which would make users of
the editor coming from the GWT world happy, but which is misleading for
those that aren't familiar with GWT. or should we choose something more
meaningful?

How about org.xwiki.gwt.utils and org.xwiki.gwt.widgets as two distinct
modules? Can this work from a dependency PoV, or are the two modules
tightly connected?

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

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

Reply Threaded More More options
Print post
Permalink
Sergiu Dumitriu wrote:

> On 10/19/2009 09:41 PM, Marius Dumitru Florea wrote:
>> Hi Sergiu,
>>
>> Sergiu Dumitriu wrote:
>>> On 10/19/2009 03:37 PM, Marius Dumitru Florea wrote:
>>>> Hi devs,
>>>>
>>>> I'd like to create a xwiki-gwt-user module in platform-web which will
>>>> contain classes from the util and widget WYSIWYG packages. This module
>>>> corresponds to the com.google.gwt.user package which contains utility
>>>> and UI-related classed. The module will have this structure:
>>>>
>>>> org.xwiki.gwt.user.client.* (classes from the current util package)
>>>> org.xwiki.gwt.user.client.widget.* (classes from the current widget package)
>>>>
>>>> Since I want this module to be generic (an extension of what GWT
>>>> currently provides) I'd like to exclude the following class/packages
>>>> which are XWiki specific:
>>>>
>>>> * util.Attachment
>> util.ResourceName too
>>
>>>> * widget.explorer.*
>>>> * widget.wizard.util.*
>>>> * widget.PageSelector
>>>> * widget.SpaceSelector
>>>> * widget.WikiSelector
>>>>
>>>> These can remain in the WYSIWYG source tree for the moment but I'm
>>>> considering moving them to the gwt module which is XWiki specific.
>>>>
>>>> You can see the current sources here
>>>> http://svn.xwiki.org/svnroot/xwiki/platform/web/trunk/wysiwyg/src/main/java/com/xpn/xwiki/wysiwyg/client/
>>>>
>>>> Here's my +1. WDYT?
>>> Why "user"? It doesn't look like a user thing to me, perhaps I'm wrong.
>>> Can you explain what this code does in more details?
>> GWT has 3 main jars:
>>
>> gwt-servlet-1.7.0.jar
>> gwt-user-1.7.0.jar
>> gwt-dev-1.7.0-linux.jar
>>
>> Some of the main packages from the user jar are:
>>
>> com.google.gwt.dom
>> com.google.gwt.emul
>> com.google.gwt.user
>>
>> The dom package exposes, obviously, the JavaScript DOM API in Java code.
>> We have extended what this package offers and created the xwiki-gwt-dom
>> module.
>>
>> The user package contains utility classes like Timer, Random or
>> DeferredCommand and basic widgets (ui.* package) like CheckBox or
>> RichTextArea. We have extended what this package offers with other
>> useful utility classes like Console, ShortcutKeyManager or
>> DeferredUpdater and other widgets (widget.* package) like
>> VerticalResizePanel, improved RichTextArea, generic dialog wizard.
>>
>> In order to be consistent I proposed a xwiki-gwt-user module. I'm open
>> to your suggestions regarding the name.
>>
>> Anyway, this module will be generic (reusable in any GWT application)
>> without any XWiki specific code.
>>
>> Hope it's clear now,
>> Marius
>
> OK, so the "user" name comes from GWT. I agree with the consistency
> reason, but my problem is that for those that don't know GWT (like me),
> this name is misleading, since it doesn't suggest utility classes and
> user interface elements. OK, maybe it could suggest *user* interface a
> little, but only if you're searching for this connection. So, should we
> stick with the "user" name for consistency, which would make users of
> the editor coming from the GWT world happy, but which is misleading for
> those that aren't familiar with GWT. or should we choose something more
> meaningful?

I'm fine with both options. Let's see what others think.

>
> How about org.xwiki.gwt.utils and org.xwiki.gwt.widgets as two distinct
> modules? Can this work from a dependency PoV, or are the two modules
> tightly connected?

Right now there are only a few cross dependencies and I can fix them.
But in general we can have:

1) a utility class used by two or more widgets (e.g. StringUtils)
2) a utility class that uses one or more widgets (e.g. TextBoxNumberFilter)

In other words, if I write a widget and I discover that I need a generic
utility class that might be useful for other widgets too then I'm going
to place that utility class in the utility package. On the other hand,
if I write an application and I discover that I need a generic utility
class that makes my life easier while working with a specific widget
then I'm going to place that utility class also in the utility package.
I could move it in the widgets module under that specific widget but
then the widgets module will become widgets&widgetUtilities and I'm
going to ask myself why I have these two separate modules.

If we agree to fix 2) by moving those utility classes in the widgets
module then I'm fine with having two modules: utils and widgets.
Otherwise I'm more for having a single module.

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

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

Reply Threaded More More options
Print post
Permalink
On Tue, Oct 20, 2009 at 09:04, Marius Dumitru Florea
<[hidden email]> wrote:

> Sergiu Dumitriu wrote:
>> On 10/19/2009 09:41 PM, Marius Dumitru Florea wrote:
>>> Hi Sergiu,
>>>
>>> Sergiu Dumitriu wrote:
>>>> On 10/19/2009 03:37 PM, Marius Dumitru Florea wrote:
>>>>> Hi devs,
>>>>>
>>>>> I'd like to create a xwiki-gwt-user module in platform-web which will
>>>>> contain classes from the util and widget WYSIWYG packages. This module
>>>>> corresponds to the com.google.gwt.user package which contains utility
>>>>> and UI-related classed. The module will have this structure:
>>>>>
>>>>> org.xwiki.gwt.user.client.* (classes from the current util package)
>>>>> org.xwiki.gwt.user.client.widget.* (classes from the current widget package)
>>>>>
>>>>> Since I want this module to be generic (an extension of what GWT
>>>>> currently provides) I'd like to exclude the following class/packages
>>>>> which are XWiki specific:
>>>>>
>>>>> * util.Attachment
>>> util.ResourceName too
>>>
>>>>> * widget.explorer.*
>>>>> * widget.wizard.util.*
>>>>> * widget.PageSelector
>>>>> * widget.SpaceSelector
>>>>> * widget.WikiSelector
>>>>>
>>>>> These can remain in the WYSIWYG source tree for the moment but I'm
>>>>> considering moving them to the gwt module which is XWiki specific.
>>>>>
>>>>> You can see the current sources here
>>>>> http://svn.xwiki.org/svnroot/xwiki/platform/web/trunk/wysiwyg/src/main/java/com/xpn/xwiki/wysiwyg/client/
>>>>>
>>>>> Here's my +1. WDYT?
>>>> Why "user"? It doesn't look like a user thing to me, perhaps I'm wrong.
>>>> Can you explain what this code does in more details?
>>> GWT has 3 main jars:
>>>
>>> gwt-servlet-1.7.0.jar
>>> gwt-user-1.7.0.jar
>>> gwt-dev-1.7.0-linux.jar
>>>
>>> Some of the main packages from the user jar are:
>>>
>>> com.google.gwt.dom
>>> com.google.gwt.emul
>>> com.google.gwt.user
>>>
>>> The dom package exposes, obviously, the JavaScript DOM API in Java code.
>>> We have extended what this package offers and created the xwiki-gwt-dom
>>> module.
>>>
>>> The user package contains utility classes like Timer, Random or
>>> DeferredCommand and basic widgets (ui.* package) like CheckBox or
>>> RichTextArea. We have extended what this package offers with other
>>> useful utility classes like Console, ShortcutKeyManager or
>>> DeferredUpdater and other widgets (widget.* package) like
>>> VerticalResizePanel, improved RichTextArea, generic dialog wizard.
>>>
>>> In order to be consistent I proposed a xwiki-gwt-user module. I'm open
>>> to your suggestions regarding the name.
>>>
>>> Anyway, this module will be generic (reusable in any GWT application)
>>> without any XWiki specific code.
>>>
>>> Hope it's clear now,
>>> Marius
>>
>> OK, so the "user" name comes from GWT. I agree with the consistency
>> reason, but my problem is that for those that don't know GWT (like me),
>> this name is misleading, since it doesn't suggest utility classes and
>> user interface elements. OK, maybe it could suggest *user* interface a
>> little, but only if you're searching for this connection. So, should we
>> stick with the "user" name for consistency, which would make users of
>> the editor coming from the GWT world happy, but which is misleading for
>> those that aren't familiar with GWT. or should we choose something more
>> meaningful?
>
> I'm fine with both options. Let's see what others think.

If it extends gwt-user it's should be xwiki-gwt-user IMO even if i
don't like the name that much it's GWT choice so we should follow it
when extending it.

>
>>
>> How about org.xwiki.gwt.utils and org.xwiki.gwt.widgets as two distinct
>> modules? Can this work from a dependency PoV, or are the two modules
>> tightly connected?
>
> Right now there are only a few cross dependencies and I can fix them.
> But in general we can have:
>
> 1) a utility class used by two or more widgets (e.g. StringUtils)
> 2) a utility class that uses one or more widgets (e.g. TextBoxNumberFilter)
>
> In other words, if I write a widget and I discover that I need a generic
> utility class that might be useful for other widgets too then I'm going
> to place that utility class in the utility package. On the other hand,
> if I write an application and I discover that I need a generic utility
> class that makes my life easier while working with a specific widget
> then I'm going to place that utility class also in the utility package.
> I could move it in the widgets module under that specific widget but
> then the widgets module will become widgets&widgetUtilities and I'm
> going to ask myself why I have these two separate modules.
>
> If we agree to fix 2) by moving those utility classes in the widgets
> module then I'm fine with having two modules: utils and widgets.
> Otherwise I'm more for having a single module.
>
> 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
Marius Dumitru Florea

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

Reply Threaded More More options
Print post
Permalink
In reply to this post by Marius Dumitru Florea
I'm going to proceed with creating the xwiki-gwt-user module. If anyone
has something against it please reply.

Thanks,
Marius

Marius Dumitru Florea wrote:

> Hi devs,
>
> I'd like to create a xwiki-gwt-user module in platform-web which will
> contain classes from the util and widget WYSIWYG packages. This module
> corresponds to the com.google.gwt.user package which contains utility
> and UI-related classed. The module will have this structure:
>
> org.xwiki.gwt.user.client.* (classes from the current util package)
> org.xwiki.gwt.user.client.widget.* (classes from the current widget package)
>
> Since I want this module to be generic (an extension of what GWT
> currently provides) I'd like to exclude the following class/packages
> which are XWiki specific:
>
> * util.Attachment
> * widget.explorer.*
> * widget.wizard.util.*
> * widget.PageSelector
> * widget.SpaceSelector
> * widget.WikiSelector
>
> These can remain in the WYSIWYG source tree for the moment but I'm
> considering moving them to the gwt module which is XWiki specific.
>
> You can see the current sources here
> http://svn.xwiki.org/svnroot/xwiki/platform/web/trunk/wysiwyg/src/main/java/com/xpn/xwiki/wysiwyg/client/
>
> Here's my +1. WDYT?
>
> Thanks,
> Marius
> _______________________________________________
> devs mailing list
> [hidden email]
> http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
[hidden email]
http://lists.xwiki.org/mailman/listinfo/devs