As many of you know, we introduced an instructor role to WP Courseware in our last major update. After spending some time experimenting with it post-release, I would have to say that it’s one of my favorite feature additions to WP Courseware since we released advanced quiz functionality over two years ago. The instructor role feature has been among our top three most requested features for quite some time, so we’re thrilled that we were finally able to find a way to integrate it seamlessly with existing WP Courseware functionality.
We have had quite a few customers contact us to ask for more details regarding the new instructor role and how it can be used, so in today’s post I’ll be digging into it a bit.
Let’s Look at the Difference Between a Role and Capability
If you’re like me, in the early days of your WordPress journey you may have been confused by the difference between roles and capabilities. Capabilities are simply specific permissions granted to users to perform certain functions on WordPress. For example, a user requires a specific capability to publish a blog post. A role is simply a set or group of functional capabilities that you can apply to a user.
Now Let’s Look at the Default WordPress Roles and Capabilities
By default, WordPress has six roles which you can assign to users. Each role has particular capabilities, for example:
- Super Admin – Only applies to multisite WordPress sites, but is an admin over the entire multisite network.
- Administrator – Access to do everything in the WordPress admin area.
- Editor – Can write, manage, and publish anyone’s posts.
- Author – Can write, manage, and publish their own posts.
- Contributor – Can write and manage their own posts, but can’t publish the post.
- Subscriber – Can make changes to their own profile.
You can read all about roles and capabilities on WordPress codex.
These Default Levels Presented a Problem for Large-Scale WP Courseware Users
Before we added the instructor role, the administrator role was the only role which could create and manage courses. So if a site administrator wasn’t the actual instructor for a course, the administrator would still have to provide instructors with an administrator account in order to manage their courses and students. This wasn’t necessarily a terrible thing…most site admins trusted the instructors to whom they were granting administrative access.
But it did require opening up the site completely to multiple users. Fortunately, we never heard of an instance where the instructor was malicious and intentionally did something to harm a site, but it certainly was an inconvenience and we realized that it could be handled better.
As I mentioned, our customers had been asking for limited instructor access for quite some time. After reviewing suggestions and feedback from a number of our customers who were willing to share how they wanted the role to function, Nate and I sat down to design the instructor role and released it a few weeks later.
And While We Were at It, Why Not Add Course-Level Certificates?
When we started designing the instructor role, we ran into a challenge which we realized was actually an opportunity to go ahead and tackle another highly-requested feature.
Up until our recent release, certificates were configured globally for all courses. Since course creation and management were going to be delegated to the instructor role, we decided that the certificate should be configured on a per-course basis as well. Now you’ll be able to configure unique certificates for each course and your delegated instructors can create their own certificates as well.
A Couple of Caveats Before We Dive Into the Instructor Role
There were two issues that we ran into during the development of the instructor role which caused us to evaluate whether instructors needed some WordPress administrative access outside of WP Courseware functionality:
- We needed to allow instructors to have access to the media library so that they could add media to their course.
- We needed to allow instructors to have access to the users page to allow instructors to handle course enrollments.
At first glance, it would seem that instructors shouldn’t have access to either of these resources. However, course units and quizzes do allow for adding images, hence allowing instructors the ability to add images was necessary. One thing to note is that instructors can add images, but they can’t delete them. As for the users page, we felt it was necessary for instructors to have unrestricted access to that page to be able to add students and enroll students into courses. Just like the media library, instructors can add new users, however, they can’t delete users.
Now Let’s Take a Look at What Instructors Can Manage
Instructors have the ability to create courses, manage course settings, and create all the various course content elements like quizzes, surveys, and questions. However, they can’t see other instructors courses or course content. Here is what an instructor can do assuming they have “authorship” for a course.
- Create, edit, delete courses.
- Manage all course settings (including certificates).
- Create, edit, and delete modules.
- Create, manage, edit, and delete course units.
- Create, manage, edit, and delete quizzes.
- Create, manage, edit, and delete quiz questions.
- Create and delete their own quiz question tags.
- View grade books for their own courses (assuming a quiz exists).
- Create new users.
- Enroll users into their own courses.
Time to Demo the Instructor Role
Here is a demonstration video to show you what I’ve explained above in detail. You’ll get to see what an administrator sees when they begin assigning instructors for courses. Also, I’ll show what happens when a student is enrolled in multiple courses which each have their own unique instructors.
But What if You Need Instructors to Have Multiple WordPress Roles?
We recently had a customer ask if it was possible to allow a user to have multiple roles. WordPress allows for this, however, it simply doesn’t provide a user interface to assign multiple roles to a user. Remember, roles are just groups of capabilities, so essentially you could write a script to grant additional capabilities to a user. However, that’s beyond the skill set of many of our users.
Fortunately, there is a plugin that will allow you to assign a user multiple roles called User Role Editor by Vladimir Garagulya. This plugin allows you to modify a user’s roles and capabilities. You can also create custom roles and capabilities.
This plugin makes it so much easier to add multiple roles to a single user and if you want to get a little more granular, you can add specific capabilities to a specific user.
How Are Instructors Able to Create Course Outlines?
Recently a customer asked, “How can instructors create course outlines if they can’t manage pages?” As many of you know, WP Courseware course outlines are placed on WordPress pages using one of the available shortcodes.
By default, the instructor role can’t create pages hence creating a course outline page would be out of the question unless you add that capability to the instructor. The good news is that there is a solution to this dilemma. The administrator can simply create a single page and utilize the course progress shortcode. Remember, the course progress shortcode will dynamically detect all courses a student is enrolled into and display it on screen as long as a user is logged in. By creating the course progress page, an instructor wouldn’t have the need to create a course outline. Any new courses an instructor creates will be automatically added to the front-end course navigation when students are enrolled.
Are You Using the New Instructor Role?
If so, we’d love to hear how you’re implementing it! Let us know in the comments below!