At Konamoxt we just started a test campaign to have new users signup for our service and get free online coaching to run the Las Vegas Half Marathon. If you’re a runner and a blogger, this is a great chance to get some great free coaching from a certified running coach… and to have a great time at a pretty nice Half Marathon race. The Las Vegas Half Marathon, and Marathon is really a well run race in a great location.
Anyway, since this is my development blog, you might ask, why am I posting this here? Is it just a shameless promotion of the event? Well… kinda… I mean I would like you to sign up and have a great time running the Half Marathon.
But you also might find it of interest how we did this sign up process.
First of all early on when we deployed WordPressMU we wanted to customize the signup process. And we wanted a different look and feel, have it integrated more into our default website design, etc. We did this through hacking the core wordpressmu files. Our main signup process still does this. But we’ve never really liked it.
For our Las Vegas Half Marathon promotion. We wanted an improved look and feel. In fact part of what we wanted was the ability to have a custom sign up process integrated into some of our “professional blogs” that included event specific signup fields. For example, for something like this, there may be additional terms of service. Since we are offering free online coaching, we needed the system to present an additional Online Coaching Training Waiver.
Users that sign up for this running group, get custom themes only available to them. These new blogging themes are specifically designed to highlight that the event is in Las Vegas and that the users are training together to run a Las Vegas Half Marathon together… etc. We’ve included a bunch of integrated header images of the sights and icons of Las Vegas. We’ve added widgets that automatically include a countdown to the race, and links to other team members. All of these are straight forward in WordPressMU when you develop a custom theme.
But having a custom signup process isn’t something we’ve seen alot of… and we really wanted to streamline the signup process.
Here are a list of improvements to the signup process we wanted in no particular order:
- Single Step Signup – Which is to say, we understand why the WordPressMU team decided to have multiple email roundtrips to verify that the user is a real person and not a robot… but for our user base this process was causing a lot of users to get stuck in the signup process. It’s one thing to ask dedicated bloggers to step through the process. But we want runners of all skills and interest levels, and we don’t want to scare them off with a complicated signup process.
- Integrated Captcha
- Terms of Service/Privacy Policy checkbox
- Online Training Waiver checkbox
- User Name for new users
- User settable password for new users – We’ve gotten complaints from many users that they don’t like the autogenerated passwords, and they couldn’t figure out how to change their password. So like other services we wanted to allow the new users signing up for this free online coaching to set their own password.
- User settable blog domain – but default to same name as user name
- User Profile information – Since we’re looking for runners to signup who are taking on a Half Marathon, we want the new blogs to come stocked with a better about page and first post than the standard boring ones that come with WordPressMU… we do this by asking the runners who are signing up for the Half Marathon to tell us about their running history. How many Half Marathons have they run? What is the Personal Best for the Half Marathon? What are their goals for the Half Marathon? What other activities are they interested in? We store all of this as user meta data, and we format it into an automatically generated post and about page.
- Theme Selection – Since we added a custom theme exclusive to the runners who sign up for the Half Marathon, we let them select from preview images of the custom theme. If their an existing user we let them choose their existing theme, but new users are stongly encouraged to pick one of the Las Vegas Half Marathon themes.
- Blog title and description
Ok, so those are the features we wanted how did we do this?
Well, first of all, we wrote most of this code as if it was a plugin for wordpressmu. However in the end we ended up moving it to be scoped just to the custom theme we developed for the running coach who’s offering the training. Our plan is to eventually move this to a more generalized process.
The bulk of the code is pretty object oriented PHP. We developed a wizard class, that takes wizard page objects. Each page of the wizard is responsible for rendering it’s html, and then doing a preprocessing check and eventually a processing phase. Of course we use prototype.js and script.licio.us for a bunch of the Javascript heavy lifting. The actual wizard behavior comes from some open source code that uses scriptalicious effects to move around the “pages”.
We essentially call the wordpress mu functions for blog signup and post creation just like the standard wp-signup.php pages do. I guess the point is, instead of trying to change wp-signup.php we realized that the right thing was to treat the functions in wp-admin and files like registration.php as an API that we would call into. Once we made this leap, it becomes pretty straightforward to build a custom signup process that gets past all of the ‘features’ of the standard wordpressmu signup.
Anyway, check it out… if you’re a runner, then for sure check it out and signup for the free coach and run training advice.