Communication is key in any Social System, be it the physical world or the digital world. Keeping this need in mind we built a brand new Message Center in DotNetNuke 6.2. Message center is one central place to manage all sorts of communication in the DotNetNuke framework. Users can read and send messages; read notifications and take action on them all from within one single UI.
Sizzling new UI
The new Message Center is built using latest client-heavy technologies such as KnockoutJS and the new Services Framework in 6.2. The AJAX based server calls makes the module light-weight and highly responsive.
Message Center has the following views:
Conversations - This is the default view where messages are displayed in the format of Conversation. Messages with multiple threads have one line-entry here; with the content from the latest thread showing.
Sentbox – Sentbox shows the messages sent by the user
Archive - Conversations can be archived from the Conversations view. The Archived messages can be found under Archive view.
Thread - Clicking on a thread will take user to the detailed thread view.
How to access Message Center
In new installs Message Center can be accessed by clicking on the Message and Notification Links on the top right corner.
Message Center is also available under User Profile.
Lastly, Message Center can be added to any page by simply dropping Message Center module to the page.
Upgrade - The framework automatically removes old Messaging module from the User Profile page and replaces with the Message Center
Compose Message jQuery Plugin
Module developers can vey easily reuse the Compose Message capability we built in 6.2. We are providing this component as a jQuery Plugin. Message Center and Member Directory are two existing core modules that use it this way. I’ll cover integration in another blog. However, one can take a look at the source code of the two modules to see how it’s being called.
The plugin has nice “suggest as you type” feature where it lists other users and roles. The roles are only visible to Site Administrators. Also, Social Groups are visible to Group Moderators only.
A typical user can only send message to other users, not to a role or a group.
The Notifications tab in Message Center lists all Notifications for the user. Notifications usually have actions that can be taken by simply clicking on them. User doesn’t need to navigate away to any other location.
Core already have few notifications built-in into the framework, e.g. Friend Request or Group Moderation.
Module developers can create custom actions for their module.
One common action is Dismiss. Clicking on Dismiss simply removes the notification.
Following settings are available to Site Administrators to manage Message Center:
Throttling Interval in Minutes – To prevent potential spamming, administrator can bump this value to stop rapid sending of messages in quick succession. Setting does not apply to Site Administrators.
Recipient Limit – This setting is another setting to prevent potential spamming. Administrator can restrict number of recipients a message can be sent to.
Enable Profanity Filters – Administrator can enable this setting to automatically replace profane or inappropriate words with other words. Profanity list is maintained under Admin->Lists.
Allow Attachments – By default attachments are not allowed in messaging, however, it can be allowed by enabling this setting.
There are APIs available for module developers to integrate both Messaging and Notifications in their module. Please refer to the developer wiki for more details.
Email delivery is baked right into the Message Center. Every message or notification delivered to the Message Center is also delivered to recipients by email. This requires SMTP to be configured correctly under Host -> Host Settings. Recipient(s) should have valid email address also. The email is sent via a scheduled task which gets triggered every few minutes.