Dropdown choiceValues and values

Certified Associate Developer

How to effectively prevent UI evaluation errors when choiceValues change? 

In my project, we are commonly using a table holding reference data to be displayed in dropdown fields.

The problem is, whenever these values change, the dropdowns get updated, but if a value has been removed or edited, but previously saved to the database, now we get a UI evaluation error saying that the value is not present in the choiceValues - which is understandable, of course.

But how can we effectively guard against this sort of behavior? After an update like this, we usually face a billion errors when users (or developers) bring up an old record or old task, which had a value saved that is no longer present in a dropdown. Is there a good preventive measure for this sort of cases?

  Discussion posts and replies are publicly visible

Parents
    1. Never remove values from the database. Use a Boolean flag (typically labelled 'isActive') to indicate whether the value is currently available for use
    2. Always store the key to the value, not the value itself. Keys are immutable and, if you follow the previous guidance, always available
    3. For new Cases you can exclude those values in the Ref Data that have 'isActive' marked as 'false'. Cases that previously used that value can have that value (and its key) appended to the currently active list to prevent UI failures.
    4. Have very clear rules that determine if a Case that has a value that has an inactive value selected and is now being edited can continue to use that value or that it needs to be replaced with a currently active value. This will be driven by the business requirements. 
  • 0
    Certified Lead Developer
    in reply to Stewart Burchell

    Good stuff, and good to spell out more explicitly.

Reply Children
No Data