Publishing Page Deletions
https:Root problem: page deletions were always part of publications if content deletion was selected
Solution: Separated page deletions to it's own checkbox.
This solution uses the system event framework to track pages deleted on the staging side
Once a page is deleted, a corresponding deletion event is saved
These events are collected for publication based on the publications date range picker and the currently selected private / public page types
Once published, these events are removed
This solution is by no means here to replace the Delete Missing Pages function
Delete Missing Pages is a maintenance function to hard delete all pages from the live site which are not present in the staging site. It is not affected by the Date Range picker, it will always take the currently available pages as a base. (Can also be used to hard reset the Live site if the system events get corrupted)
Publish Page Deletions will only delete certain pages. There is also a counter to display how many deletion events are affected per publication. However we have to bare in mind that this counter counts the page deletions on the Staging site, not how many pages will be deleted on the Live site. There is always a possibility of inconsistency between the number of page deletions to be published and the actual number of pages present on either of the Staging and Live sites. One such case would be that pages were deleted on the Staging site before they were published. (another is data corruption in the system events table) This might prove confusing, but for consistency, we plan to include these cases in the counter.