Hi, we're just in the process of upgrading to Appian 7.9. The bes

Hi,

we're just in the process of upgrading to Appian 7.9. The best new feature in this release from a developer point of view is the new patch functionality. After this change I am trying to find out what the best practice for application deployment will be going forward. There is a good article about it in the Appian wiki: forum.appian.com/.../Change_and_Configuration_Management.html, but I assume it's somewhat outdated with the release of Appian 7.9.

With the batch functionality in place, my assumption for a best practice would be to just have one application for every application and one global application. Instead of different applications for cdts, navigation objects and everything else.

Do you agree with this approach or are there other ideas out there for a best practice on application deployment in a post 7.9 world?

TIA, Moritz

OriginalPostID-191407

OriginalPostID-191407

  Discussion posts and replies are publicly visible

  • Right now we have one application that contains all objects for a given application, then we add a new application for each reversion of that application. Generally we just use the patching functionality as a way of deploying a subset of an application - to deploy only the CDTs and datastores, for example - before deploying the application as a whole.
  • That's pretty much what we did with 7.8 and before. I thought there would be a more elegant approach to this with the new functionality? What are the downsides of just putting everything in one application and generating the patches from that application?
  • Yep - it's basically the same, and I expected something a little more elegant as you do.

    It is, of course, possible to put everything in one application and generate the patches, but there's no historical record of the patches you create unless you export them to external version control, and even then there's not a good way of finding out what that particular patch contains.

    For example, if you have a patch deployment that consists of 50 objects, you'd add those 50 objects to a patch, export the patch, and inspect it on the new system. Let's say you have missed a dependency and the patch should have been 51 objects rather than 50; you'll have to recreate the patch by manually adding all 51 objects to a new patch, because when you export the application patch, the content of that patch is cleared.

    For us, adding every required object to a patch each time the above happened was impractical, so we have a top level application - "My App" - containing everything, then an application the "next" version of that application - let's call it "My App 1.1", which is a subset of the top level application and would contain, for example, the 50 objects mentioned above. When testing is in progress we'll often want to issue small updates to one or two objects in the "My App 1.1" application after that application has initially been deployed to the test environment - it's there we'd use the patch functionality.
  • Just to add, once "My App 1.1" has been tested and is signed off, we'd use the "Add existing - Application contents" functionality in the design view to add the contents of "My App 1.1" back into the "My App" application.
  • OK. Sounds reasonable. So I guess we'll also keep it the way we did it so far.
  • I'm not sure if Appian would suggest a different way - I guess they will post if so - but that's the way we've found works best so far.