Solutions

Email parser - Adjusting the Matching Threshold for Fields and Values in E-mail Submit and E-mail Responses



ID:    S141931
Published:    29 November 2016
Updated:    13 September 2018

Product(s)

  • SBM
 

Description

In SBM 11.2, users can send field/value pairings in the message body for e-mail submit or with an e-mail response and SBM will parse each row in the e-mail.  For example:
Title: I cannot log in
Owner: Bill
Severity: 1
If a field name or value does not have an exact match in SBM, the system uses the closest field and value it can find.

The threshold that determines how many characters can differ for each field and field value is controlled via a properties file that is located on the Notification Server machine.

Resolution

The properties file is located here:

C:\Program Files\Serena\SBM\Common\Tomcat 7.0\server\default\webapps\notificationsrv\WEB-INF\classes\fuzzysearch.properties

The default values in this file are:

fuzzysearch.levenstein.threshold.field=3
fuzzysearch.levenstein.threshold.user.displayname=4
fuzzysearch.levenstein.threshold.user.loginid=4
fuzzysearch.levenstein.threshold.user.email=4
fuzzysearch.levenstein.threshold.selection=4
fuzzysearch.levenstein.threshold.binarytrinary=3
fuzzysearch.levenstein.threshold.binaryalias=1
fuzzysearch.levenstein.alias.binary=yes,true,checked,positive

Note the following:

  • threshold.field is used for field names from the e-mail body like "Title" (if this is set to -1 then the whole functionality is turned off (see note below).
  • threshold.user.displayname is used for a user's display name like "Administrator"
  • threshold.user.loginid is used for a user's login ID like "admin"
  • threshold.user.email is the user's e-mail address
  • threshold.selection is used for selection fields like "Severity"
  • threshold.binarytrinary is used for Binary/Trinary fields
  • threshold.binaryalias is used for a Binary field check box. SBM tries to match the fuzzysearch.levenstein.alias.binary to the user's input. Otherwise, the check box is unchecked.

For example, you can decrease the default user.displayname threshold from “4” to “1” to impose tighter restrictions on user names that are included in e-mails.  In other words, if the value is set to “1”, the user name in the e-mail can only differ from the actual user field value in SBM by 1 character. 
You might loosen this restriction for field names to give users greater flexibility when specifying fields in an e-mail.  For example, if the SBM field name is “Customer Name” you could change the threshold to “5” to allow a user to send just “Customer” as the field name and have SBM still recognize it.
To prevent ambiguity when SBM attempts to match values, specify 0 to ensure that an exact match is found.

After changing these values as needed, you must restart SBM Tomcat.

Note that field mappings that are configured for the e-mail submit mailbox or the e-mail response take precedence over the mappings that are defined by a user in the message body.

To view invoke more verbose logging that enables you to see what values were mapped from a user's input, add:

log4j.logger.com.serena.sbm.ns.service.itemprocessor=DEBUG

to:

C:\Program Files\Serena\SBM\Common\Tomcat 7.0\server\default\webapps\notificationsrv\WEB-INF\notificationsrv.log4j.properties

 

To turn off the functionality completely:

 

Update C:\Program Files\Micro Focus\SBM\Common\tomcat\server\default\webapps\notificationsrv\WEB-INF\classes\fuzzysearch.properties file and change `fuzzysearch.levenstein.threshold.field` property value to `-1`. (so the updated line will be `fuzzysearch.levenstein.threshold.field=-1`).

This change requires  a Tomcat restart. This will disable this functionality for the whole NS instance.

Applies To

SBM 11.2

Rate this Solution

Find Answers

Type a question or describe what you are looking for below

My Recent Searches

Welcome kb sso

Additional Assistance

  • Submit a Case Online
  • FAQs