OOoCon Chart Speech

From Apache OpenOffice Wiki
Revision as of 16:32, 28 August 2006 by Bm@openoffice.org (Talk | contribs)

Jump to: navigation, search

This page is for working on the speech for the OpenOffice.org Conference 2006 in Lyon. The session is called "Discovering the New Chart Module".

Structure and Time-Schedule of the Speech

  1. New Key Features
    • About 20 minutes. Dialog between Pierre-André and Björn.
    • Show the Chart of OOo 2.0 and the new Implementaiton.
  2. Opportunities for Developers
    • Pierre-André (Basic Macros) and Björn (UNO extension components?).
    • About 10 minutes.
  3. Open Issues and Plans for the Future
    • Björn, André ?
    • About 10 minutes.
  4. Questions & Answers
    • About 5 minutes, possible to extend this to the following BOF (“birds of a feather”) session.

List of Key Features

Wizard

(pagalmes/bm)

Create a nice 3d chart as an example.

  • New chart types: 3d donut, 3d pie, both with exploded segments, 3d scatter, line and scatter 3d with smooth lines
  • Live Preview
  • You see all major chart types in one list box and get no more than four different previews + controls for stacking, smooth lines or 3d, changing 3d shapes. => much clearer selection of chart types
  • Source-Range tab-page like the first page in the old wizard. We changed the order, because this way you can select the chart type first.
  • Data Series Tab Page for rearrangement, adding removing series and using more complex source ranges. Details follow later
  • Chart Elements: Titles (also subtitle) can be added without checkbox, you can define the postition of the legend. You can choose x- and y-grids.
  • New 3d View Dialog

Create a Chart out of a table of simple data and show how this works nicely with the wizard. Use first page for different chart types and type settings. The second tab page for changing rows/columns. Skip the third one and go directly to the last page using the road-map. Insert a title and change the legend position. After that show the 3d dialog. Switch to simple look, switch back to 2d. (pagalmes)

Flexible Source Ranges

(pagalmes)

  • Import File:OlympicRings.xls Excel file. Show a screen-shot of Excel (on second sheet) to show how close both charts look.
  • The chart has a misplaced ring and a circle that is a bit to bright yellow: Change the offset from 1,5 to 1,0 in cell L1. Change the color to a darker yellow. Select first series and toggle through series with Tab to show blue rectangles around the separate ranges in Calc
  • Import the File:Measures.xls example to show the different measures in one chart. Also walk through series with Tab to show the different ranges, each using its own x-values and being differently long.
  • Stock Chart: TODO: bm

Own Data Editor

(bm)

  • One series can consist of more than one data sequence. (Swap series instead of columns)
  • Separate series labels in edit fields, chart type icon, color bar to identify the series (bar -line chart)
  • Numberformats: Scatter Chart with time-scale and currencies. (Maybe with separate x-values)
  • Live Preview

Use the same example as before, copy it to the clipboard and insert it into a presentation.

Regression Curves for Chart Types other than XY-Charts

(pagalmes)

  • Regression curve in a bar chart or a line chart with categories. (Use the same example as before)
  • Mention that formula and correlation coefficient (r) will come in the future.

Opportunities for Developers

Compatibility with the old API

(bm)

  • The old API is implemented and should work in principle.
  • If there are any issues, there is an FAQ page on OOo-Wiki: FAQ_about_Chart_API_Compatibility
  • We will provide a page with the results of an automated complete test of the old API.

Overview of the new Implementation (Part 1)

(bm)

  • The chart is divided into four libraries that are as independent of other projects as possible. Explain shortly the MVC-pattern. (diagram, also dependencies to other building blocks like the drawing layer). bm
  • The model is completely accessible via UNO. It supports only the new API. The Old API is implemented in the controller library and is aggregated to the model via a component. (UML diagram + a little chart with arrows) bm

How to use the new API (Shown with Basic Macros)

(pagalmes)

  • Mention that the new API is not published yet and is likely to change in the future. We plan not to publish the API when the new Chart comes out in OOo, but in a later release.
  • Locking and Unlocking controllers works like expected. bm
  • Show the examples. Pie Chart, Symbols (Graphics), and maybe the PageBackground, multiple trendlines with formulas
  • Basic macro for showing the formula (and correlation coefficient) of the regression.
  • Shared Legend. Make sure to explain that this is not a recommended way to do things, as charts may be swapped out of memory which breaks the identity of the shared legend. (Also, e.g. if you apply a gradient, it only works in those charts where it is defined). This serves only as example for the new model being modular, and the object may be created independently on a specific model.

Overview of the new Implementation (Part 2)

(bm)

  • The view accesses the model via UNO and creates view object as drawing-layer objects via UNO. The view itself currently has no UNO interface. This has to be done in the future to allow extending the chart by new chart types.
  • The controller library uses the model (via UNO) and the view. This library depends on the most other libraries, e.g. VCL, because it implements the dialogs.
  • There is a fourth tools library that contains helper classes. Mostly they serve as simplification of the UNO API access. Parts of the tools can also become components in the future, to ease the efforts of developers.

Areas where Help is needed

(pagalmes)

  • Testing
  • Performance testing
  • Writing Documentation, Demos
  • Writing Specs
  • Implementation makes more sense, once we integrated the current CWS.

Plans for the Future

(bm)

We have to focus on the most important things. Maybe from the following categories:

  • Finish the re-implementation so that the new chart covers all the features of the old chart
  • Finalizing and publishing the new API
  • Integrate new features. There are many suggestions in the document from Tony Galmiche about Chart Enhancements. (see List of wished enhancements for Charts provided by Tony Galmiche)
  • Provide a convenience API for easier access of the new, more complex chart API.

Extending the chart using the new API (?)

(bm)

With the new API you will be able to write your own chart components. For example, you can write your own chart type and integrate it into OpenOffice.org. You would have to provide a number of things and put those together into a package. After deploying, you would see the new type in the wizard and would not even notice that it is an extension.

  • Write a new chart type component
  • Write a data-series plotter view-component that is able to create drawing shapes for the chart
  • Create chart type templates that use the new chart type. Provide some images as a preview for the wizard.

By implementing new data-provider components, you can offer data from other sources, like internet services, other spreadsheet applications or even data bases. (Maybe, explain that implementing the data-provider in Calc was quite a big effort, so this is probably usually also no easy task.)

Personal tools