## JPivot Roadmap

This document shall help to coordinate the future development of JPivot. It will list features and enhancements that would be desireable to make JPivot more useful. These may include new functionality, integrating with other software, it may list bugs that have to be fixed, missing documentation and everything else should be done in the JPivot project.

For each task we should try to estimate the effort, prioritize it, and list developers who want to implement it.

Community feedback about this document is welcome, those with CVS access can modify it directly as it is viewed directly from the CVS repository.

### Split JPivot into `model` and `view` Projects

Effort: medium
Priority: medium

The navigation part of JPivot could be used in other OLAP frontends too, e.g. in a swing based (like Rubic). There are two tasks

- Split the sourcecode and create the build.xml for both subprojects
- Remove dependencies

There are known dependencies from the drill-through implementations to the wcf table model interface currently. Here the drill through model extension should define its own table model which will be implemented by the mondrian package and adapted to the wcf table model in the gui.

### JBoss Portal implementation of JPivot

Effort: medium
Priority: medium

Provide documentation (and possibly code) for how to run JPivot inside an JSR 168 compatible portal.

### Enhanced drill-through reporting

Effort: high
Priority: medium

An enhanced drill-thru report which will do multi-column sorting and grouping an makes a more focused report by eliminating (hiding) redundant columns (ie all the row / column hierarchies and filters for which all rows of the report will be the same).

Care should be taken regarding to performance and memory usage. The current drill-through implementation can handle thousands of rows with no problem (e.g. drill through in a top-level foodmart cell). Maybe make the new version optional.

### Enhanced Navigation

Effort: high
Priority: medium

Access to some navigation functions and addition of some new functions (eg ?expand / collapse all members of a level?, ?simultaneous drill down on both row & column?, ..) via ?mouse right-click? in dimension / member headers and cells.

### Drag & Drop

Effort: high
Priority: medium

Drag & drop functionality in the pivot chart for adding / removing dimensions to rows / columns

### User interface for Bookmarks

Effort: medium
Priority: medium

Some other bits, a bookmark interface, enhancements to bookmark functionality,?

Where will the bookmarks be stored (Database, Filesystem)?

### Improved Documentation

Effort: medium
Priority: medium

Its too difficult for new users to get JPivot up with their own data. A step-by-step tutorial would be great.

### Port to BEA Weblogic and IBM Websphere

Effort: medium
Priority: medium

Its not known if JPivot runs on these popular webservers.

### Other Suggestions

- Improve standalone build, separate from Tonbeller-specific constructs, make sure all tasks run when downloaded
- Improve documentation, howto, FAQ
- jfreechart - there are several features available in jfreechart, not currently exposed via jpivot. Most notable features:
  - multiple y axis support
  - pareto plot (variant on mult y axis, where one side is percentage)
  - callouts
  - difference chart
  - candlestick
  - For some of these, exposing via jpivot is trivial. See this page.
  - improve color palette support
  - chart to chart type mapping:
  - see com.tonbeller.jpivot.chart.ChartComponent.render(...) method
  - Build in samples saving chart state
- Bug fixes
  - xmla excel export (XMLA_Cell not fully implemented - getFormat method)
  - exception handling - some exceptions require some log parsing, not hard to find, but harder than it should be. I know that some users have been confused by some messages that may not be helpful - notable - when datasource is incorrectly configured.
- add support for multiple visualization formats, or even extract a visualization engine
  - image format - make configurable, not just png
  - Support flash-based charts as an output format
    - Reduces chart-rendering effort on the server-side, and also reduces the amount of network traffic
    - Much better look aesthetically compared to static gif or jpg's
    - Enabling a drill-down interface via flash will be interesting
- cube browser (similar to dimension browser)
- Create sample chart admin/creation pages
- Exposure to MDX constructs without having to write MDX
  - A subset of this already available (sort, etc.)
  - Make the entire MDX functions available (kind-of like the interface MSAS provides when you are defining a calculated member)
- Security integration
  - Map hierarchial access. send the user login context all the way to the XMLA server so that visibility into the OLAP data is restricted by OLAP server security rules at the user-level
  - Integrate a standard (JAAS-based?) security layer so that (a) login can be validaed against existing user databases, either LDAP, Unix logins, or some rdbms-based user database, and (b) access to charts, etc. is restricted by role definition (role concept exists in wcf framework)