Details
-
Improvement
-
Resolution: Inactive
-
Minor
-
None
-
None
Description
This method returns all sub-page-IDs from a page down through all levels. The order is not interesting. Instead of iterating page-by-page, which is slow for e.g. removing a 10.000 pages subsection, we could retrieve all pages having the same acl-id or its sub-acl ids and then build its parent-child relationships in memory (in order to remove the parent or sibling page(s) of the current page, which could also have the same acl-id).
This method is called in the DeleteContainer Engine and in ManageRights, when clicking on the Rights tab in any engine. A similar logic has been introduced in
ContentPage:
public boolean checkAccess(JahiaUser user, int permission, boolean checkChilds, boolean forceChildRights)
If forceChildRights is true, we have to check through all sub-objects (even sub-pages), so instead of getting the fields iteratively, I retrieve them via acl-id(s).