Support » Plugins » New Plugin: Role Scoper

  • Role Scoper is a comprehensive drop-in replacement for capability enforcement and administration in WordPress. Assign reading, editing or administration roles to users or groups on a page-specific, category-specific or other content-specific basis.

    Existing WordPress roles are honored by default, but with Role Scoper can be:

    • supplemented with content-specific role assignment
    • disregarded if a section (category) or object (page/post) is marked exclusive

    Scoped role requirements and assignments are reflected in every aspect of the WordPress interface, from front end content and navigation to administrative post and comment totals. Content administrators control who can view/edit/administer specified content, and what content anonymous users see.

    Section and object roles can be set to propagate to child sections/objects. User groups can be created and assigned roles. Choose whether unqualified front-end content is hidden or replaced with a customizable teaser. The object role assignment UI indicates where users have a role implicitly applied through another blog, section or object role assignment. Other plugin and core developers will be interested in the underlying users_who_can function, made possible by a new roles storage schema.

    The abstract data model and API support additional data sources, object types, capabilities and taxonomies (using term_taxonomy or other custom schema). If your plugin uses the WordPress current_user_can function and supports filtering of its listing query, you can use Role Scoper’s API to define your data source, object types, sections and scopeable roles. These will supplement any other assigned roles; there is no need to merge all capabilities into one all-inclusive role.

    Role Scoper is currently a public beta release.

Viewing 15 replies - 1 through 15 (of 28 total)
  • @kevinb

    Sounds like a pretty awesome plugin!

    Do I understand correctly that the plugin could replace plugins such as the ones you mentioned — Limit Categories, Category Visibility, Post Levels, Restrict Pages, Disclose Secret, WP-Group-Restriction, and Role Manager?


    Just a few more restriction plugins for info:
    Custom Query String Reloaded
    Advanced Category Excluder
    Hide Pages
    Simple Exclude
    Front Page Excluded Categories
    Exclude Pages
    Front Page Cats
    Just One Category


    Based on my last knowledge of the first six plugins you listed (early 2007), Role Scoper is a candidate to replace them, or at least their major functions. A minor exception would be the “group page” setting in WP-Group-Restriction, which I have not emulated thus far. There may be other features I am not aware of in the other plugins, but I did design Role Scoper to replace them all in my own WordPress CMS implementations.

    At present, Role Manager and Role Scoper can supplement each other.

    Role Manager defines comprehensive roles for blog-wide assignment. This is the “WP” role by which the WordPress core ranks a user. A “WP” role is comprehensive in that WP expects all capabilities a user needs for any operation to come from that one role.

    Role Scoper (or plugins which make use of its API) define supplemental roles for blog-wide, term-wide or single-object assignment. These “RS” roles should each include capabilities for only one object type. If a term or object is set to require RS role assignment for some role, any corresponding WP blog role assignment is ignored. (i.e. You can configure a category such that WP Editors can’t post to it unless they have a Post Contributor/Author/Editor role assigned for that category.) Otherwise, WP and RS roles will supplement each other in satisfying capability requirements. (i.e. You can enable a WP Contributor to edit some page by assigning the Page Editor role for that page – with an option to propagate that same role for subpages).

    So, to summarize, Role Scoper will coexist with Role Manager by
    * defining additional, supplemental roles (including blog-wide)
    * filtering the application of “regular” WP blog roles for certain content

    I chose not to go all the way and provide WP blog role definition and assignment because I don’t know where the WP core role storage schema is headed and prefer to treat it as a black box at this point.

    Let me know if this raised any more questions.

    – Kevin

    Hi Kevin,

    Seems great!
    I was using Disclose Secret, but since the update to WP2.5.1, it doesn’t work anymore!!!

    So, I tried to install your plugin, but, at the very beginning (when I try to activate), I ha ve a parse error saying :
    "Parse error: parse error, unexpected '=', expecting ')' in /var/www/vhosts/MYDOMAIN/subdomains/preview/httpdocs/wordpress/wp-content/plugins/role-scoper/role-scoper_main.php on line 336"

    I’ve searched a bit, at this line, there is a function starting.

    "function get_strict_terms($taxonomy, $cols = COL_ID_RS, $term_id = '', &$arr_all_terms_count = '', $args = '') {"

    With comments just above.



    Thanks to magicien for reporting this error. It is a PHP4 issue, and now corrected in version 0.9.2. Go to for the release notice and download.

    My apologies to any other PHP4 users stung by this bug.

    The revision also restores the Post Reader/Contributor/Editor UI, which was being suppressed in the post edit form (regardless of PHP version).

    – Kevin

    That is was I call Reactivity!!!
    I download, try and tell you back!



    It works well (no error, all options are here!)

    But, my question :

    what I want to do is to give access to some pages to groups (Suscribers, authors…).
    The problem is that Role Scoper do not include these groups and I have to create them again and assign users.

    I don’t know if i’m clear (!!), but in fact, I just want to use existing groups… The groups tab doesn’t display my groups 🙁

    But, I would like to thank you! You did a great job!!!



    The “Groups” you refer to actually correspond to WordPress roles.
    I’m afraid setting a “required role” for each page in the way you describe would complicate/convolute the model for those who want to define user groups apart from WP roles.

    But what if I added a “Create Group from WP Roles” utility in groups admin? If one click could create a Group corresponding to any selected WP role, would that be easy enough?

    – Kevin

    Yes It would be enough… If Role Scoper groups are synchronized (or redirect to) whith WP groups.


    Any news for this lovely plug in???

    I am new to the WP. Is it possible to rename the user’s role name ‘editor’ to ‘Reporter’ in the admin panel ?

    Thanks in Advance

    The Role Manager plugin can rename roles.

    The Role Scoper plugin kills the Page Template selection menu in Advanced Options for Write or Manage Page. The pull-down simply disappears when this plugin is activated 🙁

    Important bug to fix for folks who need their page templates!

    The Page Template selection bug is fixed in the current Role Scoper beta revision.

    Thanks, Rex, for the report.

    I posted this question on the plugin page, but maybe I should have posted it here instead. Feel free to delete that comment if it should have been here.

    What I am trying to do is restrict a group (or a user) to editing certain pages, but I also want to allow them to publish new pages, with the restriction that the parent page has to be one of the pages that they own. The writeup on the plugin implies that this is one of the problems that the plugin is supposed to solve. You say “Can you enable someone to create a new page, but specify a subset of “parent” pages it can be linked to?” But I can’t figure out how to do this.

    Thanks for writing a very useful plugin!

    Questions and concerns posted to the Agapetry Support Forum will generally get the quickest response.

    Thanks to Ken’s comment on the plugin page, I corrected several related bugs which hindered Page Parent filtering. Full description here.

Viewing 15 replies - 1 through 15 (of 28 total)
  • The topic ‘New Plugin: Role Scoper’ is closed to new replies.