Deleting obsolete metadata objects from configurations
This article describes the standards that apply to deleting obsolete metadata objects. All of the listed recommendations are mandatory unless noted otherwise.
1. While changing configuration metadata structure, when you delete a metadata object (attribute, dimension, resource, and so on) related to infobase data, you have to decide whether you simply delete its data or migrate it to some other data structures. We recommend that you follow these recommendations when migrating object data:
1.1. Do not delete obsolete metadata objects and attributes permanently. Instead, mark them as obsolete by adding the Delete prefix to their names. Example: rename MainAgreement to DeleteMainAgreement. We recommend that you add the prefix (not used) to the object or attribute synonym, for example: (not used) Main agreement. If a standard attribute becomes obsolete, also add the (not used) prefix to its synonym.
1.2. Once you have changed the metadata structure, transfer the data from the obsolete attributes to the new metadata structure. If the metadata object that is subject for deletion is a document that generates register records and the related registers are not deleted together with the document, ensure that the register records are preserved. We recommend that you do the following to preserve the register records generated by obsolete document objects:
- Disable generation of register records for documents of this type.
- Disable removing deletion marks for documents of this type.
- For all of the register records generated by documents of this type, replace the recorder with one or several replacement recorder documents. These can be either existing universal documents or documents developed specifically for migration purposes, for example, DataTransfer or Operation.
- Mark all documents of this type for deletion.
1.3. Since using obsolete metadata objects and attributes after changing metadata structure is not a proper procedure, replace all occurrences of calling obsolete objects by calling new ones in the entire configuration.
1.4. Sort obsolete metadata objects and attributes in the metadata tree according to common configuration requirements.
Following these rules ensures that existing infobase records are no longer related to obsolete metadata objects and prevents generation of new infobase records related to these objects.
2. When a new configuration version is released, permanently delete obsolete metadata objects and attributes marked with the Delete prefix if at least one of the following conditions is met:
- Users always perform sequential configuration updates, with a mandatory update to the version where data transfer from the obsolete metadata objects and attributes is implemented.
Example: in configuration version 1.1 the MainAgreement attribute is marked obsolete. Update from version 1.0 to version 2.0 is always sequential: fisrt, update to version 1.1, and then update to version 2.0. Updating directly from 1.0 to 2.0 is technically impossible (this option is not provided).
- Chances that anyone still uses the old configuration version are negligible.