← Back to team overview

dhis2-devs team mailing list archive

Re: [Branch ~dhis2-devs-core/dhis2/trunk] Rev 1855: (GIS) Line chart for several periods implemented.

 

On 18 May 2010 15:59, Jan Henrik Øverland <janhenrik.overland@xxxxxxxxx> wrote:
> Seems like Extflot is a good solution. Quite easy to use and with some
> styling (the attached image has no styling at all) it may look good as well.
>

I see that flot uses the html5 canvas element for drawing.  And that
canvas is reinterpreted on IE with an additional plugin which renders
the canvas drawing commands in silverlight.

All of which sounds pretty horrible to me.  For graphs more generally
I think a svg based solution is better - for one reason you can have
your graph rendered on a page and just reload the data.  This is
because with svg there is a dom representation of the graph/chart on
the page so you can manipulate specific elements.  html canvas is more
like paintbrush.  You paint the elements programatically with js but
once they are on the page they are like paint.  You can't really
manipulate eg just the series data without redrawing the whole graph.

Anyway.  Up to you.  Doing it this way might be adequate for this use
case.  I'd kind of prefer being able to declare what's in my graph
rather than have the description implicit in a snippet of javascript
code.  And IE9 has GPU optimized native svg support.  Took them nearly
a decade.

Cheers
Bob

