Re: [xwiki-users] Spatial Map Extension

2014-05-28 Thread Marius Dumitru Florea
Hi Danilo,

On Wed, May 28, 2014 at 4:19 AM, Danilo Amaral de Oliveira
danilo.olive...@energisa.com.br wrote:
 Hello Marius,

 I could make the webservice and PoC works but I am not using the method 
 $jsontool.serialize.


 What is the impact if I not use this serialize method?

$jsontool.serialize brings two important advantages:

(1) No need to manually escape the values you put in your JSON.
Otherwise you need to write something like:

'key1': '$escapetool.json($value1)',
'key2': '$escapetool.json($value2)',
...

which is error prone. We used to generate the live table results this
way and we forgot to escape a few values causing important bugs.

(2) It's way easier to customize/modify the Java object before
serializing it than customizing the code that generates the JSON
string. Take this example:

{
  totalCount: 32,
  rows: [
{id: 'foo', name:'Foo Abc', age: 29},
{id: 'bar', name: 'Bar Xyz', age: 17},
...
  ]
}

Now, imagine that at some point you'll have to add a new property per
row, but just for one use case. You should not modify the default
JSON. You just need to extend it somehow. If you build the JSON in
memory then there's no problem, you can write:

#foreach ($row in $jsonObject.rows)
  #set ($row.additionalProperty = 'some value')
#end

just before serializing the $jsonObject. In other words you can reuse
entirely the code that generates the default JSON. While in you case,
you'd have to rewrite some of the Velocity macros that 'print' the
JSON, duplicating code, which is a maintenance hell.

Hope this convinces you to use $jsontool.serialize() :)
Marius


 Ps.: I have updated the documentation.
 http://dev.xwiki.org/xwiki/bin/view/Drafts/XWikiJSONWebServiceKickStart

 Thanks.

 Danilo



 Grupo Energisa
 Danilo Oliveira
 Analista Suporte Aplicacao TI - DPTO CORP. DE INFRAESTR. TI
 e-mail: danilo.olive...@energisa.com.br | tel: (32) 3429-6342 | cel: (32) 
 8452-9478

 Esta mensagem contém informação confidencial. Se você a recebeu por engano, 
 não divulgue ou copie seu conteúdo. Por favor, avise ao remetente 
 imediatamente e apague-a do computador.
 Privileged and confidential. If this message has been received by mistake, do 
 not disclose or copy its contents. Please notify sender and delete 
 immediately.


 -Mensagem original-
 De: users [mailto:users-boun...@xwiki.org] Em nome de Marius Dumitru Florea
 Enviada em: terça-feira, 20 de maio de 2014 08:14
 Para: XWiki Users
 Assunto: Re: [xwiki-users] Spatial Map Extension

 On Mon, May 19, 2014 at 10:20 PM, Danilo Amaral de Oliveira 
 danilo.olive...@energisa.com.br wrote:
 Hello People,

 We are planning to develop an extension that will link and show the 
 documents of a specific wiki spacially allowing the user explore the page 
 dynamically. The idea is similar to the Just map it extension.

 Our first step was to look some javascript framework available to draw the 
 relationships that could work for us and we came to conclusion that the 
 sigma.js or d3.js will work fine...
 But, I am worried with the data connection, how can I parse the data from 
 the DB to the extension dynamically?


 Do you think the kind of webservice bellow could work?
 dev.xwiki.org/xwiki/bin/view/Drafts/XWikiJSONWebServiceKickStart

 The direction is ok, but:

 * you should use the 'get' action instead of 'view' to access the webservice:

 $xwiki.getURL('Main.WebService', 'get', $escapetool.url({
   'outputSyntax': 'plain',
   'limit': 10
 }))

 * the webservice should build the JSON in memory using plain Java objects 
 (maps, lists, strings, numbers, boolean) and then serialize it. In Velocity 
 you can use:

 $jsontool.serialize({
   'foo': [1, 2, 3],
   'bar': {
 'color': 'red',
 enabled: true
   },
   'name': 'XWiki'
 })

 For writing the webservice I would start with Velocity and then move to 
 Groovy but only if really needed.

 Hope this helps,
 Marius


 Thank you!


 Grupo Energisa
 Danilo Oliveira
 Analista Suporte Aplicacao TI - DPTO CORP. DE INFRAESTR. TI
 e-mail: danilo.olive...@energisa.com.br | tel: (32) 3429-6342 | cel:
 (32) 8452-9478

 Esta mensagem contém informação confidencial. Se você a recebeu por engano, 
 não divulgue ou copie seu conteúdo. Por favor, avise ao remetente 
 imediatamente e apague-a do computador.
 Privileged and confidential. If this message has been received by mistake, 
 do not disclose or copy its contents. Please notify sender and delete 
 immediately.


 ___
 users mailing list
 users@xwiki.org
 http://lists.xwiki.org/mailman/listinfo/users
 ___
 users mailing list
 users@xwiki.org
 http://lists.xwiki.org/mailman/listinfo/users
 ___
 users mailing list
 users@xwiki.org
 http://lists.xwiki.org/mailman/listinfo/users
