If previous processes are not yet completed if you change existing CDT(Adding ad

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
  • 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.
Reply
  • 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.
Children
No Data