From OpenNMS
Currently scheduling of reports can be achieved by creating a cronjob on the system level and initiate the generation of the report. Add a Possibility to select a report and schedule the generation of that report in the webUI.
The user should be able to select options for the frequency of the report at minimum, one-time, daily, weekly, monthly, or yearly. This could be accomplished with either the Spring Quartz scheduler or the Java5 scheduler. At some point in time we need to centralize the scheduling.
Availability reports have a "horizon" of one day, this means that you can generate a report at any time "today" and it will contain availability data up to midnight last night.
Questions
- What about scheduling reports for particular time windows (one off reports for non-standard time periods).
- This use case implies that a user can generate reports for _any_ category so long as they are authenticated, but the next use case implies not.
- If not, then we need to introduce the notion of ownership of categories, which implies acegi
Initial Implementation
- All reports will be secheduled daily. Need a page that shows the schedule.
- New database table - report schedule - Used to load the scheduler.
- Contains:
- Report category
- Report type
- report format
- Report run date
- Report repeat interval
- Report file name
- User navigates to schedule reports page. Schedule reports page will show all reports that are currently scheduled, including the category, type and time that it is scheduled.
- Baisc Scheduler will schedule
- User can select a new report to be scheduled by selecting a category (from categories.xml), report type (html, pdf, svg and and time (drop down box for each).






