Scheduled Processes and Automated Routines¶
Current State¶
CONPROSOFT does not have any configured scheduled or automated processes in the delivered solution. There are no background jobs, nightly reports, or automated data routines running within the application.
Framework Capability¶
The RAD Framework includes a scheduling infrastructure (Scheduler, ScheduleStatus) within ApplicationServices.cs. Scheduled tasks can be configured as sys/schedules content items stored in the database. This capability is present but unused.
Automated Behaviour That Does Occur¶
Although there are no scheduled jobs, the following automated behaviours fire in response to user actions:
- Email notifications — triggered automatically after Insert or Update on relevant controllers (Leave Applications, Timesheets, Requisitions, Purchase Orders, Payments, Tasks, Issues). See Email Configurations for the full list.
- Project_Users auto-association — when a user creates a project record, they are automatically added to
Project_Usersfor that project. - Error logging (database) — all unhandled exceptions are automatically logged to the
Errorstable with a GUID reference.
SQL Server Agent (Recommended for Backups)¶
Database backups should be scheduled using SQL Server Agent jobs on the SQL Server instance. This is an infrastructure-level concern managed by the hosting provider or client IT, not by the application itself. See the Backup Strategy section for recommended backup frequency.
If Scheduled Tasks Are Added in Future¶
To add a scheduled process:
- Insert a
sys/schedulesrecord into theSiteContenttable via the RAD Framework or directly in the database. - Implement the corresponding server-side logic in a custom business rule or service method.
- Test in a non-production environment before deploying.
- Document the schedule name, trigger interval, and purpose in this section.
Scheduling Framework¶
The application leverages a generic scheduling capability to run automated tasks at defined intervals.
- Schedule configuration is typically stored as content items (
sys/schedules) in the database. ApplicationServices.csuses theSchedulerandScheduleStatustypes to evaluate and execute scheduled tasks.
Where configured, schedules can drive:
- Periodic report generation
- Data synchronisation tasks
- Housekeeping routines
Current Implementation¶
In the delivered solution:
- The framework for scheduling is present in
App_Code/Services/ApplicationServices.cs. - Actual configured schedules (if any) reside in the database and may vary per deployment.
If scheduled tasks are in use, document for each:
- Job name / purpose
- Trigger schedule (cron-like pattern or description)
- What it does (e.g. sends summary emails, cleans up temporary data)
- Where to monitor logs or exceptions
Adding or Modifying Schedules¶
To add or modify a scheduled process:
- Define or adjust the schedule configuration (
sys/schedulescontent or equivalent). - Implement or update the associated server-side logic (business rule or service method).
- Validate behaviour in a non-production environment.
- Document the change in this section.