Manually updating PWA screens to accept rich text by updating them in Developer Studio


Important

Instead of performing the manual steps mentioned in the following procedure, you can use the Enable ARTF for PWA utility to automate updating PWA screens to support rich text. This utility can help save time and reduce errors. To know more about using the utility, see Enabling-rich-text-fields-on-PWA-screens-by-running-a-utility.

As a developer, you must update Progressive Web Application (PWA) screens to accept and display rich text. You must open the PWA screens in Developer Studio to make changes to the PWA screens to enable PWA users to view and create rich text.

Before you begin

Complete setting up the email configuration as described in AR System Email Mailbox Configuration form.

To update PWA screens to accept rich text by updating them in Developer Studio

Perform the following steps to make sure that Smart IT fields in PWA screens can display rich text from other applications such as BMC Helix Business Workflows.

  1. Open Developer Studio.
  2. Open the following forms in Progressive View, and change the field Display type to Advanced Rich Text.

    Form name

    Field ID

    Field Name

    HPD:Help Desk

    1000000151

    Detailed Description

    CHG:Infrastructure Change

    1000000151

    Detailed Description

    WOI:WorkOrder

    1000000151

    Details Description

    SHR:SV_TicketDisplay

    304247080

    z1D_SV_NewNote

  3. In Standard View, open the following forms and fields and change the Display type to Rich Text.

    Form name

    Field ID

    Field Name

    CTM:SV_Union_WorkInfo_SocialEvents

    304422681

    ActivityValueChar_1

    HPD:SV_Union_WorkInfo_SocialEvents

    304422681

    ActivityValueChar_1

    HPD:SV_Union_WorkInfo_SocialEvents 

    304422701

    ActivityValueChar_3 (If available)

    PBM:SV_Union_WorkInfo_SocialEvents

    304422681

    ActivityValueChar_1

    PBM:SV_PKE_Union_WorkInfo_SocialEvents

    304422681

    ActivityValueChar_1

    CHG:SV_Union_WorkInfo_SocialEvents

    304422681

    ActivityValueChar_1

    TMS:SV_Union_WorkInfo_SocialEvents

    304422681

    ActivityValueChar_1

    WOI:SV_Union_WorkInfo_SocialEvents

    304422681

    ActivityValueChar_1

    HPD:WorkLog

    1000000151

    Details Description

    CHG:WorkLog

    1000000151

    Details Description

    WOI:WorkInfo

    1000000151

    Details Description

    SRM:Request

    1000000151

    Details

    SRM:WorkInfo

    10000101

    Notes

    HPD:Help desk

    1000000151

    Detailed Decription

    HPD:Help desk

    304247080 

    z1D_Note

    CHG:Infrastructure Change

    1000000151

    Detailed Description

    CHG:Infrastructure Change

    304247080 

    z1D_Note

    WOI:WorkOrder

    1000000151

    Details Description

    WOI:WorkOrder

    304247080 

    z1D_Note

    SRM:Request

    1000000151

    Details

  4. In Standard View, open the HPD:Help desk form, and change the Display type to Read Only-HTML for the fields with the following details:
    Form Name: HPD:Help desk
    Tab name: Work Details 
    Table database name and Field ID: z2TH HPD Worklog:301389614 
    Column database name and field ID:  z2TF Work Log Notes:303718500
    Perform these changes to other ticket types where applicable. 
  5. Enable support for a template SHR_SV_Activity_Template in the AR System Resource Definitions page to render RTF in Action Request System.
    1. Download the following template file:
      SHR_SV_Activity_Template_Generic_RTF.zip
      Save this file, extract it, and open it with a source code editor such as Notepad++ to view the HTML source.
    2. Open the AR System Resource Definitions page.
      http://midTierServer/arsys/forms/ARSystemServer/AR System Resource Definitions
      or
      http://serverName:port/arsys/forms/ARSystemServer/AR System Resource Definitions
    3. Search SHR_SV_Activity_Template_Generic in the Name field and overwrite the existing attachments with the ones you downloaded.
  6. Enable the following filters in Developer Studio:
    • SRM:REQ:SV_Set_IsNotesRTFEnabled_YES
    • SRM:SWI:SV_Set_IsNotesRTFEnabled_YES
    • CHG:CWL:SV_Set_IsNotesRTFEnabled_YES
    • WOI:WOI:SV_Set_IsNotesRTFEnabled_YES
    • HPD:INC:SV_Set_IsNotesRTFEnabled_YES
    • HPD:WLG:SV_Set_IsNotesRTFEnabled_YES
    • WOI:WOL:SV_Set_IsNotesRTFEnabled_YES
    • CHG:CRQ:SV_Set_IsNotesRTFEnabled_YES

To enable rich text in Rule based engine

