Symptom
Click to go back to the main page |
LMS NOTIFICATIONS KNOWLEDGE SESSION FOR CUSTOMERS, PARTNERS AND SAP PRODUCT SUPPORT
1. What are the notifications in the LMS?
2. Who receive notifications and what triggers the notifications?
3. How Email Notifications are Generated
4. Types of Notifications
4.1 System Generated Notifications: Automatic Process
4.2. System Generated Notifications: Learning Expiration APM
4.3. System Generated Notifications: Learning Plan APM
4.4. Adhoc Notifications
4.4.1 Notification Tags Available to Ad Hoc Notifications
5. Content of notification messages 6. Format of notifications messages
6.1 Format of notifications messages: Basic HTML
7. Admin mail configuration & Confirmation Notification 8. Notification Templates
8.1. Notification Template Rules
8.2 Parts of Notification Templates
8.2.1 Parts of Notification Templates: Subject
8.2.2 Parts of Notification Templates: Body
8.2.3 Parts of Notification Templates: Global Changes
8.2.4 Parts of Notification Templates: Direct Links
8.2.5 Parts of Notification Templates: Attachments
8.3 Automatic Process templates
8.4 Assessment Process templates
8.5 Background Job templates
8.6 Catalog Items and Pricing Templates
8.7 Learning Plan Templates
8.8 Approval Process and Performance Review Templates
8.9 Class Templates
8.10 VLS Attendance Processing Templates
8.11 Miscellaneous Templates
9. APM Notifications
10. Writing Notifications in the Notification Editor
10.1 Learning Notification Code View
10.2 Work Around for LOOP Tags in Tables for Notifications
10.3 Enabling the Rich Text Learning Notification Editor
11. Troubleshooting Guide
11.1 Most used tables in LMS Database for Troubleshooting Notifications used by Product Support
1. What are the notifications in the LMS?
The LMS notifies people when an event occurs that they need to know about. For example, instructors, users, and facility contacts need to know when a class is canceled so that they can adjust their schedules. The LMS installs with a number of system-defined notification templates that address most events (such as learning events, security events, and administrative events). You can adjust the content of the messages through the administration interface.
As a Training Administrator, You can also send ad hoc notifications from the LMS. Ad hoc notifications are generated through the LMS, like system defined notifications, but ad hoc notifications are not initiated by an Automatic Process. You search for a group of users and broadcast a message to them whenever you need to.
Both ad hoc and system defined notifications consist of a recipient, a situation, and content: who receives the message, under what circumstances they receive it, and what the message says.
NOTE: LMS (Learning Management System) generates notifications to inform recipient about an action that they need to take, or about an event which occurred.
2. Who receive notifications and what triggers the notifications?
Who receive Notifications?
- User – about status and action required
- Supervisor user – about direct reports
- Organization owner user – about organization status
- Instructor – about student registrations
- Admin – about system processing, APM results, errors, etc.
- Contacts/Other – about items, facilities, registration
Notifications are sent to email address. In some cases, the notification is sent to only one user. In other cases, they are sent to multiple recipients. In all cases, the recipient is from a group of users who need to know about the situation as defined at run time for the particular instance of the notification.
What triggers the notifications?
- User, admin, supervisor registers user in a class
- Admin or system changes user’s learning plan
- User requests approval for internal or external training
- APMs run and trigger the notification
3. How Email Notifications are Generated
The system stores the notification messages in the PA_MAIL table and sends them asynchronously to the SMTP server, using an internal task scheduler. Therefore, email generation in depends on: The SMTP configuration parameters being specified correctly.
The SMTP server itself being available and configured with the corresponding parameters in SAP SuccessFactors Learning. If the SMTP server rejects e-mail messages ("relaying denied"), then the system will not redeliver the messages at a later time. Rejected messages are discarded without indications other than some errors in the output log of the application server.
Additionally, the system relies on e-mail addresses attached to users, supervisors, and administrators in SAP SuccessFactors Learning to be specified (not blank) and valid; otherwise, they cannot generate proper email messages. If you schedule a background job and that job fails, then the system generates no email message; therefore, no email message is sent or stored in the PA_MAIL table
PA_MAIL and PA_MAIL_ARCHIVE are created at the same time, once the mails are send the mails will be removed from PA_MAIL table.
We have 2 Types:
-
Ad hoc Notifications
-
Send Notifications Tool
-
System Generated Notifications
-
Automatic Processes
-
All Scheduled Jobs
-
Registration to Offerings
4.1 System Generated Notifications: Automatic Process
4.2. System Generated Notifications: Learning Expiration APM
Example 1: If Threshold: 4 and Reminder Period: 1, what does this mean?
This means the notification will start getting triggered 4 days before the Learning Expiration and this will trigger every single day until the expiration date.
Example 2: If Threshold: 15 and Reminder Period: 2, what does this mean?
This means the notification will start getting triggered 15 days before the Learning Expiration and this will trigger Every second day until the expiration Date.
Global Settings:
- APM Level:
- Item Level
4.3. System Generated Notifications: Learning Plan APM
Admin Side:
System Administration -> Application Administration -> User Settings->Learning Plan Notifications Settings:
User Side:
Easy links -> Options and Settings:
4.4. Adhoc Notifications
Administrators can send ad hoc notifications from SAP SuccessFactors Learning to users of the system. From the users' perspective, the email is from SAP SuccessFactors Learning (not from an individual administrator).
Ad hoc notifications are helpful if you want to target a specific group of users without having to use a third-party e-mail program. For example, you can send an ad hoc notification to users assigned to a specific class.
Note Ad hoc notifications can only use a small set of notification tags. To see the tags that you can use, read Notification Tags Available to Ad Hoc Notifications. Do not base ad hoc notifications on custom notification templates because the syntax tag IDs will appear as plain text.
Ad hoc notifications are available in many locations in SAP SuccessFactors Learning, but the best place to send ad hoc notifications is through the Send Notifications wizard (Users -> Tools -> Send Notifications)
4.4.1 Notification Tags Available to Ad Hoc Notifications
You can use only "user" syntax tag IDs with an ad hoc notification; that is, you cannot use all of the syntax tag IDs associated with the notification template ID that you are using to base the ad hoc notification unless those syntax tag IDs are also part of the user-specific syntax tag IDs. Therefore, you must delete the non-user specific syntax IDs; otherwise, the syntax tag will appear as text in the notification. For example, if you include the text "The Job ID is: <JOB_ID/>." when you are creating an ad hoc notification message, the user receives that exact text: "The Job ID is <JOB_ID/>." Note Loop tags are not available to AdHoc notifications, see the Help Guide for more info on AdHoc notifications.
5. Content of notification messages
Content is the text and attachments that are sent to the recipient. In general, content is stored in Notification Templates and apply to notifications system-wide. Each system defined notification template has a syntax for the content that it contains. The syntax involves notification syntax tags and labels.
When you write content for system defined notifications, it can be placed in one of two general areas, depending if you want the content to be applied across the system or only to one class or item.
To write content for system-wide, system defined notifications, put the content in the Notification Templates area.
- For example, you can write one message for the situation of user enrollment. The message is sent for a user's enrollment in any class in the system unless you change a particular class's notification on the notification on its Notifications tab.
- To write content for particular items or class, go to the Notifications tab of the item or class you want to change. When you first create an item or class, its Notification tab is populated with the system-wide content.
When you place content in the Item Notification tab or the Class Notification tab, the content is sent only when changes take place to that particular Item or Class. If you do not change the content on the Item Notification tab or the Class tab, then the content in the system-wide Notification Template is sent. Before you begin changing content, decide whether you want to associate the content with the system or the Item/Class.
When you send ad hoc notification messages, you can use one of the system-wide templates or you can write your own message.
6. Format of notifications messages
You have two choices in how the email message is formatted.
By default, the message is plain text formatted so that your message appears exactly in the format that you type it. You cannot use inline formatting like bold or italic characters. But you can change to use HTML formatting, which controls the appearance of the message.
HTML formatting works in the body of all notification messages: System-Wide notification templates, APM notifications, and notifications specific to an item or class (inserted on the Notifications tab of either object).
To use HTML formatting for a notification, enclose the body of your message in <HTML> and <BODY> tags:
<HTML>
<BODY>
[Your Notification Message]
</BODY>
</HTML>
If you switch to HTML formatted messages, consider the following:
- Think about how your HTML Formatted messages appear in email clients that do not read HTML.
- Once you convert to HTML, you must prescribe every formatting change, including hard returns. Instead of pressing the ENTER key to insert a hard return (as you can with plain text), you must insert hard return tag like <p> or <br>.
- Once you convert to HTML, you must prescribe extra spaces between text with or similar HTML trick, such as a spacer or table.
6.1 Format of notifications messages: Basic HTML
Basic HTML Tag examples:
7. Admin mail configuration & Confirmation notifications
Mail Settings:
System Admin -> Configurations->Global variable -> Mail Tab
The settings within the System Admin menu under the Global settings will determine whether or not email will be generated and how frequently. As seen in the figure before a check box will enable email and an SMTP server must be identified in the appropriate field in order for email to be sent:
- Enable Email: This checkbox, when selected, enables the system to send email messages, such as registration, waitlist, and cancellation notifications to users, supervisors and instructors.
- SMTP Server: This is the default SMTP server for emails sent from the LMS. The SMTP server you select affects notifications sent from the LMS.
- Enable SMTP Authentication: Click this checkbox to enable the Simple Mail Transfer Protocol Authentication.
- SMTP User ID: When configuring the system for email support, in addition to prompting for the address of the SMTP server, the system will prompt for a User ID and password.
- SMTP User Password: This is the password required when configuring the system for email support.
- Admin Notification Email: This is the email address that receives administration-related notification emails.
- User Notification Email: This is the email address that receives user-related notification emails. User Notification Email box: To send user-related e-mails, you must insert an e-mail address in the User Notification Email box. The e-mail address that you enter becomes the sender of any user-related e-mail notification that the system creates and stores in the PA_MAIL table.
Note: Most customers insert an email address in the User Notification Email box that recipients of notification messages cannot reply to, such as SystemNotification@noreply.com. Make sure to have the email domain, like "@noreply.com", allowed in your email server to avoid the notifications to be blocked.
- Email Frequency: This is the frequency with which the system contacts the SMTP server to send notification emails. The value is in minutes
- Enable VCalendar attachments: This is used to allow each template to define a generic calendar appointment (in the form of a Vcard file) that will be attached to the notification email. A Vcard file can be imported into a calendar program such as Microsoft Outlook, Netscape Calendar, or others. This checkbox, when selected, indicates that VCalendar attachments are sent to users who receive registration notifications.
Confirmation Notification Defaults
(System Administration > Application Administration > Registration Settings > Confirmation Notification Defaults)
When you select a checkbox in this area, the system automatically selects the corresponding checkbox on the Registration tab each time you create a new class. You can override the default for each class.
(see KBA 2287028 - Class Notification Functionality)
8. Notification Templates
Use the Notification Templates to send pre-parsed email messages with syntax tags that are populated at runtime to users, instructors, and supervisors informing them of actions that affect their use of the LMS.
Notifications might be used to inform usersabout schedule changes, changes in material requirements, and/or Curricula changes.
Each template has a corresponding Syntax ID and each Syntax is comprised of multiple tags that are populated at runtime. The LMS installs with a number of system-defined notification templates that address most events (such as learning events, security events, and administrative events).
While you can adjust the content of the messages in the system-defined templates through the administration interface, you cannot delete them.
The Notification Template is comprised of 3 tabs; Summary, Message, and Attachments.
The following gives a generic description of each of those tabs:
Summary Tab
The Summary tab contains the template description and the syntax ID used for the selected notification template. The syntax ID refers to a record that lists the syntax tags that may be used in this notification. Syntax tags pull the actual values from specific records needed in the notification such as the location for the training and the name of the instructor for a specific Class.
Attachments Tab
In the Attachments Tab you can enter (and remove) one or more attachments you wish to include in the notification email.
Messages Tab
The Message tab contains the text of the subject line and the message itself. If Vcal attachments have been enabled, the Message tab is where the Vcal is defined as well.
The notification templates that you define in System Admin > Configuration > Notification Templates are system-wide notifications.
You can create item and class-level notifications in the Notification tab of items or classes. The item and class-level notifications override the system notification template for one particular item or class. For example, all users who are enrolled in a new class receive the enrollment notification defined at the system level (SystemEnrollmentNotification by default). But if a class required special directions, you could add the directions on a class level.
To access the Notifications Template tool, navigate System Admin>Configuration>Notification Templates. See Notification Messages and example of the use of syntax tags in notification messages.
Once you create a Notification Template, you can select the notification syntax that will be used by the notification template.
For system notification templates, an administration with appropriate privileges (Workflows) can modify the content.
After editing the template, all future messages will pick up the changes.
A template message populates the body with relevant content. The template also contents an appropriate entry for the subject headline.
8.1. Notification Template Rules
- Cannot create a new template for system notifications.
- Can create a new template to use when sending ad hoc notifications.
- Can edit the template to include static text messages or localized text from within a label.
- Depending on the template, the admin may be able to include dynamic data using syntax tags. Syntax tags picks up related database fields that are specific to the event or action that triggered this email.
8.2 Parts of Notification Templates
Each email is based on a notification template
The main parts that make up a notification template include
- Body
- Labels
- Syntax tags
- Subject
8.2.1 Parts of Notification Templates: Subject
The subject field in a notification template contains the subject line of the email notifications.
Some templates have multiple subject lines. For example, the registration notification sent when a user is enrolled into a class has four subject lines: User, Supervisor, Instructor, and Others (for Contacts)
8.2.2 Parts of Notification Templates: Body
The body field in a notification template contains one or more of these elements:
- Static text that is the same in all notifications
- Syntax tags that insert dynamic data each time the notification is generated
- Loop tags that summarize the list of recipients who received this notification
- Labels that support internationalization (multiple languages)
- HTML tags to format the message (needs to be added manually if desired).
8.2.2.1 Parts of Notification Templates: Body: Static Text
- The admin can type in static text that is displayed whenever the notification is generated.
- When working with an existing template, the admin should insert static text carefully to avoid “breaking” any existing tags.
- It is always safe to enter static text at the very top of the message body or at the bottom.
- This is not recommended for customers that have multiple language packs installed.
8.2.2.2 Parts of Notification Templates: Body: Syntax Tags
- Template messages can contain dynamic data to be inserted from the database at the time of notification runs.
- You can edit the description of Syntax Tag but cannot add a new tag.
8.2.2.3 Parts of Notification Templates: Body: Loop Tags
- Messages can include a rolled-up list of users who received the notification. This is relevant for a supervisor, instructor, or contact who needs to know which users are impacted by an action or event.
- The <LOOP> tag delivers one wrapped-up email, instead of a copy of all individual emails. Only non user sees the full list of recipients.
- For example, a supervisor has four subordinates registered in a class. Each registered user receives a registration notification. The supervisor receives one registration notification with the four users listed in the body of the message.
8.2.2.3 Parts of Notification Templates: Body: Labels & Internalization
- Labels are used to internationalize (I18N/Localize10N) notification text for each locale that the organization has installed. If the organization is using only the standard ‘English’ locale (and has no plans to add other locales), using labels in notification templates is optional.
- Administrators with the appropriate workflows can add and/or edit labels.
Navigation – References>Geography>Labels
Labels Search & Results
8.2.3 Parts of Notification Templates: Global Changes
- Changes made at the global template level (new labels, syntax tags, html) will not modify the lower lever notifications if those lower level notification have been modified at the entity level (Item, class, evaluations).
- If edits are made within a label, the label changes will carry through to all notifications that use that label.
8.2.4 Parts of Notification Templates: Direct Links
- Direct links are a way for administrators to provide Users a shortcut to a specific place (page) in the User interface.
- The direct links can be generated, copied, and pasted either into a notification template or directly into an email message being crafted out side SuccessFactors Learning.
Navigation: Admin>System Admin>Tools>Direct Link
8.2.5 Parts of Notification Templates: Attachments
- You can add an attachment to any notification message by using the Attachments tab of the associated notification template.
- For each attachment, you must add a unique attachment ID, and the path to the attachment must be accessible to SAP SuccessFactors Learning Administration. The attachment(s) cannot exceed 1 MB.
8.3 Automatic Process templates
SAP SuccessFactors Learning administrators, users, and supervisors receive email messages based on these templates when an automatic process manager (APM) completes its job.
This Template ID |
Is used as Follows |
ApmAttachmentQuotaWatch |
You can use the ApmAttachmentQuotaWatch template ID to customize the message that identifies when the cumulative size of attachments hits a threshold percentage of the maximum allowed. |
ApmCouponExpiry |
You can use the ApmCouponExpiry template ID to customize the message that the system sends to the person whose email address is in the Owner Email box (Commerce Coupons Summary tab) of the expiring coupon record. |
ApmComponentRequest |
You can use the ApmComponentRequest template ID to customize the message that an administrator receives when a class reaches its minimum registration. |
ApmInitiativeEmployeeNotification |
You can use the ApmInitiativeEmployeeNotification template ID to customize the message that employees receive when their organization is assigned to an initiative. |
ApmInitiativeOwnerNotification |
You can use the ApmInitiativeOwnerNotification template ID to customize the message that an organization owner receives when he or she is assigned to an initiative. |
ApmInitiativeRequiredReminder |
You can use the ApmInitiativeRequiredReminder template ID to customize the message that organization owners receive when an initiative approaches its due date. |
ApmInstanceDelivery |
You can use the ApmInstanceDelivery template ID to customize the message that users and supervisors receive when users are enrolled in a class. |
ApmQualificationCleanup |
You can use the ApmQualificationCleanup template ID to customize the message that an administrator receives when the curriculum cleanup process is completed. |
ApmResetOnlineComponents |
You can use the ApmResetOnlineComponents template ID to customize the message that an administrator receives when the reset online item process resets items to the beginning for users who started but did not complete an item before its expiration date. |
ApmReviewCouldNotStartContactError |
You can use the ApmReviewCouldNotStartContactError template ID to customize the message that an administrator receives when a review process cannot start because one or more users do not have a supervisor. |
ApmReviewInitiationContactError |
You can use the ApmReviewInitiationContactError template ID to customize the message that an administrator receives when an ongoing review process cannot start because a user does not have a supervisor. |
ApmReviewInitiationSummary |
You can use the ApmReviewInitiationSummary template ID to customize the message that an administrator receives when a new performance review begins. |
ApmStudentLearningPlanNotification |
You can use the ApmStudentLearningPlanNotification template ID to customize the message that users and supervisors receive when a learning plan changes. |
ApmSupervisorLearningPlanNotification |
You can use the ApmSupervisorLearningPlanNotification template ID to customize the message that supervisors receive that lists users who have and have not completed items. |
ApmSupervisorReviewIncompleteAssessment |
You can use the ApmSupervisorReviewIncompleteAssessment template ID to customize the message that a supervisor receives when he or she is assigned to review a performance assessment and one or more raters have not submitted their assessments. |
ApmSynchronizeStudentChangesAssignmentProfile |
You can use the ApmSynchronizeStudentChangesAssignmentProfile template ID to customize the message that administrators receive when the automatic process removes users whose attributes and domains no longer match those of the assignment profile. This APM also adds users whose attributes and domains match those of the assignment profile. |
ApmTrainingExpiration |
You can use the ApmTrainingExpiration template ID to customize the message that users and supervisors receive when an assigned item approaches its due date for completion. |
ApmUpdateCatalogPrice |
You can use the ApmUpdateCatalogPrice template ID to customize the message that an administrator receives when a catalog price changes. |
ApmVlsAttendanceProcessing |
You can use the ApmVlsAttendanceProcessing template ID to customize the message that an administrator receives when attendance records for a VLS session are compiled. |
ApmWaitlistRequest |
You can use the ApmWaitlistRequest template ID to customize a message that an manager receives when users who are on a waiting list for a class cannot be enrolled in it and are placed on a waiting list for the next available class. |
ItemEvaluationAssignmentNotification |
You can use the ItemEvaluationAssignmentNotification template ID to customize the message that users receive when users are assigned a new questionnaire survey. |
JamGroupInvitation |
You can use the JamGroupInvitation template ID to edit the message that the system sends when an administrator sets an invitation setting while associating an item with a Jam group. |
FollowupEvaluationAssignmentNotification |
You can use the FollowupEvaluationAssignmentNotification template ID to customize the message supervisors receive when users are assigned a new questionnaire survey. |
8.4. Assessment Process templates
Use Assessment Process templates to customize email messages individuals receive when an assessment process event is completed, when the recipient(s) must complete a task, or when the assessment process changes.
This Template ID |
Is Used as Follows |
ApmAdminAssessmentReminder |
You can use the ApmAdminAssessmentReminder template ID to customize the message that an administrator receives when a user has not yet completed an assessment. |
ApmExternalAssessmentReminder |
You can use the ApmExternalAssessmentReminder template ID to customize the message that raters receive when an assessment process approaches its due date. |
ApmLearnerAssessmentReminder |
You can use the ApmLearnerAssessmentReminder template ID to customize the message that a user receives when an assessment process approaches its due date. |
AssessmentProcessAdministrator |
You can use the AssessmentProcessAdministrator template ID to customize the message that an administrator receives when an assessment begins. |
AssessmentProcessAssessorApprover |
You can use the AssessmentProcessAssessorApprover template ID to customize the message that a supervisor receives after a user has selected the raters for his or her assessment process. |
AssessmentProcessAssessorRemoved |
You can use the AssessmentProcessAssessorRemoved template ID to customize the message that a rater receives when his or her assessment performance ratings are no longer needed for the users listed in the message. |
AssessmentProcessAssessorsRejected |
You can use the AssessmentProcessAssessorsRejected template ID to customize the message that a supervisor receives when an approver rejects one or more of the raters that the supervisor selected for a user’s performance assessment. |
AssessmentProcessCancellationAssessor |
You can use the AssessmentProcessCancellationAssessor template ID to customize the message that raters receive when a performance assessment is canceled. |
AssessmentProcessCancellationAssessorApprover |
You can use the AssessmentProcessCancellationAssessorApprover template ID to customize the message that rater approvers receive when a performance assessment is canceled. |
AssessmentProcessCancellationNominator |
You can use the AssessmentProcessCancellationNominator template ID to customize the message that rater nominators receive when a performance assessment is canceled. |
AssessmentProcessCancellationReviewer |
You can use the AssessmentProcessCancellationReviewer template ID to customize the message that reviewers receive when a performance assessment is canceled. |
AssessmentProcessExternalAssessor |
You can use the AssessmentProcessExternalAssessor template ID to customize the message that external raters receive when they are assigned to an assessment. |
AssessmentProcessInternalAssessor |
You can use the AssessmentProcessInternalAssessor template ID to customize the message that internal assessors receive when they are assigned to an assessment. |
AssessmentProcessNominatorRescheduled |
You can use the AssessmentProcessNominatorRescheduled template ID to customize the message that nominators receive when the start date for their assigned assessment changes. |
AssessmentProcessNominatorStart |
You can use the AssessmentProcessReviewer template ID to customize the message that a nominator receives when he or she is designated to select raters for one or more performance assessments. |
AssessmentProcessReviewer |
You can use the AssessmentProcessReviewer template ID to customize the message that a reviewer receives when he or she is assigned to an assessment. |
8.5 Background Job Templates
Use Background Job templates to customize the email messages that the system sends to individuals when a background job is completed, when a background job report is available, or after a recurring report is created.
This Notification Template |
Is Used as Follows |
BackgroundJobNotification |
You can use the BackgroundJobNotification template ID to edit the message that an administrator receives when a background job is completed. |
BackgroundReportJobNotification |
You can use the BackgroundReportJobNotification template ID to customize the message that an administrator receives when a background job is completed and the background job report is available |
8.6 Catalog Items and Pricing Templates
Use Catalog Items and Pricing templates to customize the email messages that the system sends to individuals when an item in a catalog expires or will expire soon.
This Notification Template |
Is Used as Follows |
ExpiredCatalogItemsNotification |
You can use the ExpiredCatalogItemsNotification template ID to customize the message that an administrator receives when one or more expired items are removed from a catalog. |
PRE_EXPIRATION_FOR_CATALOG_ITEMS |
You can use the PreExpirationNotificationForCatalogItems template ID to customize the message that an administrator receives when one or more items in a catalog will expire soon. |
Use Learning Plan templates to customize the email messages that the system sends to individuals when a learning plan event is completed or when the recipient(s) must complete a task. The Learning Plan templates include enrollment slots, user plans, and password requests.
This Notification Template |
Is Used as Follows |
CareerPlannerTargetJobPositionChange |
You can use the CareerPlannerTargetJobPositionChange template ID to customize the message that a supervisor receives when a user changes his or her targeted job position. |
CERTIFICATE_OF_COMPLETION |
You can use the CERTIFICATE_OF_COMPLETION template ID to customize the message that a user receives when he or she completes an item. |
EnrollmentSlotCancellation |
You can use the EnrollmentSlotCancellation template ID to customize the message that users receive when a class in which they are enrolled is canceled. |
EnrollmentSlotChangeConfirmation |
You can use the EnrollmentSlotChangeConfirmation template ID to customize the message that an administrator receives when a class slot is modified. |
EnrollmentSlotConfirmation |
You can use the EnrollmentSlotConfirmation template ID to customize the message that the organization e-mail recipient receives after an administrator adds a slot to a class. |
ESigPinExpiredNotification |
You can use the ESigPinExpiredNotification template ID to customize the message that a user receives when he or she tries to log in with an expired PIN. |
8.8 Approval Process and Performance Review Templates
- Use Performance Review templates to customize the email messages the system sends to individuals when a performance review event is completed or when the recipients must complete a task.
- Performance Review templates include approval Process and review Process.
Notification Template |
Who Receives Messages and When |
ApprovalProcessApprovalProgressed |
Users receive ApprovalProcessApprovalProgressed messages when a step in the approval process is completed. |
ApprovalProcessApprovalRequired |
Approvers receive ApprovalProcessApprovalRequired messages when an approval process begins. |
ApprovalProcessApprovalWithdrawn |
Users receive ApprovalProcessApprovalWithdrawn messages when an administrator withdraws their request for external training (external request). |
ApprovalProcessInitialRequest |
Users receive ApprovalProcessInitialRequest messages when an approval process begins. |
ApprovalProcessRequestApproved |
Users receive ApprovalProcessRequestApproved messages when a request for an item or class is granted. |
ApprovalProcessRequestDenied |
Users receive ApprovalProcessRequestDenied messages when a request for an item or class is denied. |
ApprovalProcessRequestExpired |
Users receive pprovalProcessRequestExpired messages when a step in the approval process is completed. |
ExternalVerificationReminder |
Approvers receive ExternalVerificationReminder when users complete an external learning activity. |
ExternalLearningRequestApprovalRequired |
Approvers receive ExternalLearningRequestApprovalRequired messages when a user or administrator submits an external training request form. |
ExternalLearningRequestVerificationRequired |
Approvers receive ExternalLearningRequestVerificationRequired messages when a class has occurred and a user or administrator submits an external training request for verification. |
ReviewProcessReviewApproval |
Approvers receive ReviewProcessReviewApproval messages when a review process requires his or her electronic signature. |
ReviewProcessReviewApprovalDenied |
Users receive ReviewProcessReviewApprovalDenied messages when a step in the approval process is completed and denied. |
ReviewProcessReviewCreatedEmployee |
Users receive ReviewProcessReviewCreatedEmployee messages when a review begins. |
ReviewProcessReviewCreatedSupervisor |
Supervisors receive ReviewProcessReviewCreatedSupervisor messages when they supervise an employee whose review is beginning. |
ReviewProcessReviewDeadlinePassed |
Supervisors receive ReviewProcessReviewDeadlinePassed messages when a review deadline has passed. |
ReviewProcessReviewFeedbackRequired |
Users receive ReviewProcessReviewFeedbackRequired messages when a supervisor designates the user as a feedback rater for a review. |
ReviewProcessReviewNeeded |
Supervisors receive ReviewProcessReviewNeeded messages when reviews begin. |
ReviewProcessReviewPublished |
Supervisors receive ReviewProcessReviewPublished messages when a review is completed, approved, and published. |
ReviewProcessReviewReminder |
Raters or approvers receive ReviewProcessReviewReminder messages when the rater or approver misses a deadline. |
ReviewProcessReviewSubmittedEmployee |
Users receive ReviewProcessReviewSubmittedEmployee messages when their supervisors submit reviews. |
ReviewProcessReviewSubmittedSupervisor |
Supervisors receive ReviewProcessReviewSubmittedSupervisor messages when their users submit reviews. |
Use Class templates to customize the email messages the system sends to individuals when users enroll in or register for classes or when classes are canceled.
This Template |
Is Used as Follows |
SystemEnrollmentNotification |
You can use the SystemEnrollmentNotification template ID to customize the message that a user, supervisor, and instructor receive when the user registers in a class or when a supervisor or administrator registers the user in a class. |
SystemScheduleCancellationNotification |
You can use the SystemScheduleCancellationNotification template ID to customize the message that a user, supervisor, and instructor receive when a class is canceled. |
SystemUnenrollmentNotification |
You can use the SystemUnenrollmentNotification template ID to customize the message that a user, supervisor, and instructor receive when the user withdraws from a class or when an administrator withdraws the user from a class. |
SystemWaitlistNotification |
You can use the SystemWaitlistNotification template ID to customize the message that a user, supervisor, and instructor receive when the user registers for waitlist status, or when an administrator registers the user for waitlist status, for a class. |
SystemWaitlistRemovalNotification |
You can use the SystemWaitlistRemovalNotification template ID to customize the message that a waitlisted user, a supervisor, and an instructor receive when an administrator or the system enrolls the waitlisted user in a class. |
8.10 VLS Attendance Processing Templates
- Use VLS Attendance Processing templates to customize the email messages that the system sends to individuals when a VLS event is scheduled, changed, or canceled.
- VLS Notifications are sent from the Instructor or Contact email address set for the Class.
This Template |
Is Used as Follows |
VLE_ENROLLMENT |
You can use the VLE_ENROLLMENT template ID to customize the message that users receive when they are enrolled in a class that has a VLS component. |
VLE_EVENT_CREATION |
You can use the VLE_EVENT_CREATION template ID to customize the message that an instructor receives when a VLS server value is applied to a class. |
VLE_EVENT_DELETION |
You can use the VLE_EVENT_DELETION template ID to customize the message that an instructor receives when a VLS server value is removed from a class. |
VLE_EVENT_UPDATE |
You can use the VLE_EVENT_UPDATE template ID to customize the message that an instructor receives when the VLS time frame in a class changes. |
VLE_EVENT_UPDATE_STUDENTS |
You can use the VLE_EVENT_UPDATE_STUDENTS template ID to customize the message that users receive when the VLS time frame in a class changes. |
VLE_UNENROLLMENT |
You can use the VLE_UNENROLLMENT template ID to customize the message that a user receives when he or she is unenrolled from a class that has a VLS component. |
8.11 Miscellaneous Templates
- We have grouped the notification templates that do not fall easily into another category of notification templates into this section.
- Individuals receive these notifications for a variety of reasons.
This Template |
Is Used as Follows |
AlternateSubordinateNotification |
You can use the AlternateSubordinateNotification template ID to customize the message that users receive when they are assigned to a new, alternate supervisor. |
AlternateSupervisorNotification |
You can use the AlternateSupervisorNotification template ID to customize the message that users receives when they are assigned as an alternate supervisor for another user. |
DelegateeEmail |
To inform users that they have been identified as a delegate, the system uses the DelegationAssignment template ID. To inform delegated users that they have something to complete on behalf of user who identified them as a delegate (called a delegator), then system uses the DelegateeEmail template ID. For example, if the delegator makes the delegate responsible for completing performance reviews, then the system: •Sends any original message that you have configured for performance reviews to the delegator.
•Sends a message to the delegate thatexplains that the delegate has been identified to act on behalf of the delegator and 2) embeds a copy of the original message (so that the delegate knows what to complete) that the system sent to the delegator.
|
DelegationAssignment |
You can use the DelegationAssignment template ID to customize the message that a delegate receives. The system sends this message for a simple reason: to notify delegates that they have been selected to act on behalf of another user at some time in the future. When a delegate needs to take a specific action, the system sends another message, using the DelegateeEmail template ID. |
SELF_REGISTRATION_ADMIN |
You can use the SELF_REGISTRATION_ADMIN template ID to customize the message that an administrator receives when a user creates a new account. |
SELF_REGISTRATION_STUDENT |
You can use the SELF_REGISTRATION_STUDENT template ID to customize the message that a user receives when he or she creates a new account. |
UserTalentProfileExpired |
You can use the UserTalentProfileExpired template ID to customize the message that users, with their supervisors, receive when users are assigned a new questionnaire survey. |
ObserverNotification |
This notification is sent when a user requests an observer for a task checklist. The nominated observer receives the notification. |
9. APM Notifications
APM Notifications (overview)
System Admin > Automatic Processes
- Email Recipients: If you select either the User or Supervisor checkboxes, then the system includes those users when it sends a notification
- Email Address: This is generally the email address of the learning administrator who is setting up the automatic process and wants to be notified about the success or failure of the automatic process. This email address is in addition to the normal recipients of notifications. This additional automatic process notification recipient receives a copy of the notice, and in certain processes comprehensive list of all users or offerings that are affected.
Specific APM Notifications
Assessment Notification:
The assessment notification automatic process is intended to keep your assessment processes on track and have them completed by the end date. This process can use any of the Assessment Process Templates to generate and send notifications. The assessment notification automatic process sends notifications based on the values you place in the End Date.
Assignment Profile Synchronization:
This process uses the ApmSynchronizeStudentChangesAssignmentProfile template ID to create and send notifications. The assignment profile synchronization automatic process sends notifications when it finds that a user has been moved into or out of an assignment profile.
Attachments Quota Watch Notification:
This is an automatic process which sends an email when the combined size of the attachments in the system equals or exceeds the allotted space for attachments.
The attachments quota watch notification automatic process uses the ApmAttachmentQuotaWatch notification template to send an email message when the combined size of the attachments in the system equals or exceeds the percentage in the Utilization Thresholdbox multiplied by the value of the totalAttachmentsSpaceAllocatedKB property in the ATTACHMENT configuration ID.
Catalog Price Update:
This process reports (using the ApmUpdateCatalogPrice template ID) all price changes since the last time the process was executed. This catalog price change automatic process sends notifications when it finds price changes in the catalog that have not been reported to the administrator.
Clean Up Approval Processes:
The clean up approval process automatic process sends out notifications when it finds and stops approval processes, like approval requests, that are associated with items that have been removed from a user's learning plan.
Coupon Expiration Notification:
The coupon expiration notification automatic process cycles through all of the coupon records, looking for coupon records whose Valid Todate falls within the option that you select in the Expiration Notification Threshold area (the system calculates dates differences based on calendar days; the system includes all weekends and holidays, even if you have created holiday profiles). When the system finds a coupon that is about to expire (based on what you select in the Expiration Notification Threshold area), it sends an email notification, using the ApmCouponExpiry notification template, to the person whose email address is saved in the Owner Emailbox on the Summary tab of the expiring coupon record.
Curriculum/Program Clean Up:
System administrators schedule the curriculum/program clean up Automatic Process Manager (APM) to reset the relationship between learning items on the one hand and programs and curricula on the other.
The process sends a notification (using the ApmQualificationCleanup template ID) that sends the list of affected curricula to the address in the Email Address box. This automatic process sends out notifications when it finds multiple revisions of an item, with concurrent effective dates, associated with the same curriculum.
Deny Expired Approval Processes:
The Deny Expired Processes automatic process cancels any approval process for a pending enrollment or external learning request if the requested event has a start date that is in the past. The process sends a notification to the user confirming the denied request using the ApprovalProcessRequestExpired or ApprovalProcessRequestDenied notification templates.
Evaluation Synchronization:
The Evaluation Synchronization automatic process performs two tasks: it sends survey assignment notifications for both Item Evaluations and Follow-up Evaluations, and assigns Follow-up Evaluations to Users and their supervisors based on the assignment period configured for the Item. This automatic process uses the ItemEvaluationAssignmentNotification template to send Item Evaluation email notifications to the affected users and uses the FollowupEvaluationAssignmentNotification template to send email notification to Follow-up Evaluation participants.
External Verification Reminder:
The external verification reminder automatic process is intended to prompt users to submit completed external learning events to their supervisors for verification. This automatic process uses the ExternalVerificationReminder template to create and send notifications. The external verification reminder automatic process sends out email notifications if it finds a user with an external learning event that has a completion date in the past but the user has not yet requested for the supervisor to verify the learning event.
Initiative Notification:
The initiative notification automatic process is intended to help parent organizations, their suborganizations, and employees track changes to their initiatives. This process checks the notification scenario that an administrator has selected in the Initiatives area and sends notifications to the selected users so that they can track changes to their initiatives.
The initiative notification automatic process sends out notifications if it finds that any of the following three scenarios is true based on the system initiative configuration settings:
- a parent organization published an initiative and any of its suborganizations has not been notified
- an organization changed an initiative to which a user has aligned a goal
- a parent organization published a required initiative, the effective date of that required initiative has past, and any of its suborganizations have not adopted the initiative
Item Jam Group Notification:
The Item Jam group notification automatic process uses the JamGroupInvitation notification template to send notifications when an administrator sets one of the available invitation settings while associating an item with a Jam group.
Item Scheduling Demand:
The item schedule demand automatic process sends notifications when it finds that the number of requests for an item matches or exceeds the minimum number of registration set of the class. This automatic process uses the ApmComponentRequest template.
Learning Expiration Notification:
The learning expiration automatic process sends notifications when it finds an item or curriculum for a user where the number of days left to the required date is less than the number of days in the Threshold box. This automatic process uses the ApmTrainingExpiration template to send notifications.
Learning Plan Notification:
The learning plan notification automatic process sends notifications to users when an item from the user’s learning plan is added, removed, or modified, and to supervisors when a learning event is recorded for one of their direct reports. That is, supervisors are notified even if the item is not on the user's learning plan.
This automatic process uses the ApmStudentLearningPlanNotification (users) and the ApmSupervisorLearningPlanNotification (supervisors) templates.
After you configure this automatic process, you must also access the Learning Plan Notification Settings. (System Administration > Application Administration > User Settings > Learning Plan Notification Settings)
- Notify user when item added to their learning plan: If you select this checkbox, the system notifies users when an item is added to their learning plan
- Notify user when item modified in their learning plan: If you select this checkbox, the system notifies users when an item on their learning plan is modified
- Notify user when item removed from their learning plan: If you select this checkbox, the system notifies users when an item is removed from their learning plan
- Notify Supervisor when user successfully completes an item: If you select this checkbox, the system notifies supervisors when an item is successfully completed by a subordinate user
- Notify Supervisor when user unsuccessfully completes an item: If you select this checkbox, the system notifies supervisors when an item is NOT successfully completed by a subordinate user
- Allow user to modify learning plan notification settings: If you select this checkbox, the system enables users to modify this learning plan’s notification settings
Purchase Order Low Balance:
This is the process that sends emails when a purchase order has reached a low balance and should be funded. The Purchase Order Low Balance process sends an email alert to users to fund the purchase order.
Note: The recipients of the low balance email are also set on the purchase order. Often, the person responsible for funding the purchase order is not directly associated with the learning organization. Also, you might want to include a learning administrator or another user who is not directly responsible for funding the purchase order. To allow this flexibility, you specify who should receive the email for each purchase order on the purchase order record.
Purge Expired Catalog Items:
This process removes any item that has passed its expiration date from a catalog. This process uses the ExpiredCatalogItemsNotification template ID to create and send notifications. The purge expired catalog items automatic process sends out notifications when it finds an item in a catalog with an expiration date in the past. It removes the items from the catalogs that still have the items listed.
Reset Online Item:
This process uses the ApmResetOnlineComponents template ID to create and send notifications. This reset online item automatic process sends notifications when it finds online items that have not yet been completed and that the number of days since the initial launch has exceeded the number of days specified for the online item.
Review Initiation:
The review initiation automatic process is intended to notify users when a performance review has been initiated. The supervisors of the associated users are also notified about the initiated review. This automatic process uses the ApmReviewInitiationSummary and the ApmReviewInitiationContactError template IDs to create and send notifications. The review initiation automatic process sends notifications when it finds initiated performance reviews and the associated users and their supervisors have not been notified of that review. The automatic process uses the date the review is initiated to send the notifications.
Review Notifications:
You use the review notifications automatic process to inform users that are associated with the performance review of changes to the review process. The supervisors of the associated users are also notified about these changes to the performance review process. The review notifications automatic process sends out notifications when it finds changes to a performance review that have not been reported to the associated users and their supervisors. The automatic process uses the date the date of the changes in the process to send the notifications.
Class Delivery:
The Class Delivery notification sends email reminders to users so that they do not miss a class that they are registered for. You control how early users receive the reminder.
In the Threshold box, type the number of days in advance of the class that you want to remind users.
Type a threshold that is higher than the scheduled interval of the APM. For example, if you type 7 in Threshold but run the APM every month, users do not receive their email a week before their training (as you intended with the threshold). Instead, they receive reminders monthly, when the APM runs.
Note: If a User has already received a Reminder Notification for the Class, the database updates the RMNDR_SENT column as "Y". If the Threshold value is changed from a larger value to a smaller value (say 30 days, to 7 days), the Users that have already received a reminder before the threshold change will not receive another reminder at 7 days.
Subscription Expiration Notification:
When the subscription nears its end, the Subscription Expiration notification alerts subscription owners to the fact that the subscription is about to run out
- Subscriptions are managed in a different part of the administration interface
- Each subscription has an owner
- It is the owner who receives the email from this process
You can set the threshold for notification expiry and this email. For example, if you set the threshold to one month, then the system sends emails to owners whose subscriptions are due to end in one month. This gives the owners an opportunity to renew the subscription.
User Requested Class Notification:
When administrators add a class for a course that users have requested, the User Requested Class Notification Automatic Process Manager (APM) notifies users that their request has been met.
When the User Requested Class Notification APM runs, it looks for:
- New learning offerings that have been added to the catalogs of users who have made requests
- The start date of the offerings that have been added: are they before the need by date of the request
- The need by date is the date that the user needs to take the course: it is the user's deadline. So the APM looks to see if the offering helps users meet their deadline
- The offerings are in the users' geographic regions. Some companies do not use regions. If the user does not have a region, the APM skips this step
- The APM looks for regions so that the offering is close to the user
- Users submit requests because they do not have travel budget and so they need an offering that meets their deadline in their region
When a user with a request has offerings that meet the criteria, the APM sends them an email. The email includes the course name (learning item title), it includes the details of the offering, and it provides a link to register for the offering.
VLS Attendance Processing:
The VLS Attendance Processing Automatic Process Manager (APM) sends these notifications.
The automatic process notifies the distribution list with the amount of VLS events that had attendance data successfully retrieved and the amount of learning events recorded. It also triggers the record learning event trigger, which sends its own emails.
Recipients: The email address identified in System Admin > Automatic Processes > VLS Attendance Processing is the recipient of the notifications about the success of the automatic process. In addition to the information sent to the distribution list you identify, the automatic process sends an email to the contact associated with the class about when the learning events were recorded.
The VLS attendance processing automatic process sends notifications if it finds a user who has attended a session of the virtual classrooms in the past but the data for the VLS attendance has not been retrieved and recorded.
Waitlist to Request List:
This automatic process uses the ApmWaitlistRequest template ID to create and send notifications. The waitlist to request list automatic process sends notifications when it finds classes that have a start date in the past and have a waitlist of users.
Recommendations Newsletter:
The Recommendations Newsletter Automatic Process Manager (APM) sends the recommendations that the system has found for a user. It does not make the recommendations. Recommendations can come from multiple sources, such as a peer or from the recommendations engine.
Using the Notification Interval:
- The notification interval defines a time when a user won't receive the recommendations newsletter
- It is a “rest period” between notifications
- You define it in days
Recommendations Newsletter and Personalized Recommendations (preview):
If you are using the personalized recommendations engine (in preview release), the system sends out a newsletter to users with a set of recommended courses. These courses are gathered from beyond your organization, including social media. Customers who have signed up for the preview program can use the recommendations engine.
You can configure the recommendations engine in System Admin > Configuration > System Configuration > Recommendations Engine.
User Created Account Reminders:
Configure the system to send user-created account reminders so that users who have requested accounts can receive the results of their requests.
In Maximum Notifications, set the maximum number of notifications for each request to be sent to an approver:
- If the number of notifications sent to an approver exceeds the maximum, the request is still active, but the system no longer sends messages
- If you do not provide a value, there is no maximum: the approver will receive reminders indefinitely
In Reminder Period, set the number of days that the system should wait before resending a reminder:
- This automatic process uses the ApmWaitlistRequest template ID to create and send notifications
- The waitlist to request list automatic process sends notifications when it finds classes that have a start date in the past and have a waitlist of users
10. Writing Notifications in the Notification Editor
Use the notification editor to edit the system notifications that users receive.
Prerequisites
System Admin -> Configuration -> Global Variables and select Use Editor When Sending Email Notifications. This enables the WYSIWYG editor system-wide.
Set your email in preferences so that you can receive previews from the editor. Editing Your Preferences
Context
SAP SuccessFactors Learning sends notifications to users about learning events, enrollment, and so on. When you first implement SAP SuccessFactors Learning, it includes default notifications. You can edit those notifications in Start of the navigation path System Admin -> Configuration -> Notification Templates.
Procedure
- System Admin -> Configuration -> Notification Templates, find, and open the notification you want to edit
- Click Messages
- Decide if you want to experiment with the editor if you are ready to use it instead of the text boxes in Update the Message for the Notification Template
- NOTE: The editor was introduced in Q4 2015. Because notifications affect such a large population of users, we built a way for you to stage your migration:
- We recommend that you click Launch Editor to try out the editor but that you leave Use Editor Content When Sending Email Notification unselected
- This means that the users are still receiving the content from the text boxes in Update the Message for the Notification Template while you manage the content in the editor
- When you are ready to switch from the text boxes to the editor, select Use Editor Content When Sending Email Notification
- Click Launch Editor
- To edit the text of the message, use the rich text editing features in Body
- To add dynamic text (like an employee's name), add it from Syntax Tags
- NOTE: The list of syntax tags is a closed set
- It includes only the dynamic information that is allowed in the notification
- The syntax tag Loop section is a special tag that encloses a part of the notification that the system will iterate over: like a list of courses assigned to users
- Place the syntax tags that you want to iterate over (like the course title) between Start Loop and End Loop
- To edit the subject of the email, edit the text in Subject
- To translate the message into users' preferred language, select it from the list of languages
- To send a preview of the message to your e-mail inbox, click Send Preview
10.1 Learning Notification Code View
- Administrators view the underlying code of notifications when working in the SAP SuccessFactors Learning notification editor.
- If something is not working in the rich text editor, you can always edit the mark-up directly.
- Click the Source code button to open the source code view.
- The code in the learning notification code view is the code that renders the rich text, not the syntax tags or labels themselves. Follow these tips to help you with the code.
Working with the Code
- Copy the code out of the code view and paste it into an HTML or XML editor.
- The editor will give you more tools for formatting, syntax highlighting, and so on.
- Use the code view for light editing, but we don't recommend it if you are making larger changes to the syntax.
Working with Syntax Tags and Locale Labels
- The rich text notification editor hides the complexity of the tags.
- As a side effect, it changes the way that you are accustomed to working in the code.
- Data syntax tags look a little different because the code view shows what it does to render the syntax tags for the rich text editor instead of the syntax tag itself.
We render the syntax ID as follows:
Sample Code
<!--This is the wrapper that renders the rounded-edge box in the RTE -->
<span class="syntaxTagWrapper" contenteditable="false" data-tag="tagWrapper">
<!--This is the actual data syntax tag (data-tag) with what you see -->
<!--in the RTE within the rounded-edge box: "User ID" -->
<span class="syntaxTagClass" data-tag="tag">User ID</span>
<!--This line creates the X in the RTE. The X deletes the data syntax tag -->
<span id="deleteTag" class="deleteTag" contenteditable="false"/>
<!--Closing the wrapper-->
</span>
- The logic syntax tag <LOOP></LOOP> is an exception to the above.
- When you open the code view, you see the rich text editor rendering of the tag.
Here is an example of the start loop rendering:
Sample Code
<span class="syntaxTagWrapper" contenteditable="false" data-tag="tagWrapper">
<span class="syntaxTagClass" data-tag="tag">Start Loop</span>
<span id="deleteTag" class="deleteTag" contenteditable="false"/>
</span>
That rendering works for lists, but it does not work for tables. For example:
Sample Code
<table>
<tr><!--Your column headings --></tr>
<LOOP>
<tr><!--A repeating row--></tr>
</LOOP>
</table>
Note: Labels are no longer rendered. Instead, you see the text from the label key “shine through” to the rich text editor. Because the editor knows the locale (you select it in the editor), it can retrieve the text itself and display it to you. This creates a slight side effect in the code view: you must be aware of the locale that you originally selected in the rich text editor.
10.2 Work Around for LOOP Tags in Tables for Notifications
Learning administrators who want to create batch notifications that include tables must work around a limitation with loop tags.
Tables are a common customization in SAP SuccessFactors Learning. Companies want to create digest emails to tell their employees, for example, all users who have been added to a waitlist. The employees don't want an individual email for each employee, they want a batch email that tells them all users who have been added after the last time they were notified.
In the past, the default notifications were difficult to read, so many companies customized them by formatting the notifications with tables. To continue the example, each waitlisted user went into a new row in a table. To create a loop that adds rows for each user, you use the logic syntax tag <LOOP></LOOP>. The result is syntax like the following.
<table>
<tr>
<!-- In an actual notification, the heading rows would be label keys.-->
<!-- For clarity, they are plain text in this example. -->
<th>User Name</th>
<th>User ID</th>
<th>Item Key</th>
<th>Course Title</th>
<th>Registration Status</th>
<th>Offering ID</th>
</tr>
<!--Start of loop for each body row (each user)-->
<LOOP>
<tr>
<td><STUD_NAME/></td>
<td><STUD_ID/></td>
<td><CPNT_TYPE_ID/> - <CPNT_ID/> - <REV_DATE/></td>
<td><CPNT_TITLE/></td>
<td><ENROLL_STATUS/></td>
<td><SCHED_ID/></td>
</tr>
<!--End of loop-->
</LOOP>
</table>
With the introduction of the rich text editor, we include the <LOOP></LOOP> tags
If you click Code View, however, you notice that the loop tags are no longer in the code as <LOOP></LOOP>. Instead, you see the following. This is called a “span wrapper” because it wraps what you see in the rich text editor with span tags. The span wrappers for LOOP tags are the current limitation.
Sample Code
<!-- This is what start of loop looks like -->
<span class="syntaxTagWrapper" contenteditable="false" data-tag="tagWrapper">
<span class="syntaxTagClass" data-tag="tag">Start Loop</span>
<span id="deleteTag" class="deleteTag" contenteditable="false"/>
</span>
<!-- The batched contents go here -->
<!-- This is what end of loop looks like -->
<span class="syntaxTagWrapper" contenteditable="false" data-tag="tagWrapper">
<span class="syntaxTagClass" data-tag="tag">End Loop</span>
<span id="deleteTag" class="deleteTag" contenteditable="false"/>
</span>
Importantly, as long as you avoid tables, the span wrappers for LOOP tags work as expected. For example, if you create a list of users and separate them with punctuation, the loop tags work as expected in the rich text editor. If you want to use tabular formatting, however, you must open the code view and remove the span wrappers for the LOOP tags and replace them with the Q3 2015 and previous formatting. You change them to simply <LOOP> to start the loop and </LOOP> to close the loop.
The Q4 2015 and later example below results in the same notification as the Q3 2015 and previous example above. Notice that the loop span wrapper tags have been replaced with <LOOP> and </LOOP>.
<table>
<tr>
<!-- When working with the Q4 2015 and later notification editor, -->
<!-- you do not need labels because the editor knows its language context. -->
<th>User Name</th>
<th>User ID</th>
<th>Item Key</th>
<th>Course Title</th>
<th>Registration Status</th>
<th>Offering ID</th>
</tr>
<!-- Start of loop for each body row (each user)-->
<!-- The code view wants to render the loop tags with SPAN -->
<!-- wrappers. You must find them and replace them with simple -->
<!-- LOOP tags. Notice that the data syntax tags (like user ID) -->
<!-- still require the span wrappers. -->
<LOOP>
<tr>
<td>
<span class="syntaxTagWrapper" contenteditable="false" data-tag="tagWrapper"><span
class="syntaxTagClass" data-tag="tag">User Name</span><span id="deleteTag"
class="deleteTag" contenteditable="false"/></span>
</td>
<td>
<span class="syntaxTagWrapper" contenteditable="false" data-tag="tagWrapper"><span
class="syntaxTagClass" data-tag="tag">User ID</span><span id="deleteTag"
class="deleteTag" contenteditable="false"/></span>
</td>
<td>
<span class="syntaxTagWrapper" contenteditable="false" data-tag="tagWrapper"><span
class="syntaxTagClass" data-tag="tag">Item Type ID</span><span id="deleteTag"
class="deleteTag" contenteditable="false"/></span>
<span class="syntaxTagWrapper" contenteditable="false" data-tag="tagWrapper"><span
class="syntaxTagClass" data-tag="tag">Item ID</span><span id="deleteTag"
class="deleteTag" contenteditable="false"/></span>
<span class="syntaxTagWrapper" contenteditable="false" data-tag="tagWrapper"><span
class="syntaxTagClass" data-tag="tag">Revision Date</span><span id="deleteTag"
class="deleteTag" contenteditable="false"/></span>
</td>
<td>
<span class="syntaxTagWrapper" contenteditable="false" data-tag="tagWrapper"><span
class="syntaxTagClass" data-tag="tag">Item Title</span><span id="deleteTag"
class="deleteTag" contenteditable="false"/></span>
</td>
<td>
<span class="syntaxTagWrapper" contenteditable="false" data-tag="tagWrapper"><span
class="syntaxTagClass" data-tag="tag">Registration Status</span><span id="deleteTag"
class="deleteTag" contenteditable="false"/></span>
</td>
<td>
<span class="syntaxTagWrapper" contenteditable="false" data-tag="tagWrapper"><span
class="syntaxTagClass" data-tag="tag">Class ID</span><span id="deleteTag"
class="deleteTag" contenteditable="false"/></span>
</td>
</tr>
<!--End of loop-->
</LOOP>
</table>
Repeating rows is the most likely use of loops in tables, but if you choose to repeat columns, you must follow the same pattern.
Sample Code :
<table>
<tr>
<!-- LOOP tag without span wrapper -->
<LOOP>
<td><!-- data syntax tags go here --></td>
</LOOP>
</tr>
</table>
10.3 Enabling the Rich Text Learning Notification Editor
To use the rich text learning notification editor, follow these steps.
Prerequisites
- Before you upgrade, we recommend that you understand how the rich text editor works and how you plan to use it.
- The rich text learning notification editor gives users a What You See Is What You Get (WYSIWYG) editing experience.
Procedure
- System Admin -> Configuration -> Global Variables.
- Select Use Editor Content When Sending Email Notification.
- This enables the editor system-wide.
- System Admin -> Configuration -> Notification Templates.
- Open a notification template that you want to edit and then go to Messages.
- To edit the content but still rely on the existing message syntax, click Launch Editor but do not select Use Editor Content When Sending this Notification.
- When you are ready to begin sending notifications based on the rich text editor, select Use Editor Content When Sending this Notification for each individual message.
11. Troubleshooting Guide
Verify the email notification configuration parameters
After you log in to SuccessFactors Learning Administration, System Admin ->Configuration -> Global Variables-> Mail Settings. Ensure that you select the Enable email check box. You can also validate the other configuration in Mail Settings. The SMTP server name or IP address must be valid and routable from the application server node(s). To verify whether the SMTP server is routable, you can open a shell on each node and ping or telnet on port 25. Finally, ensure that Email Frequency contains an appropriate value. We recommend that you reduce this value for troubleshooting purposes.
ONLY FOR PRODUCT SUPPORT: Verify that emails are being generated to the PA_MAIL table
To verify whether the PA_MAIL table receives emails, you must use a SQL tool such as SQL*Plus or a visual tool such as TOAD or SQL Navigator to connect to the database application schema. You must monitor the contents of the PA_MAIL table and validate that SuccessFactors Learning Administration created the email records. To do so, either visualize the contents of the PA_MAIL table or issue a SQL command at regular intervals, such as the following:
SELECT COUNT(1) FROM PA_MAIL
Use the Administration application in scenarios that should generate email notifications and validate that email messages appear in the PA_MAIL table. Because the mail dispatching job runs regularly and clears email records whether the SMTP relaying succeeds, you might need to repeat the operation several times before you can see the email records appear and disappear from the PA_MAIL table. If you do not see the expected records in the PA_MAIL table, then verify that the email addresses for users, supervisors, administrators, and other contacts in the notification scenario are correct in Administration. If you do see records in the PA_MAIL table, you can also ensure that those email addresses are valid by inspecting the FROM and TO fields of the PA_MAIL records; for example, you can issue one of the following SQL commands:
SELECT * FROM PA_MAIL
--Use either the above or below
SELECT FROM_ADDR, TO_ADDRS FROM PA_MAIL
Verify that the SMTP server is receiving the requests to relay messages
If you see PA_MAIL records appear and disappear from the PA_MAIL table, then you know that Administration is trying to dispatch those messages to the SMTP server. At this point, we recommend that you ask the SMTP server administrator to review the SMTP server logs to validate whether the server is receiving requests from Administration, and whether the server accepts or rejects those requests. You can also inspect (or "tail") the application server logs to see if any error messages are reported when the email dispatcher job runs. Please be aware that:
You might need to edit (increase) the debug level in the log4j.config file before you can see anything.
If you are running a multiple-node instance (cluster or pseudo-cluster), then only one node will run the email dispatching job, and you might have difficulty discerning which node is running the job. To find out, you could either shut down all but one node or you could inspect all application server nodes simultaneously.
Finally, if the SMTP server is accepting messages from SAP SuccessFactors Learning, then the messages might still be dropped later during the routing process or even at the final destination (target SMTP server or emailbox). If this situation occurs, then there is nothing that you can troubleshoot in SAP SuccessFactors Learning Administration to resolve the problem.
No Notifications are being delivered
Navigation: Check System Administration> Application Administration> User Settings
- Check the Learning Plan Notification Settings there
- Check if they have allowed the users to change the settings on their end. If yes, then proxy any affected user and check in “Options and Settings” if they have disabled the option of receiving Learning Plan Notification emails.
Note: Any changes in under User Settings>Learning Plan Notification> you have to propagate the change after saving it, otherwise the change will not be applied.
Is it all the notifications or only one notification?
IF ALL:
- Check System Admin> Admin Management> Admin > search for Admin ID: AUTO-SCHEDULER. This must be present in every LMS instance. This admin should not be Locked.
- Check if System Administration > Manage Email > Manage Unsent Emails has stuck emails
- Check if the APM ran successfully.
- Check in Global Application Settings > Mail if the SMTP Authentication is enabled then check with the customer if they have allowed our IP addresses on their SMTP server.
- ONLY PRODUCT SUPPORT: Check if PA_MAIL_ARCHIVE if the emails were sent from our end.
- If yes> then create an operations ticket to check the mail logs if the emails are stuck in our mail server
- If no> there has to be some wrong settings in the application
- Check in Global Variables> “Send notification from:” should be Free-Form, if it is set to Admin then the admin must have valid email ID.
IF NOT ALL-
Which notification they are receiving this issue.
- If Class Notification:
- First check whether they ran the right APM.
- Check in SO level if they allowed the users to send notifications (Refer option “Settings” also check “View All”)
- Check if users have the correct email address.
- Repeat all the steps written in ‘IF ALL” section
- If Learning Plan Notification:
- Check System Administration> Application Administration> User Settings.
- Check the Learning Plan notification Settings there. Check if they have allowed the users to receive learning plan notification.
- IF NO:
- Enable the option and hit Apply Changes and then propagate the change
- IF YES:
- Check if they have allowed the users to change the settings on their end. If yes, then proxy (User> search for the user> under Actions> Launch Proxy) any affected user and check in “Options and Settings” if they have disabled the option of receiving Learning Plan Notification emails.
- Please Note: any changes in under User Settings> Learning Plan Notification> you have to propagate the change after saving it; otherwise the change will not be applied.
- Please repeat all the steps written in ‘IF ALL” section.
Troubleshooting steps when Users are getting Duplicate Notifications:
- Determine which notifications they are receiving repeated times.
- Determine if you are sending Ad-hoc notifications or automatic notifications.
- Make certain that a test system is not configured to also send emails.
- Is the email for all the items of a particular user’s learning plan? Or only one item. Try to narrow down the search here.
- Are emails received for only adding items or is it also for modifying items. (The subject is always same for adding, modifying, and removing).
- If it is for modifying and removing then definitely these are not duplicate emails.
- Check for the frequency of the emails received. This may require a database query to determine.
If there is a gap of few seconds in the emails:
- Make certain that you do not click Send Notification button twice if sending ad-hoc notifications
- Check if any changes are being made to the learning plan of any user.
- If there is a gap of few hours or minutes, there has to be any change in the notification causing the second email notification.
- Please ask Customer for the original emails and check the internet headers to see the server information and also check if the emails are really identical.
- To be able to get the email to Product Support, un-forwarded, the customer would need to save the original email to their desktop. Then they can attach this email to a new email message to you.
Activate Images on the notifications:
If you plan on using images <img>in your html notification templates there are potential security issues to be aware of (i.e., cross scripting). The SuccessFactors team discourages the use of images in notification templates.
By default, the LMS is shipped with the ability to display images in notification turned off. If you desire images, then navigate to System Admin > Configuration > System Configuration > Web Security. You will need to change the secRules.imgtag.enabled setting from true to false.
Organization Headers and Footers:
- If enabled globally, email notifications may include an organization’s header and/or footer. (System Admin > Configuration > System Configuration > LMS_ADMIN: enableNotificationHeaderFooter=true)
- Admins may define a different header and footer with text and HTML if desired on the organization record.
- Users will receive the same notification email but with the distinct header and footer messages associated to their organization.
- The top organization record in the tree may be updated, and the update will apply to all sub-organizations
11.1 Most used tables in LMS Database for Troubleshooting Notifications used by Product Support
ONLY FOR PRODUCT SUPPORT:
System Administration>Application Administration>User Settings – make sure that the users are checked to receive all notifications
Go to User tab and open the affected user’s record provided by the customer. Then launch proxy for the user and go under Options and Settings to see if the same options are checked for the user.
- Compare these settings in the PA_STUDENT table
- NOTIFY_DEV_PLAN_ITEM_ADD
- NOTIFY_DEV_PLAN_ITEM_MOD
- NOTIFY_DEV_PLAN_ITEM_REMOVE
- PA_MAIL
- PA_MAIL_ARCHIVE
- PA_LEARNING_PLAN
- PA_LEARNING_PLAN_NOTIFY
- PA_SCHEDULED_JOB
- PA_SCHEDULED_JOB_RESULT
- PA_SCHED_NOTIFY_MSG
- Check records in PA_MAIL_ARCHIVE and NO MAILS are stuck in PA_MAIL table
- Check PA_LEARNING_PLAN and ensure that users get the APM notifications.
- PA_LEARNING_PLAN_NOTIFY
Environment
SAP SuccessFactors Learning
See Also
Keywords
sf, success factors, LMS, email, e-mail, mails, APM, headers and footers, notifications , KBA , LOD-SF-LMS-NOT , Notifications , LOD-SF-LMS , Learning Management System , How To
Product
Attachments
Apendix Notifications Learning Academy.pdf |
Template IDs, Syntax IDs, and Syntax Tags.pdf |