Proposal: Adding custom user roles to Learn WordPress

There are many ways to contribute to Learn WordPress. Folks can join via contributing lesson plans to the Training team, organizing workshop-based discussion groups through local meetups, or submitting their own video workshop or course idea.

Some of these efforts happen outside the Learn WordPress website itself – like organizing a discussion group or using a lesson plan with a local meetupMeetup All local/regional gatherings that are officially a part of the WordPress world but are not WordCamps are organized through https://www.meetup.com/. A meetup is typically a chance for local WordPress users to get together and share new ideas and seek help from one another. Searching for �?WordPress’ on meetup.com will help you find options in your area.. For the most part, Learn WordPress contributors share a common home in learn.wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/

A flowchat of some common ways to contribute to Learn WordPress, including creating workshops, writing and reviewing lesson plans, and leading or attending discussion groups.

Adding a big asterisk that this is by far from a definitive list of ways to contribute, but just some common pathways!

The current set-up

Currently, when someone contributes to Learn WordPress, they’re added to the Learn WordPress site using one of the standard user roles:

  • Administrator
  • Editor
  • Author

Author is primarily used for workshop contributors (i.e., folks who’ve recorded a workshop) and new Training team contributors helping with a specific lesson plan. Administrators are reserved for Training team representatives and Community deputies who need to add new users to the site. Folks organizing contributors days have also been given temporary Administrator access to help with onboarding new contributors.

For everyone else – and for most folks with access to Learn WordPress – Editor permissions are the most common. This is particularly important for Training team contributors, where folks need access to multiple lesson plans to draft, review, and copy edit content

The Learn WordPress Dashboard is robust. There are many options available on the backend for setting up lesson plans, workshops, quizzes, courses, and so on. Many similarly-named things (Lessons and Lesson Plans being one!) can make starting more challenging. Likewise, the Editor role provides a lot of control over the site from the get-go, which can be problematic from a security perspective in the long term.

Proposed new user roles

With all that in mind, I would like to propose two new custom user roles to better fit Learn’s functionality and structure.

Workshop Reviewers: When reviewing Meetup and WordCamp applications, Community Deputies have a custom metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. box to share vetting notes. Sometimes this information is confidential, especially when a proposed application/applicant may not meet the program guidelines. The current workflow for evaluating workshop submissions is very similar to this process, and the Learn siteLearn site The Training Team publishes its completed lesson plans at https://learn.wordpress.org/ which is often referred to as the "Learn" site. would benefit from a role for workshop reviewers to have access to a confidential meta box for communicating review notes with one another.

Lesson Plan Editors: By default, lesson plans are developed with a series of checks and reviews to help ensure instructional design quality. This means that Training team contributors, including new contributors, need to access and edit multiple lesson plans. This includes folks like Subject Matter Experts, Copy Editors, and Testers. For folks volunteering to draft or review lesson plans, access to the other post types on Learn WordPress is not relevant or needed, but edit access to all lesson plans is.

Feedback needed

In the end, the proposed user roles would look like:

User rolePermissions
AuthorEdit access to specific Workshops
Edit access to specific Lesson Plans
Lesson Plan EditorsEdit access to all Lesson Plans
EditorsEdit access to all Lesson Plans
Edit access to all Workshops
Edit access to course functionality
Workshop ReviewersEdit access to all content types, plus
Deputy-level access to meta field for application vetting
Ability to add new users to the site
AdministratorsFull site access and permissions

It would be really helpful to get feedback on the following specifically: 

  • How does this make contributing easier?
  • How does it make contributing more difficult?
  • Is there a simpler way to achieve the same goals?
  • Do we need to consider where learners/people using the Learn site might fit into these roles?

Big thank you to @courane01 and @azhiyadev for helping to write this proposal, and @hlashbrooke for reviewing.