Live Datamart New and Noteworthy

This topic summarizes the history of significant changes in TIBCO® Live Datamart and TIBCO LiveView Desktop™ as of release 2.2.8.

For installation and compatibility information for the current release, see the Installation Guide.

New in Live Datamart 2.2.8

This section lists the new and noteworthy features of TIBCO® Live Datamart 2.2.8 and its component products.

See Fixed in LiveView 2.2.8 for a list of issues resolved in this release.

LiveView New Features

This section is not applicable to Live Datamart 2.2.8.

Changes in Functionality

This section is not applicable to Live Datamart 2.2.8.

Deprecated Features

This release includes the following deprecations.

Two LiveView Aggregate Functions Deprecated

The following LiveView aggregate functions that can have unbounded memory requirements are now deprecated:

percentile (T column, double pct)
count_distinct (expr)

Note that other LiveView aggregate functions such as lastval, min, unique, and so on use a type of caching to maintain most meaningful state; if the cache becomes exhausted a cache refresh is executed.

Migration and Compatibility

This section is not applicable to Live Datamart 2.2.8.

New in Live Datamart 2.2.7

This section lists the new and noteworthy features of TIBCO® Live Datamart 2.2.7 and its component products.

See Fixed in LiveView 2.2.7 for a list of issues resolved in this release.

LiveView New Features

Auto-increment Option Now Added to LiveView Table Primary Key Field

LiveView tables can now identify a long data type, Primary key field as an auto-increment field. The field remains like any other, excepting when rows are published to the table, the auto-increment field in the published row is ignored and an incrementing value substituted.

This effectively means the table will always add a new row on publish; updates to existing rows are not possible. Since Primary keys can be multiple fields, you can use an autoincr field in combination with a timestamp field and guarantee that every arriving tuple is added as a new row, even if the timestamps happen to be the same for multiple rows.

You can still delete rows through the publish path; in the delete case the field defined as auto-increment is not ignored and must be set to a matching value in the table.

In this release, enable the auto-increment feature by editing your data table's lvconf file in XML source mode to add the autoincr attribute to a primary key. For example:

<primary-key>
  <field ref="SequenceNumber" autoincr="true"/>
</primary-key>

Support for this feature in Studio's forms-based LiveView Configuration File Editor is expected in an upcoming release.

Changes in Functionality

LiveView .NET Client API Updated

The .NET Client API was updated to include all current LiveView capabilities. For more information see .NET Client API documentation.

Deprecated Features

This section is not applicable to Live Datamart 2.2.7.

Migration and Compatibility

This section is not applicable to Live Datamart 2.2.7.

New in Live Datamart 2.2.6

This section lists the new and noteworthy features of TIBCO® Live Datamart 2.2.6 and its component products.

See Fixed in LiveView 2.2.6 for a list of issues resolved in this release.

LiveView New Features

TLS Connection Failure Messages Improved

The cause of connection failed errors is now included in the thrown exception.

Heartbeat Failure Exception now Thrown in .NET Clients

The .NET client now closes the connection on unresponsive servers by throwing a heartbeat failure exception.

Changes in Functionality

This section is not applicable to Live Datamart 2.2.6.

Deprecated Features

This section is not applicable to Live Datamart 2.2.6.

Migration and Compatibility

This section is not applicable to Live Datamart 2.2.6.

New in Live Datamart 2.2.5

This section lists the new and noteworthy features of TIBCO® Live Datamart 2.2.5 and its component products.

See Fixed in LiveView 2.2.5 for a list of issues resolved in this release.

LiveView New Features

LiveView System Table Projection Support Enhanced

All LiveView system tables now support projections with simple expressions, including aliases.

LiveView Table Capability Added

LiveView adds the ability to determine whether a table supports group-by expressions by checking the GROUP_BY_EXPRESSIONS table capability. For more information on this table capability, refer to your LiveView Client API documentation.

Changes in Functionality

This release does not include any changes to functionality.

Deprecated Features

This release does not include any deprecations.

Migration and Compatibility

This release includes the following migration and compatibility notes.

Spring Framework Version Upgraded

To avoid potential, known third-party Spring Framework vulnerabilities, Live Datamart's shipped Spring version was updated to 4.3.17.

.NET Client Advisory

Live Datamart 2.2.5 addresses an issue where the .NET client API could sometimes incorrectly report a network disconnection to the client. This was fixed such that all disconnections now cause a QueryExceptionEvent. Expect to see additional QueryExceptionEvents when using the .NET API client if you do not close queries before you close the connection.

lv-client Command Line Quote-Escape Parsing Improved

Double-quoting expressions is no longer necessary in most expressions, and no change is required when running existing queries. However, this change can affect existing queries for WHERE expressions containing killpublisher, killquery, killsession, and addalertrule commands.

Previously, some command line expressions needed to be double-quoted. This is no longer necessary.

New in Live Datamart 2.2.4

This section lists the new and noteworthy features of TIBCO® Live Datamart 2.2.4 and its component products.

See Fixed in LiveView 2.2.4 for a list of issues resolved in this release.

LiveView New Features

Client Connections Now Support Improved Result Set Consistency

Java and .NET LiveView Client APIs can now optionally identify when a set of continuous aggregate result set calculations are maximally consistent. Specify improved consistency by introducing two new client callbacks that indicate first when a result set is going to change, and second when the result set is guaranteed to not change. This feature helps improve consistency both with a single query, and also between multiple queries to the same table.

The feature is enabled when an optional client capability is set in the client connection configuration. Clients that do not set this option see no change in behavior, while setting this option enables support for all aggregate queries on that connection to have the new callbacks.

LiveQL Enhanced to Support SQL-standard HAVING Clauses

