I recently worked with a client that was setting up users in the Sitefinity backend under custom roles. Some users can edit one group of pages, while other users can edit other groups of pages. Setting up these groups of pages with the permissions so that group A can edit while B cannot, and vice-versa, is trivial.
…But is that all we do in order to give users the page editing powers we wish to grant them?
In attempting to complete this setup, the client was running into an issue: Despite the users being in roles that could go about with page editing, the “Pages” tab at the top of the page in the Sitefinity backend was missing!
And when attempting to navigate directly to the Pages page in the backend (i.e. example.com/Sitefinity/Pages), Sitefinity throws an error:
This is quite odd since we’ve completely given this user the ability to edit some pages.
The fix to this one wasn’t the most intuitive, but thankfully it is simple. As an administrator, go to Pages and, on the right sidebar under “Settings for pages”, click “Permissions for all pages.”
Scroll down to the “Change page owner” permission, click “Change”, and add the custom role(s) to it.
Click “Done” and like the button says: You’re done! Page editing is now available for any users whom you assigned the custom role(s) to. In my screenshots this was for “Test User” when given the role “CustomPageEditor”:
Note that it doesn’t matter that this new role can only edit a subset of pages. The role(s) must be added to the “Change Page Owner” role for all pages, like we just did above. This is what communicates to Sitefinity that it is okay for that role (or roles) to visit the Pages page, and commence the page editing you want them to be able to have. You do not have to go and edit the permissions for the Pages Page Group in “Backend Pages” (which if you’re not careful could really mess things up in the backend) or anything like that. Making this one change enables page editing for any Sitefinity user roles you wish.