Justin Tadlock

Beta test my upcoming user, role, and content management plugin

On July 16, I sent out a message to my Twitter followers that I was building a user management plugin for WordPress. At the time, I had been playing around with several plugins that offer similar functionality, but nothing really satisfied me. I just wanted a nice interface that didn’t get in the way of the things I normally do with WordPress.

I had no idea how popular the idea would be, even warranting itself a blog post, a forum topic, and loads of emails and replies on Twitter. So, I thought it’d be best to get the feel of the community and see what everyone’s thoughts were.

Many were in the same boat as me — not quite satisfied.

I don’t mean to build my plugin up too much though. There’s an extremely long road ahead if I’m going to implement as many features as we all want. The first release is about building a solid foundation for future development. I want to get the essentials down first. Then, I can start building new things in.

What does this plugin do?

First and foremost, it’s a role management plugin. This is the foundation of everything. It will allow you to control each of your site’s roles and their accompanying capabilities.

But, it’s not only a role management plugin. It has a components-based system that allows you to only use the components you wish to use. The current components are:

  • Edit Roles: Edit your user roles and their capabilities.
  • New Roles: Create new roles for use on your site.
  • Content Permissions: Adds a meta box on your write post/page editor that allows you to restrict content to specific roles.
  • Widgets: Adds a login form widget and user-listing widget that you can use in any widget area on your site.
  • Shortcodes: Creates shortcodes that you can use to restrict or allow access to certain parts of your posts and pages (or any other shortcode-capable area).
  • Template Tags: New functions for use within your WordPress theme for various things.
  • Private Blog: Allows you to create a private blog that can only be accessed by users that are logged in (redirects them to the login page).

This is just the beginning though. You’ve given me loads of ideas in my original post on this, and I plan on implementing as much as possible in later versions.

What I need from you all

Testing. Testing. Testing. And, feedback, of course.

This is one of the larger projects I’ve worked on, so a lot of the stuff is new terrain, even for me. With enough feedback and testing, this can be a great project for the WordPress community.

I know many of you will have ideas about new things to be added, but let’s try to hold those ideas until later. What you see here will be in version 0.1 of the plugin, but new things will come in later versions. Right now, I want to focus on making sure the current components work.

Some specific things I’m looking for:

  • Is anything too hard to understand?
  • Does something not work the way you expect it to?
  • Do you recieve any error messages?
  • Each component and each component’s options need to be tested.
  • Testing on various browsers definitely needs to be done.
  • Needs to be tested on the WordPress 2.8 branch and the current trunk.

Some questions:

  • How should restricted pages (Content Permissions component) be handled? Remove from page lists if user isn’t allowed to view them?
  • Will someone check to make sure content isn’t showing in feeds (Content Permissions component) unless it’s supposed to?
  • Is there anything else you’d like to see done with the current widgets (Widgets component)?

I’m hoping to officially launch this plugin in another week or two (depending on what bugs are found).

How to use the plugin

I’ve written a fairly comprehensive guide, which is included within the plugin download. It is the readme.html file.

If you have questions about usage, please refer to that guide first. Also, I encourage you to read my guide on users, roles, and capabilities in Wordpress. It’ll give you a better understanding of how things work.

Beta test the plugin

Please do not use this plugin on a live site. It is for test environments only. If you use it on a live site and it breaks that site, you are responsible for fixing it.

Sorry for such a stern warning, but I’ve locked myself out of my test install on more than one occasion while developing this plugin. Let’s make sure it works before using it on live sites, okay?

Help me name the plugin

I’m currently calling it the Members plugin because I haven’t given a name to it yet. If you have ideas about what to call it, feel free to let me know.

The plugin is supposed to be a complete user, role, and content management plugin. While it’s not quite there yet, I hope that it’ll become the “must-install” plugin for all multi-user WordPress sites in the future.