Scheduling a Customized Task Using User Task
In order to provide the means to run tasks defined outside of Logi JReport on Logi JReport Server, and to just use Logi JReport Server's schedule function, Logi JReport provides a task named User Task. With this task, you can implement a customized task with the schedule properties. After creating a class that implements the UserTask interface in the jet.server.api package and adding the class to the class path, you can then submit the task either from a server web page or by calling Server API methods. The task can then be run by the server at the scheduled times just as if it were a report.
To schedule a customized task using User Task:
- Create a task class that implements the UserTask interface and add the path of the class file to the ADDCLASSPATH variable in setenv.bat, which is located in
<install_root>\bin
. You can find the interface in the jet.server.api package available in<install_root>\help\api
. Logi JReport provides a demo class APIDemoDynamicExportTask.java in<install_root>\help\samples\APIServer
for your reference. - Create a task properties file defining the formats of exporting the task. For example, the content of the properties file is:
jrs.rst=result_rtf
jrs.pdf=true
jrs.text=true
jrs.excel=true
jrs.ps=true
jrs.html=result_html - Submit the task either from a server web page or by calling Server API methods. The task can then be run by the server.
- To submit the customized task from a server web page:
- On the Logi JReport Console > Resources page, browse to the desired report, put the mouse pointer over the report row and select the Schedule button on the floating toolbar. The Schedule dialog is then displayed.
- Specify the settings in the General, Publish, Conditions, and Duration tabs as required. Here the Publish tab settings should be switched to those of User Task by selecting the link on the right bottom of the tab. Then, the name of the task class file you have defined that implements the UserTask interface and the task properties that define the export formats must be provided. You can either input the task properties manually or import them from the task properties file that you have created.
- Upon finishing, select Finish to submit the task.
- To submit the customized task by API methods:
- Set the user task class name to the property value of APIConst.TAG_TASK_CLASS.
- Define the user task properties with the property APIConst.TAG_USER_TASK_PROP with the formats as follows: jrs.user_task_prop= jrs.rst=result_rtf&jrs.pdf=true&jrs.text=true&jrs.excel=true&jrs.ps=true&jrs.html=result_html. Since the jrs.user_task_prop is used to transfer multiple user task properties, the values set to this property must be formatted to be separated with "&" character.
- Set a display name for the class with the property APIConst.TAG_USER_TASK_DISPLAY_NAME.
- Except for the above properties, define the other schedule properties as you do with a default task, see APIDemoPublishRpt.java in
<install_root>\help\samples\APIServer
for reference. Then following the API demo you can submit a customized task on the server.
- To submit the customized task from a server web page:
Select My Tasks on the system toolbar. When the task is being performed, you can see a record of it in the Running table and on completion it will be put into the Completed table.
Note: You can either schedule to use the Default Task or the User Task at one time. If you specify to schedule a report as a default task, you will not be able to schedule it as a user task, and vice versa.