Module overview thoughts

Feb 21, 2015 at 9:33 PM
Edited Feb 21, 2015 at 9:57 PM
Hi William

First off THANK YOU. A much need addition to DNN. I gave the module a run through and have some thoughts. I added a couple of things to the issue page too.

Like the functionality and management aspect of the module! Especially the bulk invite!

I don't think having the sender of the invitation choose a user name or display name is a good idea. I do like the ability of the recipient being able to make changes. We don't use username on our site. Users log in with their email address so they would be confused by having to enter a user name.

It would be preferable to have an option to default the user name and display name to be first initial/lastname with the ability of the recipient to change it.

It would be nice to have a load default on the email template. I somehow messed up the links at the bottom of the email and don't know how to recover them.

When a user registers on our site we require a zip code. It would be great to be able to include a profile field on the accept page.

The invitation uses the users display name. A invitee may not know who this is. An option to use first/last name might be a good idea. What do you think?

What happens if a user invites someone that is already a site member? Does the module check to see if the email address is already used?

Overall this feature has to really simple for a user to use and I think it works great but wonder if I want to invite 10 of my friends how convenient it would be to repeat this process 10 times. How difficult would it be to have an option of multiple invites. Have fields for first name, last name, email address with an add button. The user can add up to ? invites. Of course the username and display name would need to be defaulted.

Here's something that we REALLY need and now that you have some experience with notifications :) Social Groups have no invite capability. It would so great to enable a group member to invite others to join the group in the same manner. logic wise the same email could be used. In the module settings, there could be a social option where the module would be put under the Group Activity page and be aware of the groupid in the url. When an invite is sent the email would include the group name so when they user accepts the invitation it logs them in after confirmation and brings them automatically to the group as a joined member.
Coordinator
Feb 24, 2015 at 9:40 PM
Thanks for taking the time to try out, create some issues, and make good suggestions for improvements. I'll take a closer look at the issues later this week but wanted to answer a few questions/suggestions you made here.

If you have configured the site (Site Settings/User Settings) to use email address as username, the module should remove the username field and automatically populate the username field with the email address. I have not extensively tested this configuration as I prefer site users to have a username other than their email address. I'll set up a DNN test site in this configuration to further test this.

I almost added a "Restore Default" button to the invitation email text editor at the last minute and will do so for the next version. For now, open the module's SharedResources.resx file in the site's language editor and copy the text/html for the Invitation.Body resource. Then, open the module's settings and (in HTML view), paste what you have copied into the editor for the Invitation Email Body setting and update the settings. I believe that your edit was responsible for the temporary email not being included and the appearance of the if . . . endif characters in the invitation email.

The default invitation email uses the token [Invitation:RecipientFullName] which is made up from the recipient first name and last name. Many other tokens are available for use in the emails/notifications. I should document those.

If the module configuration (and site user settings) require a valid user profile upon registration and the ZipCode/Postal Code is configured as a required profile field, the accepting user will be presented with a profile editing page containing just the required fields immediately AFTER accepting the invitation.

In the module configurations you can specify different limits and security settings based on the inviting user's role. For example, registered users would normally be prevented from assigning username or password while administrators would be free to do so.

The presentation of a Display Name field follows the site's user account settings for Display Name. If the display name format is left blank, the inviting user would be able to assign a Display Name. However, if the Display Name format is set to "[FIRSTNAME] [LASTNAME]" or "[USERNAME]" the Display Name field will be hidden and set automatically according to format. I had thought of adding formats of [EMAIL] or a regular expression to allow a custom format such as first initial dot last name but decided not to as standard DNN user registration would not honor those. I think (but have not tried) that if the site settings are configured to use email as username and the Display Name format is set to "[USERNAME]" the module will then apply the email address as the Display Name.

The module makes a number of validity checks for duplication of username and email address assigned at the time of creating the invitation and should reject a username or email address that is already that of a registered user or of another invitation that is still pending. In the case of username, a suggestion of the desired username with a prepended number will be made. Checks are also done according to the site's username and email validity expressions and profanity filter settings.

Your idea of allowing multiple invites at one time is a good one which I'll consider for a later version. Of course, one could easily do that now by creating a few columns in an Excel spreadsheet and doing a bulk import but for security reasons such capability should be restricted to trusted users or roles.

Since Social Groups are actually roles, it would be possible now to configure a user account or role (in the module's role based limits configuration) to apply a Social Group (role) when the invitee accepts the invitation. Your idea of making the module respond to the groupid querystring parameter when placed on a Group Activity page and send an email which includes the Group Name is a good one that would require only a few modifications to the module. However, since the module is really designed for portal wide usage and includes much more than a basic invite function, it might be better to create a lighter weight invitation module for this. I'll give that some thought.