Notifications help you build a tighter, more robust community. They drive users to your site by notifying them of a recent event, then directing them to the affected page.
Ektron's notification system creates and transmits a notification messageConsists of text and a triggering activity. When the activity occurs, the message is sent to eligible recipients. to recipientA colleague, or a member of a community group to which a person belongs, that gets a notification message.s through various agentA provider (such as email, SMS, and activity streams) that transmits messages.s, based on Ektron activitiesEvents within Ektron's Community Feature, such as adding content, joining a community group, and submitting a micro-message. The activity may be performed by a community group, membership user, or an Ektron user. For example, a membership user wants to notify colleagueA user who accepted your invitation to be a colleague, or whose invitation to be a colleague you accepted. This activity is managed by the Friends server control.s whenever a document is uploaded to his profile page. When this occurs, a notification agent sends an email to that user's colleagues.
Users can control the notification system by determining
The notification system respects Ektron’s content permissions. As a result, content-related notifications are only sent to users with at least read-only permission for the content. See also: Managing folder and content permissions.
For example, Julia adds content to an Ektron folder for which her colleague, Tyler, does not have permission. Tyler is not notified when content is added, even though he signed up to be notified about colleagues’ activities. However Kristin, another colleague who has permission to edit the folder’s content and who signed up to be notified about colleagues’ activities, does receive notification of that event.
Similarly, private content is only viewable by authorized CMS users or membership users with at least read-only permissions for it. See also: Making content private.
The following table lists Ektron notification activities, and the users and groups that receive each notification.
NOTE: As explained in Personalizing notifications about your activities, users must elect to receive these notifications.
Activity |
Notification recipients |
---|---|
Blog Post. user posts to the user's blog |
User's colleagues |
User or Community Blog Comment. user comments on a blog post |
Posting user's colleagues |
Add/Update Site Calendar Event. event is added or changed on site Web calendar | User's colleagues |
Add/Update User Calendar Event. event is added or changed on user Web calendar | User's colleagues |
Add/Update Group Calendar Event. event is added or changed on group Web calendar | Community group members |
Add Colleague. user adds a colleague |
|
Create Community Group. user creates a community group |
Colleagues of user who creates group |
Join Community Group. user joins community group |
|
Add/Edit Group Content. user uploads or edits content in a community group workspace |
Community group members |
Group Blog Comment. user comments on a community group’s blog post |
Community group members |
Group Blog Post. user posts to community group blog |
Community group members |
Group Messageboard Post. user posts to a community group message board |
Community group members |
Add/Edit Site Content. user adds or edits Ektron content |
User's colleagues |
Content Messageboard Post. user posts to a message board associated with content |
Users who have permission to view the content |
Add/Edit User Workspace Content. user uploads content to the user profile |
Depends on folder’s share setting, which can be
|
Forum Post. user posts to a forum |
|
Forum Reply. user replies to a forum post |
Posting user's colleagues |
Community group forum post. user posts to community group forum |
|
Community group forum reply —user replies to community group forum post |
|
Micro-message. user posts micro-message | User's colleagues |
User Messageboard Post. user posts to a message board associated with a user |
|
This section explains how to set up community notifications.
Prerequisite
- You are a member of the Administrators group or assigned the Community Admin role.
- You have permission to edit files in the Ektron site folder.
SMTP Server configuration
area. To do this, set the <notificationAgent> <providers>
element as shown in the following code sample. Then, complete the SMTP Server configuration
area if necessary. (You typically define SMTP server settings while enabling email notification. See Enabling email notification.)<notificationAgent>
<providers>
<add name="EktronEmail" type="Ektron.Cms.Notifications.Providers.EktronEmailAgent,
Ektron.Cms.Providers" useSystemSettings="true" smtpServer="" smtpPort=""
userName="" password="" fromEmail="" />
By setting useSystemSettings
to true
, you indicate that you want notifications to use settings set in the SMTP Server configuration
area of web.config. And, if you set useSystemSettings
to true
, you must go to the Application Setup screen's General tab and
<notificationAgent><providers>
element. Do this if you want to use a different SMTP server to send notifications. To do this, set the <notificationAgent> <providers>
element as shown in the following code.
Replace the coded values for smptServer
, smtpPort
, userName
, password
, and fromEmail
with actual values.<notificationAgent> <providers> <add name="EktronEmail" type="Ektron.Cms.Notifications.Providers.EktronEmailAgent, Ektron.Cms.Providers" useSystemSettings="false" smtpServer="mailservervalue" smtpPort="port number" userName="email address of user authorized to use mailserver" password="encrypted password of user authorized to use mailserver" fromEmail="sending email address" />
IMPORTANT: Whenever the web.config or the Ektron.Notification.Service.exe.config file is updated with changes affecting notifications, you must restart the Ektron Notification service.
If you want to enable SMS messages, see Setting up SMS.
A notification agentA provider (such as email, SMS, and activity streams) that transmits messages. sends notifications to eligible users when an Ektron activity occurs. After an agent is registered, users can choose notification preferences that use it.
Ektron's predefined agents are
NOTE: Ektron’s predefined agents are enabled by default.
You can customize these agents or create your own using the extendable notification agent architecture.
Prerequisite
- You are a member of the Administrators group or assigned to the Community Admin role.
- You have permission to edit files in the Ektron site folder.
When you no longer need an agent, you can remove it. This can be a 2 step process, depending on the level of removal you want to achieve. First, remove the agent from the Workarea's list of agents. At this time, you can easily reactivate the agent. In the second step, you remove the agent from the web.config
file. At this point, it is no longer available in the Workarea.
NOTE: To completely remove the agent from Ektron, follow these additional steps.
web.config
file.<notificationagent>
<providers>
elements, remove the agent. The following example shows agents that might appear in the web.config
file.
<notificationAgent> <providers> <add name="CustomAgent1" type="Ektron.Cms.Notifications... <add name="EktronEmail" type="Ektron.Cms.Notifications... <add name="SMSAgent" type="Ektron.Cms.Notifications... <add name="ActivityFeed" type="Ektron.Cms.Notifications... </providers> </notificationAgent>
Ektron provides 3 standard notification agents: email, SMS, and Activity Stream. You can customize these agents or create your own using the extendable notification agent provider architecture. This section explains how to extend the object model to build a customized notification agent.
Each type of notification agent accepts configuration parameters. For example, email and SMS require an SMTP server, username, and password. These parameters can be specified in the web.config
file, and read when the agent is initialized the first time.
Each agent may also require the ability to store settings for each user receiving notifications. For example, the SMS agent requires the user’s cell phone number and carrier, which it stores as an SMS email address. To save these properties, each notification agent has an associated NotificationAgentSettingsData class. This class defines properties that must be supplied by a user. Ektron provides APIs for storing and retrieving this information, but the developer must create an interface for users to supply the information.
Object Model
The NotificationAgent is the abstract base class you must extend to implement a custom notification agent. Details about the class, available properties, and methods are as follows:
virtual void Initialize(string name, Amenable config);
The initialize method comes from the ProviderBase base class. It supplies all name value pairs specified in the Providers web.config
section.
If custom settings need to be provided to your agent, add them to your provider’s web.config
key, and the Initialize method provides them at runtime. If you have no custom settings, this class does not need to be overridden.
abstract NotificationAgentSettingsData GetAgentSettings();
This method should return a new instance of the NotificationAgentSettingsData class associated with your agent.
abstract void Send(NotificationMessageData message);
This method should send the actual notification. It is called by the notification engine for each user that needs to be notified.
The NotificationMessageData has all the information you need for sending the notification, including
If your agent has a custom NotificationAgentSettingsData, you need to cast the supplied NotificationAgentSettingsData to the appropriate type so that you can access the appropriate properties.
Prerequisite
- You have permission to edit files on the Ektron web server.
- You are either a member of the Administrators group or assigned to the Community Admin role.
siteroot/web.config
file.<notificationAgent>
<providers>
tags .<notificationAgent> <providers> <add name="CustomAgent1" type="Ektron.Cms.Notifications.Providers.CustomAgent1, Ektron.Cms.Providers" setting1="" setting2=""/> <add name="EktronEmail" type="Ektron.Cms.Notifications.Agents.EktronEmailAgent, Ektron.Cms.BusinessObjects" useSystemSettings="false" smtpServer="amh010" smtpPort="25" userName="" password="" fromEmail="[email protected]"/> <add name="SMSAgent" type="Ektron.Cms.Notifications.Agents.SMSAgent, Ektron.Cms.BusinessObjects" smtpServer="amh010" smtpPort="25" fromEmail="[email protected]" validationRequired="true"/> <add name="ActivityFeed" type="Ektron.Cms.Notifications.Agents.ActivityFeedAgent, Ektron.Cms.BusinessObjects" validationRequired="false"/> </providers>
</notificationAgent>
After you add an agent to web.config
, it appears in the Workarea's list of agents.
NOTE: If you do not see the custom agent in the Name drop-down, check the web.config
file to verify it appears between the <notificationAgent>
tags.
SMSShort Message Service (SMS); used for texting. sends notifications from the Ektron website to wireless devices, such as a cell phone or PDAPersonal Data Assistant. To set up this capability, configure several items.
web.config
. Add SMS agent information. See the following procedure.To set up SMS agent information:
Prerequisite
You have permission to edit files on the Ektron web server.
web.config
file.SMSAgent
tag.smtpServer
value for the server that sends your organization's email. For example:smtpServer="EKMAIL291.internal.mycompany.com"
fromEmail
with the email address of the user from whom notifications are sent. For example:fromEmail = "[email protected]"
<add name="SMSAgent" type="Ektron.Cms.Notifications.Providers.SMSAgent, Ektron.Cms.Providers" smtpServer="EKMAIL291.internal.mycompany.com" | smtpPort="25" fromEmail="[email protected]" validationRequired="true" />
Ektron lets an administrator create default notification settings. See also: Sending notifications to a community. The default settings apply to all newly-created users, but any user or group can personalize them, as described in Personalizing notification settings.
There are 3 types of default settings.
NOTE: By default, activities are checked for the Activity Stream agent only.
Prerequisite
- You are a member of the Administrators group or assigned to the Community Admin role.
By default, a set of notification preferences is applied to each user's profile. Most users want to personalize these settings, so they send and receive notifications as they wish. Similarly, a community group member can access a community group profile and click Edit Group Notification Preferences to personalize the group's preferences.
In your profile, enable only activities that you want to notify others about.
NOTE: The My Activities tab appears only after a user is registered and the Workarea > Settings > Community Management > Notifications > Settings > Publish Notification setting is checked.
Alternatively, log into the Ektron Workarea > Settings > Users > your username > Profile Links tab > click the link.
In your profile, enable only activities that you want to be notified about. Use the Colleagues tab to enable notifications for activities performed by colleagues, and the Community Groups tab to enable notifications for activities performed by group members.
Alternatively, log into the Ektron Workarea > Settings > Users > your username > Profile Links tab > click the link.
Prerequisites
- You are a developer.
- You are a member of the Administrators group or assigned to the Community Admin role.
Ektron's notification system lets you create and raise custom activity types. Custom activity types can generate notifications, just like standard activity types.
Ektron.Cms.Framework.Activity.Activity.Publish
method. The method takes an ActivityData
class. You supply the following:NOTE: Custom activity types cannot use Community Management messages as the standard Ektron activities do.
Here is an example of that method.
Activity activityApi = new Activity(); ActivityUserInfo user = new ActivityUserInfo(); user.Id = activityApi.UserId; ActivityData activityData = new ActivityData(); activityData.ActionUser = user; activityData.ActivityTypeId = 1001; activityData.Message = "John Doe just rated Ektron a buy!"; activityData.LanguageId = 1033; activityApi.Publish(activityData);
When publish
is called, the notification service notifies users who signed up to be notified of this activity.
Ektron's notification system uses messages to communicate site activities. A message is sent if:
You can view each activity’s message text on the Workarea > Settings > Community Management > Notifications > Messages screen.
For each activity, you can create an HTML-based and a plain text message. Typically, HTML messages are sent as email or to the ActivityStream server control, while plain text is used in SMS style messages. Messages can use text and tokens. See also: Working with tokens
As explained in Managing notification messages, one message is provided for each activity type and sub type in the default language. You can edit the default message text as well as create new messages in non-default languages.
Prerequisite
- You are a member of the Administrators group or assigned to the Community Admin role.
User and Community Group messages contains several message sub types. Sub type is the activity that triggers the message. For example, to edit the message that notifies colleagues when you upload a document to your Workspace, select User from the Type drop-down and AddWorkspaceItem from the Sub Type drop-down.
Only one default message is active for any sub type. So, if you create a new message, you must make it the default (via the Add Notification Message screen’s Default check box) if you want it to be sent. If another message was the default for that type and sub type, it is no longer used. For a list of Sub types, see Notification activities and recipients.
WARNING! A message is limited to 3000 characters after its tokens are converted to text. Characters beyond 3000 are removed.
NOTE: Most SMS systems impose a 160-character limit on messages. If you create a plain text message greater than 160 characters, Ektron divides it into several smaller messages.
A tokenAn Ektron-defined variable that surrounded by at signs (@). For example, @SubjectUser.FirstName@. This variable gets translated in message notifications. is an Ektron variable surrounded by at signs (@). When a message is generated, tokens retrieve information about CMS users, groups, and objects. For example, the following message:
@SubjectUser.FirstName@ added a new document, ‘@Content.title@’, to the profile page.
might look like this:
“Paul added a new document, ‘Best Practices for Writing Code’, to the profile page.”
In this example, @SubjectUser.FirstName@
is the first name of the user performing the action. @Content.title@
is the title of the object that was uploaded. See also: Customizing Ektron email with tokens
There are several token types.
Email Message Reply
A message tokenAn Ektron-defined variable that surrounded by at signs (@). For example, @SubjectUser.FirstName@. This variable gets translated in message notifications. represents Ektron content, users, or groups. It can become a link that, when clicked, forwards the site visitor to referenced content, a user’s profile, or a community group’s profile.
To make a token into a clickable link:
Prerequisite
The path to the page that displays the referenced content, user, or community group.
—Image—
—Image—
![]()
Be sure to include a QueryString parameter to identify the object. The parameter should point to an ID token. For example, an add colleague message might be:
@SubjectUser.UserName@ and @DirectObjectUser.UserName@ are now colleagues.
When creating a link for @SubjectUser.UserName@, insert into the URL field the path to the user’s profile page. It might look like this.
http://localhost/Intranet/UserProfile.aspx?id=@subjectUser.Id@
NOTE: The QueryString parameter (?id=)
points to a token that represents the logged-in user’s ID, @subjectUser.Id@
.
For @DirectObjectUser.UserName@
, enter the same path but change the dynamic parameter token to [email protected]@
.
When hyperlinking content, insert into the URL field the path to its QuickLink token. For example, an add content message might look like this.
@SubjectUser.username@ added new content, @Content.Title@.
The email reply feature consists of additional text within a notification message that prompts a recipient to reply. See the following example. If the recipient replies, the resulting email is posted to the group's message board.
To modify the reply message's text and start and end delimiters, see Modifying email reply text.
Prerequisite
- You are a member of the Administrators group or a community group administrator.
- You enabled community notification feature, as described in Setting up Ektron to send notifications.
IMPORTANT: The Community email reply feature is only supported for group activities, such as uploading a document to a group workspace. It is not supported for user activities.
IMPORTANT: Each community group's email address must be unique.
NOTE: If you are using Gmail as the SMTP server to fetch email replies, after the notification service processes the emails, you probably want to delete them from the Inbox. To set up automatic deletion of this email from the Inbox, got to Gmail's Settings screen > Forwarding and POP/IMAP tab > Pop Download Area > 2. When messages are accessed with POP > select delete Gmail's copy.
Prerequisite
- You have permission to edit files on the Ektron web server.
- You are either a member of the Administrators group or assigned to the Community Admin role.
Community activity that generates an email can include a reply statement, as shown in the following example.
NOTE: The message text is determined by the activity. For example, if the activity is a blog post, the message text is retrieved from the New Blog Post notification message.
To review and modify email reply text:
A line of dashes separates the activity message from the email reply. Messages typically combine text and tokenAn Ektron-defined variable that surrounded by at signs (@). For example, @SubjectUser.FirstName@. This variable gets translated in message notifications.s. See also: Working with tokens.
C:\Program Files (x86)\Ektron\EktronNotificationService\
Ektron.Notification.Service.exe.config
.<siteNotification> <sites>
element.<Add>
tag.replyStartDelimitter
. Marks the beginning of the reply.replyEndDelimitter
. Marks the end of the reply.For example:
<siteNotification>
<sites>
<add name="dev" url="http://localhost/eintranet"
connectionString="server=.;database=eintranet;
Integrated Security=TRUE;user=;pwd=;" services="All"
replyExtractor="Ektron.Notification.Service.EktronReplyExtractor"
replyStartDelimitter="^" replyEndDelimitter="\r\n" />
</sites>
</siteNotification>
Use RegExRegular expression; an alias that creates a pattern. For example, blogs.aspx?blogmonth=3&blogyear=2012&blogid=41 can be a RegEx blogs/2012/03/41. From that, a site visitor can infer blogs/2012/03/40 to see the previous post, or enter blogs/2012/03 to see all March 2012 posts expressions to indicate the start and end delimiters. In the above example, the start delimiter (^) is a new line, and the end delimiter (\r\n) is a page break. So, only the first paragraph in the email reply is used.
The following table shows how the notification system treats email replies.
Activity |
How email reply handled |
---|---|
User adds a colleague |
Comment on Activity Stream |
User adds content to Ektron |
Post to Content Message Board |
Event is added or changed on Web Calendar |
Comment on Activity Stream |
User uploads content to community group Workspace |
Post to Content Message Board |
User comments on group workspace content or asset | Comment on Activity Stream |
User uploads content to the user's profile |
Post to Content Message Board |
Comment on user workspace content or asset | Comment on Activity Stream |
User comments on a blog post |
Comment to same blog post |
User posts to the user's blog |
Comment on post |
User posts to a message board associated with content |
Reply to post |
User creates a community group |
Comment on Activity Stream |
User posts to a Forum |
Reply to post |
User replies to a Forum post |
Reply to post |
User comments on a community group’s blog post |
Comment on same blog post |
User posts to community group blog |
Comment on post |
User posts to a community group message board |
Reply to post |
User joins community group |
Comment on Activity Stream |
User posts micro-message |
Comment on Activity Stream |
User updates status |
Comment on Activity Stream |
User posts to another user's message board |
Reply to post |
Message board reply | Reply to same post |
Ektron supports the attaching of community group assets to a notification. For example, a user uploads a Word document to a group workspace, which generates a Group Content Added notification. The Word document is attached to the notification. If you enable attachments and the email Reply feature, message recipients can
If a group administrator does not want to keep the modified asset, the administrator uses the asset history to restore the original version. See also: Restoring a previous version.
IMPORTANT: If a message's email signature includes an image, the email reply feature uploads it as a group asset. To avoid this, remove the image from the signature before replying.
To set up notification attachments for a community group:
Prerequisite
You are a member of the Administrators group or assigned to the Community Admin role.
Alternatively, from the Workarea, choose Settings > Community Management > Community Groups > click a community group > Edit.
The notification system enables Ektron to generate email that invites other users to join a community group, join a site, or become a colleague.
To create a message:
Click <a href=http://www.example.com/register.aspx&fInvId=
to accept.
@appInviteId@>here</a>
In a multi-site environment, notifications stay within the site where the activity happened. For example, if there are 2 sites—an Intranet and Social Club site—when a user from the Intranet site performs an activity that generates a message, it does not trigger notifications on the Social Club site.
Exception: A user’s colleagues receive notifications regardless of the site from which the message originated.
When a message type is created, it becomes the default message used by all sites. But you can assign a different message of the same type to each site in your environment. To view the messages assigned to a site, go to the View All Notification Messages screen, click the Site drop-down, and select the site.
When creating notification messages in a multi-site environment, specify the site for the message. For example, you want a “Status Update” message targeted one way for an Intranet site and another way for your Social Club site. The Intranet site message might be:
@SubjectUser.username@ has an updated status on Intranet with the following: @MicroMessage.Message@.
While your Social Club site might message be:
@SubjectUser.username@ has an updated status on the Social Club with the following: @MicroMessage.Message@
To allow anyone to post email to a community message board, set up a community group email address.
Prerequisite
- You are a member of the Administrators group or a community group administrator.
- You enable notification system, as described in Setting up notifications.
To set up a community group's email address:
Or, from the Workarea, choose Settings > Community Management > Community Groups. Click the group.
IMPORTANT: Each community group's email address must be unique.
NOTE: If you are using Gmail as the SMTP server to fetch email replies, after the notification service processes the emails, you probably want to delete them from the Inbox. To set up automatic deletion of this email from the Inbox, got to Gmail's Settings screen > Forwarding and POP/IMAP tab > Pop Download Area > 2. When messages are accessed with POP > select delete Gmail's copy.
If your site uses SSLSecure Sockets Layer (https), you must update the Ektron notification service configuration file with that information. The file is typically located at C:\Program Files(x86)\Ektron\EktronNotificationService\Ektron.Notification.Service.exe.config.
Change the url="http
value to include an s (https).
<siteNotification>
<sites>
<add name="769723537" url="https://your server" connectionString="server=your server; database=Intranet2; Trusted_Connection=true; User ID=;Password=;" />
</sites>
</siteNotification>
Restart the Ektron notification service to enable this change.
When using eSync with notifications, new agents are not synchronized. This means that you must manually add new agents to each server in your configuration.
If an agent exists on all servers in your configuration, eSync keeps them updated. For example, assume a membership user logs into the production server and updates the profile’s Activities tab by changing the activities a custom agent will perform. eSync copies those changes to the staging server.