___
users mailing list
users@xwiki.org
http://lists.xwiki.org/mailman/listinfo/users


[xwiki-users] Spatial Map Extension

2014-05-27 Thread Danilo Amaral de Oliveira
Hello Marius,

I could make the webservice and PoC works but I am not using the method 
$jsontool.serialize.

What is the impact if I not use this serialize method?

Ps.: I have updated the documentation.
http://dev.xwiki.org/xwiki/bin/view/Drafts/XWikiJSONWebServiceKickStart

Thanks.

Danilo



Grupo Energisa
Danilo Oliveira
Analista Suporte Aplicacao TI - DPTO CORP. DE INFRAESTR. TI
e-mail: danilo.olive...@energisa.com.br | tel: (32) 3429-6342 | cel: (32) 
8452-9478

Esta mensagem contém informação confidencial. Se você a recebeu por engano, não 
divulgue ou copie seu conteúdo. Por favor, avise ao remetente imediatamente e 
apague-a do computador.
Privileged and confidential. If this message has been received by mistake, do 
not disclose or copy its contents. Please notify sender and delete immediately.


-Mensagem original-
De: users [mailto:users-boun...@xwiki.org] Em nome de Marius Dumitru Florea
Enviada em: terça-feira, 20 de maio de 2014 08:14
Para: XWiki Users
Assunto: Re: [xwiki-users] Spatial Map Extension

On Mon, May 19, 2014 at 10:20 PM, Danilo Amaral de Oliveira 
danilo.olive...@energisa.com.br wrote:
 Hello People,

 We are planning to develop an extension that will link and show the documents 
 of a specific wiki spacially allowing the user explore the page dynamically. 
 The idea is similar to the Just map it extension.

 Our first step was to look some javascript framework available to draw the 
 relationships that could work for us and we came to conclusion that the 
 sigma.js or d3.js will work fine...
 But, I am worried with the data connection, how can I parse the data from the 
 DB to the extension dynamically?


 Do you think the kind of webservice bellow could work?
 dev.xwiki.org/xwiki/bin/view/Drafts/XWikiJSONWebServiceKickStart

The direction is ok, but:

* you should use the 'get' action instead of 'view' to access the webservice:

$xwiki.getURL('Main.WebService', 'get', $escapetool.url({
  'outputSyntax': 'plain',
  'limit': 10
}))

* the webservice should build the JSON in memory using plain Java objects 
(maps, lists, strings, numbers, boolean) and then serialize it. In Velocity you 
can use:

$jsontool.serialize({
  'foo': [1, 2, 3],
  'bar': {
'color': 'red',
enabled: true
  },
  'name': 'XWiki'
})

For writing the webservice I would start with Velocity and then move to Groovy 
but only if really needed.

Hope this helps,
Marius


 Thank you!


 Grupo Energisa
 Danilo Oliveira
 Analista Suporte Aplicacao TI - DPTO CORP. DE INFRAESTR. TI
 e-mail: danilo.olive...@energisa.com.br | tel: (32) 3429-6342 | cel:
 (32) 8452-9478

 Esta mensagem contém informação confidencial. Se você a recebeu por engano, 
 não divulgue ou copie seu conteúdo. Por favor, avise ao remetente 
 imediatamente e apague-a do computador.
 Privileged and confidential. If this message has been received by mistake, do 
 not disclose or copy its contents. Please notify sender and delete 
 immediately.


 ___
 users mailing list
 users@xwiki.org
 http://lists.xwiki.org/mailman/listinfo/users
