As the system are added with more functionality, the need for a good report-tool will become increasing.
It should be a divided tool.
One part with the selection.
A flexible way to select on :
The selection should be with a pre selection and then multiselection.
And then free-text search facility for :
The output are the event-fields ( not system-eventfields ) plus a ( generated ) duration field ( how many hours are event ) plus i.e. a field from the category which could be a price.
two buttons ( HTML and CSV )
this produces a CSV file OR
a quick view ( html output, where You can filter and sort on columns ). From here You can print via the browsers print function.
The second tool are the report tool.
Via a file-manager-like-thing You can browse a report directory.
Here are (1,3 or more ) pre defined reports/layouts to choose between.
The user chooses a layout and press print, and a report are produced.
The user can copy and then alter a layout - in this way the userdefined layouts will not be overwritten when a new release comes.
When a user has created a new layout it will appear in the file-manager-like-thing.