Press Permit is an advanced content permissions engine for WordPress. In other words, it allows you to customize viewing or editing access to your website’s content. This customization is based on WordPress’ User Roles and Capabilities system.
A Role is a collection of capabilities (such as “read”, “read private pages”, “edit posts”, “edit published posts”). By default, WordPress associates each user with one role. If new capabilities are required, they are either added to an existing role or force a new role to be defined.
Press Permit adds the ability to easily customize access to specific post types, categories / terms, page branches or individual posts/pages. Custom Post Types are fully supported, including bbPress 2.x forums and topics. In most cases there is no need to modify WP role definitions; with Press Permit you can add any number of supplemental roles for specific content. This supplemental access can be granted to existing WP Role members, BuddyPress groups, custom-defined user groups, or directly to a user.
For a detailed look at some of Press Permit’s prime features, view the slideshow on the front page.
The plugin code was originally derived from Role Scoper, inheriting much of its functionality and logistics. However, 3 years of RS development, feedback and support culminated in this fork in the road. Much more than a facelift or remarketing, Press Permit provides the fundamental redesign needed to meet longstanding improvement requests.
Most importantly, Press Permit is built on a much-improved permissions model:
- Filtering is well-defined, using the normal WordPress capabilities model (no proprietary scope-specific restrictions).
- Any existing WordPress role can be used for supplemental content role assignment
- Your WP roles can be directly assigned for specified terms/post or used as a Pattern Role, with all “_posts” capabilities cast to the selected post type and status(es)
- Implements custom post statuses (custom post privacy or moderation status)
- Use the “Approved” status (or your own custom Moderation statuses) to define additional permission-enforced moderation steps between “Pending” and “Published”
- Content-specific access is defined by Exceptions which are assigned directly to a role, group or user.
The user interface is enhanced and simplified:
- Custom Visibility and Moderation Statuses are fully integrated in the Publish metabox and Edit Posts table.
- Easily customize a post’s viewing or editing access for specific users or groups, using a metabox in the post edit form.
- Ajax role assignment interface simplifies the matrix of available post types / scopes / roles / statuses / items.
- Category Exeptions can be assigned within the Term Edit form
- Assign group membership on the “Add User” form
- More concise and better organized options panel
Press Permit fully supports Revisionary 1.1.9 and beyond. Edit Flow and Post Forking support were recently added.
Please be aware that Press Permit does not immediately satisfy every existing or potential access control goal. For most sites, it is a functional equivalent and improvement over Role Scoper. But a few of Role Scoper’s more obscure features are not currently provided by Press Permit:
- Supplemental roles and restrictions for links
- Customization of NextGEN Gallery editing permissions
- Role assignment for a limited content date range (but you can assign permission group membership for a limited timeframe)
- Group membership requests and recommendations (but this can be done with BuddyPress + PP BuddyPress Role Groups)
- HTTP Authentication for RSS links
- Control any PP setting network-wide via settings UI (but you can do it via plugin hooks)
If you need these or other features developed, inquire about paid consulting. I’m pleased with how Press Permit has shaped up, and think there’s a very high ceiling for possible implementations and extensions.
In addition to funding further development, your purchase of a support package yields the following benefits:
- Download the current plugin version via a link emailed to you
- 12 months of one-click plugin updates delivered to your site
- 12 months of one-click installs of extension plugins
- 12 months of access to the plugin support forum and documentation
- Opportunity to renew at a discounted rate