Modifying UI Pages & Macros without affecting upgrades

In the Wiki you will find solutions that include updating OOB Macros or UI Pages, however this will obviously cause those files to be skipped during the next upgrade. So how do you go about updating UI Pages and Macros (or other records) without future upgrades being impacted?

The answer is actually quite simple. I discover this little nugget in the Wiki:

By default, the Active field on a tracked table is treated as update_exempt even if the attribute is not present (starting with the Calgary release)

This means that if we clone the original record, set the original record to “active=false”, then we can continue to make changes to the copy record without affecting the upgrade process. The only thing to note is after an upgrade you will want to check the difference between the files so in the event there was a change, you can manually upgrade your updated record.

2 comments

  1. Hi,

    Thanks for the tips. I read up on the wiki to familiarize myself with the attributes. I have some followup questions. I am not very knowledgeable in the upgrade aspect and hence my questions might look silly.

    I want to customize the UI Page: com.glideapp.servicenow_checkout_view
    So do I make a clone of this? If yes, where do I set the original to active=false? I don’t see a active field for this record. If the original and the clone will have the exact same name, then how will the upgrade process recognize which one is the original?

    I will appreciate any help with this as I really need to customize the UI Page.

    Thanks,
    Debashree

    1. Debashree,

      Thank you for your questions. You are correct and I’m sorry I do not clarify this in the original post. UI Pages do not have a “active” field, however Macro’s and most other records do. However if you just clone the UI Page ServiceNow will use the newer one instead of the original. ServiceNow also uses sys_id’s not names for keeping track of records so ServiceNow will only upgrade the original.

      Now that being said, sometime it’s better to update the original since then you can run reports on skipped records after the upgrade. This method is specifically for when you cannot modify OOB records.

Leave a Reply

Your email address will not be published. Required fields are marked *