Deprecating Case Types and Case Properties using Data Dictionary

About the Case Type and Case Property Deprecation

You can deprecate case types or case properties using the https://dimagi.atlassian.net/wiki/spaces/commcarepublic/pages/2143944977 . This is useful for when you don't want to delete historical case types or case properties but you wish to hide them. A deprecated case will no longer be selectable as a filter in the reporting filtering menu, and will not be a case type filter option for case exports/imports. Furthermore, a deprecated case type will not be available as a case type filter for functionalities under the EDIT DATA sub menu. Deprecated case properties will no longer be available in the data export unless if you select to view them. These options can become useful when an application case structure has grown to a point where it has become difficult to manage. 

Deprecating Case Types

You can use the Data Dictionary to mark a case type as deprecated. It is possible to publish new releases and submit forms with an application using deprecated case types. However, it's recommended to transition to non-deprecated case types for better compatibility and performance in the long run.

Showing Deprecated Case Types

Deprecated case types are not shown by default when loading the Data Dictionary. You can show deprecated case types by clicking on the “Show Deprecated Case Types” button.

show-deprecated-filter.png

Deprecating a Case Type

You can deprecate a case type by following these steps:

  • Click on the "Data" menu item and then select "Data Dictionary" from the left pane 

  • Then click on the case type to be deprecated in list of available case types.

deprecate-case-type.png
  • When you select the deprecate option, you will be informed of how many modules use this case type and the impact of the deprecation.

  •  Click on the confirm button to deprecate the case type, and it will be marked as deprecated, as shown in the below example. 

Restoring a Case Type

  • To restore a case type once it has been deprecated, select the case type from the case type list in the Data dictionary

  • Then click  on the "Restore Case Type" button 

The case type will be restored and will no longer be tagged as deprecated.

The Impact of deprecating a Case Type

Below is a list of the impact that deprecating a case type has:

  • The reports case type filter dropdown option will not include deprecated case types as available options.

  • It will not be possible to create a new case data export using a deprecated case type. Existing exports using deprecated case types will not be affected, but a deprecated tag will appear next to the export.

  • A new automatic rule cannot be created using a deprecated case type. Existing rules using deprecated case types will not be affected, but a deprecated tag will appear next to them.

  • A warning banner will be shown when building a new release on an application that uses one or more deprecated case types. The warning will not prevent a user from making a new build on the application.

  • A warning banner will be shown on the case details page for a case that has a deprecated case type. 

Deprecating/un-deprecating Case Properties

You may deprecate case properties or case group properties by selecting the deprecate icon next to each of the definitions for the property.

You can view deprecated properties by clicking the "Show Deprecated" button. 

Once the button has been clicked, the deprecated properties will be displayed. Upon activating the button, the option to restore restore-case-prop-btn.png the deprecated properties will be displayed.

Effects of Deprecating Case Properties

  • Deprecated case properties will not be displayed in a new Case Data Export unless you select the option to see deprecated properties.