Other posts in this series

A Series of Three Parts: WordPress as a SaaS Platform, The Third Part

So now that you’ve setup your WordPress powered web application and setup your environment for speed and scalability, it’s time to make it easy to manage it and work for you. Communicating and corresponding with a large community is a tricky task regardless of what application platform you choose, but WordPress gives you the tools to help you get a leg up on giving you a voice as the application author. By taking advantage of WordPress’ built-in user management tools, extending them with your own auxiliary addons, and creating automation, you can easily keep in touch with your users and manage your community.

WordPress User Management FTW

3 antique keys on wooden table photo from Shutterstock

One of the best reasons to use a platform like WordPress as the foundation of your application is the turnkey user management. WordPress comes with an already fairly granular and extendable set of user Roles and Capabilities to get you started building a capability-based security system for your web application. Along with the roles and capabilities system comes a built in user control panel for user search, modification and management. The user control panel out-of-the-box allows you to:

By hooking into the manage_users_custom_column (for table cell display) and manage_users_column (for column header display) filters, you can create your own columns in this management table to get a quick summary of pertinent user meta. With a little custom plugin programming, the tabular User Control Panel can be configured to very easily display vital information about users such as e-commerce subscription transaction IDs, conversion data and even additional administrative functionality like logging in as a user. When managing a large web application community, in many circumstances, it is useful to be able to see things from a user’s perspective. When we made Hello Bar, we also wrote a simple plugin that adds buttons to the main User Control Panel that would then allow super administrators to log in as a different  user. This was useful because we could see things from that user’s perspective, experience any error messaging they were seeing, and verify data displayed from their point of view. Of course, with great power comes great responsibility – so don’t abuse the fact that you can log in as a different user! As a sweet bonus, I’ve included a download to this plugin at the end of this article. Check out the comments in the plugin for better understanding of how you can hook into this table and make it work for you.

Robo App – Automation is Your Friend

The biggest time sink in any application build is all of the manual management you have to do of the data you and your users generate, the status of your users, movement between account types (if you have multiple account types in your application) ad infinitum. WordPress makes it super easy to automate your application through the WP_Cron system.

Automated production line in factory from Shutterstock

With WP_Cron, you can schedule activities to happen in the background of your application on a scheduled basis without complex or hacky implementation. Any WP_Cron action will run in the background without user interaction and run with full access to all of WordPress’ functions, classes and functionality. This makes it very easy for you to manipulate data on a scheduled basis, modify a user’s account after a specified period (a trial period for instance), schedule an automated email to go out to users… the possibilities are endless. With Hello Bar we utilized the WP_Cron system as well as regular cronjob technologies to automate numerous aspects of our application:

WP_Cron does have a few caveats, but nothing that doesn’t have a solution to it. I highly recommend that when you setup your background automations, that you read this great article on insight into WP-Cron by our friends at Envato on WPTuts+ (a fantastic WordPress development resource).

In Conclusion

WordPress provides a great solution as a viable, turnkey software as a service application platform. Through an optimized for WordPress high performance server configuration, utilization of the excellent developer community and its highly extensible system control panel, you can get a great application up and running, serving the world your greatest idea. WordPress’ built-in management control panel and its easy to implement WP_Cron system allow you to easily manage your application and automate many of the mundane time consumers, so you can focus on improving your users’ experience.

Useful Links for Building WordPress Applications:
Comments
  • migaber

    Thank you for the amazing plugin I’ll give it a try and feedback with my results 🙂

  • migaber

    Plugin FIX : in the edit user profile the function is not working and returning false,
    I’ve fixed it by changing the _url() method parameter which was user_id and I’ve replace it with ” $profileuser->ID “

  • I always spent my half an hour to read this website’s articles everyday along with a cup of coffee.

  • Sergey Pozhilov

    Thanks for a nice series of articles Dave, I knew I’m not alone with my Sendtoreader (a wep app which sends web pages and RSS feeds to kindle devices) 🙂 which is based on WordPress platform too.

  • stacey

    Hi Dave,

    I really enjoyed this series. I also want to try to use wordpress for my small Saas product. I was wondering to start out with (I am looking to build something tiny to prove my concept/mvp) what I should look for in a WordPress theme (or what I should steer clear of). My product is similar to a food diary, diet log (but not in that space but similar functionality). I am learning as I go – I am not a coder (but starting to learn some basic stuff) but I have the basics working in excel. Any advise would be appreciated!