Manage notifications
  • 34 Minutes to read
  • Dark
    Light
  • PDF

Manage notifications

  • Dark
    Light
  • PDF

Article summary

Within the platform, there is a non-exhaustive list of notifications: invitation, modification, cancellation, reminder, etc.

They are easily activated and personalisable.

In this section, we describe how a notification works:

  • how to create a notification?

  • where in the platform?

  • which content to enter?

  • when to send,

  • etc.

List of email models

As indicated above, the application contains a non-exhaustive list of notifications. They are classed thematically/per type:

  • Alerts

  • Virtual class

  • Communities

  • Curricula

  • Evaluations

  • Registrations

  • etc.

The visibility of this notification list is via the personalisation of a newly-created notification in a specific context: New personalisation.

  • Privileges linked to these pages: See/Modify the notifications

  • Certain notifications are linked to a specific licence – for exemple those linked to a curriculum sub licence

The list of notification models regrouped thematically.

In the table, the notion of context indicates how much notification context can be used (explanation in the following section).

Personalisation

Context

Definition of the notion of personalisation: the creation of a notification for a given context.

There are several contexts in the LMS platform as shown in this list:

For exemple, you can create a notification personalisation for training session A and another for training session B – session level. You can also create a personalisation at domain level to inform default behavior for this domain.

Notifications linked to a domain are visible and personalisable from the page Settings > Notifications.

Notifications linked to a training session are visible and personnalisable from a training file via a dedicated tab.

  • As for the previous notifications to view/personalize a notification per training, you require privileges.

Notifications linked to a session are visible and personnalisable from a training session file via a dedicated tab.

  • As for a curriculum or a training path, there is a dedicated notifications page.

  • As for previous notifications, to view/personalize a notification per session, curriculum, training path, you require privileges.

The interfaces

Context: domain

View To send: at domain level

For a context, the notifications display has 2 views:

  • To send

  • All

The objective of this display is to have a precise view of the notifications to potentially send AND all those parameters concerning the context. And another advantage, the configuration is more intuitive and simple for a manager.

The objectif of the view To send is to make visible all notifications that can be sent potentially for a given context.

The objective of the view All is to make notifications visible concerning the context without exception.

Explanation of the view To send:

  • Block per context to regroup notifications that apply in a specific context:

    • Applicable to the domain,

    • Applicable to a training,

    • Applicable to an evaluation,

    • Applicable to a curriculum,

  • Regrouping of the notifications per theme with the indicator of the number of notifications per theme (expanded by default + sorted alphabetically on the themes).

  • Only display active notifications for the current context (in our case: domain).

  • In a theme, notifications are sorted per creation date.

Certain notifications include the conditions closely linked to these elements:

  • Registration mode: FO, BO, Self-service

  • Learning mode: In-person, E-learning, etc.

  • Process: generic, …, specialised

Examples of notifications concerned:

  • Cursus: Cancellation of a registration to a path, …

  • Training: Reminder of a registration, …

  • Evaluation: Evaluation certificate, …

Examples of a notification of a same type: Reminder of an accreditation

Explanation of the view All:

  • Block per context to regroup notifications that apply to a given context:

    • Applicable to the domain,

    • Applicable to a training,

    • Applicable to an evaluation,

    • Applicable to a cursus.

    • Regrouping of the notifications per theme with the indicator of the number of notifications per theme (expanded by default + sorted alphabetically per themes).

    • Display all notifications in the context.

  • However, the sorting of notifications of a same type when there are several for a same type is as follows:

    • Type > Level > Code > Date of creation (+ potentially specific conditions, as explained in the previous section).

  • The first in the list of the notifications of a same type corresponding to the Leader - is shown in bold characters = the most applicable in the context.

Actions

Objective

Associated privilege

Preview

Quick access rapid for a preview of the notification

x

Duplicate

Copie of the notification to se the approprier in the context courant

Modify in the current context

Activate

Action to activate the notification

Modify + be in the context of the notification

Deactivate

Action to deactivate the notification

Modify + be in the context of the notification

Delete

Action to delete the notification

Modify + be in the context of the notification

Context: other

For the other contexts, the rules are the same and the almost identical interface, except that the blocks context in the view To send for a simple reason that all notifications apply to the current context.

Possibles actions

In this section, we will take the case of a user with full right on notifications (see the privileges concerned).

On the list of notifications, several possibilities:

  • Creation of a personalised notification from a model

  • See the personalisation

  • Duplication

  • Deletion

  • Immediate send of the notifications to collaborators concerned: action possible in the training session page, evaluation and path.

  • See notification histories: action possible in the page of a training session, evaluation and path.

Create a personalisation

As seen previously, the Bealink LMS platform provides a user with a panel of notifications of different types.

