Custom Tasks
Custom Tasks
The config_custom_tasks.xml configuration file contains the specific stages where a plugin can be called. Dynamic information is available to the plugin through the LRM Context object (com.lingoport.lrm.customtask.LRMContext). The lrm-customtasktest.jar, located in the samples/CustomTask/ folder of your install directory, contains methods for testing out these different stages.
Configuration
The config_custom_tasks.xml has elements for each stage of the LRM process that allows for custom tasks. The stages are:
custom-tasks>
<stages>
<prep-kit>
<before-send-locale>
<!-- Tasks that will run BEFORE files are uploaded to the specified L10n Vendor -->
</before-send-locale>
<after-send-locale>
<!-- Tasks that will run AFTER files have been successfully uploaded to the specified L10n Vendor -->
</after-send-locale>
</prep-kit>
<notification>
<before-notify-changes>
<!-- Tasks that will run before the Notify Changes email is sent -->
</before-notify-changes>
<before-late-prep-kits>
<!-- Tasks that will run before the Late Prep Kit email is sent -->
</before-late-prep-kits>
</notification>
<import-kit>
<before-import-locale>
<!-- Tasks that will run before files for a specific locale are imported -->
</before-import-locale>
<after-import-locale>
<!-- Tasks that will run after files for a specific locale have been imported successfully -->
</after-import-locale>
</import-kit>
</stages>
</custom-tasks>
Syntax of Task element
The task element has the following attributes:
- url - the location of the jar file that contains the custom task
- class - the class library that is to be used
- method - the method that is to be called
- onerrorresumenext - if false then the process continues if there is an error that is thrown. If true then the process will stop with an error.
Example using the lrm-customtasktest.jar located in the install directory under samples/CustomTask
<task url="file:/C:/Lingoport/LRM-Server-3.0/samples/CustomTask/lrm-customtasktest.jar"
class="com.lingoport.lrm.customtask.test.CustomTaskTest"
method="testNoArgs"
onerrorresumenext="true"/>