On Mon, Nov 19, 2012 at 1:47 PM, Ludovic Dubost <[email protected]> wrote:
> Hi,
>
> I've looked a bit more about what has been moved to aspects and it is not
> only the plugin but all the displaySearch functions that were added to the
> XWiki Core objects and classes.
>
> I cannot +1 the removal of all displaySearch functions. There is a lot of
> work on this code to generate search forms for each fields.
>
> I can accept that we remove the QueryPlugin itself but I believe we should
> keep:
>
> - the XWikiCriteria class
> - the XWikiQuery class
> - the code in the XWiki objects and fields
>

> displaySearch is a function that each property needs to define.

I don't fully agree. I recently (4.3M2) moved all the "displayer" code
(view and edit) from DateClass, UsersClass and GroupsClass to default
custom displayers implemented using Velocity templates
(displayer_*.vm) because I don't think we should output HTML code
directly from Java. We can keep some default implementation in
PropertyClass but I think for concrete property types we should move
the displayer code to Velocity.

Thanks,
Marius

>
> The rest of the code in the XWiki class or the QueryPlugin itself can be
> removed as we can reimplement this easily in a groovy class or in some
> other component. But the code in the XWiki fields cannot be implement
> anywhere but in these classes.
>
> The XWikiQuery or XWikiCriteria classes can be renamed if there is a
> confusion but they are needed to represent a Query object which can be
> passed to fields to display the search form.
>
> I'm -1 on the removal of this code and believe it should be move backed
> from aspect to real code in the core.
>
> Ludovic
>
>
> 2012/11/17 [email protected] <[email protected]>
>
>>
>>
>> Envoyé de mon iPad
>>
>> Le 17 nov. 2012 à 18:05, Vincent Massol <[email protected]> a écrit :
>>
>> >
>> > On Nov 17, 2012, at 1:35 PM, Denis Gervalle <[email protected]> wrote:
>> >
>> >> On Sat, Nov 17, 2012 at 10:46 AM, Ludovic Dubost <[email protected]>
>> wrote:
>> >>
>> >>> Hi,
>> >>>
>> >>> The reality right now is that there is no alternative to this code
>> that has
>> >>> been moved to legacy, at least for part of it.
>> >>>
>> >>> Let me explain a bit what some of this code is doing.
>> >>>
>> >>> - it allows to create a java object XWikiQuery which represents an
>> XWiki
>> >>> Query in Java as a structured object per field. This object stores
>> >>> criterias
>> >>> - the XWiki Core itself provides a function to display a search field
>> for
>> >>> each field of an XWiki class (displaySearch) and a function that
>> allows to
>> >>> retrieve the content of search a search field into an XWikiQuery
>> object, as
>> >>> well as a function to transform the part concerning the field in the
>> >>> XWikiQuery object into an XWQL statement portion
>> >>>
>> >>
>> >> Only really works if that very old patch is applied:
>> >> http://jira.xwiki.org/browse/XWIKI-4585
>> >>
>> >>
>> >>> - some functions in XWiki.java (moved to aspects in legacy) also allow
>> to
>> >>> generate a field to choose the columns and the sort fields for a query
>> >>> - the query plugin allows to transform the XWikiQuery object into an
>> XWQL
>> >>> statement including the sort fields
>> >>> - a function in XWiki.java allows in one call to read the data from
>> >>> $request, create the XWikiQuery object, transform it in XWQL, run the
>> query
>> >>> and display the results as an HTML table
>> >>> - another function allows just to run the query and velocity code can
>> >>> present the results just the way you decide
>> >>>
>> >>> The end results is a system to build query interfaces dynamically.
>> >>>
>> >>> We haven't used this code because nobody has been trained on it. But
>> still
>> >>>
>> >>
>> >> It is being used in only one of our project. The reason is that the
>> >> experience was not good enough to reuse it. This was a really great
>> >> feature, but due to the issues and so unexpected limitation (do not
>> ask, I
>> >> do not remember) if have choosen to leave it alone.
>> >>
>> >>
>> >>> it's very powerful code, and I'd hate to see it go away without a
>> >>> replacement. Currently it's not that complex to keep it. Most of the
>> code
>> >>> is in the XWiki fields anyway. The code in XWikiQuery and in
>> QueryPlugin is
>> >>> not that complicated as it's just looping over the fields.
>> >>>
>> >>> On the long run this code has even more capabilities, like being able
>> to
>> >>> run query aggregates in addition to just listing XWiki documents. This
>> >>> could allow to do counting and summing using a UI and even generate a
>> graph
>> >>> out of the result using the Graph Plugin.
>> >>>
>> >>
>> >> I really agree that we should plan for similar feature, using the new
>> >> model, and the new component.
>> >>
>> >>
>> >>>
>> >>> Once you activate the QueryPlugin in xwiki.cfg this code still works.
>> >>>
>> >>
>> >> I would not be so sure of that since almost nobody really use the query
>> >> plugin that way, or my patch has more success than I thought.
>> >>
>> >>
>> >>> It would be great if somebody from the active committers looked at it
>> and
>> >>> we could work together to see where this code should be headed. I'm
>> >>> available to help understand the code.
>> >>>
>> >>
>> >> If I had seen it so valuable after our first try, I would have do so
>> since
>> >> long. Moving the plugin to legacy does not means that we loose it. IMO,
>> >> keeping this plugin currently cause confusion with the new query
>> manager,
>> >> which is worse compare to what it really provide. This is why I am +1.
>> >>
>> >> Now I do agree that the idea should not be lost and that we should
>> plane a
>> >> replacement for it once the new model is ready. Compare to the general
>> rule
>> >> which is to keep until we replace, I think it does not apply here, since
>> >> almost nobody use the part not replaced by the new query manager (else
>> we
>> >> would have received more complains about it not working due to
>> XWIKI-4585
>> >> and more)
>> >
>> > BTW "keep until replace" is not a current rule of the xwiki project.
>> Right now the practice that we have followed instead is: retire/deprecate
>> when quality is not high enough and nobody is working on it.
>> >
>> > We've done this in lots of places. For example with the Calendar
>> application, the Photo Album application (retired before we had the gallery
>> macro, which isn't exactly similar) and on several others plugins too. And
>> we didn't have replacements for those.
>> >
>> > It's a better rule than "keep until replace" because we want to increase
>> XWiki's quality.
>> >
>> > If a domain has not been worked on for a long time, keeping it won't
>> make it better. For that we need to find a committer who can be active on
>> the feature and make that part of the roadmap.
>> >
>> > And again, the user would still be able to install it, and if some
>> committer becomes active again on the topic we can revive it.
>> >
>>
>> This is not the case with this code since there are aspects extending them
>> XWiki core classes.
>> Unless there are ways to try it and improve it this type of stuff will be
>> lost. As I said this has potential if done right, this is why core
>> committed help to give feedback about how to integrate it with the new APIs
>> would be useful
>>
>> Ludovic
>>
>>
>>
>>
>> > Thanks
>> > -Vincent
>> >
>> >> Now if anyone is really using it, tell us what you do that is not
>> covered
>> >> by the new query manager. This could change my vote.
>> >>
>> >>
>> >>> Right now the key functions are:
>> >>>
>> >>> - the XWikiQuery class
>> >>> - QueryPlugin.makeQuery
>> >>> - XWiki.createQueryFromRequest
>> >>> - XWiki.displaySearch
>> >>> - XWiki.displaySearchColumns
>> >>> - XWiki.displaySearchOrder
>> >>> - and code in each XWiki Field class
>> >>>
>> >>> less important code is:
>> >>>
>> >>> - XWiki.search(XWikiQuery)
>> >>> - XWiki.searchAsTable(XWikiQuery)
>> >>>
>> >>> Ludovic
>> >>>
>> >>>
>> >>>
>> >>>
>> >>> 2012/11/16 Thomas Mortagne <[email protected]>
>> >>>
>> >>>> On Fri, Nov 16, 2012 at 3:28 PM, Ludovic Dubost <[email protected]>
>> >>> wrote:
>> >>>>
>> >>>>> Can you point to the code of the old query plugin. I'm probably -1
>> >>>> because
>> >>>>> it contains some code that is usefull to generate Search UIs.
>> >>>>> This code should be moved to the new query component before the
>> plugin
>> >>> is
>> >>>>> removed
>> >>>>>
>> >>>>
>> >>>>
>> >>>>
>> >>>
>> https://github.com/xwiki/xwiki-platform/tree/master/xwiki-platform-core/xwiki-platform-legacy/xwiki-platform-legacy-oldcore/src/main/java/com/xpn/xwiki/plugin/query
>> >>>>
>> >>>> The whole point of moving something to legacy is that it's not used
>> >>> anymore
>> >>>> and we provide alternative for it, if there is missing feature in the
>> >>> query
>> >>>> module it should listed and added.
>> >>>>
>> >>>>
>> >>>>> Ludovic
>> >>>>>
>> >>>>>
>> >>>>> 2012/11/16 Eduard Moraru <[email protected]>
>> >>>>>
>> >>>>>> +1
>> >>>>>>
>> >>>>>> Thanks,
>> >>>>>> Eduard
>> >>>>>>
>> >>>>>>
>> >>>>>> On Fri, Nov 16, 2012 at 3:02 PM, Thomas Mortagne
>> >>>>>> <[email protected]>wrote:
>> >>>>>>
>> >>>>>>> It is.
>> >>>>>>>
>> >>>>>>> This plugin is deprecated since a very long time. Look at
>> >>>>>>>
>> >>> http://extensions.xwiki.org/xwiki/bin/view/Extension/Query+Modulefor
>> >>>>>>> informations about the "new" one (which exists since 1.6).
>> >>>>>>>
>> >>>>>>> On Fri, Nov 16, 2012 at 12:57 PM, crocket <[email protected]
>> >>>>
>> >>>>>> wrote:
>> >>>>>>>
>> >>>>>>>> What is the old query plugin? I hope it is not $xwiki.query.
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>> On Fri, Nov 16, 2012 at 7:32 PM, Thomas Mortagne
>> >>>>>>>> <[email protected]>wrote:
>> >>>>>>>>
>> >>>>>>>>> Hi devs,
>> >>>>>>>>>
>> >>>>>>>>> Following the discussion on
>> >>>>>>> http://markmail.org/message/uck6w56gqus2mxswI
>> >>>>>>>>> would like to extract the query plugin from
>> >>>>>>> xwiki-platform-legacy-oldcore
>> >>>>>>>>> and move it to retired repository.
>> >>>>>>>>>
>> >>>>>>>>> The good things is that we will get rid of 3 jars in standard
>> >>> XE
>> >>>> by
>> >>>>>>> doing
>> >>>>>>>>> this.
>> >>>>>>>>>
>> >>>>>>>>> I plan to do it in 4.4M1.
>> >>>>>>>>>
>> >>>>>>>>> WDYT ?
>> >>>>>>>>>
>> >>>>>>>>> Here is my +1
>> >>>>>>>>> --
>> >>>>>>>>> Thomas Mortagne
>> >>>>>>>>> _______________________________________________
>> >>>>>>>>> devs mailing list
>> >>>>>>>>> [email protected]
>> >>>>>>>>> http://lists.xwiki.org/mailman/listinfo/devs
>> >>>>>>>>>
>> >>>>>>>> _______________________________________________
>> >>>>>>>> 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
>> >>>>>>>
>> >>>>>> _______________________________________________
>> >>>>>> devs mailing list
>> >>>>>> [email protected]
>> >>>>>> http://lists.xwiki.org/mailman/listinfo/devs
>> >>>>>>
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>> --
>> >>>>> Ludovic Dubost
>> >>>>> Founder and CEO
>> >>>>> Blog: http://blog.ludovic.org/
>> >>>>> XWiki: http://www.xwiki.com
>> >>>>> Skype: ldubost GTalk: ldubost
>> >>>>> _______________________________________________
>> >>>>> 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
>> >>>>
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> Ludovic Dubost
>> >>> Founder and CEO
>> >>> Blog: http://blog.ludovic.org/
>> >>> XWiki: http://www.xwiki.com
>> >>> Skype: ldubost GTalk: ldubost
>> >>> _______________________________________________
>> >>> devs mailing list
>> >>> [email protected]
>> >>> http://lists.xwiki.org/mailman/listinfo/devs
>> >>>
>> >>
>> >>
>> >>
>> >> --
>> >> Denis Gervalle
>> >> SOFTEC sa - CEO
>> >> eGuilde sarl - CTO
>> >> _______________________________________________
>> >> devs mailing list
>> >> [email protected]
>> >> http://lists.xwiki.org/mailman/listinfo/devs
>> >
>> > _______________________________________________
>> > devs mailing list
>> > [email protected]
>> > http://lists.xwiki.org/mailman/listinfo/devs
>>
>
>
>
> --
> Ludovic Dubost
> Founder and CEO
> Blog: http://blog.ludovic.org/
> XWiki: http://www.xwiki.com
> Skype: ldubost GTalk: ldubost
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to