As of Event Espresso 4.6, there’s a new way to manage event admins/managers. Gone are the days of an unfamiliar roles and permissions system. In EE3 we had the “Roles & Permissions” and “Roles & Permissions Pro“, where you could only allow your “event managers” access to certain areas of the admin. You also had to install two different add-on’s, just so you could get really crazy and allow users even more access to stuff. It was a truly cumbersome system.
Article Outline
Capabilities Are Now Baked Right Into Event Espresso 4 Core!
Now that the new capability system is baked right into Event Espresso 4 core, most of the limitations of the old system are history.
This incredible new feature introduces a large number of WordPress roles and capabilities for restricting access to various actions and views in the users dashboard. A number of capabilities follow the capability mapping system WordPress provides, for not only restricting access to general views, but also restricting access based on whether a user “owns” the item being viewed, or not (i.e. Event Authors only being able to edit their own events, or a user being able to edit only their own custom message templates).
What Else Is New?
Most of you know WordPress has a powerful user management system via its roles and capabilities system. We’d like to get things off to a great start with EE4, and so one of the most powerful things we have added to EE 4.6 core is the intelligently-placed capabilities that we use for restricting access to various parts of EE4. Not only that, but we’ve added plenty more goodies:
- No UI for user management. The system is entirely hidden to the average user.
- Over 100+ granular capabilities added. A number of capabilities follow the capability mapping system WordPress provides for not only restricting access to general views but also restricting access based on whether a user “owns” the item being viewed or not (i.e. Event Authors only being able to edit their own events, or a user being able to edit only their own custom message templates).
- Easy to use plugin API for extending functionality. In EE4 we’ve provided a handy API for developers to quickly integrate add-ons with different core components of Event Espresso.
- Takes care of initializing new roles and adding capabilities to existing roles. When you hook in your new capabilities using this system you are automatically integrated with all the stuff the EE Capabilities system does.
- Areas of EE4 admin can also be restricted to certain capabilities. This Google Spreadsheet gives you a high level overview and description of all roles and capabilities as of Event Espresso 4.6. We’ve listed all of the EE4 admin routes in the left column and the capabilities across the top. Along the bottom, each sheet represents a different area of Event Espresso.
- Use any third-party roles and capabilities plugin to manage access to Event Espresso 4 features. More on that below…
How Are Capabilities Managed?
Capabilities can now be managed using any number of third party role and capability management systems, such as Members by Justin Tadlock, to grant users (by role) access to attendee data, events, registrations, and WordPress pages and post content.
The system is entirely hidden to the average user, as there is no UI for user management. For the average EE4 user updating to 4.6.0, there will be no change in behavior, because all the new capabilities have been added to the core WP administrator role by default.
Getting Started with the EE4 Capability System
To get started, you should try to familiarize yourself with the “EE Capability System” and install a third party plugin, such as Members by Justin Tadlock, to use its extensive role and capability management system to grant users (by role) access to attendee data, events, registrations, and WordPress pages and post content.
Extending the EE4 Capability System
In EE4 we’ve provided a handy API for developers to quickly integrate add-ons with different core components of Event Espresso. The EE Capabilities system takes care of initializing new roles and adding capabilities to existing roles. It is also used for users to reset default roles easily if needed. When you hook in your new capabilities using this system you are automatically integrated with all the stuff the EE Capabilities system does.
This document highlights the EE_Register_Capabilities plugin API.
Any Questions?
Please first familiarize yourself with the EE4 Capability System and the EE4 Capability System Plugin API. If you have additional technical questions, please feel free to post in our support forums. Developers with access to Event Espresso on Github can post questions there. Feedback is welcome below!