___
users mailing list
users@xwiki.org
http://lists.xwiki.org/mailman/listinfo/users
___
users mailing list
users@xwiki.org
http://lists.xwiki.org/mailman/listinfo/users


Re: [xwiki-users] Spatial Map Extension

2014-05-20 Thread Marius Dumitru Florea
On Mon, May 19, 2014 at 10:20 PM, Danilo Amaral de Oliveira
danilo.olive...@energisa.com.br wrote:
 Hello People,

 We are planning to develop an extension that will link and show the documents 
 of a specific wiki spacially allowing the user explore the page dynamically. 
 The idea is similar to the Just map it extension.

 Our first step was to look some javascript framework available to draw the 
 relationships that could work for us and we came to conclusion that the 
 sigma.js or d3.js will work fine...
 But, I am worried with the data connection, how can I parse the data from the 
 DB to the extension dynamically?


 Do you think the kind of webservice bellow could work?
 dev.xwiki.org/xwiki/bin/view/Drafts/XWikiJSONWebServiceKickStart

The direction is ok, but:

* you should use the 'get' action instead of 'view' to access the webservice:

$xwiki.getURL('Main.WebService', 'get', $escapetool.url({
  'outputSyntax': 'plain',
  'limit': 10
}))

* the webservice should build the JSON in memory using plain Java
objects (maps, lists, strings, numbers, boolean) and then serialize
it. In Velocity you can use:

$jsontool.serialize({
  'foo': [1, 2, 3],
  'bar': {
'color': 'red',
enabled: true
  },
  'name': 'XWiki'
})

For writing the webservice I would start with Velocity and then move
to Groovy but only if really needed.

Hope this helps,
Marius


 Thank you!


 Grupo Energisa
 Danilo Oliveira
 Analista Suporte Aplicacao TI - DPTO CORP. DE INFRAESTR. TI
 e-mail: danilo.olive...@energisa.com.br | tel: (32) 3429-6342 | cel: (32) 
 8452-9478

 Esta mensagem contém informação confidencial. Se você a recebeu por engano, 
 não divulgue ou copie seu conteúdo. Por favor, avise ao remetente 
 imediatamente e apague-a do computador.
 Privileged and confidential. If this message has been received by mistake, do 
 not disclose or copy its contents. Please notify sender and delete 
 immediately.


 ___
 users mailing list
 users@xwiki.org
 http://lists.xwiki.org/mailman/listinfo/users
___
users mailing list
users@xwiki.org
http://lists.xwiki.org/mailman/listinfo/users


[xwiki-users] Spatial Map Extension

2014-05-19 Thread Danilo Amaral de Oliveira
Hello People,

We are planning to develop an extension that will link and show the documents 
of a specific wiki spacially allowing the user explore the page dynamically. 
The idea is similar to the Just map it extension.

Our first step was to look some javascript framework available to draw the 
relationships that could work for us and we came to conclusion that the 
sigma.js or d3.js will work fine...
But, I am worried with the data connection, how can I parse the data from the 
DB to the extension dynamically?

Do you think the kind of webservice bellow could work?
dev.xwiki.org/xwiki/bin/view/Drafts/XWikiJSONWebServiceKickStart

Thank you!


Grupo Energisa
Danilo Oliveira
Analista Suporte Aplicacao TI - DPTO CORP. DE INFRAESTR. TI
e-mail: danilo.olive...@energisa.com.br | tel: (32) 3429-6342 | cel: (32) 
8452-9478

Esta mensagem contém informação confidencial. Se você a recebeu por engano, não 
divulgue ou copie seu conteúdo. Por favor, avise ao remetente imediatamente e 
apague-a do computador.
Privileged and confidential. If this message has been received by mistake, do 
not disclose or copy its contents. Please notify sender and delete immediately.


___
users mailing list
users@xwiki.org
http://lists.xwiki.org/mailman/listinfo/users