No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
ServerSide actions are used when you want to delegate | ServerSide actions are used when you want to delegate work to a server. | ||
Reasons for delegating to the server might be that you want a single performer - the server. This is the case when assigning numbers that must be unique, for example. | Reasons for delegating to the server might be that you want a single performer - the server. This is the case when assigning numbers that must be unique, for example. |
Revision as of 06:45, 11 October 2023
ServerSide actions are used when you want to delegate work to a server.
Reasons for delegating to the server might be that you want a single performer - the server. This is the case when assigning numbers that must be unique, for example.
On the ViewModel Root class, choose the action "Edit criterias for server side execute".
Then "Make available for Server side execute".
Now you can set:
Interval == how often is this checked by the server
Serialized Blocking == when true, the job should be small and quick - it is done within the main loop of server actions. If the job is long-running/slow it is better to leave it as FALSE so that the server responds to admin events faster (evolve, check checksum, etc)
Max Answers == The PS Ocl expression will return this many at most - -1 is unlimited.
Pre EAL == Action language that will be executed before PS-OCL. One example of usage is:
-- You do not need anthing here but a good example is if you want to limit on a Time: vYesterday:=DateTime.Today.AddDays(-1) -- vYesterday must be a ViewModel variable
PS OCL == the expression the server will run every "Interval"-second, just after the Pre EAL has executed. The result from the expression should be a list of CLASS of the same CLASS that your ViewModel root has. For each item in the result, a list of the ViewModel will be created. Its actions will be executed in order. Any changed state will be automatically saved to the database.
Example: