Matplotlib integration with a CMS : Zope

Hi All,

This is just a RFC for a project that's been in the back of my mind for a few
years now : integration of a data visualization system with a CMS. In general
terms, I think it would be nice to have the kind of functionnality reserved to
desktop backends TTW :). Of course, the stateless nature of HTTP makes some
things hard or impossible to achieve efficiently, but with "console type" web
applications sprouting all over the place now with the many AJAX frameworks out
there, I believe the time is ripe for at least a first try.

Over the last few months, I have become acquainted with Plone 2 as well as a
variety of Python utilities (including matplotlib!). I've recently been playing
with Mochikit (TurboGear's AJAX provider) within a Plone 2 environment. With
the Zope/Plone community moving towards a Zope 3 base that as far as I can tell
is closer to the rest of the Python world than Zope 2 is, I feel confident that
Zope will be a great system to incorporate a data visualization system into.

Does anyone have links/pointers to issues related to such an integration scheme
in general ? Is a broader integration of SciPy with a CMS like Zope unrealistic
? I'm approaching the problem from a layman's perspective that has a bit of
computer literacy. Maybe I could illustrate what I'm trying to achieve by an
example.

I have some sensors that measure a bunch of parameters (water quality, air
pollution ...). There is a bunch of locations where those sensors are either
deployed in situ or are used sporadically (e.g. a handheld instrument). I want
to store sensor descriptions in a CMS together with a host of related info
(calibration data, maintenance history) and be able to purpose a sensor's
representation in some standard form (e.g. SensorML). I want to store
measurement stations also as CMS objects (lat/lon, picture of the station,
instruments used ...). I'm currently storing Measurements as CMS objects as
well (contained in MeasurementStation objects), but that is temporary :
individual measurements will be stored in a standard relational DB.

Users can view measurements as tables and as graphics. What I'd like to do
eventually is to provide a full GUI for users to control their plot layout and
that's where the integration of a full-fledged data visualization system comes
into play. An easy solution would be to provide an invisible data download to
some temp directory so that users could use TkAgg on their desktops, but I'd
really like to avoid this "applet-style" solution and try and find an AJAX
solution : query the server for bits of data as needed.

Is anyone interested by this topic ? Sorry for potentially polluting this list,
but I couldn't find a better place ...

Yves Moisan