M2 does not support deletion operations

Problem

M2 does not support deleting operations.

Explanation

Correct, M2 does not and will not support deleting operations.

Unfortunately or fortunately, M2 does not support deleting operations due to high complexity and nature of the deleting reasons. M2 never deletes artifacts due to a number of reasons:

  • Mixing together updating / deleting stuff might be extremely hard to support and enhance in the future
  • Dependency management, what to delete and when is nearly to impossile to handle
  • Potential data losses on the existing data
  • Potential data losses on the misused API calls
  • Deleting is highly manual process, should be driven by people, manually
  • No possible SLA/responsibility on data losses/"PROD" wrecks

Solution

With development scenarios simple delete the site collection or the web, and then re-provision stuff again. With customization / upgrade scenarios - a custom code would be required - that is something what requires high attention and can barely be automated.

With content types we support hiding/removing them from the lists, and same-same with fields within content types. For the rest - we would recommend to go with the custom code.