The LiveView Query language was enhanced to support SQL-standard HAVING clauses. See LiveQL Reference for more information.

LiveView JDBC Table Provider Now Opens One Connection for all Discovered Tables

The LiveView JDBC Table provider would previously open one JDBC connection per table it discovered in the configured database. This was changed in Release 2.2.4 so that if the data source jdbc-share-connection configuration option is true, only one connection is opened for all tables the provider discovers, and all queries go over this one long-lived connection. If jdbc-shared-connection is not set, there are no long-lived JDBC connections and a new JDBC connection is opened and then closed for each new query made.

Alert Rule Field Substitution Can Now Include More Environment Information

You can now add system properties into your alerts via the liveview.alert.sysprop.whitelist, such as the LiveView server version. For whitelist details, see System Properties.

Changes in Functionality

This release does not include any changes to functionality.

Deprecated Features

This release includes the following deprecation.

sendEvent Java TableProvider API deprecated

The sendEvent method is now deprecated in the Java TableProvider API. Instead, use the dispatch method on the listener if your projects contain custom table providers, as issued queries hang in some cases if they continue using sendEvent. Note that if your client is not using the REST API or LiveView tables configured for high availability, your project remains unaffected by this deprecation.

Migration and Compatibility

This release does not include any migration issues.

New in Live Datamart 2.2.3

This section lists the new and noteworthy features of TIBCO® Live Datamart 2.2.3 and its component products.

See Fixed in LiveView 2.2.3 for a list of issues resolved in this release.

LiveView New Features

New Alert Adapter

This release adds the LiveView Alert Configuring Output Adapter that allows you to list, create, modify and remove alerts from LiveView servers. See LiveView Alert Configuring Output Adapter for more information. The LiveView Adapters sample was updated to include an example of this new adapter.

Alert Owners Are Now Set to the User Creating the Alert

If Live Datamart is configured with authentication enabled, the user name associated with an alert is now forced to be the authenticated principal name from the session. If authentication is not enabled, the user name associated with the alert remains whatever the client sets in the user name of the AlertRule before sending it to the server.

Data Source Aggregation Options Enhanced in LiveView Configuration File Editor

Two fields were added to the aggregation option to configure the Data Table lvconf file type:

  • Group By

  • Define Pivot Table

See Aggregation Field for an explanation of field usage.

REST API Enhanced

The REST API for Live Datamart adds alert calls, as well as table permission checking for user interfaces. See LiveView Server REST API for more information.

Changes in Functionality

This release does not include any changes to functionality.

Deprecated Features

This release includes the following deprecations.

Enabling SSL with Client Certificate Authentication Changed

As explained in SSL with Client Certificate Authentication, two security-related properties have changed.

The system property:

<sysproperty name="liveview.require.client.authentication" value="true" />

Replaces

<sysproperty name="liveview.security.auth.requireX509" value="true" />

Also, the liveview.properties file property:

liveview.security.auth.filter=clientCert

Replaces

liveview.security.auth.filter=x509

The old properties are still supported but now deprecated.

Migration and Compatibility

This release does not include any migration issues.

New in Live Datamart 2.2.2

This section lists the new and noteworthy features of TIBCO® Live Datamart 2.2.2 and its component products.

See Fixed in LiveView 2.2.2 for a list of issues resolved in this release.

LiveView New Features

Kerberos Support Added

This release adds support for connecting to LiveView servers in a Kerberos-managed authentication environment. See LiveView Authentication and Authorization for Kerberos for more information.

REST API

This release adds a REST API for Live Datamart in addition to the existing Java, JavaScript, and .NET Client APIs. See LiveView Server REST API for more information.

GROUP-BY Modifiers Supported in LiveQL Statements

LiveQL statements to query Live Datamart servers can now use GROUP-BY modifiers that use a StreamBase expression, instead of just grouping by column names. See LiveQL Syntax Reference for more information.

To support the enhancement, the QueryModel interface was changed. getOrderBy and getDirection are replaced with getOrderDefinition(). A new method, getQueryLanguage was also added.

When using the LVConf Editor, you must use the Source tab to manually add a GROUP BY modifier that uses an expression. When you return to a forms-based view, an error message displays that you can ignore. The Editor is expected to be updated in a future release.

New Python Sample

This release adds a Python sample that demonstrates the LiveView REST API using simple Python scripts.

Changes in Functionality

Impure Functions in LiveQL WHERE Clauses

Impure functions in the WHERE clause of a LiveQL query can deliver unexpected query results. An impure function is one that can return different results when it is called with identical parameters, such as now() and random(10). LiveView now immediately throws an error for queries that use impure functions in the WHERE clause.

Although not recommended, you can disable this behavior by setting the system property liveview.allow.impure.inwhere to true.

Author-time Aggregation Sample Updated

The LiveView Author-time Aggregate sample now includes an example of the GROUP BY feature.

Deprecated Features

This release does not include any deprecations.

Migration and Compatibility

This release does not include any migration issues.

New in Live Datamart 2.2.1

This section lists the new and noteworthy features of TIBCO® Live Datamart 2.2.1 and its component products.

See Fixed in LiveView 2.2.1 for a list of issues resolved in this release.

LiveView New Features and Updates

LiveView Publish Output Adapter Interface Change

The LiveView Publisher interface changed in release 2.2.0 as described in LiveView New Features and Updates.

LiveView System Table Field Name Changes

Two field names changed in the LiveView system table, LVTableColumns. The Table field is now TableName; Name is now ColumnName. See LVTableColumns.

One field name changed for the LiveView system table, LVTables: Group is now TableGroup. See LVTables.

LiveView Permission Added

