Details
-
Improvement
-
Resolution: Unresolved
-
Neutral
-
None
-
None
Description
The change introduced in MAGNOLIA-5337 means that all subnodes are processed (i.e. the mixin mgnl:deleted is added, mgnl:renderable is set to ui-admincentral:deleted and mgnl:lastModified is updated).
This is not a big problem for "slim" node types like contacts, categories etc., but it means a huge overhead for e.g. pages, where a single page can contain a big number of subnodes (areas, components) - especially because node.getSession().save(); is called for each node.
Originally there was a filter just for mgnl:content node types, but this led to problems described in MAGNOLIA-5337. The fix there actually works, but introduces the above described problem.
The solution could be to pass a list of allowed node types to the MarkNodeAsDeletedCommand and process only nodes with such types.