Skip to main content
ExLibris
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    Components Configuration for Letters

    Overview

    Each letter can contain common components that are used across letters, such as headers, footers, etc. 
    This enables you to define (and update) the common components in one place. For example, you can define a common header across all letters, that includes a corporate logo. In future if you change the formatting of the logo (such as its alignment) in the Components Configuration page,  that change will automatically be applied to all the letters that use that component.
    components.png
    Common Components
    For general information on configuring letters in Esploro see here.
     
    To configure components, you must have one of the following roles:
    • General System Administrator
    • Letter Administrator

    Configuring Component Labels to Update Common Fields Across Letters

    You can use the component labels to edit a letter without needing to edit the actual XSL template. For example, if you want the letter to state "Contact the Research Department" instead of "Contact Us", you can change that in the labels. 
    How to update a label:
    1. In the Components Configuration page, select Edit on the row action list of the component.

      Edit component.
    2. Select the Labels button. Note that if the component does not have a label, the Labels button will be disabled.

      Labels buttton for component.
    3. Select Customize for the label to edit.

      Customize component label.
    4. Update the label as needed. You also have the following options:
      • Language change - If another language is configured, the Translation field opens for editing.
      • Restore - If the line was modified, the Enabled and Description fields are restored to their default.
      • Restore Translation - If another language is configured and the Translation label was modified, the field is restored to the default.
    5. When done, select Save.

      Update label and save.png
    6. You can enable or disable the label by selecting the toggle in the Enabled column.

    Customizing Component Templates to Update the Formatting and Content Across Letters

    You can view and edit the template (XSL style sheet) that is used to format the component and determine which fields and text appear in the letter. Configure the template to customize what labels and data appear in the letters. In addition, you can use XSL conditional statements to make decisions about what appears in a letter, and even whether the letter is sent. For an example, see How to use the if condition to configure a letter to not be sent under certain circumstances.docx.

    To customize a component's template (XSL style sheets):
    1. Navigate to the Components Configuration page (Configuration Menu > General > Components Configuration).
    2. Select Edit on the row action list of the component.
    3. Edit the information in the XSL pane as needed.

    Edit XSL.

    1. The available fields on this page are in the labels associated with the component and the XML fields that are generated by Esploro.
    • Use the substring and string-length functions to output the last four digits of a code:
      <b>@@requested_for@@ :*****
      <xsl:value-of select="substring (notification_data/user_for_printing/identifiers/code_value/value,string-length(notification_data/user_for_printing/identifiers/code_value/value) - 3)"/></b>
    • If the following snippet follows the address line in the SenderReceiver.xsl file, you can ensure that the user’s phone number is included in all the letters that use this template.
      <tr>
      <td><xsl:value-of select="notification_data/user_for_printing/phone"/></td>
      </tr>
    • Have the name of the style sheet appear as hidden text in the output by adding the following after the <html> tag.
      <html> <xsl:attribute name="data-filename"> <xsl:value-of select="/notification_data/general_data/letter_type"/> </xsl:attribute>
      The output will include something like:
      <html data-filename=”FulLoanReceiptLetter”> ...
    1. You can use Ctrl+Shift+f to implement Prettyprint (convert and present the XSL source code with line breaks and indentations to make the code easier to read).
    2. Select Save Draft to save your customizations as a draft. Changes done in the draft will not be applied to the component until selecting Save. The draft watermark displays in the  XSL pane while in draft mode. Note that once Save is selected, the changes will be applied to all letters using this component. Select Remove Draft to erase the draft and display the last saved XSL. Select Restore to restore the XSL to its original state. Note that while a draft is active, the Edit Draft and Remove Draft options are available in the row actions menu for the component.  
    3. To preview the changes, view a letter that uses this component.
    4. To preview changes that were made to a component draft:
      1. , Navigate to a letter that uses this component.
      2. In the letter, update the XSL by adding _DRAFT to the relevant <xsl:include href="" /> statement, as shown in the following example:
        <xsl:include heref="footer.xsl_DRAFT"/>
      3. The preview pane will now display the draft component (the updated footer in this example), so that you can review the changes. 
      4. When the changes are complete, remove the _DRAFT suffix from the include statement:
        <xsl:include heref="footer.xsl"/>
    5. Select Save to apply the changes to the component i.e., override the current XSL with the updates. This will also remove the draft watermark. The changes will now be applied to all the letters using this component. Note that after saving, the letter remains in the preview window. To return to the full list of letters, select Cancel.

    Component List

    The following table lists the components available in Esploro.
    Letter Components
    Letter Description
    checksum_calc.xsl For internal use.
    esploroFooter.xsl

    Defines the text used in the footer for all letter emails. Define the following in General > General Configuration > Other Settings:

    Parameter Value Parameter Key
    contact_us email_contact_us
    my_account email_my_account
    esploroHeader.xsl

    Defines the text (such as your institution's logo, the letter name, and the date) used in the header for all letter emails.

    esploroSenderReceiver.xsl

    Defines the address information for all letter emails. This component uses <xsl:value-of select="notification_data/user_for_printing/name"/>, which is populated according to the configuration in User Name Display. However, user_for_printing also includes the name and preferred name values, so it can be configured differently. For example, from the activity report XML's user_for_printing:

    <first_name>Ford</first_name>
    <identifiers><code_value><code>Primary Identifier</code>
    <value>fprefect</value>
    </code_value>
    <code_value><code>BARCODE</code>
    <value>11223344</value>
    </code_value>
    </identifiers>
    <last_name>Prefect</last_name>
    <middle_name></middle_name>
    <name>Prefecta, Forda</name>
    <phone></phone>
    <postal_code></postal_code>
    <preferred_first_name>Forda</preferred_first_name>
    <preferred_last_name>Prefecta</preferred_last_name>
    <preferred_middle_name></preferred_middle_name>

    esploroStyle.xsl

    Defines the CSS used for all letter emails.
    The direction:ltr parameter sets the text direction to be from left to right.

    footer.xsl

    This is not relevant for Esploro users. Use esploroFooter.xsl instead.

    header.xsl

    This is not relevant for Esploro users. Use esploroHeader.xsl instead.

    mailReason.xsl

    Defines the greeting (such as Dear Sir/Madam) used in most letter emails. The following would print Dear John Smith for a user named John Smith:

    <xsl:template name="toWhomIsConcerned">
    <table cellspacing="0" cellpadding="5" border="0">
    <tr>
    <td>
    <xsl:for-each select="notification_data">
    <h3>@@dear@@ &#160;<xsl:value-of select="receivers/receiver/user/first_name"/>&#160;<xsl:value-of select="receivers/receiver/user/last_name"/></h3>
    </xsl:for-each>
    </td>
    </tr>
    </table>

    recordTitle.xsl

    This is not relevant for Esploro users.

    senderReceiver.xsl

    This is not relevant for Esploro users. Use esploroSenderReceiver.xsl instead.

     

    SMSRecordTitle.xsl

    This is not relevant for Esploro users.

    style.xsl

    This is not relevant for Esploro users. Use esploroStyle.xsl instead.

    Additional References

    • Was this article helpful?