Appian Community
Site
Search
Sign In/Register
Site
Search
User
DISCUSS
LEARN
SUCCESS
SUPPORT
Documentation
AppMarket
More
Cancel
I'm looking for ...
State
Not Answered
Replies
11 replies
Subscribers
8 subscribers
Views
3431 views
Users
0 members are here
Share
More
Cancel
Related Discussions
Home
»
Discussions
»
General
If previous processes are not yet completed if you change existing CDT(Adding ad
shanmukhaprasads
over 8 years ago
If previous processes are not yet completed if you change existing CDT(Adding additional columns) and Interface(example adding an extra parameter ) , User tries to access the same process then what happens and if it is a problem how can solve these type of problems ?
Thank you.
OriginalPostID-191920
OriginalPostID-191920
Discussion posts and replies are publicly visible
Parents
0
marky
over 8 years ago
Not sure if you have come across a specific scenario, but passing the arguments via keyword is really a good approach as per my knowledge. I am even sure that Appian recommends this kind of approach. Because this approach, in the first place prevents breakage of instances when there are some changes in rule inputs which may or may not significantly influence the output. I would like to oppose to the statement that it's dangerous and further would like to say that it's suggested to prevent breakage. We can see this implementation in many examples in the documentation as well.
It doesn't matter if Appian recommends it or uses this technique, it is dangerous in practice in that it creates defects that are extremely difficult to detect in testing but will be found in production.
If you pass by reference, the defects will be shown in Appian in both the interface designer and in tempo with the following error message: "Expression evaluation error at function rule!ruleName: Rule 'ruleName' has X parameters, but instead passed X-1 parameters." This means that Appian helps you in discovering that you didn't update your rule references when you updated your rules.
if you pass by keyword, you can only find error messages through extremely thorough testing including edge case testing. In practice, this level of testing is almost never done, therefore defects happen in production.
Blindly following what other people say instead of learning on your own why or why not to use techniques is not a good approach. I suggest you take the time to learn best practices based on personal experience, or listen to people that have the personal experience.
In the end, this topic doesn't matter much in version 7.9 or above. Learning to check dependencies of changed objects and update all of those dependencies is the best practice, whether you use pass by reference or pass by keyword.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
Reply
0
marky
over 8 years ago
Not sure if you have come across a specific scenario, but passing the arguments via keyword is really a good approach as per my knowledge. I am even sure that Appian recommends this kind of approach. Because this approach, in the first place prevents breakage of instances when there are some changes in rule inputs which may or may not significantly influence the output. I would like to oppose to the statement that it's dangerous and further would like to say that it's suggested to prevent breakage. We can see this implementation in many examples in the documentation as well.
It doesn't matter if Appian recommends it or uses this technique, it is dangerous in practice in that it creates defects that are extremely difficult to detect in testing but will be found in production.
If you pass by reference, the defects will be shown in Appian in both the interface designer and in tempo with the following error message: "Expression evaluation error at function rule!ruleName: Rule 'ruleName' has X parameters, but instead passed X-1 parameters." This means that Appian helps you in discovering that you didn't update your rule references when you updated your rules.
if you pass by keyword, you can only find error messages through extremely thorough testing including edge case testing. In practice, this level of testing is almost never done, therefore defects happen in production.
Blindly following what other people say instead of learning on your own why or why not to use techniques is not a good approach. I suggest you take the time to learn best practices based on personal experience, or listen to people that have the personal experience.
In the end, this topic doesn't matter much in version 7.9 or above. Learning to check dependencies of changed objects and update all of those dependencies is the best practice, whether you use pass by reference or pass by keyword.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
Children
No Data