So Martin, Thomas, Dave and I got together to discuss some of the technologies we want to use for the chart API. I had been looking into Javabeans XML persistence, and wondered why Thomas and Martin had not used it in their current works. Also couldn't figure out all that CSS buys us, so needed some clarification there.
Here are my notes from the meeting, as well as Dave Kincade's:
- JavaBeans XML Persistence proves problematic when modifying beans and/or versioning. Not a "friendly" looking XML; Thomas states that we should keep our persistent state in a mode where power users can easily manipulate it without tools - is this a requirement?
- Thomas has an implementation in LibLayout tht demonstrates his use of CSS on the report DOM. He envisions we have a similar chart DOM, and style it in much the same way.
- Chart styles are not limited to typical presentation styles or those available only from CSS - we can add our own custom selectors/class styles, and should to represent particular chart features, like domain axis minimum and maximum.
- We gain the ability to style the chart in a hierarchical fashion, where a font style on the chart node can cascade all the way through the chart.
We agree we need to:
- Create and agree upon a DOM for charts
- Have an agreed upon set of objectives to work from (John? Marc? James?)
I (Gretchen) will send out a DOM to the guys to get the discussions started. This doc should continue to rotate through the group until we have DOM we can all live with. Shooting for first week of January.
Dave K.'s Notes:
Is Martin using the CSS parser in JFreeReport?
He is starting to use it
Purpose of the discussion is to discuss general architecture and technologies to be used.
Using the JavaBeans persistance, we could save to XML. Where does CSS fit in?
TM: The JavaBeans persistance is problematic:
- XML is bloated
- Different XML engines render the data differently and this is problematic
Is the CSS use basicly a mapping exercise?
TM: In flow engine, there is a DOM tree that has the CSS mapped into it.
THe CSS style information would allow the font to be set at a chart level and it would
cascade down to all the other elements.
Default style sheets that get applied before user style sheet is applied.
No hard coded defaults.
Some thought would have to be put into how certain default styles would be created
when it comes to adding a new
- Series Type is not part of the style
- Chart type and series type is part of the DOM
- You can define a line style, bar style, area style for the same series and then apply
based on how the structure defines the series
- Mark everything we do as "experimental" until we have a non-prototytpe solid implementation.