Start page / Plug-In Development / Server Plug-Ins / Schedule Tasks

Overview

FirstSpirit offers scheduling functionality which allows definition of task sets which may be executed on a schedule or on-demand. FirstSpirit provides a core set of tasks which may be added to a schedule, but in order to support project requirements, the system also allows definition of custom tasks which may be implemented using FirstSpirit APIs.

Structure

A custom schedule task consists of several implementations of FirstSpirit Access API interfaces:

  • Data Object
    The data object contains custom data required during the run-time of a task instance.
  • Application
    The schedule task application represents the core of a schedule task definition. It provides metadata about the task, such as name and description, and may optionally specify an icon and whether or not it may run outside of a project context.
  • Executor
    The executor class provides functionality used upon execution of the task. It supports actual execution as well as a validation run which may be used to test task functionality.
  • Form Object and Factory (optional)
    The form object provides a custom configuration user interface for the task. This object and its associated factory object are optional.

Component Definition in module.xml

In contrast to most other FirstSpirit plug-in types, schedule task plug-ins require a somewhat more complex component descriptor in a FirstSpirit Module's (FSM) module.xml file.

The schedule task plug-in is specified as a public component, referencing the class de.espirit.firstspirit.module.ScheduleTaskSpecification. The plug-in-specific classes are provided inside a configuration block, and ScheduleTaskSpecification will register the given classes within FirstSpirit.

<public>
<name>MyScheduleTask</name>
<description>Custom schedule task implementation</description>
<class>de.espirit.firstspirit.module.ScheduleTaskSpecification</class>
<configuration>
<!-- Mandatory reference to a schedule task application class. -->
<application>path.to.MyScheduleTaskApplication</application>

<!-- Reference to a schedule task form factory class is optional! -->
<form>path.to.MyScheduleTaskFormFactory</form>
</configuration>
</public>

Schedule Management

See Schedule Management for information on how to use your schedule task.

© 2005 - 2024 Crownpeak Technology GmbH | All rights reserved. | FirstSpirit 2024.13 | Data privacy