This release adds sbinfo to the list of settable permissions for LiveView server authentications. See LiveView Permissions.

LiveView Java Client API Updated

The QueryConfig interface now has setters for PIVOT query components to better support the builder pattern when configuring a query.

The getConfig() method was introduced in the Query interface that returns the QueryConfig object containing parsed information, including table, predicate, and the query string.

New in Live Datamart 2.2.0

This section lists the new and noteworthy features of TIBCO® Live Datamart 2.2.0 and its component products.

See Fixed in LiveView 2.2.0 for a list of issues resolved in this release.

LiveView New Features and Updates

Use TIBCO LiveView Desktop 2.3.0 with Live Datamart 2.2.0

TIBCO LiveView™ Desktop's release numbering is skipping ahead to release 2.3.0. Please use TIBCO LiveView Desktop 2.3.0 as a client for Live Datamart 2.2.0 servers. You can download LiveView Desktop 2.3.0 from edelivery.tibco.com.

Author-Time High Availability Tables Supported

Live Datamart now supports configuring Author-Time high-availability tables that are backed by multiple Live Datamart instances and that automatically reissue queries from fallen servers. This is configured by adding multiple remote URIs to the existing remote table feature. See Multiple Remote Data Layer Back Ends for more information.

Pivot Query Support

Live Datamart now supports pivot queries to create pivot tables. See Pivot Queries to learn more. To illustrate this feature, the Hello LiveView sample was updated to include a Pivot Queries perspective, from which you can run pivot queries on the ItemSales table.

Attribute Added to External Connection lvconf Files

An Ignore attribute was included for the external connection lvconf type. The optional attribute is Boolean. When set to true, all tables from the external connection that match this mapping are ignored and not listed. For more information, see Table Mappings and Filtered Data Aliases.

lv-client Command Option Added

The lv-client -c option with the select command has changed its output format slightly. The final line of output was a summary of the number of rows returned that looked like "Rows = X". This summary line now looks like "# Rows = X", which will allow most CSV readers to simply ignore that line, and avoid generating an error.

Permissions Behavior Change

When authentication is enabled, Live Datamart now implements tighter control over listing tables. Therefore, you must provide list privileges to the table you are going to publish to. For more information about Live Datamart privileges, see LiveView Authentication and Authorization.

LiveView Publish Output Adapter Interface Change

The LiveView Publisher interface was changed in release 2.2.0 such that Publishers from earlier releases must be modified to avoid LiveView Server failing to start. Such failures have entries like the following in the Console view:

date time INFO  LVInfoInit - Loaded embedded publisher 
ItemsSalesPublisher
date time WARN SbAdminOperator - Resume 
com.streambase.sb.containters.ContainerConnectionException: Cannot find 
destination: ItemsSalesPublisher.ServerStateIn in container 
ItemSalesPublisher

Starting with release 2.2.0, a new input stream, ServerStateIn, and an output stream, PublisherStateOut, were added to the LiveView Publisher interface. You must regenerate the Publisher interface for your LiveView project. In addition, in your EventFlow module, at minimum, you must add a Map operator that connects the new input stream to the new output stream, and sets CurrentState to RECOVERY_COMPLETE. Further details on this change are described in Recovering Data to the Server.

Jetty Upgraded

To address a potential HttpParser vulnerability, Jetty Web Server was upgraded to version 9.3.14. See this link for more information regarding the vulnerability.

JQuery Plugin Removed; Atmosphere JavaScript Library Upgraded

As announced in the Live Datamart 2.1.2 New and Noteworthy, the JQuery version of Atmosphere (jquery.atmosphere.js) was deprecated in favor of the pure JavaScript version, atmosphere.js. As of Live Datamart 2.2.0, the JQuery plugin is now removed.

JDBC lvconf Type Deprecated

The JDBC Table lvconf type is deprecated and was removed from the LiveView Configuration File Editor. Instead, use the External Server Connection lvconf file type and select JDBC from the drop-down list of external data source types.

Static Aggregation No Longer Supported

The legacy static aggregation implementation, which was deprecated in Live Datamart 2.0, is now removed. Consequently, the deprecated conflate-data attribute that pertains to static aggregation tables is also removed.

New in Live Datamart 2.1.8

This section lists the new and noteworthy features of TIBCO® Live Datamart 2.1.8 and its component products.

See Fixed in LiveView 2.1.8 for a list of issues resolved in this release.

LiveView New Features and Updates

lv-client Command Option Updated

The lv-client -c option with the select command has changed its output format slightly. The final line of output was a summary of the number of rows returned that looked like "Rows = X". This summary line now looks like "# Rows = X", which allows most CSV readers to simply ignore that line as a comment, and thus avoid generating an error.

New in Live Datamart 2.1.7

This section lists the new and noteworthy features of TIBCO® Live Datamart 2.1.7 and its component products.

See Fixed in LiveView 2.1.7 for a list of issues resolved in this release.

LiveView New Features and Updates

Live Datamart Monitor Web Application Enhanced

