Tuesday 31 March 2009

GeoReport-CDF integration screenshots

Here some screenshots regarding GeoReport CDF integration.
In Figure1 you can see the GeoDashboard.
It is characterized by:
  • a "Map Tab" where users can interact with the map, display geometries cominig from Geoserver and alphanumeric data, diagrams, charts, dials cominig from Pentaho xactions execution!
  • an " Info Tab" where users can read alphanumeric ditails associated to the geometries
    (e.g. from point click users can display dial and pie charts, and from pie chart users can display ditailed information in a table view as shown in Figure2)
  • On the left you can display other tabs for analysis functionalities (choropleths or propotionals), legend, toolbar, detailed charts, layer tree

Figure1
on POINT click users can display dial and pie charts



Figure2
on pie click users can display details on "Info Tab"


Remeber that now you can set your GeoDashboard directly from JavaScript using CDF MapFishComponent like this:

map
=
{
name: "map",
type: "mapFish",
nameAttribute: "nome",
indicators: [["numero_watson","NUMERO"],["valore_watson","VALORE"]],
geojsonUrl: "server:port",
analysis: "chorop",
geocode: "gid",
actionid: "id_capoluog",
layer: "capoluoghi",
layer_name: "WATSONs",
mapname: "WATSON MAP",
solution: "cdf-samples",
path: "20-samples/GeoBI",
actionJson: 'myxaction.xaction',
action: "dial.xaction",
action2: "pie.xaction",
parameter: [["value","numero_watson"]],
parameters: [["customer", "value"],["max", 50], ["low", 5],["high", 35]],
action2Value: [["regione","gl_regione"]],
action2Values: [],
feautreInfo: [["REGIONE","gl_regione"], ["CAPOLUOGO","nome"]],
messageElementId: "messages",
htmlObject: "map",
executeAtStart: true,
initPosLon: 6.090,
initPosLat: 40.373,
initZoom: 5
}

Monday 23 March 2009

GeoReport - Pentaho CDF integration is done!

A new JavaScript component, "MapFishComponent", was developed in order to quickly create a custom cartographic dashboard using MapFish and geostat widgets!
The architecture is the same shown here with the difference that now it is not necessary to set your parameters in a xml file: now you can easly set them client side using a "mapFish" type, as following:

map =
{
name: "map",
type: "mapFish",
nameAttribute: "nome",
indicators: [["numero_watson","NUMERO"],["valore_watson","VALORE"]],
geojsonUrl: "server_name:port",
analysis: "prop",
geocode: "gid",
actionid: "id_capoluog",
layer: "capoluoghi",
mapname: "WATSON MAP",
solution: "cdf-samples",
path: "20-samples/GeoBI",
actionJson: 'mapOpen4.xaction',
action: "dial.xaction",
actionpie: "pie.xaction",
parameters: "numero_watson",
pieValue: "gl_regione",
title: "nome",
messageElementId: "messages",
htmlObject: "map",
executeAtStart: true,
initPosLon: 6.090,
initPosLat: 40.373,
initZoom: 5,
expression: function(){},
preExecution:function(){},
postExecution:function(){}
}

Thanks to CDF integration you can than easily create new reports interacting each other!!
This is the "WATSON MAP" sample:

Watson Map sample

We are going to publish this new version for Georeport, so stay tuned!!!

Friday 13 March 2009

GeoReport - Pentaho CDF integration has started!

Pentaho CDF (Community Dashboard Framework) has the goal to make Pentaho Dashboard on PentahoBI platform as easy as possible using JavaScript instead of JSP.
It is a very powerful framework that help the final user in setting and creating his dashboards!

Pentaho CDF architecture

Penatho CDF could be very useful to create GeoDasboard as GeoReport done.
At the moment, CDF integrates OpenLayers to create a cartographic report but NOT in the sense of GeoReport because:
  1. GeoReport deals with GEOMETRIES (stored in GeoServer), so deals with real cartographic data!
  2. GeoReport JOINS alphanumeric data coming from xaction resultset to geometries coming from GeoServer (using OGC WFS) in a single GeoJSON
  3. GeoReport tranfers GEOMETRIES via GeoJSON using Mapfish GeoJSON JAVA lib
  4. CDF only uses markers on OpenLayers maps and GeoNames to rerieve X,Y when the user doesn't set manually X,Y coordinates
  5. CDF doesn't join xaction resultset to vector data (geometries) stored in a GIS datasource or provided by a GIS service (as WFS does)
For this reasons it will be very interesting to integrate GeoReport in Pentaho CDF in order to automate the whole process of GeoDashboard creation in GeoReport!!

The first integration we did was mapfish in CDF (instead of OpenLayers). It works on Mozilla Firefox 3.0.6 + and there are some problems on other browser due to Ext.onReady Event when you want to include a large number of JS files in your code over ExtJS (this is our case. Remeber in fact that MapFish uses ExtJS library and Pentaho CDF uses a lot of libraries such as jQuery...so the complexity increase).
We are going on with tests, and if you want you can try this first integration following here.

Screenshots (Mapfish in Pentaho CDF)