Characteristics of the actions
Action with parameters
An action may require parameters. For example, the action called "Opening a project from the SCM" requires the name of the project to open.
The definition of these parameters is performed in the "General" tab of the description window of the action ("Description" from the popup menu of the action).
The parameters can be defined:
- As a "fixed" value: the value is specified in the action plan directly.
- As parameters passed during the execution of the action plan.
This parameter will be required to run the action plan.
For the name of the project to open, it must be specified in parameter by the developer.
Tip: If possible, the parameters should be defined when creating the action plans in order for these action plans to be re-used for different projects.
Managing the failures and errors
Important point of the action plan: defining the behavior if the action fails. Simple example: what to do when updating a window that is checked out in exclusive mode by a developer.
The management mode of errors that is the most consistent with the action is selected by default. You also have the ability to customize it. Let's take a look at the possible management modes of errors:
- Stop the execution of the action plan and save the error in the status report.
This management mode should be reserved for the major errors, a project that fails to open for example...: there is no need to try to continue. - Run the custom error process of the action plan.
This management mode allows you to manage a specific error mechanism. For example, send an SMS if an error occurs. - Save the error in the status report and continue the execution.
This management mode allows you to continue the execution of the action plan even if an error occurs.
For example, if a component is not updated (offline server, etc.), the action plan can continue. - Save for information but do not generate any error.
For example, when the audit detects that unused files are found in the project directory, this is not an error but it may be important to have this information.
If the action fails, you have the ability to select one or more persons to inform ("Message" tab of the description window of the action).
In any case, the owner of the action plan is informed of the execution result (success or failure).
Tip: To get all the potential errors of a project, you have the ability to use the "Save the error in the status report and continue" mode and a specific action: "Stop the execution if an error occurs". For example, if the synchronization of the templates is not performed, the error is saved and the action plan continues to run. In the rest of the action plan, if the recompilation detects some UI errors, these errors will be stored. Therefore, all the project errors are found in a single execution of the action plan.
Special case: Running a procedure in an action plan:
Depending on the result of the procedure, the action plan must be interrupted. The following code must be used in the WLanguage procedure:
IF bRes = False THEN
sErrorMessage is string = "Error in XXX function" + CR + ...
ErrorInfo(errSystemMessage)
ExceptionThrow(1, sErrorMessage)
END
Specific action: Running an action plan
You have the ability to run an action plan from another action plan.
This action may be useful to share the operations common to the WINDEV, WEBDEV and WINDEV Mobile projects.
For example, a specific action plan can be used to start WINDEV, WEBDEV or WINDEV Mobile according to a parameter. The useless actions can be disabled by
apDisableAction.
In this case:
- The action plan contains the 3 startups of the products.
- The initialization code of the action plan is as follows:
SWITCH pProductName
CASE ~= "WD"
// We don't want to start WEBDEV or WINDEV Mobile
apDisableAction(Start_WEBDEV)
apDisableAction(Start_WINDEV_Mobile)
CASE ~= "WB"
// We don't want to start WINDEV or WINDEV Mobile
apDisableAction(Start_WINDEV)
apDisableAction(Start_WINDEV_Mobile)
CASE ~= "WM"
// We don't want to start WINDEV or WEBDEV
apDisableAction(Start_WINDEV)
apDisableAction(Start_WEBDEV)
OTHER CASE
ExceptionThrow(1, "This type of project is not associated with a product")
END
WLanguage events associated with an action plan
Two events associated with an action plan:
| |
Event | Runtime condition |
---|
Initialization of action plan | Run before the execution of action plan. |
End of action plan | Run after the execution of action plan. |