/ Release Notes Version 3.2

Release Notes Version 3.2

Release 3.2

Release Date: February 2016

The ThoughtSpot 3.2 release includes features focused around APIs to enable using ThoughtSpot in a Web portal or application, administrative visibility into the state of the cluster, and user experience improvements.

New in Release 3.2

Replay Search

Ever wonder how a particular chart was created? Now you can instantly generate a step-by-step replay showing the creation of a chart or table. The replay shows how to create the chart or table you are viewing. Use it to teach yourself, or take a screencam of it and create your own ThoughtSpot training for your team.

When viewing a chart or table, select the Replay search icon.

Figure 1: The Replay search Icon

Then, select Start Replay to view the video. The replay will start automatically. You can pause and resume it by clicking on it.

Figure 2: Start Replay

If you are an Administrator and you are using a Firefox browser, you can also choose Record Replay. This requires some configuration of the Firefox browser. You can find the configuration procedure in the ThoughtSpot Administrator Guide.

Hyperlinked Data Values

When a data source contains URLs with top level domains (like .com, .net, .org, etc.), those are now displayed as hyperlinks that you can click to go to the website in a new browser tab. The hyperlink appears whenever a URL is detected. Email addresses are also linked using a “mailto:” link, so that your default email application opens with the address in the To: line when you click it.

Figure 3: Hyperlinked Data Values

Copy Link

In pinboards, there is a new Copy Link icon in the upper right hand side of charts and tables that lets you copy the link to access the visualization directly. You can copy and paste this link to include in a presentation or spreadsheet, or email or Slack it to other people in your company. Note that when clicking the link, the person must be authenticated to ThoughtSpot to see the visualization (e.g. by logging in or LDAP).

Figure 4: The Copy Link Icon

You can also use this link for embedding the chart or table in another Web page, Web portal, or application when using the ThoughtSpot JavaScript API with Embedding or the REST API. For details, read the ThoughtSpot Application Integration Guide.

Dictionary Synonyms

A dictionary of common word synonyms is now bundled with ThoughtSpot. The dictionary contains synonyms for common terms that occur in data. For example, if a user types in “gross”, and that word is not found, ThoughtSpot will consider it a synonym for “revenue”. We use the WordNet library of terms, which takes word proximity into account, and weights words by similarity to the target term.

This frees you from having to know the exact term or column name used in a data source. You can still find the answer in many cases, if you type a word with the same meaning as a different word that occurs in the data.

Number Formatting

You can now specify the format pattern for displaying columns containing numeric data. To do this, go to Data Management and click on Columns, or use the modeling file. Find the column Format Pattern for the data source column you want to configure, and set the format pattern using Java Decimal Notation.

The default values are:

#,### for integer data types (INT32, INT64)

#,###.00 for decimal data types (DOUBLE and FLOAT).

Here are some examples showing how to set different numeric format patterns:

Stored Value

Format Pattern

Display Value

12345.6789

#,##0.##

12,345.68

12345.6789

#,##0.###

12,345.679

12345.6789

#,##0.00000

12,345.67890

12345.6789

#,##0

12,345

12345.6789

#,##0.00

12,345.68

12345

#,##0.##

12,345

12345

#,##0.00

12,345.00

User and Group Management

The user and group management workflows have been improved with so that you can more easily manage large numbers of users and groups.

When you view a user, you can see how many groups the user belongs to and their names.

Figure 5: User Management

When you view a group, you can see how many users it contains, and who they are. You can add and delete users or change the privileges for the group.

Figure 6: Group Management

Dependency Checking

You can now see all dependencies for any data source (worksheet or table) by going to the Data Management screen, clicking a data source, and selecting Dependents. This lists the names of the dependent objects (worksheets, answers, and pinboards), and the columns they use from that source. You can use this information to determine the impact of changing the structure of the data source or to see how widely used it is. Click on a dependent object to modify or delete it.

Figure 7: Data Source Dependencies

If you attempt to delete a data source with dependent objects, the operation will be blocked. You will see a list of dependent objects with links. Click on the link for an object to modify or delete it. When all its dependencies are removed, you will be able to delete the data source.

Figure 8: Warning message when trying to delete an object with dependencies.

Support for Web Portals, Applications, and Pages

To enable using data and visualizations from ThoughtSpot within Web portals, applications, and pages, there are several new features in this release:

JavaScript API

Embedding

REST API

Runtime Filters

These features work together to enable many different uses of ThoughtSpot within other applications. For example, you can use the JavaScript API to do SAML authentication, the REST API to get values to populate a picklist, and then send filter values based on what is selected to ThoughtSpot. When the filtered visualization is returned, you could then display it in an iframe on your own Web portal using Embedding.

All of these are explained in detail in the new ThoughtSpot Application Integration Guide.

JavaScript API

Use the ThoughtSpot JavaScript API to embed data or visualizations from ThoughtSpot in your own Web portal, application, or page.

