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
9 replies
Subscribers
7 subscribers
Views
2642 views
Users
0 members are here
Share
More
Cancel
Related Discussions
Home
»
Discussions
»
General
I am facing a critical issue in Appian Process . We had deployed the application
nileshkumarg
over 8 years ago
I am facing a critical issue in Appian Process . We had deployed the application 4 months back with all thr SAIL forms and process model. Now after the new requirements and changes we made in the SAIL forms and process model we redeployed the application with the newer changes.
Now the issue is the old process which were already started are using the new SAIL forms which have the new Activity Parameter and Process Variable which are there is new Updated Process Model. Hence all the old instance are having issue,
Could you please let me know what needs to be done when we redeploy the applicatin with new funcationality ? Basically i want all the old process model to use the old version of the SAIL forms .
OriginalPostID-177591
OriginalPostID-177591
Discussion posts and replies are publicly visible
0
abhi.jana
Appian Employee
over 8 years ago
The only option i think would be to revert to using the old forms to fix your older instances, and then work on creating a different named form (rather than a different version of an existing form) and save and publish the model with this new form. That way the old instances won't be affected since they use an older PM version that has the old form.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Eduardo Fuentes
Appian Employee
over 8 years ago
For backwards compatibility, if the signature of the new SAIL Interface is changing I think it's better to create a new one with a new name (e.g. append the version as a suffix) and update the model to use the new version. This way only new instances will start using it.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
nileshkumarg
over 8 years ago
that means for every new deployment , i have to create the new SAIL form and update the model. Dont you think that it will create alot of work? And if let say my all the SAIL forms are changing it will create lot of effort to modify them
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
nileshkumarg
over 8 years ago
I feel Appian should come up with the better solution . Coz this is basic need for the new deployment. Consider the scenario wherein we have lot of SAIL form that changes with every requirement, If we follow the process that you mentioned, it will be a cumbersome task
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Eduardo Fuentes
Appian Employee
over 8 years ago
The way this works solves the problem where people would need to run process upgrade to migrate instances to a newer version of the models. The advantage of the interfaces is that no matter what version the process is on, it can still use the latest version of the interface which gives you an advantage to even correct bugs in the interface that will get propagated to running instances even if they were launched after the update.
You don't have to create a new SAIL form every time. What we are saying is that you have to do this only if the new one is not compatible with the previous version of the model.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Jyoti Mishra
over 8 years ago
Hi Nilesh,
Have you followed the key-value pair mapping which is an appian best practice for the process models?
I had faced this issue but eversince I have implemented this for all the process models, it no longer persists.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
satheeshm
over 8 years ago
Hi Nilesh,
you are upgrade the process. once create SAIL run every time.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Mike Schmitt
Certified Lead Developer
over 8 years ago
I'd like to tack on to @jyotim's comment and point out that if your SAIL form updates are too incremental to consider making differently-named versions, you should be able to create "safe" upgrades if you call the SAIL interfaces using dictionary syntax, always pass PVs and ACs in as Rule Inputs, and always upgrade your SAIL forms in such a way as they will still work if "old" data were being passed in as well as "new" data.
For large updates, of course, Eduardo's method is probably safer in general, though I still strongly recommend not directly referring to PVs inside the interface, or calling interfaces without using dictionary (i.e. key-value) syntax.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
marky
over 8 years ago
If you call the SAIL form in the user input task by Keyword, then you can build the logic for both old and new process instances into your first SAIL form using an if statement. If you call the SAIL form in the user input task by Parameter, then the only choice is to build new SAIL rules.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel