Interested in a ServiceNow event built for developers? Registration for now[dev]26 is officially open!

Retiring Business Applications

MEBoatman
Giga Guru

We use Enterprise Architecture to document and manage our application inventory. When we implemented it, our implementation partner steered us toward the use of 2 status fields: Install status and Operational status. Both of these have a value of "Retired". We expect applications to be retired using the "Retire Business Application" OOB request. In order for a Business App to truly be considered retired, both Install status and Operational status need to be set to "retired". This happens automatically when the Retire Business Application request is followed.

Unfortunately, those with APM Update can also manually set Install status, Operational status or both to "Retired" as well. However, when they do this, it bypasses the workflow that we have built on Retire Business Application. Thus I want to prevent that. However, I do need APM Admins to be able to manually set an application to retired if needed (for certain exception cases).

I'm trying to determine the most "ServiceNow-y" way to do this. Do we remove "Retired" from those status fields - presumably via a script - except for if the person is an APM Admin? Do we remove "Retired" from those status fields for everyone - but provide a button that will set the fields to "retired" and enable that button only for APM admins? Something else? Or is this whole idea crazy talk? I want to be careful about too much customization...

2 REPLIES 2

yogesh41
ServiceNow Employee

Hi,

 

I second to your opinion that "Retired" state choice needs to be driven from workflow rather manual update. The OOB the product doesn't restrict state to let organisation define their retire workflow. 

 

I wanted to bring your attention that there are OOB workflows in terms of Project & Demand that gets created when the user submit "Retire Business application" catalog . Here is link for the documentation. 

 

Yogesh

sachinvic
Mega Guru

@MEBoatman 

Hi,

You can keep Retired as an available value, but control how it can be set rather than removing it from the choice list.

 

A cleaner OOTB-first approach would be:

  1. Keep the Retired value on Install Status and Operational Status.
  2. Let the Retire Business Application request continue to set both fields through the existing process.
  3. For the exception scenario, provide a controlled UI Action such as Set to Retired and make it available only to users with the required APM Admin role.
  4. Avoid using a client-side script or hiding the choice based on the user, since that does not provide sufficient server-side security.
  5. Add a server-side check (ACL or equivalent server-side validation) so an unauthorized user cannot bypass the UI and set the value directly.

This keeps the standard Retire Business Application process intact while still giving APM Admins a controlled way to handle exceptional cases.

 

Note: Before customizing, also check whether the existing Retire Business Application flow/action can be extended to cover the exception rather than introducing a separate process.

 

FYR: https://www.servicenow.com/docs/r/application-portfolio-management/eaw-apprat-business-application-f...

 

Business Application Retirement.png