The Live Datamart Monitor web application (accessible from http://<sb_host>/lv/monitor) now accepts client-info as a URL query parameter. If the client-info query parameter is provided, that value will be set as the ClientInfo field for all queries initiated by the Monitor web application. For example, if the URL http://<sb_host>/lv/monitor?client-info=SuperUser is used to access the Monitor web application, then all queries initiated by it will have their ClientInfo field set to SuperUser.

Additional External Data Source Types Added

When configuring an lvconf file to connect to an external data source, the lvconf editor now includes JDBC and TIBCO ActiveSpaces as optional data source types. See External Server Connection Tab for more information.

Consequently, using the lvconf editor to configure JDBC source types for LiveView is required. Configuration now uses the jdbc-tables type, which replaces the now-deprecated jdbc-table type. The new type provides additional external connections benefits, such as mappings and filtering.

LiveView Server Security Enhanced

As mentioned in the 2.1.6 New and Noteworthy, client-side X509 TLS/SSL certificates are now supported for authenticating to the LiveView Server. In 2.1.7, the LiveView Authentication and Authorization sample is updated with the parameters required to enable TLS/SSL. The feature is now documented, as described in LiveView Server System Configuration.

LiveView Java Client API Enhanced for Multiple Delete Rules Support

You can now set multiple delete rules in the Java API using the TableConfig interface. The getTableDeleteRules() and setTableDeleteRules() methods were added; the getTableDeleteRule() and setTableDeleteRule() methods are now deprecated.

New LiveView JavaScript Client API Method Added

A new JavaScript API getSbStreams() method was added that provides all input and output streams from a given StreamBase URI.

New LiveView JavaScript Client API Parameter Added

A new parameter was added to the JavaScript API's LiveView.connect function that allows a user to override the ClientInfo field maintained for the session. The new parameter can optionally be passed as a field in the LiveView.connect function's settings object parameter. If not provided, the data in the User-Agent HTTP request header is used.

LiveView JavaScript Sample Updated for Send Tuple Example

The JavaScript sample now includes a Send Tuple example. When run, the sample's JavaScript API allows you to view simulated cell phone sales price and apply a discount to the price.

Live Datamart Monitor Web Application Deprecated

Starting in 2.1.7, the lvmonitor web application (accessible from http://<sb_host>/lv/monitor) is now deprecated. A future release is expected to replace the alert configuration and monitoring capability of lvmonitor with a new LiveView Web-based implementation.

New in Live Datamart 2.1.6

This section lists the new and noteworthy features of TIBCO® Live Datamart 2.1.6 and its component products.

See Fixed in LiveView 2.1.6 for a list of issues resolved in this release.

LiveView New Features and Updates

LiveView Server Security Enhanced

Client-side X509 TLS/SSL certificates are now supported for authenticating to the LiveView Server.

Java API Updated

The ServerUtilityDataProvider interface was added to the API. ServerUtilityDataProvider returns all input and output streams to all containers on the StreamBase server, if the URI explicitly references to a container.

Generated Interface File Enhanced

Generated interface files now have field descriptions for the Live Datamart fields added beyond user fields. The Live Datamart samples' interface files were updated to reflect this.

JDBC Sample Updated

The LiveView JDBC sample was updated to use the new JDBC table provider that was introduced in 2.1.4. The old "jdbc-table" implementation is now deprecated.

LiveView Query Input Adapter Enhanced

The LiveView Query Input adapter can now send queries to arbitrary tables. A new field called TableName has been added to the optional input port to support this. See LiveView Query Input Adapter for more details.

The LiveViewQuery adapter has changed behavior with respect to ad hoc queries. Queries configured the "Initial Queries" tab are not affected. When an ad hoc query is successfully registered with the adapter, it previously would not be re-issued if the remote Live Datamart Server connection was lost. The change in behavior for 2.1.6 is that all non-snapshot queries that are successfully registered (not necessarily successfully run) are re-issued if the Live Datamart Server connection is lost and then re-connected.

Another somewhat related change in behavior is that snapshot only queries are automatically unregistered from the adapter when they complete (successfully or not). It is benign to issue an unregistered command for a non-existing QueryName, so existing applications that issue unregister commands for snapshot queries will continue to work.

Live Datamart Server Startup Enhanced

Live Datamart now warns when the StreamBase Server has no security authentication and Live Datamart does.

New in Live Datamart 2.1.5

This section lists the new and noteworthy features of TIBCO® Live Datamart 2.1.5 and its component products.

See Fixed in LiveView 2.1.5 for a list of issues resolved in this release.

LiveView New Features and Updates

LiveView Publish Adapter Enhanced

The LiveView Publish Output Adapter was updated to allow the table name and table schema to be unknown at design time by adding a new mode named Ad-hoc. When in this mode, the table name is the first field in the input schema and the data to be published is sent as a JSON string in the second input field. For more information, see LiveView Publish Output Adapter

New LiveView Monitor URL Redirect

In Release 2.1.1, the LiveView monitor URL changed from /lv-web/index.html to /lv/monitor/index.html. Release 2.1.5 includes an automatic redirect so if you bookmarked the old link, it still works.

New Author-Time Aggregation Sample

A new Live Datamart sample showcases the power and flexibility of author-time aggregation. For more information, see the sample's README file upon loading the sample into StreamBase Studio.

Kafka Recovery Sample Updated

The Kafka Recovery sample was enhanced to include peer-based recovery, and to allow null message values for the producer and consumer. For more information, see the sample's README file upon loading the sample into StreamBase Studio.

JavaScript API Updated

The JavaScript API was enhanced with the new parseQuery function in LiveView.Connection. This function provides the ability to use the LiveView server's describeQuery function. See the JavaScript API documentation for more information.

Live Datamart Login Time Improved

When authentication is enabled, Live Datamart now caches authentication information for all users. This caching reduces the load on the authentication authority, especially when LiveView Web is used. By default, cached authentication expires in 15 minutes, but all caching parameters are configurable. For more information, see the LiveView Admin Guide.

LV-Server Command Enhanced

The lv-server command was enhanced with a new upgrade argument that allows conversion of the deprecated static aggregation feature to the supported author-time aggregation feature. For more information, see the LiveView Command Reference

LV-Server Command's Compile Argument Renamed

Release 2.1.5 deprecates the lv-server compile command and renames it more appropriately for its intended function to lv-server pre-compile. For more information, see the LiveView Command Reference.

New in Live Datamart 2.1.4

This section lists the new and noteworthy features of TIBCO® Live Datamart 2.1.4 and its component products.

See Fixed in LiveView 2.1.4 for a list of issues resolved in this release.

LiveView New Features and Updates

Java Client API Updated

The Java Client API now includes an option to the startTables() and dropTables() methods to make them synchronous; that is, they wait until the action is complete (or until the maximum time you specify) before returning. Their return value includes full status on all the tables started or dropped. See the Java API documentation for more information.

Additionally, the Dynamic Tables feature that was added in 2.1.3 was extended in 2.1.4 to allow for most settings that can be put on tables short of DataSources and Embedded Publishers. These are all features that were always available in design-time created Tables, and now they are available in tables created dynamically, at runtime. These include:

  • All the table persistence settings

  • Variables and Field Rules

  • Snapshot Concurrency

  • Snapshot Parallelism

  • Case-insensitive string fields

.NET Support for Time-based Alert Rule Firing

The .NET API now includes support for the cron-based (time-based) alert rule firing feature introduced in release 2.1.3. See New in Live Datamart 2.1.3.

LDM Recovery Enhancement

Now in addition to having log file based recovery from service interruption, 2.1.4 introduces a new means for LiveView servers to recover using a recovery peer as a data source. You can now either configure the folder attribute in the persistence element, or the new peer-uri-list attribute. The peer-uri-list is an ordered list of LiveView URIs that are to be used as recovery partners for the table. See the EventFlow Publish Applications page in the LiveView Development Guide for more details.

JDBC Table Provider Enhancements

There is a new Table Provider available, using the Live Datamart Server's external-server-connection feature. A back-end tool analyzes the metadata of your JDBC tables and presents the ones you selected as if they were LiveView tables. However, they only support Snapshot queries, not any form of Continuous queries.

System Table Change

The LVAlertRuleStatus system table now keeps one line for each alert currently in the system, and no longer shows only recently fired alerts that are aged out over time.

New in Live Datamart 2.1.3

This section lists the new and noteworthy features of TIBCO Live Datamart 2.1.3 and its component products.

See Fixed in LiveView 2.1.3 for a list of issues resolved in this release.

LiveView New Features and Updates

Default CORS Support Added

Starting with this release, Live Datamart Server and the LiveView JavaScript API now support Cross-origin resource sharing (CORS) by default. Without CORS support, it was not possible to host applications in your own web containers and connect them to Live Datamart Server to execute queries. Now that Live Datamart supports CORS, connectivity to Live Datamart Server is allowed from any web application. It is no longer necessary to run those web applications in LiveView Server, and no longer necessary to specify any <sysproperty> settings to enable CORS.

New LiveView Create Drop Table Adapter

The set of StreamBase adapters that can connect to and manage features of a running LiveView Server has a new member, the LiveView Create Drop Table Output Adapter. The new adapter was added to the LiveView Adapters Sample.

New Time-based Conditions for Alert Rule Firing

This release adds the ability to fire an alert based only on the passage of a moment in time, without regard to conditions in the stream of tuples through data tables. This feature is much like the UNIX cron command, and is based on the Quartz Job Scheduling library. Using this feature you can, for example, schedule an alert message action, or even a table-trimming action, to fire every day or every hour. Time-based alerts specify a Quartz cron expression such as “0 0 12 ? * WED”, which means "every Wednesday at 12:00:00 PM".

At this release, time-based alerting is supported in two LiveView client environments, the lv-client command, and the Web Manager pages provided by LiveView Server, described below. You can also specify time-based alerts using the Java Client API by specifying the new AlertRule.Type of CronAlert, where the previous alert functionality is now part of the QueryAlert type. The JavaScript Client API has analogous new support.

New LiveView Publish Alert Action

The new LiveView Publish alert action can send an alert-generated tuple to LiveView tables other than the LVAlerts table, including remote-hosted LiveView tables. At this release, the new alert can only be specified with the lv-client command, and when using the Java and .NET Client APIs.

In the lv-client command, the addalertaction command was augmented with the new --lvpublish option. See the lv-client reference page for further details.

Improved Table Trimming Functionality

Fine-grained table trimming can now be configured in a data table's lvconf file with the new element <table-delete-rule>PREDICATE</table-delete-rule>. This element can only be specified using the Source tab of the forms-based LVConf editor, or using the text-based LVConf Editor.

An optional rule specifying a predicate is evaluated against this table. The predicate is used to register a query against the table where the rows added to the result set are deleted through the publish data path. For this reason, the predicate usually has a time component such as WHEN or FOR. The new element is similar to the existing row-delete-rule, but operates on the table as a whole. For example:

<table-delete-rule>OrdStatus=='GOOD' when ArrivalTime between epoch() 
  and now()-seconds(3)</table-delete-rule>
New lv-client Commands to Prevent New Client Connections

There are situations where it is preferable to prevent new client connection sessions from logging into LiveView Server, such as when an administrator needs to send an alert to users that the server must be taken down. To achieve this, the following lv-client client commands were added to this release:

  • sessionControl --acceptnew  This command starts or restarts the ability of new users to connect to the current server instance. This is the default behavior.

  • sessionControl --stopnew  This command prevents new client connections from connecting to the current server.

Note

Your login name must have the session entitlement to be able to execute these commands, as described in LiveView Permissions.

Web Manager Pages Updates

The URL to access LiveView Server's Web Manager pages was changed in release 2.1.2 to http://localhost:10080/lv/monitor to avoid conflicts with the URL of the LiveView Web client. (When LiveView Web is installed, either for an entire server or per project, it takes over the server's default URL at http://localhost:10080, which is then redirected to http://localhost:10080/lvweb.)

As of release 2.1.3, the Web Manager page Manage Alert Rules was updated to support the use of aggregate predicate expressions when using query-based alerts, and to support the new time-based alert feature announced above. For any running LiveView Server, access the Manage Alert Rules page at http://localhost:10080/lv/monitor/#/manager.

LiveView Desktop, New Color Palette Option

LiveView Desktop's color palette for graphical views includes a new seven-color palette with colors friendlier to those with color blindness. To select this palette in LiveView Desktop, start in a new or existing graphical view (such as the second ItemsInventory view in the Main tab of the default Hello LiveView sample workspace). Select the gear icon to open the Configure Charting dialog. In the Color Configuration section at the bottom, select the color blindness option from the Palette drop-down menu. As before, the Palette selection affects any chart type you configure for the current view.

Advanced Alerting Sample Updated

The Advanced Alerting sample was updated to illustrate the use of the Execute Java alerting action, and the use of the updated ExecJavaAction Java interface provided with this release. Remember that running an alert that uses either the Execute Java or Execute OS Command actions require the setting of LiveView Permissions for the user running such alerts.

Usage Text for lv-cient Updated

The usage text for the lv-client utility was augmented with the new features described above, and cleaned up for better line wrapping.

Documentation Update

The LiveView Project Tutorial page was reworked to use the LiveView Project Viewer and associated table-creating wizards, and to introduce four LiveView clients. The tutorial now illustrates the procedure to create and run a new project in a fraction of the time as the previous tutorial.

Packaging Change: Live Datamart Now includes TERR Developer Edition

Effective with TIBCO StreamBase® 7.6.3 and TIBCO® Live Datamart 2.1.3, both products, when installed on Linux or Windows, now include a copy of TIBCO® Enterprise Runtime for R Developer Edition. See the Licensing Considerations page for details on the license terms under which TERR is included.

Compatibility Concerns for LiveView 2.1.x

LiveView Server 2.1.x is expected to be compatible with all client applications built with the LiveView Client API, versions 1.6.x, 2.0.x, and 2.1.x.

  • This applies to all LiveView clients, including lv-client, TIBCO LiveView™ Desktop, TIBCO LiveView™ Web, and any custom clients you have built with the LiveView Client API.

  • In general, queries made from any version client to any version LiveView Server are expected to return results the same way.

  • Queries that include calculated columns can only be honored by LiveView Server 2.1.x.

  • Clients connecting to a 2.1.x LiveView Server can only take advantage of features supported by the client's underlying Client API. For example, clients built with the 1.6.x and 2.0.x API cannot dynamically add or remove tables, despite that support being in the 2.1.x Server.

  • In the other direction, clients built with the 2.1.x Client API can connect to and query LiveView Servers 1.6.x and 2.0.x, but those clients can only request services appropriate for those older servers.

With restrictions, a services-only server deployed from a 2.1.x installation can interact with full LiveView Servers from 1.6.x, 2.0.x, and 2.1.x. The restriction is that dynamic aggregation queries are only supported on 2.0.x and 2.1.x full servers.

In the other direction, services-only servers deployed from 1.6.x or 2.0.0 through 2.0.4 installations cannot interact with LiveView 2.1.x full servers. However, services-only servers from a 2.0.5 or later installation can interact with a 2.1.x full server.

New in Live Datamart 2.1.2

This section lists the new and noteworthy features of TIBCO Live Datamart 2.1.2 and its component products:

See Fixed in LiveView 2.1.2 for a list of issues resolved in this release.

LiveView New Features and Updates

LiveView Server Updated

LiveView Server now supports queries sent using the POST method as well as the existing GET method. Query requests sent with GET have the query text as part of the URI, but those sent with POST carry the query text in the POST data. If keeping table and column names private is important, then connecting to LiveView Server with a secure connection (HTTPS) will now keep these names secure.

lv-client Command Updates

Several subcommands were added to or updated in the lv-client command:

  • listalertaction is a new command that lists the actions on a specified rule, including the details for each action.

  • deletealertaction is a new command that deletes alert actions.

  • addalertaction was updated to accept the arguments --oscommand (to run arbitrary commands) and --javacommand (to run arbitrary Java code). Note that the ability to run these arguments is disabled by default.

  • addalertaction --sendtuple was updated to accept name:value pairs as arguments, which allows you to specify the fields and values of the tuple to send.

  • starttable and droptable both include a new [--wait waitTime] option to specify a number of seconds to wait for the command to return. While the wait period is counting down, these commands report on the success of the operation.

  • listrules now displays the owner of each alert rule listed.

  • addalertrule now includes an optional --owner argument. Previously, the owner defaulted to lvuser. Now, if no owner is specified, the rule defaults to the operating system current user that invoked the lv-client command. However, usernames specified with --owner are not checked for validity with LiveView Server.

Enhanced Thread Naming

All LiveView threads created both on the server and client are now given descriptive names to aid in diagnosing issues.

Support for Newer Datawatch Designer Workspaces

TIBCO LiveView Desktop 2.1.2 now includes support for workbooks configured with Datawatch Designer 13.5.

.NET API Updates
  • The LiveView .NET Client API now includes facilities to create and manipulate Alerts on the server. See ILiveViewConnection.AlertManager and IAlertManager in the API documentation for details.

  • StreamBase.LiveView.API.QueryConfig now has a new boolean property called IncludeInternalFields (default = false) which, when true, causes Live Datamart-internal fields such as CQSInternalID to be included in tuples returned by the query.

  • Support for adding and removing tables was added, along with related updates to table publishing. See the API documentation for StreamBase.LiveView.API.ITablePublisher.

Java API Updates

The following classes were updated to support Java.io.Closeable:

  • com.streambase.liveview.client.Query

  • com.streambase.liveview.client.TablePublisher

  • com.streambase.liveview.client.LiveViewConnection

  • com.streambase.liveview.client.SnapshotResult

Atmosphere JavaScript Library Updated

The Atmosphere JavaScript framework was upgraded on the server side of LiveView Server to version 2.4.1.4. On the client side, TIBCO recommends upgrading to the latest JavaScript client libraries to accompany this upgrade.

Starting with Live Datamart 2.1.2, we are deprecating the JQuery version of Atmosphere (jquery.atmosphere.js) in favor of the pure JavaScript version, atmosphere.js. References to the JQuery version are still supported, but we strongly recommend locating and replacing all <script> references like the following in your LiveView JavaScript API code:

<script src="http://localhost:10080/lv/api/lib/jquery.atmosphere.min.js"/>

Change such lines to reference the following URI instead:

http://localhost:10080/lv/api/lib/atmosphere.js

In production environments, use the minified version of this library to save bandwidth:

http://localhost:10080/lv/api/lib/atmosphere.min.js
Query Adapter Change

The LiveView Query adapter has a new option, Include input tuple in output, to include the tuple received on its QueryIn input stream with every result set output.

New in Live Datamart 2.1.1

This section lists the new and noteworthy features of TIBCO Live Datamart 2.1.1 and its component products.

See Fixed in LiveView 2.1.1 for a list of issues resolved in this release.

LiveView New Features and Updates

Author-time Aggregation Tables Behavior Change

Starting with release 2.1.1, author-time aggregation tables configured with case-insensitive string primary keys now always result in the case-insensitive string appearing in lowercase. In previous releases, case-insensitive primary key fields did not always appear in lowercase. An additional change is that the case sensitivity of the primary keys of an author-time aggregation table must match the case sensitivity of the corresponding base table.

New Table Name Alias and Predicate Filters Added

Starting with this release, you can define aliases for local or remote data tables, and can assign predicate filters to local or remote tables such that a filtered table alias serves as a read-only view of the data that matches the filter predicate for that table.

For example, for an ItemSales table, you can specify both US and UK views of the ItemSales table and show only the location-specific view to appropriate audiences. Table updates are still made only to the underlying data table, with those changes immediately reflected in all filtered alias tables.

Both table name aliases and filtered table aliases are now illustrated in the updated LiveView Services-Only sample. These features are discussed on a new page of the LiveView Administration Guide.

LiveView Wizards Now in Studio's File Menu

Wizards that add LiveView table processing functionality were added as part of the LiveView Project Viewer added in release 2.1.0. As of 2.1.1, Studio's FileNew menu has entries to initiate all six wizards.

Ability to Exclude Cipher Protocols and Suites

LiveView administrators can now manage the exclusion of SSL protocols and cipher suites by using two new system properties, as discussed in Using SSL with LiveView Server in the LiveView Administration Guide. This feature is important in view of the Chrome browser's new default restrictions on connecting to servers that use the DHE cipher suite or older SSL protocols. Administrators can exclude those suites and protocols from the embedded Jetty server in the LiveView server, which allows default-configured recent Chrome and Firefox browser versions to connect to LiveView resources.

System Table Updates

The LVSessionQueries system table gained new fields in release 2.1.0 to accommodate new features. As of release 2.1.1, the new Predicate column was renamed the PredicateExpression column to avoid rare cases of reserved word conflicts.

New Apache Kafka Recovery Sample

This release includes a new sample that illustrates using an Apache Kafka message broker as a fault-tolerant platform for LiveView servers. This sample is similar to the samples that illustrate fault tolerance using the TIBCO EMS and TIBCO FTL platforms that were included with release 2.1.0, and which were updated and simplified for release 2.1.1.

Publisher Project Wizard Supports Kafka Message Bus

The LiveView Publisher wizard now offers to configure a publisher application that uses an Apache Kafka message bus, in addition to the TIBCO EMS, TIBCO FTL, and StreamBase Feed Simulation options already offered. The wizard also offers a support recovery option that uses the new Apache Kafka Recovery sample as a basis for a fault-tolerant message bus.

lv-client clear Command Added

The lv-client clear command was added to accept a comma-separated list of tables from which to clear all or specified row data.

LiveView .NET Client API Updates

The LiveView .NET Client API's LiveViewException class and its subclasses now have a Code property that allows access to each exception's error code.

New in Live Datamart 2.1.0

This section lists the new and noteworthy features of TIBCO Live Datamart 2.1.0 and its component products in the following subsections:

Packaging Changes
LiveView New Features
LiveView Sample and Documentation Updates

See Fixed in LiveView 2.1 for a list of issues resolved in this release.

Packaging Changes

Two members of the Live Datamart family have new product names starting with release 2.1.0:

  • TIBCO StreamBase® LiveView Desktop is now TIBCO LiveView Desktop™

  • TIBCO StreamBase® LiveView Desktop Workspace Manager is now TIBCO LiveView Desktop™ Workspace Manager

LiveView New Features

New LiveView Project Viewer

The new LiveView Project Viewer presents a visual overview of a LiveView project, clarifying the relationships between the various components and providing easy access to the configuration information underlying each piece. The Viewer helps you navigate through and understand the components that make up a LiveView project.

Since the Project Viewer is a StreamBase Studio view, the new features are described in the StreamBase documentation at LiveView Project Viewer.

New LiveView Helper Wizards

Accompanying the new Project Viewer is a set of six new wizards that walk you through the steps to add components to a LiveView project. The new wizards help you add a new Data Table, Data Source, Publisher, Transform, Aggregation, and Preprocessor. The wizards are described on the same LiveView Project Viewer page.

New Calculated Columns Support

Starting with release 2.1.0, Live Datamart supports the use of StreamBase expression language expressions as part of the selection criteria for any column. Such calculated columns can be the result of simple arithmetic expressions, or formatting expressions, or complex combinations of expressions.

  • LiveView Desktop supports calculated column expressions in the Select portion of queries, and helps you validate your expressions while writing them.

  • The Hello LiveView sample has a new Calculated Column tab in its default workspace that shows two grid views that illustrate this feature. The first grid shows three columns whose definitions are:

    transactionTime, 
    format("{0}_{1}",transactionID, Item) as afterTransactionForProduct, 
    quantityRemaining*lastSoldPrice as remainingValueOnHand

    The second grid view shows five columns defined as:

    format_time(transactionTime, "yyyy-mm-dd HH:mm:ss ") as currentTime, 
    Item as item, 
    quantityRemaining<50 as quantityBelowThreshold, 
    lastSoldPrice as price,
    quantityRemaining*lastSoldPrice as inventoryOnHandValue
  • You can use almost any function in the expression language, except for certain blacklisted functions that would throw an exception or cause system instability if used in a LiveView Server context. The list of blacklisted functions is defined in a system property liveview.calccolumn.blacklist whose default value is getNodeName,getTableSize,getParallelRoot,getPath, getContainer,calljava,sleep. If your site maintains a number of custom functions that should not be called within LiveView, you can set this property, appending your function names to the default list.

  • LiveView administrators using the LiveView Authentication features can restrict the use of calculated columns by username using the table:ccquery:table-name permission string. See LiveView Permissions.

New Support for Dynamically Dropping and Restarting Data Tables

This release supports adding a new Data Table to a project while the Server is running, dropping a running Data Table (which deletes all table data and removes it from the system), and starting or restarting a dropped Data Table.

You can perform these actions with the following new lv-client commands: createtable, droptable, starttable. See the lv-client reference page for details. You can also perform these actions from various context menu items in the new LiveView Project Viewer. Finally, you can perform these actions using the Java Client API in your custom client applications. See the LiveView Client API JavaDoc and look for the TableManager interface in com.streambase.liveview.client.

Developers using these features must monitor table state changes reported in certain LiveView system tables. This is discussed in a new page, Creating, Starting, and Dropping Data Tables in the LiveView Development Guide.

New Support for Terminating Queries, Sessions, and Publishers

This release allows LiveView administrators to terminate any queries, table publishers, or entire client sessions. Queries, publishers, or entire sessions can be terminated by using their unique IDs or with predicate based filters that can terminate from zero to many queries, publishers, or sessions, depending on the filter match.

The rights to terminate these processes can be controlled to the username level if you are using LiveView Authentication features. To perform these actions, use the new kill* commands of lv-client.

To kill a hung query, first obtain its query ID (QID) and session ID (SID) by examining the LVSessionQueries system table in LiveView Desktop or with lv-client "select * from LVSessionQueries". Then use the SID and QID as arguments for the lv-client killquery command. To kill sessions or publishers, obtain IDs from the LVSessions or LVSessionPublishers tables, respectively.

Improved Startup Times

The startup time for new or changed LiveView projects was reduced. Certain test cases at TIBCO StreamBase saw startup times about 40% of the time for the same project in the previous release. Of course, startup times for your projects depend on many factors, so you may not see the 40% improvement of our test case. But in general, LiveView Server starts faster.

New Aggregate Functions

Five new aggregate functions can be used with dynamic or author-time aggregate queries on LiveView tables:

Updates for System Table Schemas

The schemas for the LVTables and LVSessionQueries system tables were updated to support the ability to kill queries and sessions. In particular, the LVSessionQueries table's Query field was replaced with TableName, Projection, and Predicate fields; and its SnapTuplesPerSec field was removed. See the newly updated LiveView System Tables page for reference.

Platform Changes
  • The LiveView Java Client API now requires a minimum of Oracle JDK 7 to create client applications. The recommended JDK version is the JDK 8 shipped with StreamBase and Live Datamart, as described on the Supported Platforms page. JDK 6 is no longer supported for building LiveView client applications.

  • LiveView Server automatically uses an installation of Azul Zing JDKs 7 and 8 installed in default locations on the machine hosting the server.

  • The following LiveView Client API methods were announced as deprecated as of release 2.0.4, and are removed as of this 2.1.0 release:

    LiveViewConnection.saveQuery()
    LiveViewConnection.getQueries()
    LiveViewConnection.deleteQuery()

LiveView Sample and Documentation Updates

This release includes the following updates and new features for LiveView samples and documentation.

New Fault Tolerant Recovery Using the EMS Bus Sample

This new LiveView sample demonstrates LiveView recovering from a service interruption using TIBCO EMS as the publishing bus. The LiveView Orders table is configured to use persistence and it has a publisher interface with an EMS message bus subscriber that is configured with a durable subscription. After LiveView service interruption and restart, LiveView recovers from disk almost all of the rows that were in the Orders table at the time of the interruption.

New Fault Tolerant Recovery Using the FTL Bus Sample

This sample is much like the EMS sample above, except it demonstrates LiveView recovery using TIBCO FTL as the publishing bus.

New Field Rules Sample

This new sample is a version of the Hello LiveView sample that demonstrates a number of field rule definitions. Search for "field rules" in the Load StreamBase Samples dialog.

LiveView System Tables Page Updated

The LiveView System Tables page was updated and corrected. The page now shows each system table without the internal only fields, which is the new default output of lv-client listtable table-name. You can append -a to such commands to view a system table's fields including the internal only fields.