About Page Edit Per User

Assign edit access to users on a per-page basis.

Category 1Admin Helpers
Admin helper modules are those that provide helpful tools, UI enhancements or optimizations to the admin panel (excluding Fieldtype or Inputfield modules).
Category 2Proof of Concept
Proof of concept modules are designed as examples or starting points for others to build from. May not be ideal for users wanting to plug-n-play.
Category 3Users and Access
Modules dealing with access in ProcessWire via Users, Roles or Permissions.
Release StateBeta
Close to stable, but users are advised to be cautious and test thoroughly.*
Authorryan
Module Version0.0.2
Class NamePageEditPerUser
Compatibility2.2, 2.3, 2.4
Date AddedNovember 14, 2012
Recommended ByNew recommendations may take up to 1 day to appear.

Details

The user must already have page-edit permission on one of their roles in order to get edit access to assigned pages. Otherwise, they will only gain view access.

This module is fully functional as-is, but intended as a proof-of-concept for those wanting to go further with adding custom edit and/or view access.

Instructions

How to install

  • Copy the PageEditPerUser.module file to /site/modules/
  • Go to Modules in the ProcessWire admin and click "Check for new modules"
  • Click "install" for "Page Edit Per User"

How to use
  • Create a new role called "editor" (or whatever you want to call it) and give the role "page-edit" permission. If you already have a role in place that you want to use, that is fine too.
  • Under "Access > Users" locate the user you want to assign edit access to. Edit this user.
  • For this user's "Roles" field: choose the new role you added, "editor".
  • For this user's "Editable Pages" field: select one or more pages you want them to be able to edit.
  • Save the user and you are done.
  • To test, login as the user you edited to confirm it works how you expect.

README

Page Edit Per User

Assign edit access to users on a per-page basis.

Overview

The user must already have page-edit permission on one of their roles in order to getedit access to assigned pages. Otherwise, they will only gain view access.

This module is fully functional as-is, but intended as a proof-of-concept for thosewanting to go further with adding custom edit and/or view access.

How to install

  1. Copy the PageEditPerUser.module file to /site/modules/
  2. Go to Modules in the ProcessWire admin and click "Check for new modules"
  3. Click "install" for "Page Edit Per User"

How to use

  1. Create a new role called "editor" (or whatever you want to call it) and give the role "page-edit" permission. If you already have a role in place that you want to use, that is fine too.
  2. Under "Access > Users" locate the user you want to assign edit access to. Edit this user.
  3. For this user's "Roles" field: choose the new role you added, "editor".
  4. For this user's "Editable Pages" field: select one or more pages you want them to be able to edit.
  5. Save the user and you are done.
  6. To test, login as the user you edited to confirm it works how you expect.

Comments

  • Ryan Cramer

    Ryan Cramer 4 years ago 20

    Note that this module does not supersede ProcessWire's existing access control assigned at the template level. Meaning, if a user's role is assigned for "edit" access to a given template, then they will still receive those permissions, regardless of this module. As a result, make sure your new "editor" role that you add does not have the "edit" checkbox checked for any templates using access control (unless that is specifically your intention).

  • heldercervantes

    heldercervantes 6 months ago 00

    Works great, but this calls for a "PAGE ADD CHILDREN PER USER" as well.

    An example would be a few sites for city halls I've built in the past. There's one guy who only has rights to manage everything under the urbanism menu, another for communication, another for services. These are generally branches off the homepage, and down their tree there can be all kinds of pages.

Post a Comment

Your e-mail is kept confidential and not included with your comment. Website is optional.