On Fri, Mar 9, 2012 at 17:17, Jerome Velociter <[email protected]>wrote:
On Fri, Mar 9, 2012 at 4:51 PM, Denis Gervalle <[email protected]> wrote:
On Fri, Mar 9, 2012 at 16:08, Marius Dumitru Florea < [email protected]> wrote:
On Fri, Mar 9, 2012 at 4:47 PM, Jerome Velociter <[email protected]
wrote:
On Fri, Mar 9, 2012 at 3:26 PM, Marius Dumitru Florea <[email protected]> wrote:
On Fri, Mar 9, 2012 at 4:10 PM, Vincent Massol <[email protected]> wrote:
On Mar 9, 2012, at 3:02 PM, Denis Gervalle wrote:
> On Fri, Mar 9, 2012 at 14:54, Marius Dumitru Florea < > [email protected]> wrote: > >> Hi devs, >> >> Some time ago Jerome Velociter raised a vote [1] for adding a JSON >> Velocity Tool. The vote passed but the tool wasn't committed. I'd
like
>> to do it know (for 4.0M1) with two changes: >> >> 1. Use Jackson [2] instead of json-lib [3] because it has a more recent >> release >> > > Isn't json-lib already a dependency available, should we use another one ?
+1 to use only one json lib in xwiki! :)
Fine.. since json-lib is already used in public API (com.xpn.xwiki.plugin.packaging.PackageAPI) I'll stick with it.
Jackson is considered faster, by several orders. Some articles/threads that talks about it : -
http://www.lshift.net/blog/2011/12/28/benchmarking-simple-json-generation-in...
- http://www.sencha.com/forum/archive/index.php/t-94883.html
It can be a case for Jackson : if we are to use that tool for generating livetable values, performance is a big deal.
That's my use case. I want to refactor the macros from XWiki.LiveTableResultsMacros to generate the "JSON" in memory (using actually plain Java data types like maps and lists/arrays) so that I can adjust it before the response is send to the client. This way I can avoid duplicating the code from XWiki.LiveTableResultsMacros just to add a new property to the generated JSON or to modify the value of an existing property.
Since json-lib is used only in xwiki-platform-oldcore by the package plugin I think it's fine to:
* use Jackson in JSONTool * when we refactor the package plugin into a component (if we still needed it at that point) we can also change the code to use Jackson. I can add a comment in the pom for this so that we don't forget about it.
WDYT?
What about groovy ? the JSONBuilder provided by json-lib is nice to have, and is one of the motivation of the initial thread. I am not asking for annoying you, we use all that already in many sites. I am not against improving, but we should also be careful to not break existing stuffs.
I'm not sure what's the problem/how groovy changes the picture here. Right now json-lib is bundled with XWiki and used internally, but not exposed. I don't think bundled jars should be assumed stable over time. Do we have a rule for this ?
In any case that's not good enough a reason to ditch jackson in favor of json-lib, IMHO. Worse case, it's an argument in favor of keeping json-lib in the classpath in addition to whatever other lib we decide to use - should we decide to use something else than json-lib.
That was my concern, you expressed yourself better than I have. The question is simply, is Jackson so much better that we want to have both, or drop some compatibility.
I'm +1 for this.
Thanks, Marius
my 2 cents
Jerome
Thanks, Marius
Thanks -Vincent > > >> 2. Add only the toJSON method for now because we can use >> $escapetool.javascript to accomplish the same result as
toValueString
>> >> Reply quickly if you are against it. >> >> Thanks, >> Marius >> >> [1] http://www.mail-archive.com/[email protected]/msg11395.html >> [2] http://jackson.codehaus.org/ >> [3] http://json-lib.sourceforge.net/ _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Jérôme Velociter Winesquare http://www.winesquare.net/ _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
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
-- Jérôme Velociter Winesquare http://www.winesquare.net/ _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Denis Gervalle SOFTEC sa - CEO eGuilde sarl - CTO