Notification Center

From SIMboxWiki
Jump to navigation Jump to search

Overview

The SIMbox Notification Center notifies trainees via emails with regards to upcoming courses and published activities. In addition, the SIMbox Notification Center can send a daily courseware summary via email to the relevant instructors or course publishers.

The SIMbox Notification Center configuration utility resides on the SIMbox server, and allows the administrator to configure notification settings and edit the email notification templates.

The SIMbox Notification Center uses Microsoft Message Queuing to deliver the notifications.

Installing Microsoft Message Queuing on the SIMbox Server

The prerequisites for SIMbox Notification Center are Microsoft Message Queuing and SIMbox Server version 5.6 with Hotfix 86457.

Installing Message Queuing 3.0 on Server 2003

The server must already have Windows Server 2003 standard edition or higher edition installed, and it should already have IIS 6.0 and ASP.net installed. Message Queuing must be installed before Hotfix 86457 is installed. 

To install MS Message Queuing 3.0

  1. Click Start\Control Panel.
  2. Click Add Remove Programs and then click Add Windows Components.
  3. Select Application Server to access Message Queuing.
  4. Select Message Queuing and click Details. Ensure that the option MSMQ HTTP Support is selected on the details page. Click OK
  5. Click OK to exit the details page. Click OK to exit application server, and then click Next. Complete the installation.
  6. If you are prompted to restart the computer, click OK to exit details.

Installing Message Queuing 4.0 on Server 2008 or Server 2008 R2

The server must already have Windows Server 2008 or Windows Server 2008 R2, standard edition or higher edition installed, and it should already have IIS 6.0 and ASP.net installed. Message Queuing must be installed before Hotfix 86457 is installed.

To install MS Message Queuing 4.0

  1. Click Start\All Programs\Administrative Tools\Server Manager.
  2. In Server Manager, click Features.
  3. In the right-hand pane under Features Summary, click Add Features.
  4. In the resulting window, expand Message Queuing.
  5. Expand Message Queuing Services.
  6. Click Directory Services Integration (for computers joined to a Domain) to open window Add features required for directory service integration? Click Add Required Features.
  7. Click HTTP Support to open window Add role services and features required for HTTP support? Click Add Required Role Services
  8. Click Next, then click Install.

Configuring KnowBook Notification Center Admin Settings

Configure the notification emails on the SIMbox server using the Notification Center Admin Settings dialog.

To configure the Notification Center Admin Settings:

  1. On the SIMbox server, click Start --> Programs --> KnowBook Server --> Settings --> Notification Center Admin Settings.
    The Notification Center Admin Settings dialog appears.
    Notification Center Admin Settings Dialog 
  2. Mail Notification Settings Pane
    SMTP Address - the address of the email server that sends the notifications (mandatory field) 
    Port -  optional field if credentials are need for the authentication with the SMTP server (optional field)
    User Name - optional field if credentials are need for the authentication with the SMTP server (optional field)
    Password - optional field if credentials are need for the authentication with the SMTP server (optional field)
    Domain - optional field if credentials are need for the authentication with the SMTP server (optional field)
    Sender Address – the sender address that will be defined in the notification emails (mandatory field and must be in format of valid email address name@domin) 
    Product Name - the product name that will be defined in the notification emails (mandatory field)
    Company Name - the company name that will be defined in the notification emails (mandatory field)

    Important Note: For SMTP authentication – Define User name, Password and Domain of the account used for Exchange server authentication. It is important to define the Sender Address to be the same as the address of the account specified for authentication. Authentication is required in the following cases:
        • When the exchange server permits only authenticated accounts to send emails through it.

        • When the exchange server does not permit the relay of messages for an unauthenticated email account.
        • When the addresses of recipient accounts are not part of the defined SMTP Server; i.e., when the Exchange server is used to relay the email messages.

    Reminder Settings Pane
    • Courseware Reminders – This field contains a list of reminders that sent out by the Notification Center.
      For each reminder in the list, set the field for number of days to send the notification out before the event. The default is 0 days. 
    Add button – the ability to add a new reminder
    Remove button - the ability to remove a reminder from the Courseware Reminders field
    Email Template button – customize the notification email (body and subject) that instructors and students will receive. This button opens the email templates folder.
  3. Click the Edit Template button.
    The email templates folder appears. The folder contains a template file in HTML format (in this example, EmailTemplate.html) and an attachment folder (Attachment). Templates Folder
  4. Double-click the EmailTemplate.html to open the file in an editor.
    Editing the Template
    Refer to the Editing Templates section below for information about the include tags.
  5. Save your changes to the template in the editor.
  6. Click Apply to save your changes in the Notification Center Admin Settings. Click OK to close the Notification Center Admin Settings dialog. 

Editing Templates

The Edit Template button opens the email templates folder that lets you customize the body and subject of the notification email receive by instructors and students. The template can be edited with any HTML editor. Notification emails can include variety of attachment files defined in the email template folder, for example, PPT, PDF, Image files etc. Notification templates can include predefined tags that will be replaced with runtime data depending on the recipient and the type of notification email.

There are two types of notification:

  • Email Reminders for Trainees
  • Summary of Courseware Activity


Email Reminders for Trainees

Background Images and Attachments

The templates folder contains an attachment folder for each template. All files in the attachment folder are automatically added to email.

All images embedded into the email must be located in the attachment folder for that template.

Microsoft Exchange Server 2007 and 2010 does not allow you to embed a back-ground image in email. Use the SRC format definition of embedded images to add image tags into email. For example:

<img alt='logo' src='[simigon.logo.jpg]' style="margin: 8px;"/>

Body of the Email

Some email servers may remove the body of the email. If so, use a <Div> or <Table> tag instead.

Include Tags

Email Notifications (CoursewareReminderMail) use the following tags:

  • [Recipient.Name] - the Recipient Full Name
  • [Recipient.Email] - the Recipient Email Address
  • [Recipient.AccountUID] - the Recipient Account GUID in KnowBook
  • [Courseware.Name] - the name of the current courseware
  • [Courseware.Description] - the description of the current courseware
  • [Courseware.EndDateLocal] - the End Date of the current courseware in time zone defined in the configuration
  • [Courseware.StartDateLocal] - the Start Date of the current courseware in time zone defined in the configuration
  • [Courseware.Students.Name] - the name list of attendees for current courseware
  • [Courseware.Students.Email] - the email list of attendees for current courseware
  • [Courseware.Students.AccountUID] - the Account GUID in KnowBook system list of attends for current courseware
  • [Courseware.Instructors.Name] - the Name list of instructors for current courseware
  • [Courseware.Instructors.Email] - the Email list of instructors for current courseware
  • [Courseware.Instructors.AccountUID] - the Account GUID list of instructors for current courseware
  • [ProductName] - the product name from the configuration of the notification center
  • [CompanyName] - rhe company name from the configuration of the notification center
  • [DateTime.Now] - the local date time of the server
  • [DateTime.UtcNow] - the date time in UTC time

Example for Email Reminder Template code.

Summary of Courseware Activity

Summary of courseware activity (CoursewareSummaryMail) use the following tags:
Under the Courseware tag ([Courseware]) and the close tag ([/Courseware]) you may specify any html body that will be repeated for each different activity in the summary mail.

  • [Recipient.Name] - the Recipient Full Name
  • [Recipient.Email] - the Recipient Email Address
  • [Recipient.AccountUID] - the Recipient Account GUID in KnowBook
  • [ProductName] - the product name from the configuration of the notification center
  • [CompanyName] - the company name from the configuration of the notification center
  • [DateTime.Now] - the local date time of the server
  • [DateTime.UtcNow] - the date time in UTC time
    • [Courseware] - the Courseware's for the summary mail grouped by status and name
      • [Courseware.Name] - the name of the current courseware
      • [Courseware.Description] - the description of the current courseware
      • [Courseware.StatusString] - the status of the current courseware
      • [Courseware.ScoreAverage] - the average score of the courseware if it exists, else returns 'unknown'
      • [Courseware.EndDateLocal] - the End Date of the current courseware in time zone defined in the configuration
      • [Courseware.StartDateLocal] - the Start Date of the current courseware in time zone defined in the configuration
      • [Courseware.Students.Name] - the name list of attends for current courseware
      • [Courseware.Students.Email] - the email list of attends for current courseware
      • [Courseware.Students.AccountUID] - the Account GUID in KnowBook system list of attends for current courseware
      • [Courseware.Instructors.Name] - the Name list of instructors for current courseware
      • [Courseware.Instructors.Email] - the Email list of instructors for current courseware
      • [Courseware.Instructors.AccountUID] - the Account GUID list of instructors for current courseware
    • [/Courseware]


Example for Summary Email Template code.

Advanced Configuration of the Notification Server

Advanced configuration of Notification Server can be achieved to modify 2 services that run on your server, where you can change the value for the Client Default Time Zone. The advanced configuration files are:

  • KnowBook.NotificationAppService - the application that sends out the emails
  • KnowBook.NotificationServerService - the application that processes the emails - define time when server does processing


These files are located on the server machine under Server\Application\Tools\NotificationCenter.

KnowBook.NotificationAppService

The KnowBook.NotificationAppService service configuration xml file example:
The notification app configuration file is called KnowBook.NotificationApp.Service.exe.config.

  • Use the "DateTimeFormating" to change the formatting of dates within the emails (reference: string-format-datetime):
    <add key="DateTimeFormating" value="dd-MM-yyyy"/>
     
  • Use the "TimeZone" to set the default time zone of the recipients for local date time email template parameters:
    <add key="TimeZone" value="2"/>
     
  • Set "NotificationTimeOfDay" to be the time of day that email reminders will be processed and sent from the server:
    <add key="NotificationTimeOfDay" value="20:00:00"/>
     
  • Set "IsSchedulerUTC" = "true" if the above time is Coordinated Universal Time (UTC) time zone or "false" if the above time is that of the local time zone of the server:
    <add key="IsSchedulerUTC" value="true"/>
     
Important Note: You must Stop the KnowBook.NotificationAppService using the Services.msc console before changing the servers configuration file.  After making the changes to the service file, remember to Start the service from the Services.msc console.
Kb notification-center-start-app-service.png

KnowBook.NotificationServerService

The KnowBook.NotificationServerService service configuration xml file example:
The notification server configuration file is called KnowBook.NotificationServer.Service.exe.config.

  • Set time of day that the notification server processes the notification emails:
<add key="ScheduleTimeOfDay" value="23:50:00"/>

 

  • Set "IsSchedulerUTC" = "true" if the above time is Coordinated Universal Time (UTC) time zone or "false" if the above time is that of the local time zone of the server:
    <add key="IsSchedulerUTC" value="true"/>
     
Important Note: You must Stop the KnowBook.NotificationServerService using the Services.msc console before changing the servers configuration file.  After making the changes to the service file, remember to Start the service from the Services.msc console.
Kb notification-center-start-service.png