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
3 replies
Subscribers
5 subscribers
Views
1294 views
Users
0 members are here
Share
More
Cancel
Related Discussions
Home
»
Discussions
»
Plug-Ins
Related to Code Promotion to higher environment: 1) We have our appli
senthilar
over 10 years ago
Related to Code Promotion to higher environment:
1) We have our application running in QA. It uses version1.0 of a plugin. The input datatype is say, CustomerDetails (version 1.0)
2) In Dev we have upgraded the plugin to version1.1 The associated datatype is also upgraded to use CustomerDetails (version1.1)
This being the case, how should we go about promoting build from Dev to QA?
Import Application first and then replace the plugin? Will there be any side-effects due to the updates made? Else, how should we go about it? (background: we always get into issues in Dev whenever we make updates to datatype used by the plugin)
...
OriginalPostID-115995
OriginalPostID-115995
Discussion posts and replies are publicly visible
0
Eduardo Fuentes
Appian Employee
over 10 years ago
The documentation states that you cannot change the node inputs/outputs of a registered smart service without having to use a different smart service key and remapping yoru models to point to this new smart service
forum.appian.com/.../Custom_Smart_Service_Plug-ins
This is to guarantee running instances are not impacted by input/output changes.
Smart services get registered in the environment mapping node inputs and outputs types to local data type ids. When you update a CDT by deleting and re-uploading the old CDT gets versioned to ^X where X is an integer that represents the version. The current version gets the name withou any ^X suffix but since it's a new version it gets a new local ID.
If you simply deploy the plug-in without following the best practices from that link I posted then this will fail to deploy because it will try to map its inputs to, let's say {mycompany:mydomain:cdts}MyCDT which now has a local ID Y while initially the plug-in was registered to point to version 1 of this CDT with local ID Z. This causes a validation error during the deployment resulting in an: "Invalid Attempt to Change Node Inputs/Outputs" error.
When updating the CDT you have to:
1. Deprecate the current smart service.
2. Create a copy of your smart service within the same plug-in but change its key in appian-plugin.xml (with all changes this implies within the plug-in)
3. Remap your models so they point to the new smart service (you need to drag and drop)
3. You can now deploy these two items to any new environment
In regards to your question the procedure to promote should be something like this:
1. Delete the CDT to be updated in the target environment
2. Deploy the plug-in (which now has a new key and a deprecated version)
3. Import the new application.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Eduardo Fuentes
Appian Employee
over 10 years ago
* The three last steps assume the new CDT is embedded in the plug-in therefore it will be re-created with the plug-in deployment, otherwise it will need to be uploaded manually after step #1
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
senthilar
over 9 years ago
Thank you Eduardo! Your reply clarifies.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel