I’ll start this post off by stating a few things. One, I don’t work for DotNetNuke Corporation anymore, but I still love this project and will continue to work with it for the foreseeable future. That being said, expect tough love from me going forward.
The messaging feature was added in DotNetNuke 6.2, and since then it might have seen a bug fix or two, but it like most other features added to DotNetNuke over the past 4 years, has remained stagnant and seen no additional enhancements.
If you would like to see some additional enhancements to the Message module please visit and vote for these items in the Community Voice on DotNetNuke.com here, here, here
Now, how can you go about trying to improve the Messaging in DotNetNuke right now?
One of the biggest problems with the messaging module is the message that actually gets sent to the email address of the person receiving the message. It contains absolutely NO information on WHERE the message came from, other than the username of the person who sent it, in the SUBJECT of the email.
Nothing about the Portal/Website, not the name of the website, not a link to the website, or even a link to the messaging page of the site so that a user could respond if they wanted to.
So how can we improve this? Well, the only way that you can, without completely hacking the Messaging module (I am seriously considering a Fork of the module is necessary if DNNCorp doesn’t step up), is to make changes to the Language Resource files in your website. You will do this by following the steps below (for the images, click on them to see a larger view of what I am referring to)
Warning: Making these changes will also likely impact your “notification” emails in DNN, but in my case that is fine cause I still want to send people back to the Messaging/Notification area.
- Navigate to the Admin/Languages page (I did this as a super user)
- Click on the Pencil in the language editor under the HOST option (I didn’t use SYSTEM or SITE)
- On the left side of the page click on the + next to Global Resources, then choose the GlobalResources (no space) option to edit that resource file.
- Navigate to the EMAIL_BODY_FORMAT.Text resource, I used the following Code in that resource in order to add a hyperlink back to the messages page on SCCAForums.com, you would obviously need to put in the URL for your own page/domain. I use URLMaster with extensionless URLs, you might need the .ASPX in yours.
Subject: {0}<br/>
<br/>
{1}
<br/><br/>
To reply, visit <a href="https://www.sccaforums.com/user-profile/messages/">SCCAForums.com Messages</a>
<br/><br/>
Please do not reply to this email.
- Scroll to the bottom of the page and click on the Save Resource File option. This will generate a new GlobalResources.Host.resx file, that will include only the changed resource key we modified. The way DNN handles resource files is that it loads up the SYSTEM resource files (globalresources.resx) and then if there is a HOST file (globalresources.host.resx) any changes there, override those in the system file, then the SITE files (globalresources.portal-0.resx) is loaded (if available).
So, really I guess I should have told you to edit the SITE resource file, but I actually used the HOST file, because I only have one portal in the install, and I don’t have to worry about changing the URL for different portals, but if you had multiple portals in an install and you wanted this, you should edit the SITE resource file for each portal.
How can DotNetNuke Corporation make the Messaging module actually usable, more so than hacking RESX files?
- Add the ability to have Tokens in the email that is sent
- Split the Messaging and Notification templates
Stay tuned to my blog here as I create posts like this, on how to make DotNetNuke better, maybe some of this will fall back into the core and posts like this won’t be necessary, but I don’t have much faith in that.