Contents
- New in Live Datamart 2.2.2
- New in Live Datamart 2.2.1
- New in Live Datamart 2.2.0
- New in Live Datamart 2.1.8
- New in Live Datamart 2.1.7
- New in Live Datamart 2.1.6
- New in Live Datamart 2.1.5
- New in Live Datamart 2.1.4
- New in Live Datamart 2.1.3
- New in Live Datamart 2.1.2
- New in Live Datamart 2.1.1
- New in Live Datamart 2.1.0
This topic summarizes the history of significant changes in TIBCO® Live Datamart and TIBCO LiveView Desktop™ as of release 2.2.2.
For installation and compatibility information for the current release, see the Installation Guide.
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.
- 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
andgetDirection
are replaced withgetOrderDefinition()
. 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.
- 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.
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 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
. TheTable
field is nowTableName
;Name
is nowColumnName
. See LVTableColumns.One field name changed for the LiveView system table,
LVTables
:Group
is nowTableGroup
. 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 theQueryConfig
object containing parsed information, including table, predicate, and the query string.
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.
- 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 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
toRECOVERY_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.
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.
- 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.
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.
- Live Datamart Monitor Web Application Enhanced
-
The Live Datamart Monitor web application (accessible from
http://<sb_host>/lv/monitor
) now acceptsclient-info
as a URL query parameter. If theclient-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 URLhttp://<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 toSuperUser
. - 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-deprecatedjdbc-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()
andsetTableDeleteRules()
methods were added; thegetTableDeleteRule()
andsetTableDeleteRule()
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'ssettings
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.
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 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.
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 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.
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.
- 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.
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.
- 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 athttp://localhost:10080
, which is then redirected tohttp://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.
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.
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 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
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.waitTime
] -
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
andIAlertManager
in the API documentation for details. -
StreamBase.LiveView.API.QueryConfig
now has a new boolean property calledIncludeInternalFields
(default = false) which, when true, causes Live Datamart-internal fields such asCQSInternalID
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.
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.
- 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
→ 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 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.
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.
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
- 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 isgetNodeName,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:
permission string. See LiveView Permissions.table-name
-
- 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()
-
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.