14 views

Symptoms


Sometimes, you may wish to remove a record from your scoped application. On the development instance, you can delete the record without any issue. You can then publish the application and install the updated version on your other instances. However, the deleted record will not be deleted from your other instances when you install the update there

Release


All supported releases

Cause


This is because scoped applications never package deletions. Application packages are simply a .ZIP archive of XML files that either insert or update a record or set of records. Thus, when you delete an application file, it will no longer exist in the package. That way, if you install it on a new instance where it's never been installed before, the deleted records will not be applied. However, if the deleted records already exist from a previous install, the platform will do nothing to them when you update, because the application package no longer contains any information about them.

Resolution


This is the expected behavior. The best way to "remove" something from a scoped application is to de-activate it instead. For example, if it's a business rule, simply set the Active flag to false. This change, unlike a deletion, will be applied when the application is updated. The alternative is to delete the record from all instances either manually or via update set.

Article Information

Last Updated:2018-10-15 04:14:12
Published:2018-10-12