Changes between Version 37 and Version 38 of BluePrint/Reporting


Ignore:
Timestamp:
01/06/12 23:40:05 (13 years ago)
Author:
Michael Howden
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BluePrint/Reporting

    v37 v38  
    11[[TOC]]
    2 = Blueprint for Reporting/Charting =
     2= Blueprint - Data Analysis, Visualisation and Reporting =
     3
     4== Description ==
     5== Requirement ==
    36
    47We need to be able to generate Pretty & Informative Reports from the database.
     
    811These can be implemented as an [wiki:S3XRC_ResourceReport S3XRC Custom method]
    912
    10 == Filtering ==
     13=== Filtering ===
    1114We will want to be able to customise reports by allowing the user to filter the data (this could include fields in the resource, components and reference resources)
    1215
     
    1619https://code.launchpad.net/~michael-howden/sahana-eden/adpc
    1720
    18 
    19 === Location Filtering ===
     21==== Location Filtering ====
    2022We need to be able to fitler by a location so that it shows data in all locations which are children of that location (eg villages in a district)
    2123
    22 == Charts ==
     24== Use-Cases ==
     25
     26== Design ==
     27
     28=== Custom s3xrc method ===
     29The custom s3xrc Would allow quick visualisations of resources on the server. There would need to be vars specifying which variables go in which axis in each resource.
     30
     31=== Report model/view/controller ===
     32This module could provide the user with the ability to create and embed graphs in their instance of sahana. The idea is to provide the user with the ability display any set of data; it need not be tied to a resource or may be a more complex combination of variables than provided in the sahana framework. The graphs could be in svg format allowing for interactivity. The files themselves could also be stand alone so that they could be easily exported and saved locally.
     33
     34The basic workflow would be:
     35  * Create a graph with a web-form or file upload using report/scatter/create. There numerous settings that could be altered to create different a looks and feel. 
     36    * Or it can be created with a call to the url with the data as vars, such as report/scatter/create?data={"x": [1, 2, 3], "y": [3, 4, 3], "title": "Test Title"}&settings={"width": 300, "height": 200}
     37  * An entry gets created in the database for the graph. It can be retrieved an and inserted into a web-page in an object or embed tag, such as <object data="/eden/report/scatter/get.svg?id=1" />
     38    * These could appear inside popups on the map
     39    * Or, the graphs can be represented without an entry in the database using report/scatter/create?view.svg={"x": [1, 2, 3], "y": [3, 4, 3], "title": "Test Title"}&settings={"width": 300, "height": 200}
     40
     41== Implementation ==
     42
     43=== Charts ===
    2344For quick visualisations in the browser, we have included [http://www.jqplot.com jqPlot].
    2445
     
    4667 * [http://www.web2pyslices.com/main/slices/take_slice/12 Cairo] can generate nice charts from the back-end
    4768
    48 == Custom s3xrc method ==
    49 The custom s3xrc Would allow quick visualisations of resources on the server. There would need to be vars specifying which variables go in which axis in each resource.
    50 
    51 == Report model/view/controller ==
    52 This module could provide the user with the ability to create and embed graphs in their instance of sahana. The idea is to provide the user with the ability display any set of data; it need not be tied to a resource or may be a more complex combination of variables than provided in the sahana framework. The graphs could be in svg format allowing for interactivity. The files themselves could also be stand alone so that they could be easily exported and saved locally.
    53 
    54 The basic workflow would be:
    55   * Create a graph with a web-form or file upload using report/scatter/create. There numerous settings that could be altered to create different a looks and feel. 
    56     * Or it can be created with a call to the url with the data as vars, such as report/scatter/create?data={"x": [1, 2, 3], "y": [3, 4, 3], "title": "Test Title"}&settings={"width": 300, "height": 200}
    57   * An entry gets created in the database for the graph. It can be retrieved an and inserted into a web-page in an object or embed tag, such as <object data="/eden/report/scatter/get.svg?id=1" />
    58     * These could appear inside popups on the map
    59     * Or, the graphs can be represented without an entry in the database using report/scatter/create?view.svg={"x": [1, 2, 3], "y": [3, 4, 3], "title": "Test Title"}&settings={"width": 300, "height": 200}
    60 
    61 == Map ==
     69=== Map ===
    6270We want to be able to provide reports suitable for displaying inside popups on Map Polygons:
    6371 * [wiki:BluePrintGISFeatureLayers]
    6472
    65 == PDF ==
     73=== PDF ===
    6674For more formal reports (which can also be retrieved via webservices using the PDF representation of the REST Controller), we currently use [http://reportlab.org ReportLab]. This also supports Graphics (via [http://www.pythonware.com/products/pil/ PIL])
    6775
     76=== Spreadsheets ===
     77Excel files are currently written using [http://pypi.python.org/pypi/xlwt xlwt].
     78
     79== References ==
     80
     81=== Other Available Tools ===
     82=== PDF ===
    6883Other options:
    6984 * http://www.reynoldsftw.com/2009/02/6-jquery-chart-plugins-reviewed/
     
    7792  * [http://osdir.com/ml/python.reportlab.user/2003-10/msg00206.html Recommend ReportLab over FOP]
    7893
    79 == Spreadsheets ==
    80 Excel files are currently written using [http://pypi.python.org/pypi/xlwt xlwt]. Other options:
     94==== Spreadsheets ====
    8195 * [http://sourceforge.net/projects/pyexcelerator PyExcelerator]
    8296 * Docs on Python Excel libraries: http://www.python-excel.org/
    8397 * Thread recommending xlwt: http://groups.google.com/group/web2py/browse_thread/thread/375307e92df40ca8
    84 
    8598 * [http://appyframework.org/pod.html Pod] to create Open Document Format
    8699
    87 == Flash ==
     100==== Flash ====
    88101Could be something to use Flash? (although best-avoided, if possible, to minimise client support)
    89102 * PyAMF: http://pyamf.org
     
    94107  * from Python: http://code.google.com/p/open-flash-chart-python/
    95108
    96 == Relevant Links ==
    97 Phase2 version:
    98  * http://wiki.sahanafoundation.org/doku.php?id=dev:reportinglib
     109=== Sahana Phase 2 ===
     110http://wiki.sahanafoundation.org/phase2/doku.php/doc:reports:english
    99111
    100112----