Skip to content

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_Users for that project.
  • Error logging (database) — all unhandled exceptions are automatically logged to the Errors table with a GUID reference.

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:

  1. Insert a sys/schedules record into the SiteContent table via the RAD Framework or directly in the database.
  2. Implement the corresponding server-side logic in a custom business rule or service method.
  3. Test in a non-production environment before deploying.
  4. 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.cs uses the Scheduler and ScheduleStatus types 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:

  1. Define or adjust the schedule configuration (sys/schedules content or equivalent).
  2. Implement or update the associated server-side logic (business rule or service method).
  3. Validate behaviour in a non-production environment.
  4. Document the change in this section.