Extracts generated from Reports

From OpenPetra Wiki
Jump to navigation Jump to search

The idea

  • we should reduce the number of ways of calculating data in OpenPetra.
    • creating reports and creating extracts is quite similar. Find screens might also fall into this category.
    • advantage: saving the settings from the reports system allows us to have dynamic extracts as well, ie. to save the parameters that were used to create an extract.
  • the reports system needs a refactoring
    • some functions used in report module are needed by other modules as well
  • We could have extracts as an output method from reports (use the column with the partner keys to create an extract)
  • We could have the option to create a report/extract not from xml file, but from a C# function
    • perhaps loading a file from csharp\ICT\Petra\Server\sql

Implementation

client side

  • a normal yaml file for a report, with parameter tabs etc
    • perhaps a special button: generate extract, to avoid a report result screen to be displayed.
    • referencing either an .xml file for creating the report in xmlfiles, or the name of a dll and the static function to be called for calculating the data. Or using glue code?

server side

  • new way of calculating a report: a C# function that does all the collecting of data
    • complex sql statements can be stored in an external SQL file to increase readability (see csharp\ICT\Petra\Server\sql)
    • returns a TResultList similar to what the calculation of xml files did return

Prototype