After upgrading to TIBCO Spotfire 7.14 or higher, previously saved working analysis URLs may fail to open if it contains the special characters " < > [ \ ] ^ `{ | } in its path

After upgrading to TIBCO Spotfire 7.14 or higher, previously saved working analysis URLs may fail to open if it contains the special characters " < > [ \ ] ^ `{ | } in its path

book

Article ID: KB0078795

calendar_today

Updated On:

Products Versions
Spotfire Server 7.14 and higher

Description

After upgrading from earlier Spotfire versions to 7.14 or higher, a previously saved working analysis URL may fail to open if it contains special characters like " < > [ \ ] ^ `{ | } in its path.

For example, if you are using Spotfire version 7.13 or lower and your Spotfire library has a folder with square brackets like "[Public]/abc/xyz/" resulting in a bookmarked URL like https://spotfire.com/spotfire/wp/analysis?file=/[Public]/abc/xyz/analysis then the URL will fail to open in the browser after upgrading to 7.14 or higher.

Issue/Introduction

After upgrading to TIBCO Spotfire 7.14 or higher, previously saved working analysis URLs may fail to open if it contains the special characters " < > [ \ ] ^ `{ | } in its path

Resolution

This is due to a change in Tomcat, restricting the following characters in URL path and URL filters: " < > [ \ ] ^ `{ | }. Once you upgrade to Spotfire versions 7.14 or higher, those special characters must be encoded. The TIBCO Spotfire Server encodes the brackets automatically, but any previously saved bookmark URLs like:
  • https://spotfire.com/spotfire/wp/analysis?file=/[Public]/abc/xyz/analysis 
Would need to be changed to:
  • https://spotfire.com/spotfire/wp/analysis?file=/%BPublic%5D/abc/xyz/analysis.
Besides manually updating any bookmarked URLs, you can also systematically resolve this with the following steps:
  1. Edit the file <Tibco Spotfire Server installation directory>\tomcat\conf\server.xml
  2. In the HTTP connector section corresponding to TSS used port (like <Connector port="80"), add the configuration parameter:
    relaxedQueryChars="<special characters>"
    Example:
    relaxedQueryChars="[]"
  3. After editing, it should look like (for example):
    <Connector port="80"
                   maxHttpHeaderSize="65536"
                   connectionTimeout="30000"
                   enableLookups="false"
                   URIEncoding="UTF-8"
                   disableUploadTimeout="true"
                   server="TIBCO Spotfire Server"
                   compression="on"
                   compressableMimeType="text/html,text/xml,text/plain,text/css,application/json,application/javascript,image/svg+xml,application/xml"
                   acceptorThreadCount="2"
                   keepAliveTimeout="30000"
                   maxKeepAliveRequests="-1"
                   maxThreads="2000" 
                   relaxedQueryChars="<special characters>"/>
    Or:
    <Connector port="80"
                   maxHttpHeaderSize="65536"
                   connectionTimeout="30000"
                   enableLookups="false"
                   URIEncoding="UTF-8"
                   disableUploadTimeout="true"
                   server="TIBCO Spotfire Server"
                   compression="on"
                   compressableMimeType="text/html,text/xml,text/plain,text/css,application/json,application/javascript,image/svg+xml,application/xml"
                   acceptorThreadCount="2"
                   keepAliveTimeout="30000"
                   maxKeepAliveRequests="-1"
                   maxThreads="2000" 
                   relaxedQueryChars="[]"/>
  4.  Save the server.xml file and restart the TIBCO Spotfire Server.

Additional Information

External: The HTTP Connector > relaxedQueryChars Doc: Server.xml file