Fixing the Page Edit Slowdown

Starting around Role Scoper 0.9.15, a new Page Parent filtering scheme for non-administrators allowed pages to be displayed with correct hierarchy even if the user lacks association rights on one or more ancestors.  I must repent in sackcloth and ashes for the means used to accomplish this: re-querying pages at each branch of the parent tree.  This would have little effect for a simple tree of a few pages.  But for blogs with a lot of subpage branches, the slowdown and server drag could become trememdous.  This was easily corrected by querying pages once and passing the result to each branch.  I apologize for any frustration it may have caused page editors.

Also in Role Scoper 0.9.27 are a few fixes related to post editing by users with limited category access:

  • fixed: Extremely slow loading of Page Parent dropdown due to recursive queries on page edit by non-administrator
  • fixed: If a user who lacks editing capabilities in the default category saves a page without selecting a category, the post was stored as draft/pending in category “-1” and the user could not re-edit it
  • feature: If post would be set to default category but user lacks save/edit/publish capability there, it is instead defaulted to first category in user’s available list
  • fixed: Post/Page counts on Manage Posts/Pages were not filtered correctly for users with ID > 9