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. How is this going to interact with any graphing framework? 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, Dan _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

