Integration manual


Integration

In your graphic charter, you must :

  • import XSL from plugin Messaging connector
    <xsl:import href="plugin:messaging-connector://stylesheets/messaging-connector.xsl" />

  • dans la section <head> faire appel au template "script-js-messaging-connector" qui charge le JS

    Example

    <xsl:template name="additionnal-script">   
       ...   
       <xsl:call-template name="script-js-messaging-connector">   
            <xsl:with-param name="css-class-prefix">exchange</xsl:with-param>   
       </xsl:call-template>   
    </xsl:template>   

     

  • call up the "messaging-connector-card" rendering template where you want to insert the information retrieved from the mail server

    <xsl:call-template name="messaging-connector-card">   
            <xsl:with-param name="css-class-prefix">exchange</xsl:with-param>   
    </xsl:call-template>   

The XSL templates are configurable.

For "script-js-messaging-connector":

  • css-class-prefix: prefix for CSS classes applied to rendering elements, "messaging" by default
  • max-days: search period for upcoming events, default 7 days
  • max-events: maxiumn number of events to display, default 1
  • email-none: key i18n when there are no mail unread messages, default "No unread message(s)".
  • email-single: key i18n when there is 1 mail unread message, default "1 unread message(s)".
  • email-several: key i18n when there are several mail unread messages, default "X unread message(s)".

For "messaging-connector-card" :

  • css-class-prefix: prefix for CSS classes applied to rendering elements, "messaging" by default
  • all messages used in rendering are configurable: email-title, email-waiting, email-error, agenda-title, ... See XSL "messaging-connector-card.xsl".

By default, this helper displays the person's Last Name First Name, then the number of unread messages, then the upcoming appointments. Dates include subject - date - location.
If you don't want to display the location (for example), you'll need to override the "messaging-event-location" template and leave it empty.

Warning
If you override the CSS "messaging" prefix in one of the templates, you must also override it for the other.

The default HTML product is as follows:

<ul class="user-infos exchange-user-infos">
  <li class="user-infos-person messaging-user-infos-person">
    <span class="user-infos-person-title messaging-user-infos-person-title">Michel Durand</span>
  </li>
  <li class="user-infos-mail messaging-user-infos-mail">
    <span class="user-infos-mail-title messaging-user-infos-mail-title">Messagerie :</span>
    <span class="user-infos-waiting messaging-user-infos-waiting" style="display: none;">Chargement en cours...</span>
    <span style="display:none;" class="user-infos-error messaging-user-infos-error">Une erreur est survenue. Impossible de retrouver les informations.</span>
    <span class="user-infos-error messaging-user-infos-error-server" style="display:none;">
      <!-- This must be empty and will contain the server message -->
    </span>
    <span class="user-infos-error messaging-user-infos-error-change-password" style="display:none;">
      <!-- This must be empty and will contain the link to change password -->
    </span>
    <span style="" class="user-infos-info messaging-user-infos-info">
      <span id="messaging-nb-msg">5 messages</span>non lu(s)</span>
  </li>
  <li class="user-infos-agenda messaging-user-infos-agenda">
    <span class="user-infos-agenda-title messaging-user-infos-agenda-title">Prochain(s) RDV :</span>
    <span class="user-infos-waiting messaging-user-infos-waiting" style="display: none;">Chargement en cours...</span>
    <span style="display:none;" class="user-infos-error messaging-user-infos-error">Une erreur est survenue. Impossible de retrouver les informations.</span>
    <span class="user-infos-error messaging-user-infos-error-server" style="display:none;">
      <!-- This must be empty and will contain the server message -->
    </span>
    <span class="user-infos-error messaging-user-infos-error-change-password" style="display:none;">
      <!-- This must be empty and will contain the link to change password -->
    </span>
    <ul style="" class="user-infos-events messaging-user-infos-events">
      <li class="user-infos-event messaging-user-infos-event">
        <span class="user-infos-event-title messaging-user-infos-event-title">Copil Abcd</span>
        <span class="user-infos-event-separator messaging-user-infos-event-separator" style="display: none;"></span>
        <span class="user-infos-event-date messaging-user-infos-event-date">lun. 10 juil. 15h00</span>
        <span class="user-infos-event-separator messaging-user-infos-event-separator" style="display: none;"></span>
        <span class="user-infos-event-location messaging-user-infos-event-location">Salle Royans-Vercors</span>
      </li>
    </ul>
    <span style="display:none;" class="user-infos-noevent messaging-user-infos-noevent">
      <span>Aucun évènement</span>d'ici
      <span class="user-infos-maxdays messaging-user-infos-maxdays"></span>jour(s).</span>
  </li>
</ul>  

Error management

Lorsqu'une erreur serveur empêche la récupération des informations de messagerie, le message d'erreur est affiché dans l'un des <span> suivants :

  • messaging-user-infos-error: serious error with no return message

And since version 1.5.0 :

  • messaging-user-infos-error-server: displays the error message returned by the server
  • messaging-user-infos-error-change-password: HTML element containing a link allowing users to enter their Exchange password if they have been unable to authenticate it (missing or invalid password).

New connector

With the appearance of GraphConnector, there are now two connectors in this plugin, and only one can be activated simultaneously. Select the connector in the WEB-INF/param/runtime.xml :

For the classic Exchange on-premise compatible connector :

<org.ametys.plugins.messagingconnector.MessagingConnector>org.ametys.plugins.exchange.ExchangeConnector</org.ametys.plugins.messagingconnector.MessagingConnector>

For the Office 365 compatible connector :

<org.ametys.plugins.messagingconnector.MessagingConnector>org.ametys.plugins.exchange.GraphConnector</org.ametys.plugins.messagingconnector.MessagingConnector>
Back to top

Exchange