Scheduling

The Schedule Module allows certain actions to be performed at a given point in time - either as a one-off date or a repeated activity.

important

The Schedule Module 'wraps' all the Modules that include scheduling functionality into one place

Schedules are used in these Modules:

Reminders

The Schedule Module faciliates the creation of scheduled Reminders so that users don't forget to do important grid actions.

Reminders are similar to Alerts but run according to a predefined Schedule rather than being automatically triggered by data (or other) changes.

note

When invoked the Reminder is converted into an Alert and displays in the Alert Toolbar and ToolPanel

The Reminder is defined as follows:

PropertyDescription
DisplayNotificationDisplays Reminder as a Toast Notification
HeaderReminder header text
MessageReminder body text
MessageTypeType of Message - 'Success', 'Info', 'Warning' or 'Error'
tip

The Schedule can be either a one-off date, or it can be a Recurring event (e.g. every Monday at 8am, or every day at 17:00).

const demoConfig: PredefinedConfig = {
Schedule: {
Reminders: [
{
Reminder: {
Header: 'Update Invoices',
Message: 'Check all invoices are accurate',
MessageType: 'Error',
DisplayNotification: true,
},
ScheduleType: 'Reminder',
Schedule: {
DaysOfWeek: [1, 2, 3, 4, 5],
Hour: 22,
Minute: 6,
},
},
],
},
} as PredefinedConfig;
important

The AlertFired Event is published by AdapTable each time any alert is triggered - this will specify whether it was caused by a Reminder

Reports

Reports created in the Export Module can aslo be scheduled to run at a given time or day(s).

note

This applies to System, User and Custom reports.

const demoConfig: PredefinedConfig = {
Schedule: {
ReportSchedules: [
{
ScheduleType: 'Report',
ReportName: 'All Data',
ExportDestination: 'CSV',
Schedule: {
DaysOfWeek: [1, 2, 3, 4, 5],
Hour: 12,
Minute: 30,
},
},
],
},
} as PredefinedConfig;

UI Elements

Schedule includes the following UI Elements:

  • Popup - Shows a list of any existing Reports, Reminders (and other Adaptable Objects) which have attached schedules. Each row contains an edit button to start the relevant wizard. Plus an Add button to start the Wizard for the type of Schedule required.

UI Entitlements

UI Entitlements behaviour is as expected for Full and Hidden Access Levels.

The ReadOnly Entitlement behaviour is that Schedules will be run as specified, but Users cannot manage or suspend them.

note

Schedule also requires the Module connected to the object in the schedule to have a Full Entitlement, e.g. you cannot create a new Schedule for a Report if Export Module is ReadOnly

Schedule Predefined Config

This section of State contains a number of different Schedules - one for each Module:

PropertyDescription
Glue42SchedulesSchedules connected to Glue42 exports - available if Glue42 plugin is running
IPushPullSchedulesSchedules connected to ipushpull Reports - available if ipushpull plugin is running
OpenFinSchedulesSchedules connected to OpenFin data exports - available if OpenFin plugin is running
RemindersSchedules connected to Reminders - Alerts that fire at set times
ReportSchedulesSchedules connected to Reports (created in the Export function)

A Schedule object is defined as follows:

PropertyDescription
DaysOfWeekDays on which Shedule will run
HourHour the Schedule will run
MinuteMinute the Schedule will run
OneOffDateA one off date on which the Schedule will run

Schedule API

MethodDescription
addGlue42Schedule(glue42Schedule)Add Glue42-based Schedule
addIPushPullSchedule(iPushPullSchedule)Add ipushpull-based Schedule
addOpenFinSchedule(openFinSchedule)Add OpenFin-based Schedule
addReminderSchedule(reminderSchedule)Adds Reminder-based Schedule
addReportSchedule(reportSchedule)Adds Report / Export Schedule
applySchedule(schedule, scheduleType)Applies the Schedule of given type
deleteGlue42Schedule(glue42Schedule)Delete Glue42-based Schedule
deleteIPushPullSchedule(iPushPullSchedule)Delete ipushpull-based Schedule
deleteOpenFinSchedule(openFinSchedule)Delete OpenFin-based Schedule
deleteReminderSchedule(reminderSchedule)Deletes Reminder-based Schedule
deleteReportSchedule(reportSchedule)Deletes Report / Export Schedule
editGlue42Schedule(glue42Schedule)Edit Glue42-based Schedule
editIPushPullSchedule(iPushPullSchedule)Edit ipushpull-based Schedule
editOpenFinSchedule(openFinSchedule)Edit OpenFin-based Schedule
editReminderSchedule(reminderSchedule)Edits Reminder-based Schedule
editReportSchedule(reportSchedule)Edits Report / Export Schedule
getAllActiveGlue42Schedule()Retrieves all active (not-suspended) Glue42-based Schedules from Schedule State
getAllActiveIPushPullSchedule()Retrieves all active (not-suspended) ipushpull-based Schedules from Schedule State
getAllActiveOpenFinSchedule()Retrieves all active (not-suspended) OpenFin-based Schedules from Schedule State
getAllActiveReminderSchedule()Retrieves all active (not-suspended) Reminder-based Schedules from Schedule State
getAllActiveReportSchedule()Retrieves all active (not-suspended) Report / Export Schedules from Schedule State
getAllGlue42Schedule()Retrieves all Glue42-based Schedules from Schedule State
getAllIPushPullSchedule()Retrieves all ipushpull-based Schedules from Schedule State
getAllOpenFinSchedule()Retrieves all OpenFin-based Schedules from Schedule State
getAllReminderSchedule()Retrieves all Reminder-based Schedules from Schedule State
getAllReportSchedule()Retrieves all Report / Export Schedules from Schedule State
getAllSchedule()Retrieves the Schedule section from Adaptable State
getAllSuspendedGlue42Schedule()Retrieves all suspended Glue42-based Schedules from Schedule State
getAllSuspendedIPushPullSchedule()Retrieves all suspended ipushpull-based Schedules from Schedule State
getAllSuspendedOpenFinSchedule()Retrieves all suspended OpenFin-based Schedules from Schedule State
getAllSuspendedReminderSchedule()Retrieves all suspended Reminder-based Schedules from Schedule State
getAllSuspendedReportSchedule()Retrieves all suspended Report / Export Schedules from Schedule State
getScheduleById(id)Retrieves Schedule by id
showSchedulePopup()Opens Schedule popup screen
suspendGlue42Schedule(glue42Schedule)Suspends Glue42-based Schedule
suspendIPushPullSchedule(iPushPullSchedule)Suspends ipushpull-based Schedule
suspendOpenFinSchedule(openFinSchedule)Suspends OpenFin-based Schedule
suspendReminderSchedule(reminderSchedule)Suspends Reminder-based Schedule
suspendReportSchedule(reportSchedule)Suspends Report / Export Schedule
unSuspendGlue42Schedule(glue42Schedule)Activates a suspended Glue42-based Schedule
unSuspendIPushPullSchedule(iPushPullSchedule)Activates a suspended ipushpull-based Schedule
unSuspendOpenFinSchedule(openFinSchedule)Activates a suspended OpenFin-based Schedule
unSuspendReminderSchedule(reminderSchedule)Activates a suspended Reminder-based Schedule
unSuspendReportSchedule(reportSchedule)Activates a suspended Report / Export Schedule

FAQ

Can I create Schedules in Adaptable State

Yes, and all Schedules are stored in Schedule State

More Information