I recently needed a heavily customized user registration process, and this session will present my solution, along with some roadblocks and other alternatives.
After some failed attempts at altering the default user registration form, I finally found success by creating everything from scratch in a custom module.
Use case: a four-step user registration form for students and professors. Both users will share the following steps:
* Step 1: user account - validated via email domain or an optional registration code
* Step 3: terms/privacy
* Step 4: confirmation
On step 2, Professors can enter one or more courses they are offering (saved as new nodes after step 4); Students can select one or more Professor/Course which is saved in their profile.
* the Examples module - pure gold!
* hook_menu to define new paths
* hook_form, form_validate, and form_submit to define and handle our custom form
* creating new forms and fields using the Form API
I'm planning to leave a fair amount of time for questions, feedback and discussion of other solutions.