As a user of Solicitor I want to be able to create reports (also) for subsets of applications.
This is useful e.g. for attribution documents which should contain only the components of a single application (e.g. if this is the attribution document to be included within a web app.)
To enable this functionality "reporting groups" shall be introduced. By default (and for compatibility reasons) each Application data shall be assigned to the reporting group "default".
Reporting for group "default" shall work exactly like today's reporting - there should be no difference in the reports - neither with respect to content nor with respect to the naming of the output file.
For reports (writers) which support reporting groups the underlying SQL statements need to be extended to support selecting only the data of Applications which belong to a given reporting group.
Such writers will be marked as enabled for reporting groups. The Application entity will be extended to hold the list of reporting groups that the corresponding application belongs to ("default" if nothing is defined).
When generating reports with writers that support reporting groups a separate report will be written for each defined reporting group. The name of the current reporting group might be used when determining the report name and is
available within the report templating (string "default" will be suppressed and not printed).
AC:
When a project does not define any Applications with specific reporting groups, then the behavior of Solicitor shall remain unchanged (as compared to today's functionality).
Writers which do not support reporting groups shall produce reports which are unchanged to today's functionality.
Writers which support reporting groups shall create separate reports for each reporting group defined in the project configuration.
It should be possible to include the name of the current reporting group when determining the file name of the report.
The name of the current reporting group should be available as a variable within the writers templating mechanism.
For each application one might define in the project configuration zero, one or even multiple reporting groups. In case of "zero" reporting groups the "default" reporting group shall be used.
The names / labels of reporting groups must only consist of characters (upper or lowercase), digits, spaces, hyphens or underscores.
As a user of Solicitor I want to be able to create reports (also) for subsets of applications. This is useful e.g. for attribution documents which should contain only the components of a single application (e.g. if this is the attribution document to be included within a web app.)
To enable this functionality "reporting groups" shall be introduced. By default (and for compatibility reasons) each Application data shall be assigned to the reporting group "default". Reporting for group "default" shall work exactly like today's reporting - there should be no difference in the reports - neither with respect to content nor with respect to the naming of the output file.
For reports (writers) which support reporting groups the underlying SQL statements need to be extended to support selecting only the data of Applications which belong to a given reporting group. Such writers will be marked as enabled for reporting groups. The Application entity will be extended to hold the list of reporting groups that the corresponding application belongs to ("default" if nothing is defined).
When generating reports with writers that support reporting groups a separate report will be written for each defined reporting group. The name of the current reporting group might be used when determining the report name and is available within the report templating (string "default" will be suppressed and not printed).
AC: