Solutions
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.