The ThoughtSpot JavaScript API (JS API) allows you to use your ThoughtSpot instance within your own Web application. The JS API has methods that allow you to:

Authenticate to ThoughtSpot.

Embed visualizations from ThoughtSpot in your Web page using iframes.

Use the ThoughtSpot REST API to get data from ThoughtSpot and use it in your Web page.

The JS API works in the following browsers:

Browser

Versions

Internet Explorer

10 or later

Firefox

38 or later

Google Chrome

47 or later

Safari

9 or later

Embedding for Pinboards and Visualizations

Embedding allows you to display a pinboard, chart, or table from ThoughtSpot on your own Web page, Web portal, or application. When using Embedding, authentication is achieved through SAML.

After authentication, a URL is provided to call the desired visualization and populate it into an iframe. Only the visualization is displayed, without the ThoughtSpot navigation or controls. The visualization is rendered within an iframe on your Web page, portal, or application.

Figure 9: Sample Portal Showing Embedded Chart

REST API for Getting Data

The purpose of the REST API is to get data out of ThoughtSpot so you can use it in a Web page, Web portal, or application. When using the REST API, authentication is achieved through SAML. After authentication, use the POST method to call a URL for the desired visualization or pinboard. A JSON (JavaScript Object Notation) representation of the data will be returned.

Runtime Filters

Runtime filters allow you to filter an answer or pinboard through parameters you pass in the URL to filter the data that is returned. You can use them with the data API or with embedding of answers or pinboards.

Runtime Filters provide ability to filter data at the time of retrieval using Embedding or the REST API. This is done by providing filter information through the URL query parameters.

Quick Schema Import

You can now import a schema, even if you do not have access to the Linux shell on the ThoughtSpot Appliance. To do this, first create the TQL script that generates the data schema. Then go to the Data page and click + New and Import schema. For information on creating a schema and a list of supported TQL commands, see the ThoughtSpot Administrator Guide.

Figure 10: Import a Schema

Drag and drop your TQL script into the window, or browse for it in the file system.

Figure 11: Import Your TQL Script

You can view and edit the script, and when you’re ready to run it, click Execute.

Figure 12: Edit Your TQL Script in the Browser

Control Center

There is a new administrative Control Center, for easy monitoring of usage and cluster health, including alerts. You can view the Control Center by clicking on the Administration icon and then clicking Health Management.

Overview

Data

This section shows all the stored tables with details on the last update time, time taken for auto-indexing, number of rows, etc.

Figure 15: Partial View of the Control Center: Data

Cluster Manager

This section show detailed information about a cluster including latency over time, snapshot status, installed release, node functions, and logs.

Figure 16: Control Center: Cluster Manager

Alerts and Events

This section shows notifications, alerts, and an audit trail of cluster configuration changes.

Figure 17: Partial View of the Control Center: Alerts and Events

Schema Flexibility

After loading data into ThoughtSpot, and working with it for some period of time, you may find yourself wishing you’d built the schema differently. Some new commands in TQL now enable you to make the schema changes you want without losing any of the objects that depend on the underlying data (worksheets, pinboards, tables, and charts).

Primary Key

Primary key changes to a table no longer require a TRUNCATE table and data reload. However, changing the primary key could result in data deletion. This is because of the upsert behavior which is applied when multiple rows have the same primary key. This is very important to understand ahead of time, if you are considering changing to a primary key for which values are not unique.

Relationships

1. You can now name foreign keys and generic relationships. Use these names to reference the relationship when dropping it:

Sharding

If you find that you need to re-shard a table to change the number of shards or change a replicated table to a distributed (sharded) table, you can do this without losing any objects that were build on top of the table. This operation requires truncating the table, altering it, and re-loading the data.

NAS (Network Attached Storage) Mounter

You can now mount an external NFS or CIFS storage device at a given mount point on all nodes with a tscli command. The new tscli commands to support this are:

tscli nas mount-nfs

tscli nas mount-cifs

tscli nas unmount

Download Incident Logs

If the system has trouble responding, you’ll see a red bar with a message at the top of the screen in the Web browser. You can click on the message for more details and download a log bundle related to the incident that caused the problem. There is a link to email your administrator the file for troubleshooting.

Audit Logs for Cluster Events

An audit log of cluster events became available starting in release 3.1.3. Now this audit log also includes database events. You can also access information on cluster updates, configurations, data loading and metadata events. Use the tscli events list command to display this audit information:

--include specifies the type of events to include, and can be all, config, or notification.

--detail returns the events in a detail format rather than a tabular summary, which is the default.

--attributes specifies attributes to match as key=value pairs. Separate multiple attributes with |. Events that match all specified key/value pairs will be returned. Put single quotes around the value(s).

--summary_contains <'string1'| 'string2' ...> specifies a string to check for in the event summary. Enclose strings in single quotes, and separate multiple strings with |. Events that match all specified strings will be returned.

--detail_contains <'string1'| 'string2' ...> specifies a string to check for in the detail. Enclose strings in single quotes, and separate multiple strings with |. Events that match all specified strings will be returned.

