Best Practices for Application retirement

Hello, 

We are looking for the best practice and/or guidelines to retire an Application from Production. 

We are currently on v17.4, do we need to individually delete components to remove them from the Platform? What should we be careful of, what is the best solution? 

Any tips for us? 

 

Thank you,

Steve 

  Discussion posts and replies are publicly visible

  • When you say you are trying to retire the application, are you trying to make specific Actions no longer accessible to the end user? I think the safest option would be to unpublish the application in that case. If you have multiple applications in production, deleting components could be risky depending on what dependencies the other applications have.
  • Below are some points
    1. unpublish the application
    2. Change the record type and action visibility/security
    3. Also change the report visibility
    4. IF you are using site change the visiblity and security of site

    Basically make sure that all the end user visible items visiblity condition has changed or security has changed
  • Hi Steve,

    You have bring a good discussion point. I don't think there is any documentation on this, but, we can take out following points,
    1. Un-Publish application - This will take out all actions
    2. Using security summary of application - Remove all the access from all the objects of end users.
    3. If you are not going through space issues, please avoid deleting components. As mentioned by Larry, it can impact other application if its shared component.
    4. Check if there are any scheduler processes or any other process which can be executed based on external system trigger. If so, disable them.
    5. Check if there are large number of incomplete process instances of this retired application. If you really don't need these instances for analysis and reporting, please delete them to free off memory.

    I will keep on adding points if something new click me.
    Thanks.

  • Thank you to all. we will begin by documenting steps as described above. I too will add to it as more information becomes available.
    Cheers,
    Steve
  • Hey Steve,
    How's it going?

    I like all the feedback we've already seen from the community, but I have to throw in my $0.02.

    I expect you've got change management procedures (the same you follow when you add or update an application).
    One way to approach this is to treat it foremost as a change, rather than "retirement" of an application.

    Looking at this activity through the lens of change, a number of guiding principles are likely to present themselves.
    For example, clarify the functional requirements of the change.
    If those requirements include access to historical application or process data for given period of time, that gives you some guidance regarding whether or not to think about deleting instances or other data.

    Start work on your change, based on the new functional requirements, in your development environment, (such as revoking permissions), and then test extensively. Then promote those changes up through your higher environments and continue to test.

    Deletion of Appian objects is a risky proposition. Sure, you could do it. But there might be gold in them hills.
    A good rule of thumb is to add "[DEPRECATED]" to the names of the folders that contain the rules and processes you'd like to delete. You can label groups as deprecated as well, if it makes sense.

    If your application includes documents folders, ensure that the security is set properly on those as well.
  • Certified Lead Developer
    Hi

    As per my understanding, one of the safer option could be as mentioned below:

    1. Deprecate the Application, their respective Directories by updating their description as [DEPRECATED]
    2. Navigate to the Security Summary of this application and define the security for it's objects as No Access
    3. Unpublish the application in case if it's published

    NOTE: Removing an application or their corresponding objects are not a better approach, as this may cause some issues in case if the deleted objects is being used by some other application's object. Hence deprecation of application and removing the options to use this application by the end-user would be the best option here.

    Also, you need to think about the Application Specific users (The user account created only for this application) then you should consider disabling them.

    Hope this will help.