When creating a notification, the user has to choose a notification type in the list proposed. They need to know what type of notification they need for which context.

After choosing the notification, enter the data. Il se retrouve sur sa personalisation with 2 tabs: Parameters and Content.

New configuration – main page

The tab Parameter is the main container for general information specific to the notification. These fields can vary following the types of notifications. And mandatory fields vary according to the models.

Explanation of the key fields:

Reference: name of the personalised notification.

  • Activate: this notification is activated if this case is checked.

  • Send a copy to the recipients managers: option to send in CC to the recipient managers of the notification.

  • Copy the referent of the recipient: This option allows us to send notifications to delegated admin who manages a dedicated group. The groups of managers can be configured from the menu Directory > Referent groups. Note that a user can only belong to a single referent group, and each group to a single referent.

Copy to the group referent (correspondant training).

  • Cc: Possibility to add copy recipients – email address from the directory of the users OR an external email address.

  • Cci: Possibility to add blind copy recipients – email address from the directory of the users OR an external email address. NB: The language of the user in Cc or Cci is not taken into account for the content of the mail

  • Send strategy:

    • Internal and external mailbox in immediate mode: the mails are sent via the internal and external mailboxes immediately.

Internal and external mailbox in operator mode: the mails are sent via the internal and external mailboxes or to the operateur – the notion of operator is for internal use at Bealink, the email address is the one defined in the configuration of the project and is fixed.

Internal mailbox and external deferred mode: the mails are sent via the internal and external mailboxes in deferred mode.

  • Model: if the models of notifications are configured and available, you can select a suitable model.

  • Parameter specifics: enter the number of days before the start of the session for mail notification send parameter.

  • Learning mode: information linked to the trainings targeted and the notification.

  • Registration: information linked to targeted training sessions and the notification.

The tab Content completes the object and the email body for each active language of the application (see the section on the content for more explanations).

Duplication

For simplifier the creation of notification, the user a the possibility of dupliquer a notification to the aide of a button Duplicate in the kebab menu of the notification concerned.

During duplication, all properties are copied, including the reference label of the reference. However, for differentiate the notification originale of the copie (in the list of the notifications), this label is followed a number ‘(1)’.

  • In the case of several duplications of a same notification personalised, it's the latest notification duplicated (which has been created lately) which will be used when there is a send (if it is activated).

Deletion

Simple deletion of a notification personalised using a button Delete in the notification kebab menu in question.

  • You need to have the privilege Modify the notifications.

Preview

The preview of a notification displays a mail preview close to the reality of the actual send and also show content or design inconsistencies.

The object and the email body are displayed per language.

In a content, there can be dynamic fields. And previews of these fields are automatically calculated/generated for the user – there is no need to insert text to have an acceptable look.

If, in a notification, there are fields concerning the training, the session or other, and that the user is in the training context for exemple, the preview loads automatically the merge fields [%(Training.Name)%] per the label of the current training course.

By default, these are simple parameters that enable their transformation.

  • By default, no modification is necessary for a client for the preview.

  • Configuration parameter in The notifications > Preview.

Explanation of the preview configuration:

Parameter

Default value

Goal

Example

Model of property of type text for the preview of notifications

[[%(*)%]]

Template for the merge fields of type text.

PropertyDomain [Domain]

Number of elements to add in the lists for the preview of notifications

2

Number of elements added in the lists - for each

A user will be assigned to 2 structures

Maximum depth level of the properties for the preview of notifications

3

The depth for the calculation of a dynamic field

Recommended value: 1 to 3

PropertySession.Training.Name sera calculated mais pas Session.Training.CreatedBy.Name

Boolean to take into account for the preview of notifications

Yes

Value displayed for a boolean property

Propertydto.IsElearning will be set to true

List of the first names male / female possible

Adam;Adrian;Alan;…

Value displayed for the property FirstName of User

PropertyUser.FirstName set to Evan

List of the last names possible

Bautista;Belcher;…

Value displayed for the property LastName of User

PropertyUser.LastName set to Pilot

Name of the training by default

Training

Labelled by default for a merge fields of type text and element concerned = Training

[Training]

Name of the training session by default

Training session

Labelled by default for a merge fields of type text and element concerned = TrainingSession

[Training session]

Name of the evaluation by default

Evaluation

Labelled by default for a merge fields of type text and element concerned = Evaluation

[Evaluation]

Name of the evaluation session

Evaluation session

Labelled by default for a merge fields of type text and element concerned = EvaluationSession

[Evaluation session]

Name of the curriculum by default

Curriculum

Labelled by default for merge fields of type text and element concerned = Cursus

[Curriculum]

Name of the training path by default

Path

Labelled by default for merge fields of type text and element concerned = CursusSession

[Path]

  • The latest parameter for an entity have a single language – FR by default

  • Management at application level – and not at domain level

