Open Source Reporting tool

Does anyone know of a good opensource reporting tool that integrates easily with plone? I Want to create dynamic reports that can outputted as pdf or excel files.

What do you want to report from Plone content? Please describe your usecase in detail.

-aj

Possibly off-toic but I use pretty often

https://datatables.net/

for displaying tabular data coming from Plone or external sources.

Datatables.net provides direct output to Excel, PDF, JSON, Print out of the box with just a simple configuration option.

https://datatables.net/extensions/buttons/examples/initialisation/export.html

This is usually sufficient.

-aj

3 Likes

Can you direct me to references to do this, specifically how to input data into Plone, get data out of Plone, then display it in a Plone site using Datatables?

Please look at DataTables examples and documentation.

The short version: you can easily create a TABLE from Plone data using a catalog search using some browser view. DataTables can then turn this table into a data table using using one JS call. The package provides a zillion of options for customizing the behavior and its functionality...please look at the tons of examples and example configurations.

Editing is a bit more tricky. It provides some inline editing functionality afaik but we use the Editor plugin for DataTables which costs some USD (100 USD or so) for editing data and creating new rows. The serialization from JS to Zope Data is a bit tricky but doable...currently working on this myself for a project. You receive the data from editor plugin in terms of a dataset for DELETE|ADD|UPDATE and new to perform the related operation on top of the Plone API.

-aj

Can you explain if the data you want to report on is a) being collected via forms in plone b) plone content itself c) some other source of data.

Plomino is a good solution for (a)

The part where I am stuck is producing an HTML table on which DataTables can be applied. I don't know all the possibilities that Plone presents. Also this is for Plone 5. Here are the scenarios.

  1. Any user (anonymous or authenticated) enters data through a form. A Manager reviews the submission and either publishes, edits, or rejects the record.
  2. A Manager directly enters data as Plone content. This could be as
    a. an HTML table edited through TinyMCE, or
    b. some other Plone content type (I am not familiar with all the possibilities yet).
  3. A Manager uploads a CSV or tab-delimited file that :sparkles: magically :sparkles: gets converted to tabular data in an HTML table.

For Plomino, I found docs, but for an older version (1.17).
http://plomino.readthedocs.io/en/latest/

Does that version lack Plone 5 compatibility? On PyPI it was renamed to Products.CMFPlomino and the version that starts Plone 5 compatibility is 2.0a1.

The editing of a table through a DataTables UI is too advanced for me at this point, but it would be a sweet enhancement at a later time. I would be happy with just collecting data and outputting an HTML table.

Sorry for being arrogant but what is the problem with collecting data using a portal_catalog search and rendering the result as a table inside a browser view?...this is straight-forward (basic) stuff...

-aj

You're not arrogant. I haven't learned about portal catalog searches yet (nor a lot of other things about Plone), so it is neither a problem nor a solution, but an unknown to me. The omission did not mean it was a bad suggestion. Thanks for putting it forward.

Also I want to consider and evaluate possible options, which will take some time.

We are using JasperReports to generate pixelperfect reports.
We have simple BrowserView which renders reported content as xml that can be consumed by JasperStarter [1].
Reports are designer in Jaspersoft Studio [2].

[1] http://jasperstarter.cenote.de/index.html
[2] https://sourceforge.net/projects/jasperstudio/files/

At UW Oshkosh we created lots of "workflow sites" that used PloneFormGen and uwosh.pfg.d2c to create forms that, when submitted, generated Archetypes content items containing the form values, to which you could apply a custom workflow (also see plone.app.workflowmanager). You could add custom indexes that let you search for values in any of the fields, and you could create collections based on those indexes.

That would still work with Plone 5 despite P5 being Dexterity if you installed Archetypes (still works). Or you could do something equivalent with collective.easyform and there is an easyform -> Dexterity content mapping add on I forget the name of at the moment.

For pfg there's an add'on to create content tyoes for dexterity:

1 Like

thx Fred - that's the one! :slight_smile: