On Feb 19, 2009, at 5:14 PM, Dan Miron wrote:

> Vincent Massol wrote:
>> Hi Dan,
>>
>> On Feb 18, 2009, at 5:46 PM, Dan Miron wrote:
>>
>>
>>> Thomas Mortagne wrote:
>>>
>>>> On Thu, Feb 5, 2009 at 14:34, Dan Miron <[email protected]>  
>>>> wrote:
>>>>
>>>>
>>>>> Hi guys,
>>>>> In order to implement the chart macro
>>>>> (http://jira.xwiki.org/jira/browse/XWIKI-2883) , i propose the
>>>>> following:
>>>>>
>>>>> - Create a new TableBlockDataSource  which implements the
>>>>> com.xpn.xwiki.plugin.charts.source.DataSource and which will take
>>>>> data
>>>>> from a table contained within a Wiki2.0 document.
>>>>> - Use the existing ChartPlugin for aquiring this new data source  
>>>>> and
>>>>> generate the graph.
>>>>>
>>>>>
>>>> IMO macro should not use old api/plugins, if a chart component is
>>>> needed that the chart macro would used we should create it. In a
>>>> general manner I are trying to never use anything from pmd xxwiki-
>>>> core
>>>> in component but translate and redesign useful xwiki-core code into
>>>> new components (like observationmanager, the rendering it self,
>>>> etc.).
>>>>
>>>>
>>>>
>>> I'm thinking of creating a new component responsible for generating
>>> the
>>> actual chart as PNG image which to replace the ChartPlugin. It would
>>> be
>>> similar to the old plugin but it will not use the ChartParams class
>>> for
>>> passing the parameters. I'm thinking of placing it platform/core and
>>> calling it XWiki-Chart.
>>> Jerome also suggests using this new component for the old radeox  
>>> chart
>>> macro.
>>>
>>
>> Can you explain in detail what will be the role of the xwiki-chart
>> module?
>>
>> If it's about generating PNG doesn't jfreechart do this already? Is  
>> it
>> about wrapping jfreechart with an xwiki api? If so then how do you
>> provide a generic api that'll work with any graphing framework?
>>
>> Thanks
>> -Vincent
>>
> The Jfreechart doesn't do all the job alone. It describes only the
> presentation. The data is handled by the Plot class - whose  
> construction
> needs to be handled by a PlotFactory, one for each chart type (e.g,  
> for
> pie, line, bar etc.). The purpose of our component is to bind together
> the PNG generation with several custom PlotFactories.

So do you agree that we shouldn't wrap the jfreechart API into our  
xwiki-chart module?
Are you now saying that the xwiki-chart module will actually be a  
xwiki-jfreechart module and that it'll contain some JFreechart- 
specific PlotFactory classes?
If so then I agree.

> How is this going
> to interact with any  graphing framework?

Are you asking the question? Or is it rethoretical?

Assuming it's rethoretical does it mean you think the xwiki-chart  
module can be generic WRT graphing frameworks? If you can without  
making it complex then fine but you'd need to implement at least with  
2 graphing fwk to ensure this is true. I'm just not sure this is worth  
the effort. I'd go with a xwiki-jfreechart module but then I don't  
know much. In any case you'd need xwiki-graph and xwiki-graph- 
jfreechart and I think for now a simple xwiki-jfreechart module is  
good enough.

WDYT?

Thanks
-Vincent

>
> The input:
>    - a custom datasource which will comply some predefined
> specifications (like in the old plugin)
>    - a Map of parameters regarding the chart type and display options
> The output:
>    - a String, or an URL pointing to the generated image file, which
> will be used, further, in our macro to embed it within our page.
>>>>> This new datasource, in order to be compatible with the  
>>>>> chartPlugin,
>>>>> gets its parameters via a Map<String, String>. So I'm thinking of
>>>>> passing the current document and the table number as strings
>>>>> encoded in
>>>>> such a Map and then, in the datasource parsing the document and
>>>>> getting
>>>>> its DOM tree and then extracting the data from it.
>>>>>
>>>>> What do you think about this approach?
>>>>>
>
> Tnx,
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to