Buck Anderson posted on January 14, 2010 08:06 :: 7563 Views

About a year ago, I was searching for a quality DNN registration module to replace the registration module that comes with DotNetNuke.
- I was frustrated over the lack of customization for user registration fields.
- I wanted to dynamically setup my DNN Portals with custom registration fields, layout, questions, and other core integration options.
- I was looking for a registration module that would play nice with other DNN modules such as
Mandeeps.com Live Tabs.
I am a big fan of Mandeeps Live Tabs and I needed a custom registration module that could reside within a tab View Example.
Whether I was creating a subscription signup process, a sales page, or simply a better method for user registration or list generation, it was important that the user should have the ability to register without complication or distraction. This would allow me to maintain the registration form directly on the sales or point-of-impact page and the visitor would not be whisked off to another page for registration and possibly lose interest in the product, subscription, registration or promotion.
- I was looking for a tool that could not only allow me these advantages but could also access the DNN user profile properties, allow me to add custom fields to my registration form and connect to the PayPal API, for subscription recurring billing, and add the user to a security role after the PayPal completion event.
Direct page registration access and recurring billing was very important to me since our Business Directory application customers were looking for a way to create subscriptions for their directory clients and have the ability to automate the process (This will be covered in an upcoming article).
Problem Solved: 
DataSprings Dynamic Registration module to the rescue.
Here are some of the Dynamic Registration module enhancements:
- Quick Create Profile Property feature – When setting up fields you can easily create extended profile property fields within the core based on the fields short field name
- Clear Results Feature - This new feature will allow you to optionally enable a 'Reset' or 'Clear Form' link or image button to the form. The form field will be directly next to the register or update registration link/image button
- Optionally retrieve / push values of form field to a cookie variable
- Optionally setup fields to not save data to the database. This is useful for form fields that you do not want to save the data such as when you might process a credit card with the Authorizenet® payment gateway or similar implementations
- New Custom SQL Script Validation (per dynamic field) - Ever wanted to parse the users information they entered for validation? Maybe confirm that they entered a valid code or check a custom database table to see if they should continue? Well now you can!
- Option to enable quick pop up help text when the user is focused on the current field
- Easier field maintenance: Short field names will now be used with HTML field types, fields labels longer than 40 characters will be truncated within the manage questions dropdownlist.
- New feature to set column span on fields (useful for multi column field rows and more)
- New feature to set row span on fields (useful for multi column field rows and more)
- New feature to check if the username is available (via AJAX without any post backs, immediately when the user enters their username)
These are just a few of the improvements Chad Nash has made to the product since I began using it.
Another feature that I need for subscriptions and Business Directory signups is:
Dynamic Payment Gateway
- This feature will allow you to process payments using Dynamic Registration, offering the ability to use the module as an ecommerce solution and single-form payment solution without another 3rd party shopping cart or payment processing module. The module currently supports Authorizenet® and PayPal® payment providers.
- Authorizenet® Payment Gateway - Dynamic Registration will now support processing credit card transactions for registrations / updated registrations
- Dynamic Events will process only after payment is complete, offering ability to then process completion events such as emails, add users to DNN® Roles, process any SQL Events/HTTP Form Posts, etc.
- Processed payments can be from credit card or ECheck
- Calculation total fields can calculate a total or calculate items within a Check Box Groups and ListBox’s for a total price
- Gateway can be used in ‘Test Mode’, or ‘Developer Mode’
PayPal Payment Gateway - Dynamic Registration will now support PayPal including PayPal's Instant Payment Notification (IPN) for all completion events within Dynamic Registration. You can now setup your completion events as you would normally (for emails, adding the user to a security role, executing a SQL script etc...) only now you can link each of the completion events to a PayPal status event within the IPN. This means you can setup completion events for the following IPN status codes (for single instance PayPal purchases or PayPal Subscriptions):
- Success Redirects / Cancel Redirects
- Completed Purchases
- Pending Purchases
- Subscription Sign Up
- Subscription Payment
- Subscription Payment Failed
- Subscription Cancellation
- Subscription End Of Terms
- Payment Failed
- Payment Denied
- Refunded
These are just a few of the features that have me excited about this Dynamic Registration DNN module.
This is huge if your are selling any type of subscriptions that require the user to be added to a DNN security role.
Dynamic Registration can be set up to acknowledge the subscription completion event from PayPal and only then add the user to the DNN security role of your choice.
When setting up subscriptions that are recurring billing in PayPal, if the customer decides to cancel the subscription through their PayPal console, the cancellation is reported to Dynamic Registration and the user can be automatically removed from the security role, sent an email, and many other options.
You can also run SQL events against your database tables!
According to Chad Nash, developer of Dynamic Registration, "This is why the PayPal implementation is very powerful. Basically each event can be tied to each PayPal IPN response. So basically whenever you are setting up the event you can set it up so that the event would be ‘linked’ to the PayPal IPN for cancelling a subscription. Sometimes this is an email event that says ‘Sorry you cancelled’ and other times it’s a SQL Event maybe unauthorizing a user or maybe updating your tables etc…
Here is where you ‘link’ the events to the PayPal IPN’s. You might want to link it to both the cancellation and also the subscription end of terms. Other times customers will use a SQL Event for ‘payment’ and ‘payment failed’ to maybe add another 30 days to a users security role or maybe fire off another thank you email for that months subscription payment etc.

For role events there are many options to add a role, renew a role, cancel a role etc… If you need more direct logic you can use the SQL event to insert data directly into the UserRoles table."
Here is the sweet spot
- With Dynamic Registration I can now create multiple dynamic registration forms on my DNN sites.
- I have the full flexibility to use all of the values in the built-in DNN user profile properties plus I can add any custom fields that I want to add to the registration form.
- I have full integration to the PayPal API and Authorize.net allowing me to register a user and manage sales, subscription signup and payment processing in one module.
- Most importantly, I am using modules from a developer that I trust. I have been using Chad's DataSprings products for many years. Their Dynamic Registration and Opt In Email module for relationship building, communication, newsletter generation and email campaigns are both invaluable to the success of our online businesses.
- The support from Chad and his DataSprings staff has always been stellar.
In the next article in this series, How to Automate Sales and Subscriptions for Business Directory Using Dynamic Registration and the FatGeorge HouseKeeper, I will share methods of integrating the Dynamic Registration module and the FatGeorge XMod Add-on named HouseKeeper to automate the subscription signup, adding new users to roles, manage expired listings, manage subscription cancellations and how to handle orphaned files from deleted Business Directory listings.
'til next time...
Wishing you success,
Buck Anderson
DNNprofessor.com