It is yet another enterprise related app dilemma.
Most professional apps use report writers that are way too complicated for the general user, even though most of them are wysiwyg. Some simple apps only have fixed templates that are not customizable.
In an effort to solve this long standing problem, we picked the middle ground solution to the problem and that is template based printing.It's kinda like how blogging engines or forum engines work, templates may contain simple logic code and contain simple settings a user can easily tweak without having to know any code. A very good sample how it works is looking at this site: www.squarespace.com
However, unlike a website, most CRUD app reports have data constraints, certain selection criteria such as groups or categories. Eg. I want a report of all chairs from the database.
The question is, should the selection criteria(s) be included in the templates? Having the criteria(s) separate will allow better control over the data that is going to be printed. This paradigm is used through out the app but without criteria selection. Eg. Invoice printing but with templates
As programmers, we tend to think that the presentation(templates) and logic(in this case the data) should be separate. What will you do in this situation?
PS:Templates generates PDF files and therefore unable to show live with the templates.