Live Datamart New and Noteworthy

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

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

New in Live Datamart 10.1.1

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

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

LiveView New Features and Updates

This release does not introduce new features or updates beyond what is described in the link shown above.

New in Live Datamart 10.1.0

TIBCO® Live Datamart is re-introduced to the StreamBase product line as of release 10.1.0. This section lists the new and noteworthy features of TIBCO Live Datamart 10.1.0 and its component products.

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

LiveView New Features and Updates

LiveView Web Included in Live Datamart 10.1.0

Live Datamart now includes TIBCO LiveView™ Web Standard Edition, which is licensed for limited use as described in License Considerations.

To configure LiveView Web 1.2.1 to work with Live Datamart 10.1.0, please consult the LiveView Web documentation.

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.

LiveView Sample Support

With the re-introduction of Live Datamart into StreamBase 10.1.0, the following LiveView samples are now available in StreamBase 10 Maven format, and are known to work:

lv_sample_alerting_advanced lv_sample_minimal
lv_sample_author_time_agg lv_sample_panomaps
lv_sample_custom_id_generation lv_sample_preprocessor
lv_sample_desktop_custom_view lv_sample_publisher
lv_sample_field_rules lv_sample_sbd_table
lv_sample_helloliveview lv_sample_services_only
lv_sample_java_clientapi lv_sample_transform
lv_sample_javascript  

The following LiveView samples are also provided, but have not been fully tested:

lv_sample_activespaces lv_sample_ftl_recovery
lv_sample_auth lv_sample_jdbc_table
lv_sample_dotnet lv_sample_kafka_recovery
lv_sample_ems_recovery  
Additional Information Provided in LVSessionQueries Table

The LVSessionQueries table has a new column named RemoteServer. This column provides table-specific information to help identify which remote server is running the query. This column is null for local LiveView tables.

LiveView Publisher Interface Change

The LiveView Publisher interface has changed. Publishers must now implement an output stream called PublisherStateOut that reports on publisher status during recovery. See Persistence and Recovery for more details.

Pivot Query Support

Live Datamart now supports pivot queries to create pivot tables. See Creating Pivot Tables 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.

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 Reference for DTM Security Configuration.

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.

XML Attributes Deprecated in LiveView lvconf files; Legacy Static Aggregation Removed

Compared to StreamBase 7, the XML structure in StreamBase 10.1.0 for the Application and Publisher lvconf types was changed as follows:

  • The attribute sub-folder was removed.

  • The attribute filename is deprecated and replaced with module.

  • The attribute module takes a fully qualified module name with no extension.

In addition, the legacy static aggregation implementation, which was deprecated as of Live Datamart 2.0, is now removed.

JQuery Atmosphere 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 10.1.0, the JQuery plugin is now removed.

In addition, the Atmosphere JavaScript library was upgraded on the client side to match the LiveView Server side, which is version 2.4.3.

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 Creating Pivot Tables 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 Publish Output adapter interface was changed to add a new output stream. StreamBase EventFlow applications that publish to LiveView tables using this adapter must now implement an output stream named PublisherStateOut that reports on publisher status during recovery. The use of this stream is described in Persistence and Recovery.

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

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.

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.

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.

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 Privilege Settings.

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 Privilege Settings.

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.