Example for this context:

  • Notification: Invitation cancellation

  • In the context Training

  • Display the name of the training course in the preview !

Immediate send of the notifications activated

In the platform, there are 2 ways to resend activated notifications:

  • Via the batch: automatic send when running the Send emails by batch process – they are sent every day (or different periods depending on the client configuration).

  • Manually: buttons exist on certain pages to send certains notifications.

The Notifications batch task simplifies the creation of mails to send.

In the event of a mail send error by the batch, the processing of other Notification mail continues – application logs are provided. The mail is then set to do not send mode.

At session level, a manager or a trainer may want to inform learners or other users of specific information at a given time T, without waiting for the batch to run at night. If a user has Access privilege to the button enabling session notification sends. They can resend the mails (active notifications using the button in the session notification page.

  • The action resend the notifications concerns  ALL active notifications in the view To send.

Notifications history

Open Settings > Notifications > Notification history

A page exists to consult mails sent by the platform at application level, for a training session/evaluation, or for a training path.

  • Privileges for the pages History: See notification histories

Search criteria

A search page will filter mails sent with different criteria:

  • Object of the mail: search in the mail title

  • Content: search in the content of the mail

  • Send status:

    • Sent: the mail has been sent.

    • Ready to send via batch: the mail is waiting to go via the batch.

    • Send failed: send errors of the mail.

    • Ready for immediate send: the mail can be sent now.

    • Sent with warnings: the mail has been sent partially to some recipients – send errors for certain mails.

  • Search period: set a start and end date as a search interval.

  • Recipient: search the mails of a specific recipient in the application directory.

  • Type of mail: search per mail type, exemple invitation to a session.

  • Training session / Evaluation / Path: retrieve all the mails sent for a given element.

Page of notification histories

During a search, the mails found are those sent by the batch (those for which the sender is not a user) and not those sent via the internal mailbox of a user to from the page Mon webmail.

Example:

For a manager who wants to view the history of mails sent to their team. The list is sorted from the most recent to the oldest in terms of the send – column Created on.

A button Resend will perform a bulk resend of the selected mails in the list – it's an immediate send to all the recipients of the mails even those who have already received the mail in the case of a mail with a partial (with errors).

  • Privilege for this button: Resend notifications

The title of the mail is a link enabling access to the detail of the mail (see below).

  • Privilege to see the detail: See the detail of notification histories

The column Last send attempt is actualised at each send attemp (field in Com_MailBoxMessage: Mess_LastTry). If the first send is successful, this column will have the same value as the date of creation Created on. In all the cases, it's the column Send status which indicates if the mail has actually been sent. The column Last attempt to send is for purely indicative purposes.

A history is also accessible in other contexts – at training session level, at evaluation session level or at training path level. To access this, there are other privileges:

  • Access notification histories of a training session.

  • Access notification histories of an evaluation session.

  • Access notification histories of a curriculum training path.

  • On the other hand, the general privilege (explained above) remains the one that filters the data sent back = the mails.

Contents

Each notification a a content by default. It is the email body sent to a recipient.

Global information

The content can be added in the Content tab. For each language activated, a block is displayed with these fields:

  • Date of latest content modification

  • Object: the subject of the mail – 250 characters maximum

  • Body: the email body–  HTML text with the possibility of adding dynamic fields.

By default, each notification already includes content, stored in the translation files. If a user personalizes a notification, the content is stored in the database.

Several actions are available for the user at the content level:

  • Save: All page contents are saved in the database – on the first save, the notification becomes specific to the current domaine.

  • Verify: as the content can have dynamic fields – calculated when the first mail is generated – the syntax is important (explanation in the following section). This button enables you to validate the syntax of the text for all the languages. In the case of an error of syntax, a message alerts the user – you must correct if this is the case, otherwise the mails linked to this notification will fail when they are sent.

  • Preview: see how the mail to send looks like the actual mail – in read only form, you can see the appropriate section.

Verification

After modifying the content, the user can check the content of the mail to rapidly locate syntax errors and avoid having problems when sending the mails. Using the button Verify, the text of the content of all the languages is valid.

  • In the event of error, a message appears showing the errors.

  • A dynamic field linked to data of type Object [%(Step.Data.RequestTitle)%] is not checked.

Active by default, the content of a notification is checked when saved – same function as the button. In the case of an error, the save will not be performed, we need to correct the problem retrieved by the platform.

Feature to deactivate in a configuration parameter: Verify the syntax of the content before the save – to true by default. Even in the case of an activation, the button Verify is still available in the page.

Dynamic fields

For each notification, of the parameter (entities/application objects) are passed to the mail for its construction. The user can add properties/dynamic fields from the database in the content of the mail.

To insert a property or a dynamic field in the content of the mail, you first need to open the text with the HTML editor. You must then click on the button Insert a fusion field (next to the save button) in the action bar of the HTML editor. A window opens with the list of properties possibles:

Insertion of a dynamic field in the content

Syntax

An explanation of the syntax is necessary to better understand the insertion of an element in a mail.

  • Configuration Text

To insert a parameter of type Text, use this syntax [%(Name_Parameter)%].

Example: Hello [%(User.Name)%]

In the case of a parameter of type Text but in HTML format, the user can delete the HTML tags around the text with this syntaxe:

[%(Name_Parameter:-HTML)%]

Example:

The training with the description: [%(Training.Description:-HTML)%]

  • The option +HTML in a text does not exist – this syntax should transform carriage returns into <br/>.

  • Configuration Date

For a parameter of type DateTime, you can specify the required format.

Example:

[%(TrainingSession.FinishedOn:yyyy/MM/dd)%]

[%(TrainingSession.FinishedOn:D)%] equals by default dd/MM/yyyy

[%(TrainingSession.FinishedOn:D)%] equals by default to dd/MM/yyyy HH:mm

  • The equivalence D and DT can be changed via the multilingual (Syfadis.Framework.Formatting.Format.Date and Syfadis.Framework. Formatting.Format.DateTime), the date in the e-mail can therefore open differently according to the language of the user.

The other possibilities of a date format:

  • D = Format for local date (without the time)

  • DT = Format for date + local time

  • T = Format for local time

  • DZ = Format for exact date (UTC)

  • DTZ = Format for exact date + time (UTC)

  • TZ = Format for the exact time (UTC)

To add today's date, you must pass via a property calculated that indicates the notification send date to the creation of the mail.

Syntax to add in the notification MailType: [%(TIME:D)%]

  • Conditions: IF

Syntax: [%IF(Condition)[%Instruction1%][%instruction2%]%]

  • Warning, do not add or leave a space!

For an "if" without "else", you still need the empty brackets:

[%IF(Condition)[%Instruction1%][%%]%]

The only tests possibles are of the conditions of equality between a property and a chain, or a test to check that a property is not null.

Syntax: [%IF(property)[%...%][%...%]%] or [%IF(property,chain)[%...%][%...%]%]

Example:: [%IF(RendezVous.Rooms)[%...%][%...%]%][%IF(TrainingSession.MeetingSessions.Count, 3)[%...%][%...%]%]

  • Loop: Forever

Syntax: [%FOREACH(collection,name variable)[%instruction%]%]

  • Warning, do not add or leave a space!

Example: [%FOREACH(TrainingSession.MeetingSessions,ms)[%[%ms.Name%]%]%]

  • Attachment

You can add any type of document (PDF, txt, doc, etc.) to a notification using the expression ATTACH as long as we can have a relative link to a file on the application.

For example, the user can perform a PDF export of the page Catalogue, you must then add this file as a document to the Documents of the training and attach this document to a mail with a instruction of this type:

[%ATTACH()[%~/Files/Applications/65536/Documents/337772544/report_70c48a58-b3c2-4975-9066-51e8db52ebd2.pdf%][%Presentation%]%]

Syntax: [%ATTACH()[%(url)%][%Name attachment%]%]

  • The name of the attachment is optional.

  • Attachments of type HTML Document

You can add a document of the type HTML to a notification using the expression ATTACHHTMLDOCUMENT as long as we can have a relative link to a file on the application. The link must be complete in the content of the mail. Enter an ID or the import code (ExternalId) corresponding to the HTML document. The name of the document must be entered:

  • ID: application report ID

  • ExternalID: import report ID

Examples:

[%ATTACHHTMLDOCUMENT()[%attendancemeeting_html%][%file name of the attendance sheet%]%]

  • For an attendance sheet to a session

Syntax:

[%ATTACHHTMLDOCUMENT()[% ID or ExternalID %][% name %]%]

  • The name of the attachment is optional.

  • Method call

Syntax:

With 1 argument as a property:

  • [%DATASOURCE(Name of the result,class,method)[%(argument1)%]%]

Example: The following code generates the file .ics of a meeting

  • [%DATASOURCE(fileCal,Syfadis.Community.Rendezvous.Management.IRendezvousManagementService,GenerateRendezvousForCalendar)[%(idRendezvous)%]%]

Next, you can add the attachment to the mail:

  • [%ATTACH()[%(fileCal)%][%AddCalendar%]%]

With 2 arguments including 1 with a string:

  • [%DATASOURCE(Name of the result,class,method)[%(argument1)%][%argument2%]%]

Example: The following code retrieves a list of trainings for a user sorted by the end date

[%DATASOURCE(training,Syfadis.Directory.Users.Educations.IEducationService, FindByUserSort)[%(idUser)%][%FinishedOn DESC%]%]

  • As you can see, the second argument is a string, it should not be between brackets otherwise it will not be taken into account.

LINK

In certains notifications, you can insert the links to the pages. The property used is LINK. It generates a URL based on the setting of the domain of the context concerned.

Example of a context:

  • URL of a root domain = ‘https//client_monde.bealink.com’

  • URL of a child domain – France = ‘https//client_france.bealink.com’

On generating a mail, this parameter is taken into account to build the url. Next, all depends which domain to choose, based on the context:

  • Session domain:

    • Alert: the session attendance sheet has not been provided

    • Alert: Session cancellation

    • Alert: Confirmation of the session

    • Alert: Break-even point not reached for a session

    • Alert: Creation of a new session with of the learners on a waiting list for the training

  • Training domain:

    • Alert: Learner waiting list threshold reached for a training course

  • Learner or trainer domain:

    • All other notifications

iCal file

An iCal file is a file attached to a mail as an event in a mailbox calendar.

This section explains the possibilities of gestion sur this type of file.

Content of an iCal event

You can manage the content of a file iCal. Other information can be added to this file or deleted in the content to inform the recipient.

This management uses a label to personalize:

Content of an iCal

Description

Technique: translation key used

for the generation of the event

Which content generates?

Timezone management feature not activated by default

Catalog.Invitation.Description

Display dates and other information below according to certain rules * – no timezone display.

Timezone management feature activated

Catalog.Invitation.Description.

CanPreciseTimeZone

Display dates calculated with the notion of the external mailbox timezone + that of the element.

And also the other information below.

Rules * = rules applied concerning the timezone taken into account for a notification:

  • Timezone of the first recipient of the mail received in the case of the platform timezone,

  • If the opposite is true, the management domain is taken into account for the session,

Rules *: rules applied concernant the time zone in all the other contexts (rapport HTML, webpart, etc.):

  • Timezone of the current domain = NavigationContext.Current.TimeZoneId

Example of iCal content:

React

Session: react - juillet 2024 - S2

Start: 20/07/2024 09:00

End: 25/07/2024 18:00

Session: SP01

Start: 20/07/2024 09:00

End: 25/07/2024 18:00

Location: Bealink Rennes

Access the platform: Catalog/Learner/Home.aspx?idTraining=7962624&idTrainingSession=35651584&idTrainee=35946496

Concerning the information sent to an iCal:

  • The name of the training

  • The label, together with the session dates

  • The label, along with session dates

  • The location

  • The room(s)

  • The access plan via a URL created using the training location address – URL redirected to Google Map:

    • [%IF(Dto.GoogleMapUrl)[%Plan of access to the training: [%(Dto.GoogleMapUrl)%]%][%%]%]

    • You must first enter the coordinates of the training location, without these, no training location can be designated on the Google map application.

  • The access to the session directly in the platform.

  • If the opposite is true, the session management domain timezone is taken into account.

You can also of personalize the content of a file iCal for a space via an invitation notification. There is a tab Event description which is a shortcut to modify rapidly the translation – privilege used: Modify the translation.

Language

For a notification with an attached event (file iCal), when the file is generated, you need to give the information of the recipient's language (the person concerned by the mail).

Example: if an English trainer has received an invitation to a training session with English content and other sessions to animate, they must receive the events of the sessions in their language = English

For the language of the user to be taken into account, in the notification content, you need to add a parameter to the method generating the event (file .iCal). The parameter to add is the language, which is an enumeration.

  • It is not an obligation to have this parameter. For a client working with a single language it is not necessary

Notifications concerned: those calling the methods of iCal generation.

  • Invitation to a training session / Modification of une invitation côte apprenant

  • Invitation of the trainer / Modification of the invitation of the trainer.

Technical methods concerned by this parameter:

  • GenerateICalendarForTrainee

  • GenerateMeetingForCalendar

  • GenerateMeetingForCalendarByTrainee

  • GenerateMeetingTutorForCalendar

  • GenerateMeetingSessionICalendarForUser

Example:

[%DATASOURCE(cals,…GenerateMeetingTutorForCalendar)[%(idTrainingSession)%][%(Dto.TutorId)%][%(User.Language:N)%]%]

Preview

The preview of a notification permet to have a visual of the mail as close to reality as possible when it’s sent and also view inconsistances in the content or on the design.

The object and the email body are displayed, per language.

In a content, there can be dynamic fields. And during a preview, these fields are automatically calculate/generate for the user – it has not inserting of the text to have an acceptable look.

Also, in a notification, there are of the fields concerning the training, the session or other, and that the user can follow the context of a training for exemple, the preview loads automatically and replaces the merge fields [%(Training.Name)%] by the current training label.

By default, this are of the parameter simples qui permettent of faire this transformation. In the case of a manager voulant the modifier, it's entirely possible.

  • By default, no modification is required for a client for the preview

  • Configuration parameter in The notifications > Preview

Explanation of the parameters for the preview:

Parameter

Default value

Objective

Example

Model of property of type text for the preview of notifications

[[%(*)%]]

Template for the merge fields of type text.

PropertyDomain [Domain]

Number of elements to add in the lists for the preview of notifications

2

Number of elements added in the lists - for each

A user will be assigned to 2 structures

Maximum depth level of the properties for the preview of notifications

3

Up to which depth for the calculation of a dynamic field

Recommended value: 1 to 3

PropertySession.Training.Name will be calculated but not Session.Training.CreatedBy.Name

Boolean to take into account for the preview of notifications

Yes

Displayed boolean value for a property

Propertydto.IsElearning will be set to true

List of the male / female first names possible

Adam;Adrian;Alan;…

Displayed value for the property FirstName of User

PropertyUser.FirstName will be Evan

List of the last names possible

Bautista;Belcher;…

Displayed value for the property LastName of User

PropertyUser.LastName will be Pilot

Name of the training by default

Formation

Labelled by default for merge fields of type text and element concerned = Training

[Formation]

Name of the training session by default

Training session

Labelled by default for merge fields of type text and element concerned = TrainingSession

[Training session]

Name of the evaluation by default

Evaluation

Labelled by default for merge fields of type text and element concerned = Evaluation

[Evaluation]

Name of the evaluation session

Session d’evaluation

Labelled by default for merge fields of type text and element concerned = EvaluationSession

[Evaluation session]

Name of the curriculum by default

Curriculum

Labelled by default for merge fields of type text and element concerned = Curriculum

[Curriculum]

Name of the path by default

Path

Labelled by default for merge fields of type text and element concerned = CurriculumSession

[Path]

  • The latest parameter are in a single language – FR by default

  • Application management – and not domain

Multilingual notification

Concerning a multilingual client, entering a personalised notification can be multilingual.

There is a special case where a user can have received a mail with N times the same content in N languages different. This is the case of a notification with a copy to the recipients managers or trainer.

Example:

A recipient can speak French and have an English-speaking manager for example.

As a result, we send a single mail with 2 contents in the mail body, one after the other, 1 in French, the other in English, with a copy also sent to the manager so that both recipients can read and understand the mail.

It is possible to deactivate this mode using the configuration parameter: Add the languages other than the main recipient in the mail body. In this way, there will only be one content = the one linked to the language of the main recipient.

Timezone

The Bealink LMS platform includes a feature to manage international mode by assigning a timezone to an in-presence element:

  • a session

  • a session

  • a virtual class

  • Configuration parameter to activate to have feature: Use of a timezone (training session, in-person session, virtual class, training location).

At notification level, the information on the dates and times of an in-presence element is key to the smooth organisation and of the realisation of international training. Poor communication on the time or location of a session can potentially provoke additional expense to the training budget: the collaborator will for example miss the session – absent but invoiced.

iCal file

The iCal file, the content is already managed in International mode – explanation with a exemple:

  • a training session with a session taking place in New York

  • a collaborator registered to this session, in Paris

A mail is sent to the collaborator registered to the session as an event (file iCal), received in an external mailbox / calendar.

For the notifications

On the notification side, this is not automatically managed. The adjustments are required in the content for ensure the timezone information of the timezone, and the dates calculated based on this timezone.

For in-presence container elements the start and end dates, with the notion of timezone, an attribute has been added called TimeZonedPeriod :

  • for a session = TrainingSession.TimeZonedPeriod

  • for a session = MeetingSession.TimeZonedPeriod

  • for a virtual class = PlannedVirtualClassroom.TimeZonedPeriod

Syntax to use in the content: [%(MeetingSession.TimeZonedPeriod)%] - ‘x’ with the following format.

Several formats are proposed in the display of the information:

  • Dates and timezone associated with the entity concerned = Owner

  • ‘o’ from  20/07/2024 21:56 to 31/07/2024 19:00 (UTC-06:00) Centre (US and Canada)

  • ‘O’ from  20/07/2024 21:56 to 31/07/2024 19:00 (UTC-06:00) Centre (US and Canada)

Example: [%(MeetingSession.TimeZonedPeriod:o)%]

  • Dates and timezones of the recipient + of the entity ( in this order) = Full

  • ‘f’ of the 21/07/2024 04:56 to 01/08/2024 02:00 (UTC+01:00) Bruxelles, Paris (from 20/07/2024 21:56 to 31/07/2024 19:00 (UTC-06:00) Centre (US and Canada)

  • ‘F’ from 21/07/2024 04:56 to 01/08/2024 02:00 (UTC+01:00) Bruxelles, Paris (from 20/07/2024 21:56 to 31/07/2024 19:00 (UTC-06:00) Centre (US and Canada)

Example: [%(MeetingSession.TimeZonedPeriod:f)%]

  • Display and concatenation of the start and end dates – without the notion of timezone (neither in the display, nor the calculation) = None

  • ‘n’ of the 20/07/2024 21:56 to the 31/07/2024 19:00

Example: [%(MeetingSession.TimeZonedPeriod:n)%]

  • Display of the timezone of the entity – without the dates

  • ‘s’ or ‘S’ (UTC-06:00) Centre (US and Canada)

Example: [%(MeetingSession.TimeZonedPeriod:s)%]

  • Another code possible to display dates in the current timezone – in the case of the deactivated feature, where we display the dates calculated based on a timezone, but this is not known to the current user (not displayed) = Current (Context)

  • ‘c’ from 21/07/2024 04:56 to 01/08/2024 02:00 (UTC+01:00) Bruxelles, Madrid, Paris

  • ‘C’ from 21/07/2024 04:56 to 01/08/2024 02:00 (UTC+01:00) Bruxelles, Madrid, Paris

Rules applied concernant the time zone taken into account in the cadre of a notification:

  • Timezone of the first recipient of the mail received in the case of the platform timezone,

  • If the opposite is true, taken into account of the timezone of the domain of gestion of the session,

Rules applied concernant the time zone in all the other contexts (HTML report, webpart, etc.):

  • Current domain timezone = NavigationContext.Current.TimeZoneId

  • Rules applied to the code ‘c’ in the standard case, with the option to use the timezone non activated!

Mail model management

A notification is both a container and content. As explained above: there are different contents to personalize, simply and rapidly.

For a client who needs to send N notifications all the days, it is very interesting to have a model (= container), to not repeat N times the same job. This section explains the creation of a model for the mails.

The principle is simple: create a model and the use in the notifications personalised.

The repository of the models of mail is located in the menu Settings > The notifications. A tab Models is present next to the domain-level notification repository.

  • Privileges associated with the mail models: View and modify mail models

  • Management possible of the models per domain

  • In the case of a model management per domain, no parameter configuration activates this principe. It is automatic when it is created.

The repository

Mail model repository

In this repository, we list all the models of a application. The duplication enables you to create one model very rapidly from another. Deleting a model is only possible if it not used by a notification. We do not delete a model that is in use.

The model template format

A model template includes a label and some content.

  • The fields of a model are multilingual if the multilingual feature is active in the platform – enter data for the international.

Template

Explanation of the fields:

  • Name: name of the repository template – mandatory field

  • Replacement string: the string ID of the location of the notification content in the model – it must appear in the content of the model, if not, the content will not be inserted when the mail is sent. Read only ##content##

  • Domain: model management domain = current creation domain

  • Content: the HTML content of the model (multilingual by default: English + French are active).

Using the content, the client can create a model with a header and a footer however they want (in HTML, with an image or a table, a signature, etc.) , it's rapid and a very straightforward design.

Other information: images or other documents inserted in the content are stored by default in the application directory:

  • Files\Applications\idApplication\EditorResources

In other words, elements linked to models (images, documents, etc.) are not contextualised per model, other models can use these elements in their content.

Consequently, this directory must be visible externally for images to be accessible.

  • For clients with maximal security, we do not recommend using templates.

Using a model

After creating a model, we need to be able to use it. A field has been added on the file of a notification on the selection of a model.

This field is a drop down list containing the list of all application models.

  • In the case of no model in the repository, the field is not visible in the file.

With this feature, a preview of the notification is possible – see the appropriate section. In the case of a notification without model, the output is raw.

Personalise criteria application

We can ask the following question: which notification is taken into account if it has been personalised at domain level, training and/or session level?

This section explains the different cases possible which are applied on the LMS platform.

Notifications linked to a session

The notifications linked to a session concern above all the registrations.

The notification activated at the lowest level and which the corresponding registration mode is taken into account and sent:

  • The fields Reference is not taken into account.

  • If several notifications of the same level exist, the most recent notification is taken into account(following the creation date).

The following case explains which notification is sent for a user registered to a session:

  • Simple case: if a personalisation of a notification for a session concerned exists, it will be taken into account in the language of the user.

  • Simple case: if a single personalisation of the notification for the training concerned exists with the correct registration mode, it will be taken into account in the language of the user.

  • Simple case: if several personalisations of the notification for the training concerned exist with the correct registration mode, the notification taken into account will be the latest personalisation created and activated in the language of the user.

  • Complex case: if several personalisations of the notification for the training concerned exist with the correct registration mode, and that none is activated, we select the latest personalisation created in the language of the user (no send will occur).

  • Simple case: if a single personalisation of the notification exists at session domain level and if the constraints on the type of training and the type of registration applied to the session concerned are specified, it will be taken into account in the language of the user.

  • Complex case: if several personalisations of the notification exist at session domain level and if the constraints on the type of training and the type of registration applied to the session concerned are specified, the notification taken into account will be the latest personalisation created and activated in the language of the user.

  • Complex case: if several personalisations of the notification exist at session domain level and if the constraints on the type of training and the type of registration applied to the session concerned are specified, and that none is activated, the notification taken into account will be the latest personalisation created in the language of the user (no send will occur).

  • Simple case: if a single personalisation of the notification exists at parent domain level and if the constraints on the type of training and of type of registration applied to the session concerned are specified, it will be taken into account in the language of the user.

  • Complex case: if several personalisations of the notification exist at parent domain level of the session and if the constraints on the type of training and the type of registration applied to the session concerned are specified, the notification taken into account will be the latest personalisation created and activated in the language of the user.

  • Complex case: if several personalisations of the notification exist at a domain session level and if the constraints on the type of training and the type of registration applied to the session concerned are specified, and that none is activated, the notification taken into account will be the latest personalisation created in the language of the user (no send will occur).

Other notifications

  • Simple case: if a single personalisation of the notification exists at session domain level and if the constraints on the type of training and the type of registration applied to the session concerned are specified, it will be taken into account in the language of the user.

  • Complex case: if several personalisations of the notification exist at session domain level and if the constraints on the type of training and the type of registration applied to the session concerned are specified, the notification taken into account will be the latest personalisation created and activated in the language of the user.

  • Complex case: if several personalisations of the notification exist at session domain level and if the constraints on the type of training and the type of registration applied to the session concerned are specified, and that none is activated, the notification taken into account will be the latest personalisation created in the language of the user (no send will occur).

  • Simple case: if a single personalisation of the notification exists at parent domain level and if the constraints on the type of training and of type of registration applied to the session concerned are specified, it will be taken into account in the language of the user.

  • Complex case: if several personalisations of the notification exist at parent domain level of the session and if the constraints on the type of training and the type of registration applied to the session concerned are specified, the notification taken into account will be the latest personalisation created and activated in the language of the user.

  • Complex case: if several personalisations of the notification exist at parent domain level and if the constraints on the type of training and the type of registration applied to the session concerned are specified, and that none is activated, the notification taken into account will be the latest personalisation created in the language of the user (no send will occur).

Manage external emails

Following issues of mails received as spam in certain client mailboxes – the platform can be considered to be a spam tool (blacklisted), the manner in which we send mails externally has been largely redesigned.

Now, a mail sent externally is automatically sent via a known email address. This email address is defined in a configuration parameter: The email address of the sender of the mails by default, with the default value anonyme@bealink.com.

The email address of the sender is included in the property ReplyTo of the mail allowing the recipient of the mail to reply directly to the sender.

  • Domain management for this parameter

Tutoring

Manual email sends via a button on the trainer side.

A trainer or a manager of training can send a mail via a button Send a mail to these people they are tutoring/training.

When sending, the recipients are all CCi to not share personal details with other participants.

Configuration options

Url

Configuration parameter (technical side):

External URL access

Mails

Config parameters (technical elements):

  • Max. number of mails to send per session (-1 = no restriction).

  • Goal: Limiter the number of mails sent lors of the batch quand il y en a beaucoup.

Example: in the case of a new notification in a version and the client runs this version. When creating a notification of this type, the first batch send can have consequences. As a result, the sending of these notifications will be divided into several batch sends.

  • Utilisation: It is used for mails which are in the outbox before being sent by the batch process, and also if the mails are sent directly.

However, if the send is immediate, the use of this parameter will essentially be at application level (root domain) and not at sub-domain level of a training course or session.

Track replies

For a mail of type event or invitation such as an invitation to a session, it is interesting to be able to retreive responses of people who have received and replied to the invitation (accepted, maybe or refused).

With this principle, a manager can need besoin to know the presence or not of a collaborator to manage the attendance by reading the response received, or prompt the person/people if no response is forthcoming and perhaps resend a mail.

Example: a service training via a generic email address is notified of all the responses of the collaborators to store, relaunch, or manage training session attendance.

The fonctionnement is as follows:

After replying to an invitation, the response is sent in an external mailbox which is defined in a configuration parameter: Email address to use for the personnes to of the events no email address by default = feature not activated!

Techniquement, when generating the mail with a file iCal, we transmit this email address to the invitation – technical property in the object Organiser. The gestion is per domain, however, we take into account the configuration parameter for the event session domain.

Another email address is transmitted: that of the replier to the invitation – technical property in the object Attendee


Was this article helpful?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.
ESC

Eddy AI, facilitating knowledge discovery through conversational intelligence