The following steps are for incoming emails to display rich text content.

  1. Modify the INT:RBEEML:Email-S920-PushRBEMessage filter in Developer Studio.
    1. Open the following filter in Developer Studio:
      INT:RBEEML:Email-S920-PushRBEMessage
    2. Update the filter to the following qualification:

      ( NOT (('Plain Text Body' LIKE "%Action:Modify%") OR ('Plain Text Body' LIKE "%Action:Submit%") OR ('Plain Text Body' LIKE "%Action:Query%") OR ('Plain Text Body' LIKE "%Action: Modify%") OR ('Plain Text Body' LIKE "%Action: Submit%") OR ('Plain Text Body' LIKE "%Action: Query%") OR ('Plain Text Body' LIKE "%%"))) AND ('Plain Text Body' != $NULL$) AND ('HTMLBody' != $NULL$)
    3. Modify the Push Field mapping of Plain Text Body and update with $HTMLBody$. 
      The mapping should now show:
      'Plain Text Body’ = “$HTMLBody$”
    4. Save the changes.
  2. The following changes are needed for “Plain Text Body” and “HTML Code” rendering by creating a new filter INT:RBEEML:Email-PushRBEMessage_PlainTextBody in Developer Studio.
    1. Open the filter you modified in the previous step:
      INT:RBEEML:Email-S920-PushRBEMessage
    2. Save it as INT:RBEEML:Email-PushRBEMessage_PlainTextBody
      File > Save As 
    3. Update Execution Order to 0.
    4. Add the following qualification to the filter:
      (('Plain Text Body' != $NULL$) AND ('HTMLBody' = $NULL$)) OR ('Plain Text Body' LIKE "%<html>%")
    5. Modify the Push Field mapping of Plain Text Body to show the following:
      ‘Plain Text Body’ = “$Plain Text Body$”
  3. Add the filters you updated in the previous steps to the filter guide.
    1. Open the following filter guide:
      INT:RBEEML:ProcessRBE
    2. Append INT:RBEEML:Email-PushRBEMessage_PlainTextBody to the filter guide.

To update workflow objects to enable RTF in outgoing email messages

  1. In the form CTM:SV_EmailSystem, field name Email Message Body with the ID 1000000827, change property Display > Display Type to Advanced Rich Text.
  2. In the active link TM:EMS:SendEmail_100_PNTS-E, add the following new field mapping:
    EmailTemplateName ="ITSM_Generic_Manual_Template"
  3. Save the changes.

To view the changes in your environment

To make sure all the changes in the preceding tasks, you must flush the cache in Mid Tier.

  1. Open the Cache Settings page in the MidTier - Configuration Tool
    http://<MidtierHostName>:PortNumber>/arsys/shared/config/config_cache.jsp
  2. Click Flush Cache.
    A message dialog opens asking for confirmation.
  3. Click OK.

Best practices when using RTF fields in PWA screens

We recommend the following best practices for end users while working with RTF fields in PWA:

  • When you want to copy text and images, copy the images separately and paste it into the RTF editor.
    If you try to copy and paste text and images together, the images may not get pasted.
  • To display a URL as a hyperlink, when entering URLs, you must include the protocol.
    For example, enter http://www.docs.bmc.com instead of entering just www.docs.bmc.com. Otherwise, the URL appears as plain text.
  • To open a URL added in the RTF editor, right-click and open it in a new tab or window.

Limitations when using RTF fields in PWA screens

When application users click Align text to the center, the text reverts to being left-aligned after saving.

Best practices when using advanced RTF fields in PWA screens

You must follow a few best practices that will allow you to display HTML and URLs properly in the advanced RTF fields. When copying images from Word, you must select the region around the image and press Ctrl+C on the keyboard. Paste the image in the advanced RTF field by using Ctrl+V.

Limitations when using advanced RTF fields in PWA screens

If you send an email as a reply to an incident email notification, with in-line images and attachments, all these files appear would be collectively shown in compressed format in ITSM. 

When you use activity templates with rich text enabled, the URLs from external sources are displayed as plain text in the activity notes.

Whitelisting HTML tags

Whitelisting is required for sanitization of HTML content. Set the following centralized configuration settings (CCS) to enable all HTML tags to override the whitelist settings specified in BMC Helix Innovation Studio. For information about whitelist settings, see Innovation Studio: Configuring email profiles and templates.

Configuration settings to override the whitelisting of HTML tags in PWA screens

Parameter

Description

advanced.rtf.pv.whitelist.html.tags

Add this setting to specify HTML tags that need to be whitelisted.
Example value to allow iframe:
iframe(attrib=width,height,src,frameborder,allowfullscreen)


Use the asterisk (*) to allow all HTML tags. Add a space to not allow any HTML tag.

com.bmc.arsys.emaildaemon.URLWithHrefTag

Add this setting to determine whether URLs are displayed as hyperlinks in emails.

Set this parameter to FALSE to display all URLs with the href tag as a hyperlink.

Configuration settings to override the whitelisting of HTML tags in classic Mid Tier

These CCS parameters enable you to override whitelisting of HTML tags in Mid Tier.

Setting

Description

advanced.rtf.pv.whitelist.html.tags

Add this setting to specify HTML tags that need to be whitelisted.
Example value to allow iframe:
iframe(attrib=width,height,src,frameborder,allowfullscreen)


Use the asterisk (*) to allow all HTML tags. Add a space to not allow any HTML tag.

arsystem.rtf_allow_iframe

Add this setting to show embedded videos in RTF fields.


Whitelisting settings in BMC Helix Innovation Studio

For details on how to add HTML tags to the whitelist, see Innovation Studio: Configuring email profiles and templates. The CCS settings take precedence over these settings.

If you want to change whitelisting settings, in BMC Helix Innovation Studio, in the Administration tab, you can search for Email whitelist and perform the following tasks. Any changes made in BMC Helix Innovation Studio requires a Sync Cache in Mid Tier to reflect in your environment.

  • Check whether out-of-the-box whitelisted tags include the HTML tags you want to use.
  • In Override /Additional HTML Tags , Attributes and Protocols, you can add new tags or update existing ones.
    For example, to allow iframe and div tags, add the following syntax:
    iframe(attrib=width,height,src,frameborder,allowfullscreen), div

If any HTML content contains tags which are not in the whitelist, only the tags are removed and the content is displayed as plain text. 

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*