On Tue, Oct 20, 2009 at 09:04, Marius Dumitru Florea
<[email protected]> 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
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>



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

Reply via email to