|
Hey, I am trying to expand on the Vacation Request BPM tutorial. I've created the web model and synchronized it with the BPM model. Now I am trying to insert the logic for the "Verify Available Vacation Days" service task, by calculating the difference between startdate and enddate and comparing it to a "days" attribute that each user has. To make this work, I have created a new Process Parameter in the BPM model called "Days". In the web model, inside the module for the "Register Vacation Request", I want to retrieve the "days" attribute from the User entity and assign it to the "Days" process parameter, so that I can use it in the "Verify Available Vacation Days" service task. The problem is that I cannot retrieve the attribute inside the module. If I try this outside (in a pageview for example), it works without any problem. Inside the module the Selector unit returns no value (not only for the "days" attribute, but for any attribute). Is there something that I need to do first in order to make this work? Thank you, Mike |
|
Hi, the Get Unit is a Session Unit and it's used to retrieve the values stored in the Global Parameters. It is also a Content/Operation Unit. You can find more information about the Get Unit in this article of our wiki: Get Unit In order to retrieve the desired Attributes of the user, the Get Unit setted as Operation Unit must be linked to an unit of an operations chain. In order to follow a flow, the Units of the operations chain must be linked by OK Links. In your case in fact the Get Unit and the Selector Unit are outside the Page and the Selector Unit is not reached by an OK Link (i.e. the Ok Link outgoing from the Input Collector Unit). The Selector Unit is not executed. In order to solve this problem you can try to cut the Get Unit and the Selector Unit and paste them to the page. In this way in fact the units will be executed during the load of the page. Excellent, that did it! I can finally get on with my project. Thank you!
(05 Apr, 17:49)
aliens
|
|
Can you show me, copying and pasting the screenshot of the activity module here? Have you already checked if there are exceptions in log files? If you need to understand how debug the application using log files try to follow this link: http://wiki.webratio.com/index.php/Debugging_with_application%27s_logs |
|
Hey mario, Here are two screenshots of the activity module and the output result: screenshots. It's basically the Vacation Request tutorial, with the following changes:
However, as you can see from the output screenshot, the Days field remains empty when I try to register a new vacation request. The days column in the database exists and is populated, so this should work. Anything else I need to do to make it work? Thank you, Mike |


Does anyone else have this problem? Perhaps it is something I'm doing wrong, but I can't figure out what.
I'm saying this because service tasks have to be implemented somehow, and often is the case where it requires the retrieval of database attributes, so it seems weird that this wouldn't be possible inside a module.
Cheers,
Mike