And a time window made up of either:

--since is a time in the past for where the event audit begins, ending at the present time. Specify a human readable duration string, e.g. 4h (4 hours), 30m (30 minutes), 1d (1 day).

Or both:

--from is a timestamp for where to begin the event audit. It must be of the form: yyyymmdd-HH:MM.

--to is a timestamp for where to end the event audit. It must be of the form: yyyymmdd-HH:MM.

Other UX Improvements

Auto-Disambiguation in Search

When there are more than one possible meaning for a search term, you can provide disambiguation by selecting from a list of choices. Now your choice is sticky. That means you won’t have to select it again, in the scope of the current search.

Create Bulk Filters

You can now enter a list of filters into the filter box, rather than selecting all of the filters individually from a list. This is useful in scenarios where a you want to select a large number of filter values from a very large list, particularly if a particular filter selection is made repeatedly.

You can select multiple cells in a table and copy them to the clipboard.

Figure 18: Copy Cells to the Clipboard

Then select Add values in bulk.

Figure 19: Add Values in Bulk

Paste the cells you copied into the filter box.

Figure 20: Paste Bulk Filter Values

You can also type the values in the box, separated by commas, semicolons, new line breaks, or tabs.

Keyword Spell Check

In addition to column names and values, spell check now works on keywords.

Changes in Release 3.2

New ODBC/JDBC Drivers

This release includes new ODBC/JDBC drivers with better performance. These are not compatible with older versions of ThoughtSpot. When upgrading to this release, you must also update your ODBC/JDBC drivers by downloading and installing the new drivers from the Help Center.

When configuring the new drivers, you must supply the IP addresses of all nodes in the ThoughtSpot cluster.

Documentation Changes

There are new books available in the ThoughtSpot documentation library:

Error Code Guide Information on ThoughtSpot error codes, what they mean, and how to resolve them.

Information about these topics has been removed from the ThoughtSpot Administrator Guide and moved to the appropriate new guide.

Fixed in Release 3.2.2

FIXED: Execute Permission for tsload

ISSUE ID: SCAL-13441

Description: The ThoughtSpot Loader (tsload) did not have the execute permission set, so you had to modify the file permissions to enable it to run. This has been fixed.

FIXED: Could Not View a Pinboard Because of Permissions

ISSUE ID: SCAL-13474

Description: When a pinboard contained visualizations using aggregate worksheets with formulas, a user without permissions on the underlying tables could not view the data in the pinboard. This has been fixed.

FIXED: No Data Message Shown when Filter Applied

ISSUE ID: SCAL-13220

Description: When a formula with date range filters was added to a search, no data was shown with the message “no data to display..." This has been fixed.

Description: When specifying the server to connect to with ODBC or JDBC, the instructions said to specify the IP address of the master node. You should actually use the IP addresses for each node in the cluster, to provide high availability. This change began in release 3.2. The ODBC and JDBC configuraiton procedures have been updated in the ThoughtSpot Administrator Guide.

Fixed in Release 3.2.1

FIXED: Help Center Returning Wrong Version

ISSUE ID: SCAL-12958

Description: The Help Center sometimes displayed an older version of online help.

FIXED: Ask a Question After Import Data Fixed

ISSUE ID: SCAL-12746

Description: After importing data through the web browser, you could click the “Ask a question” button. Clicking the button took you to a new blank search page, but did not automatically select the data you just imported. Now this button takes you to the search bar with the new imported data selected as the data source, so you can search it right away.

FIXED: Multiple Grouping Formulas Not Working

ISSUE ID: SCAL-12991

Description: Grouping formulas were not working when a single answer contained multiple grouping formulas.

Fixed in Release 3.2

FIXED: Block Deletion of Tables with Dependent Objects

ISSUE ID: SCAL-11781

Description: In the past, you could delete a table, even if other objects (answers, pinboards, worksheets) were dependent upon it. This is now disallowed, because it left the dependent objects in an inconsistent state.

FIXED: Allow Changing the Name of Relationships

ISSUE ID: SCAL-11765

Description: In the past, relationships used only the system-generated names. Now you can name a relationship, which makes it easier for people to understand what it is and its purpose.

Known Issues

After a Snapshot Restore, tscli cluster status Hangs

ISSUE ID: SCAL-12466

Description: After restoring from a snapshot and issuing tscli cluster status, no status is returned. This does not mean that the snapshot restore has failed. Wait for ten minutes and issue the command again to check the cluster status.

Edits to pinboard charts don't show until screen refresh

ISSUE ID: SCAL-10560

Description: When making a change to a chart from within a pinboard, you’ll need to refresh the browser window in order to see the change reflected in the pinboard.

Supported Upgrade Paths

If you are running a release that begins with one of the following ThoughtSpot version numbers, you can upgrade to this release directly:

3.1

3.2

If you are running a different version, you need to do a multiple pass upgrade. First upgrade to one of the above versions, and then to this version.