>
> On Sat, May 15, 2010 at 8:30 PM, Knut Staring <knutst@xxxxxxxxx> wrote:
>>
>> Yes, that was my point as well, and the reason I thought maybe extflot
>> will be the fastest for us right now, since we have a long list of GIS
>> needs:
>> http://code.google.com/p/extflot/wiki/Tutorial
>>
>> And then we could look into using SVG later (or someone else can do it
>> in parallel).
>>
>> On Sat, May 15, 2010 at 8:27 PM, Lars Helge Øverland
>> <larshelge@xxxxxxxxx> wrote:
>> >
>> > My point is that using Ext with jQuery requires a bit of hacking, it
>> > would
>> > be easier to stick with only Ext but that might not be feasible, i don't
>> > know.
>> > http://docs.jquery.com/Tutorials:Using_Ext_With_jQuery
>> >
>> >
>> >
>> > On Sat, May 15, 2010 at 8:16 PM, Knut Staring <knutst@xxxxxxxxx> wrote:
>> >>
>> >> To complete the picture, there is Ext Core (MIT license) :
>> >> http://www.extjs.com/products/core/manual/
>> >>
>> >> On Sat, May 15, 2010 at 8:11 PM, Knut Staring <knutst@xxxxxxxxx> wrote:
>> >> > I think we probably need to keep both Ext and Jquery - and it looks
>> >> > like the two can work together:
>> >> >
>> >> >
>> >> > http://www.extjs.com/forum/showthread.php?56724-ExtJS-and-JQuery-working-together
>> >> >
>> >> > The GIS module is making good progress, though it will necessarily
>> >> > continue to be a bit heavy. Important to set up the webserver to
>> >> > serve
>> >> > it Gzipped (I seem to have trouble getting that to work with Tomcat).
>> >> >
>> >> > It will be cool when we can have all the maps in the database as
>> >> > GeoJSON. This will also make it easier to include maps elsewhere in
>> >> > the application, for example in the dashboard and in the OrgUnit
>> >> > managment interfaces. For this one could do without Ext, and just use
>> >> > a) OpenLayers, b) SVG, or c) even HTML ImageMaps, as Dutch national
>> >> > health atlas are doing:
>> >> > http://www.rivm.nl/vtv/object_map/o3017n21941.html
>> >> >
>> >> > Came across a Jquery wrapper for OpenLayers:
>> >> >
>> >> >
>> >> > http://code.google.com/p/jquery-openlayers/source/browse/trunk/lib/ui.openlayers.js
>> >> >
>> >> > On Sat, May 15, 2010 at 6:58 PM, Lars Helge Øverland
>> >> > <larshelge@xxxxxxxxx> wrote:
>> >> >> This stuff is based on jquery, will this conflict with ext in the
>> >> >> gis
>> >> >> module?
>> >> >>
>> >> >> On Sat, May 15, 2010 at 6:09 PM, Jan Henrik Øverland
>> >> >> <janhenrik.overland@xxxxxxxxx> wrote:
>> >> >>>
>> >> >>> Hi, thanks for the research and discussion. Will have a look at it.
>> >> >>>
>> >> >>>
>> >> >>> On Sat, May 15, 2010 at 5:58 PM, Bob Jolliffe
>> >> >>> <bobjolliffe@xxxxxxxxx>
>> >> >>> wrote:
>> >> >>>>
>> >> >>>> Well I think the jquery svg plugin has made up my mind re the ext
>> >> >>>> vs
>> >> >>>> jquery discussion.
>> >> >>>>
>> >> >>>> Take a look at this jquery plugin:
>> >> >>>> http://keith-wood.name/svg.html.
>> >> >>>> This is appears to be a free software equivalent (though a bit
>> >> >>>> more
>> >> >>>> general and not *quite* as sophisticated) as the highcharts thing.
>> >> >>>>  I
>> >> >>>> hadn't noticed before that highcharts is also making svg which is
>> >> >>>> partly why they look so nice.
>> >> >>>>
>> >> >>>> In particular check out the graphing/plotting/mixture tabs.  I
>> >> >>>> don't
>> >> >>>> think there can be a much easier open licenced way to make vector
>> >> >>>> graphic, w3c standard svg charts than this :-)
>> >> >>>>
>> >> >>>> What do you think Jan?  Would this meet your requirements?
>> >> >>>>
>> >> >>>> Cheers
>> >> >>>> Bob
>> >> >>>>
>> >> >>>> On 15 May 2010 11:39, Bob Jolliffe <bobjolliffe@xxxxxxxxx> wrote:
>> >> >>>> > On 14 May 2010 15:07, Knut Staring <knutst@xxxxxxxxx> wrote:
>> >> >>>> >> On Fri, May 14, 2010 at 3:40 PM, Bob Jolliffe
>> >> >>>> >> <bobjolliffe@xxxxxxxxx>
>> >> >>>> >> wrote:
>> >> >>>> >>> highcharts look very beautiful but I think Knut is right.  I
>> >> >>>> >>> don't
>> >> >>>> >>> think we could use it.
>> >> >>>> >>>
>> >> >>>> >>> The flot thing looks a bit primitive :-(
>> >> >>>> >>
>> >> >>>> >> The commercial alternatives are indeed more polished, but I
>> >> >>>> >> think
>> >> >>>> >> this
>> >> >>>> >> may easily cover many of our needs - perhaps to be supplemented
>> >> >>>> >> at
>> >> >>>> >> some later stage. Here are some examples:
>> >> >>>> >>
>> >> >>>> >> http://people.iola.dk/olau/flot/examples/stacking.html
>> >> >>>> >> http://groups.google.com/group/flot-graphs/msg/b56101eb1375d1da
>> >> >>>> >>
>> >> >>>> >> There is also flotr:
>> >> >>>> >> http://solutoire.com/flotr/docs/
>> >> >>>> >>
>> >> >>>> >>
>> >> >>>> >>> Have you looked at rendering charts in svg?  I see there are a
>> >> >>>> >>> few
>> >> >>>> >>> javascript (http://keith-wood.name/svggraphRef.html) , java
>> >> >>>> >>> and
>> >> >>>> >>> even
>> >> >>>> >>> xslt libaries (Dave pawson's
>> >> >>>> >>> http://www.dpawson.co.uk/graph2svg/index.html#intro is
>> >> >>>> >>> excellent
>> >> >>>> >>> but
>> >> >>>> >>> sadly xslt 2.0) out there to do that, and being an open
>> >> >>>> >>> standard
>> >> >>>> >>> we
>> >> >>>> >>> can customize to our heart's content.
>> >> >>>> >>
>> >> >>>> >> SVG is definitely a contender - but looks like it may take some
>> >> >>>> >> more
>> >> >>>> >> work to get going in terms of what we are currently looking
>> >> >>>> >> for,
>> >> >>>> >
>> >> >>>> > Its not really that complicated.  If you use your favorite
>> >> >>>> > graphing
>> >> >>>> > program to create a template (I use gnuplot with terminal type
>> >> >>>> > svg
>> >> >>>> > but
>> >> >>>> > there are probably more modern alternatives) then you can
>> >> >>>> > relatively
>> >> >>>> > easily use this as a base and then use whatever programmatic
>> >> >>>> > means
>> >> >>>> > to
>> >> >>>> > update the actual data series representation in the chart.  See
>> >> >>>> > for
>> >> >>>> > example the last three data chunks (actually line drawing) in
>> >> >>>> > the
>> >> >>>> > markup of the attached.  This could be updated dynamically via
>> >> >>>> > javascript/ajax on the client side or on the server side
>> >> >>>> > depending
>> >> >>>> > on
>> >> >>>> > the use case.
>> >> >>>> >
>> >> >>>> > Cheers
>> >> >>>> > Bob
>> >> >>>> >
>> >> >>>> > And the good news is that native svg support is finally coming
>> >> >>>> > in
>> >> >>>> > IE9.
>> >> >>>> >  Its already in the platform review
>> >> >>>> > http://ie.microsoft.com/testdrive/
>> >> >>>> >
>> >> >>>> >>so
>> >> >>>> >> maybe a good strategy could be to for flot now and move in the
>> >> >>>> >> direction of SVG a bit later on?
>> >> >>>> >>
>> >> >>>> >> Knut
>> >> >>>> >>
>> >> >>>> >>
>> >> >>>> >>> Regards
>> >> >>>> >>> Bob
>> >> >>>> >>>
>> >> >>>> >>> On 14 May 2010 13:59, Knut Staring <knutst@xxxxxxxxx> wrote:
>> >> >>>> >>>> It seems the best alternative might be this JQuery library
>> >> >>>> >>>> (MIT
>> >> >>>> >>>> licensed, so no problem):
>> >> >>>> >>>> http://code.google.com/p/flot/
>> >> >>>> >>>>
>> >> >>>> >>>> Knut
>> >> >>>> >>>>
>> >> >>>> >>>> On Fri, May 14, 2010 at 2:32 PM, Knut Staring
>> >> >>>> >>>> <knutst@xxxxxxxxx>
>> >> >>>> >>>> wrote:
>> >> >>>> >>>>> Hm...does not look good from a licensing point of view, I'm
>> >> >>>> >>>>> afraid,
>> >> >>>> >>>>> since we want this to be used by both governments and anyone
>> >> >>>> >>>>> else.
>> >> >>>> >>>>> I
>> >> >>>> >>>>> think we must try and find another alternative
>> >> >>>> >>>>> http://www.highcharts.com/license
>> >> >>>> >>>>>
>> >> >>>> >>>>> Knut
>> >> >>>> >>>>>
>> >> >>>> >>>>> On Fri, May 14, 2010 at 2:26 PM, Jan Henrik Øverland
>> >> >>>> >>>>> <janhenrik.overland@xxxxxxxxx> wrote:
>> >> >>>> >>>>>> The charts included in Ext3 require a Flash plugin. Thus I
>> >> >>>> >>>>>> decided
>> >> >>>> >>>>>> to use
>> >> >>>> >>>>>> Highcharts (http://www.highcharts.com) instead, which is
>> >> >>>> >>>>>> pure
>> >> >>>> >>>>>> JavaScript and
>> >> >>>> >>>>>> afaik wouldn't cause any licence issues. Would be nice if
>> >> >>>> >>>>>> the
>> >> >>>> >>>>>> licence gurus
>> >> >>>> >>>>>> could have a look, tho.
>> >> >>>> >>>>>>
>> >> >>>> >>>>>>
>> >> >>>> >>>>>> On Fri, May 14, 2010 at 1:59 PM, <noreply@xxxxxxxxxxxxx>
>> >> >>>> >>>>>> wrote:
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>> Merge authors:
>> >> >>>> >>>>>>>  Jan Henrik Øverland (janhenrik-overland)
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>> ------------------------------------------------------------
>> >> >>>> >>>>>>> revno: 1855 [merge]
>> >> >>>> >>>>>>> committer: Jan Henrik Overland
>> >> >>>> >>>>>>> <janhenrik.overland@xxxxxxxxx>
>> >> >>>> >>>>>>> branch nick: trunk
>> >> >>>> >>>>>>> timestamp: Fri 2010-05-14 13:57:55 +0200
>> >> >>>> >>>>>>> message:
>> >> >>>> >>>>>>>  (GIS) Line chart for several periods implemented.
>> >> >>>> >>>>>>> added:
>> >> >>>> >>>>>>>  dhis-2/dhis-support/dhis-support-i18n/
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>  dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetMapValuesByMapAndFeatureIdAction.java
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/highcharts/
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/highcharts/Ext.ux.HighChart.js
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/highcharts/adapter-extjs.js
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/highcharts/highcharts.js
>> >> >>>> >>>>>>> modified:
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>  dhis-2/dhis-api/src/main/java/org/hisp/dhis/aggregation/AggregatedMapValue.java
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>  dhis-2/dhis-api/src/main/java/org/hisp/dhis/datamart/DataMartStore.java
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>  dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MappingService.java
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>  dhis-2/dhis-services/dhis-service-datamart-default/src/main/java/org/hisp/dhis/datamart/jdbc/JdbcDataMartStore.java
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>  dhis-2/dhis-services/dhis-service-mapping/src/main/java/org/hisp/dhis/mapping/DefaultMappingService.java
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>  dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/objectmapper/AggregatedMapValueRowMapper.java
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>  dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetMapValuesByLevelAction.java
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>  dhis-2/dhis-web/dhis-web-mapping/src/main/java/org/hisp/dhis/mapping/action/GetMapValuesByMapAction.java
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>  dhis-2/dhis-web/dhis-web-mapping/src/main/resources/META-INF/dhis/beans.xml
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>  dhis-2/dhis-web/dhis-web-mapping/src/main/resources/struts.xml
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/jsonAggregatedMapValues.vm
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/jsonminAggregatedMapValues.vm
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/index.html
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/mapping/script/index.js
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/dhis-web-mapping/resources/mapfish/widgets/Shortcuts.js
>> >> >>>> >>>>>>> The size of the diff (1923 lines) is larger than your
>> >> >>>> >>>>>>> specified
>> >> >>>> >>>>>>> limit of
>> >> >>>> >>>>>>> 1000 lines
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>> --
>> >> >>>> >>>>>>> lp:dhis2
>> >> >>>> >>>>>>> https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>> Your team DHIS 2 developers is subscribed to branch
>> >> >>>> >>>>>>> lp:dhis2.
>> >> >>>> >>>>>>> To unsubscribe from this branch go to
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>> https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
>> >> >>>> >>>>>>>
>> >> >>>> >>>>>>> _______________________________________________
>> >> >>>> >>>>>>> Mailing list: https://launchpad.net/~dhis2-devs
>> >> >>>> >>>>>>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>> >> >>>> >>>>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>> >> >>>> >>>>>>> More help   : https://help.launchpad.net/ListHelp
>> >> >>>> >>>>>>
>> >> >>>> >>>>>>
>> >> >>>> >>>>>> _______________________________________________
>> >> >>>> >>>>>> Mailing list: https://launchpad.net/~dhis2-devs
>> >> >>>> >>>>>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>> >> >>>> >>>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>> >> >>>> >>>>>> More help   : https://help.launchpad.net/ListHelp
>> >> >>>> >>>>>>
>> >> >>>> >>>>>>
>> >> >>>> >>>>>
>> >> >>>> >>>>>
>> >> >>>> >>>>>
>> >> >>>> >>>>> --
>> >> >>>> >>>>> Cheers,
>> >> >>>> >>>>> Knut Staring
>> >> >>>> >>>>>
>> >> >>>> >>>>
>> >> >>>> >>>>
>> >> >>>> >>>>
>> >> >>>> >>>> --
>> >> >>>> >>>> Cheers,
>> >> >>>> >>>> Knut Staring
>> >> >>>> >>>>
>> >> >>>> >>>> _______________________________________________
>> >> >>>> >>>> Mailing list: https://launchpad.net/~dhis2-devs
>> >> >>>> >>>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>> >> >>>> >>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>> >> >>>> >>>> More help   : https://help.launchpad.net/ListHelp
>> >> >>>> >>>>
>> >> >>>> >>>
>> >> >>>> >>
>> >> >>>> >>
>> >> >>>> >>
>> >> >>>> >> --
>> >> >>>> >> Cheers,
>> >> >>>> >> Knut Staring
>> >> >>>> >>
>> >> >>>> >
>> >> >>>
>> >> >>>
>> >> >>> _______________________________________________
>> >> >>> Mailing list: https://launchpad.net/~dhis2-devs
>> >> >>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>> >> >>> Unsubscribe : https://launchpad.net/~dhis2-devs
>> >> >>> More help   : https://help.launchpad.net/ListHelp
>> >> >>>
>> >> >>
>> >> >>
>> >> >> _______________________________________________
>> >> >> Mailing list: https://launchpad.net/~dhis2-devs
>> >> >> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>> >> >> Unsubscribe : https://launchpad.net/~dhis2-devs
>> >> >> More help   : https://help.launchpad.net/ListHelp
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > Cheers,
>> >> > Knut Staring
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Cheers,
>> >> Knut Staring
>> >
>> >
>>
>>
>>
>> --
>> Cheers,
>> Knut Staring
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~dhis2-devs
> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dhis2-devs
> More help   : https://help.launchpad.net/ListHelp
>
>



Follow ups

References