Contents
- 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
- New in Live Datamart 2.0.6
- New in Live Datamart 2.0.5
- New in Live Datamart 2.0.4
- New in Live Datamart 2.0.3
- New in Live Datamart 2.0.2
- New in Live Datamart 2.0.1
- New in Live Datamart 2.0.0
This topic summarizes the history of significant changes in TIBCO® Live Datamart and TIBCO LiveView Desktop™ as of release 2.1.7.
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.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 Server Configuration 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.
This page lists new and noteworthy features in TIBCO Live Datamart and TIBCO LiveView Desktop. Live Datamart 2.0.6 inherits all new features and updates from the LiveView 1.6.x release branch through 1.6.6.
See Fixed in Live Datamart 2.0.6 for issues resolved in this release.
- Author-time Aggregation Tables Behavior Change
-
Starting with release 2.0.6, 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.
- 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 Server Configuration 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.
- 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 page lists new and noteworthy features in TIBCO® Live Datamart and TIBCO LiveView™ Desktop. Live Datamart 2.0.5 inherits all new features and updates from the LiveView 1.6.x release branch through 1.6.5.
See Fixed in Live Datamart 2.0.5 for issues resolved in this release.
- Installation Slowness on Mac OS X Resolved
-
In previous releases, on any Mac with OS X Yosemite or later, double-clicking one of the DMG distribution files that contains StreamBase plus Live Datamart, or LiveView Desktop, could start a spinning beach ball timeout period that could last for many minutes. An alternate installation method was described in the Installation Guide.
Starting with release 7.5.5, TIBCO StreamBase DMG files now have a workaround for the Apple bug that was creating this situation. Thus, this issue is now completely resolved, and no longer requires the alternate installation method.
- Compatibility Issues
-
Services-only servers deployed from 1.6.5 and earlier, or from 2.0.0 through 2.0.4 installations cannot interact with LiveView 2.1.x full servers. However, services-only servers from a 1.6.6 or later installation, or a 2.0.5 or later installation, can interact with a 2.1.x full server.
- LiveView Query Adapter Updates
-
StreamBase EventFlow modules from StreamBase 7.5.4 or earlier that incorporate a LiveView Query adapter cannot send a query to a LiveView 2.1.x server if the query contains a calculated column. However, such modules from StreamBase 7.5.5 and later can successfully send calculated column queries to a LiveView 2.1.x server.
- New LVConf Parameters for ActiveSpaces Connections
-
This release supports a new parameter,
default-query-limit-override
, that can be added to an LVconf that defines a TIBCO ActiveSpaces external data provider. Such LVconfs also now support parameters that support ActiveSpaces authentication. These new parameters are illustrated in the ActiveSpaces Metaspace LiveView sample. - New Field Rules Sample
-
A new field rules 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.
- New Fault Tolerant Recovery Using the EMS Bus Sample
-
This new LiveView sample illustrates 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.
- LiveView Java Client API Updates
-
In the LiveView Java Client API, most of the QueryConfig setter methods return this, but a few of them returned void. As of this release, all QueryConfig setter methods now return this, which allows all methods to be chained.
- LiveView JavaScript Client API Updates
-
The LiveView JavaScript Client API was updated to support deleting table rows. There is a new API function
deleteRows(
. In addition, queries against LiveView data tables from a JavaScript client now support the following syntax when run fromtableName
,predicate
,settings
)LIveView.connection.execute
:DELETE
tableName
DELETE FROMtableName
[WHERE ...]
This page lists new and noteworthy features in TIBCO® Live Datamart and TIBCO LiveView™ Desktop. Live Datamart 2.0.4 inherits all new features and updates from the LiveView 1.6.x release branch through 1.6.5.
See Fixed in Live Datamart 2.0.4 for issues resolved in this release.
- Logback Logging Ability Added
-
LiveView Desktop now keeps log files that preserve information about session connections and other events. Desktop end-users do not normally need to interact with these log files, but TIBCO Support or your site's LiveView Server Support Team might ask you to retrieve and send a log file.
- SnapshotQueryListener Configurable Queue Size
-
The SnapshotQueryListener can now have its system wide data queue capacity changed by setting
liveview.client.snapshotquerylistener.default.capacity=
, wherennn
nnn
is an integer number of bytes. Individual SnapshotQueryListeners can have their data queue capacity set with a new constructor parameter.
- Updates for lv-client listtable
-
The lv-client listtable command has several improvements in this release:
-
The output now lines up in columns.
-
Internal fields such as CQSInternalID are no longer shown by default. Use the new
-a
option to restore internal fields to the output. -
When specifying a table name (lv-client listtable
TableName
), the table's primary key and any secondary keys are now shown by default.
-
- Certain LiveViewConnection Methods Deprecated
-
The following methods are deprecated as of release 2.0.4 and are expected to be removed in the next minor release of Live Datamart:
LiveViewConnection.saveQuery()
LiveViewConnection.getQueries()
LiveViewConnection.deleteQuery()
- URL Changed for Embedded JavaScript API Documentation
-
In addition to the full JavaScript Client API Documentation incorporated into the Live Datamart documentation set, JavaScript Client API documentation is also embedded in every running LiveView Server. Starting with this release, the relative URL for the embedded JavaScript Client API documentation is deprecated at its old address of
/lv-web/api
and is now available on/lv/api
. For example:http://localhost:10080/lv/api
This page lists new and noteworthy features in TIBCO® Live Datamart and TIBCO LiveView™ Desktop. Live Datamart 2.0.3 inherits all new features and updates from the LiveView 1.6.x release branch through 1.6.4.
See Fixed in Live Datamart 2.0.3 for issues resolved in this release.
- LiveView Desktop Now Based on Eclipse 4.4
-
TIBCO LiveView Desktop was rewritten to use Eclipse 4.4 as its base, the same Eclipse base as StreamBase Studio. In general, this change is expected to be transparent to end-users, and LiveView Desktop connects to a LiveView Server instance and displays both textual and graphical views of LiveView tables just as before. However, several important behavior changes follow from this update, as noted in the following points.
- LiveView Desktop's Workspace Format Updated
-
The file format in which LiveView Desktop stores its workspaces has changed. LiveView Desktop handles this change as follows:
-
When Desktop 2.0.3 or later is asked to load a local or server-hosted workspace that was saved in the old workspace format, Desktop notifies the user that it must convert the workspace format, then does so.
-
If the same old-format workspace is loaded again, Desktop 2.0.3+ prompts for permission to re-convert it to the new format.
-
Once locally-saved workspaces are updated, they open without prompts for re-conversion.
-
However, server-based workspaces are not automatically re-saved back to the server in the new format. To avoid continual re-conversion of server-based Desktop workspaces, ask your site's LiveView administrator to upload converted workspaces to LiveView Server using LiveView Desktop Workspace Manager 2.0.3 or later.
-
If LiveView Desktop 2.0.2 or earlier encounters a local or server-hosted workspace that has been upgraded to the new format, Desktop reports this condition as an error. You can save old and new format workspaces in separate locations for use by Desktop versions before and after 2.0.3.
-
All server-hosted LiveView Desktop workspaces provided with LiveView samples have been upgraded to the new format.
-
- LiveView Desktop Version Number
-
As seen in the previous entry, knowing the version number of LiveView Desktop becomes important after workspaces begin to be converted at your site. The three-digit release number of LiveView Desktop 2.0.3 and later now shows in the Desktop window's title bar. This is true even for the Connection dialog, before connecting to LiveView Server has succeeded. By contrast, LiveView Desktop versions 2.0.2 and earlier do not provide version information until connected to the server.
- New Save All Now Menu Item
-
LiveView Desktop's Perspective menu now has a Save All Now item. Selecting this causes Desktop to walk through all perspectives and windows in the currently open Desktop workspace to save each perspective and view's current state as part of the workspace. Use this feature to manually save LiveView Desktop's current state before making large changes, such as adding a new chart or view. To provide end-users with maximum flexibility, there is no related auto-save feature.
- New Workspace Location Menu Item
-
Because of the workspace changes described above, you may need to know the directory location where Desktop saves workspaces locally. The path to this workspace directory was always shown in Desktop's Connection dialog, but Desktop 2.0.3 and later now shows the workspace directory path on demand by invoking
→ . - LiveView Desktop on Mac OS X No Longer Requires Apple Java 6
-
Because Desktop is now based on Eclipse 4.4, an installation of LiveView Desktop on Mac OS X no longer requires you to download and install Apple Java 6. On all platforms, including OS X, LiveView Desktop includes the same JRE release that is bundled in JDK form with StreamBase Studio. As of Desktop 2.0.3, the bundled JRE version is 1.7.0_U79.
- Compressed LiveView Traffic Streams Now Supported
-
Release 2.0.0 brought support for compression of non-streaming traffic between a LiveView Server and client, and new Java and .NET methods were made available to enable this feature in your client code. Starting with the current 2.0.3 release, compression is also available, and is the new default behavior, for streaming traffic as well.
- Improvements for lv-client delete Syntax
-
The syntax of the lv-client delete command was changed to more closely resemble standard SQL. As such, it now interprets a FROM token as in this example:
lv-client delete [from]
TableName
[predicate-clause
]For backwards compatibility, the FROM keyword can be omitted, but it may be required in future releases.
- New lv-store-vacuum Command
-
A new command-line utility, lv-store-vacuum, scans a LiveView table's persistence log directory and consolidates all row entries into a temporary log file that preserves only the most recent state of each row. The command then moves the just-read log files to a backup directory, and renames the temporary log so that it will be used automatically if LiveView Server must begin an automated recovery procedure. This feature and the new command are described in a new section of the EventFlow Publish Applications page, Periodic Compression of Recovery Files.
- Reworked JavaScript Dashboard Sample Illustrates Best Practices
-
This release includes a complete rewrite of the Dashboard sample included as one of the four web apps in the
lv-javascript
sample package. The new sample now serves as a model of best practices for customers writing web apps that display information from LiveView Server, using the LiveView JavaScript API. The new Dashboard sample uses MVx architecture, reusable visualizations, and a LiveView Query Service that manages queries and shares a common connection to the server. The sample allows users to define what gets displayed in the dashboard via a JavaScript object that serves as the model for the application. The chart visualization is based on a generic Highcharts.js wrapper that can be configured to display most Highcharts.js chart types.To see the sample in action, load the Creating web applications with JavaScript sample in Studio, start LiveView Server against that project folder, then connect a web browser to
http://localhost:10080/dashboard
.
This page lists new and noteworthy features in TIBCO® Live Datamart and TIBCO LiveView™ Desktop. LiveView 2.0.2 inherits all new features and updates from the LiveView 1.6.x release branch through 1.6.4.
See Fixed in Live Datamart 2.0.2 for an issue resolved in this release.
- LVconf Editor Extended to Support Imported Schemas
-
The Schema tab of the LiveView Configuration Editor for Data Tables was updated to support a mix of locally defined fields with fields imported from an EventFlow file or from a StreamBase interface file. Imported fields are read-only and are marked with a small triangle symbol.
- LVconf Editor Field Rules Support Extended
-
The Field Rules tab of the LiveView Configuration Editor for Data Tables was extended with drop-down boxes to simplify choosing relevant field or variable names. The tab now supports the creation of new variables for use in the table's insert-update rules.
- LVconf Editor Now Highlights Tabs with User Content
-
The LiveView Configuration Editor now bolds the titles of tabs that contain user-defined content, which echos the same feature in the EventFlow Editor.
- LVconf Editor Extended with Read-Only XInclude Support
-
In previous releases, the LiveView Configuration Editor did not support opening lvconf files that contained valid XInclude directives, directing you instead to use the text-based LiveView Configuration File Editor. This release loosens the restriction somewhat, allowing you to open and view such files in the LiveView Configuration Editor. This makes it possible to see the complete context of a configuration across all of the files that comprise it. However, the LVconf Editor opens such files in read-only mode, and you cannot save any changes made to the configuration in this mode.
- Author-Time Aggregation Tables Can Rename Fields
-
Starting with release 2.0.2, you can perform simple field renaming when defining an author-time aggregation table. This adds to author-time aggregation tables the similar feature previously available in the deprecated static aggregation tables.
Consider the following author-time aggregation table definition:
<data-table id="NewAggRemapKeys"> <fields> <field ignore-case="true" type="string" name="RemappedString1"/> <field type="bool" name="bool1" /> <field ignore-case="true" type="string" name="string2"/> <field type="long" name="SumCount"/> <field type="int" name="GroupCount"/> </fields> <primary-key> <field ref="RemappedString1"/> <field ref="bool1"/> </primary-key> <data-sources> <data-source> <aggregation table-ref="AllTypesSnapConcurrency4"> <query> <projection> string1 as RemappedString1, bool1, sum(Count) as SumCount, lastval(string2) as string2, count() as GroupCount, </projection> </query> </aggregation> </data-source> </data-sources> </data-table>
Notice that the table defines the field
RemappedString1
, which field is also one of the fields in the Primary Key. This field does not appear in the base table, but the query includesstring1 as RemappedString1
as part of the projection, andstring1
DOES appear in the base table. The system will now correctly construct the group-by portion of the query to includestring1
instead ofRemappedString1
.
- Support for Adding Newlines in Query Edit Fields
-
LiveView Desktop previously supported adding newlines to format queries in the Query Edit field only when content was pasted into the Query Edit field. This release adds support for using Shift-Enter to format queries with newlines while editing a query.
- JavaScript API Now Uses ECMA Standard Timestamps
-
The string that the LiveView JavaScript API returns for a timestamp field was updated to conform to the format required by the ECMA Specification. In particular, the API was returning date and time strings separated by a space, but are now separated with an uppercase T.
This page lists new and noteworthy features in TIBCO® Live Datamart and TIBCO LiveView™ Desktop. LiveView 2.0.1 inherits all new features and updates from the LiveView 1.6.x release branch through 1.6.3.
See Fixed in LiveView 1.6 for issues resolved in this release.
- Behavior Change: Transform Interface Updated
-
The user-defined Transform interface was changed in LiveView 2.0.1 to include the "Old" tuple values associated with an event. The transform interface's DataIn schema now has an additional field name name
Old
, which is of type tuple and has the same schema as the new tuple fields.To upgrade, you must regenerate the interface files for your transform applications and change the DataIn schema of your existing transform applications to match the new
named schema. Use either the new → menu described below, or the lv-server generate command to regenerate your interface files.SourceTableName
TransformOut - LiveView Server's lv-web Web App Updated
-
When LiveView Server is started, it launches a Jetty service that hosts the new JavaScript API as well as a default web app accessible on
http://
. For LiveView 2.0.1, this web application was restyled and updated to take advantage of the new JavaScript API, and now has new functionality added. The three parts of the lv-web application are:hostname
/lv-web-
Monitor LiveView displays a set of tables (navigated via tabs) that display information on LiveView internals and status.
-
Manage Alert Rules provides an interface to create, edit, and delete the alert rules running on the LiveView server.
-
Run Queries provides an interface that allows users to view what tables are available, to see the schema information for a selected table, and to run queries. Queries are manually entered into a text box. Query results are displayed in a live-updating table.
-
- Multiple Projections Now Allowed in Author-Time Aggregation
-
Author-time aggregation table configuration now allows multiple
<projection></projection>
and<predicate></predicate>
elements. This allows multiple<?xinclude>
statements to be used to build up the projection and predicate expressions.
- New Interface Generation Features
-
A new menu option provides the ability to generate StreamBase interfaces as well as schemas for all defined extensions in a LiveView project, such as EventFlow modules that provide a Data Source, Publisher, Preprocessor, or Transform for a LiveView data table. Select any LiveView project in the Package Explorer view, right-click, and select Generating Interfaces for further information.
→ . The previously existing → menu option generates or re-generates only the schemas for all LiveView data tables in the project. SeeThe lvserver generate command now has an
--all
option that serves the same function on the command line, to generate all interface files needed by the specified LiveView project.
- Alert Rules Now Support Aggregate Functions
-
When creating an alert rule in LiveView Desktop, you can now specify the use of one of the LiveView aggregate functions. The Aggregate Condition field in the Alert Rule configuration dialog should be an expression that evaluates to a boolean value, such as
sum(Volume) > 1000
. The Advanced Alerting sample was updated to demonstrate this new feature. - New Notification When Limit Reached
-
When a query reaches a limit specified in the query with
--limit
, LiveView Desktop now reports the limit reached condition with a yellow tip bar at the top of table views, or change in the description bar for chart views. In previous releases, Desktop reported limit reached conditions with a an error dialog. - Workspace Related Permission Checking Updated
-
Workspace-related permission checking was enhanced in two dimensions:
-
Read access (list and download access) to Desktop workspaces can now be controlled with the new get action. For example, to allow users with the LVUser role to list or download all workspaces available on the server, specify:
role.LVUser = workspace:get, ...
-
All types of workspace access (read, write, delete) can now be restricted to a set of named workspaces. For example, to allow users with the LVUser role to list of download a specific workspace from the server, specify:
role.LVUser = workspace:get:LVUserWorkpace, ...
To allow all operations for a specific workspace:
role.LVUser = workspace:*:LVUserWorkpace, ...
-
- DataWatch Library Updated
-
LiveView Desktop charting was upgraded to use the DataWatch (formerly Panopticon) library version 12.4.3.
- LiveView Adapters Now Share Server Connection By Default
-
All LiveView adapters (Query, Publish, Ready, and Delete) in the same container now share a LiveView Server connection by default. Previously, each adapter had its own independent LiveView connection. If you need an individual adapter to have its own connection, clear the Share LiveView Connection check box in the Properties view that adapter instance.
- LiveView Publish Adapter Updated
-
The LiveView Publish adapter now has a configurable delete field. Leaving this field blank disallows deletions from that adapter instance.
The Publish adapter also has a new passthrough that passes the input tuple to its output without change.
- Updates to the .NET Client API
-
The .NET version of the LiveView Client API was updated to support the high availability feature called Multiconnect capability that was added to the Java Client API in LiveView 2.0.0. With this feature, clients can specify multiple LiveView Server URIs and configure how these connections should be handled. The .NET Client API also now supports the new getSendTupleInfo and sendTupleAction APIs.
The LiveView Java Client API sample was updated with a new sample,
MultiConnect.java
, that illustrates that new feature. - Log Appenders Available in the Client API
-
Two log appenders are now available in the LiveViewClient package:
com.streambase.liveview.loggers.LiveViewAppender com.streambase.liveview.loggers.LiveViewLog4jAppender The first is an SLF4J logback appender and the second is a Log4j appender. These appenders can be configured to send log events from any Java program using either Logback or Log4j to a LiveView Table.
- Query to Return Indexed Fields Added to Client API
-
The LiveView Java Client API now has a getIndices method to return a list of the indexed fields for a LiveView table.
- Determine User Permissions Added to Client API
-
The LiveView Java Client API now has checkPermission and checkPermissions methods to determine whether the current authenticated user is entitled to perform a requested action.
This release includes the following updates for the LiveView documentation.
- Standalone Help Viewer Removed
-
The standalone Help Viewer on Windows and the sbhelp utility on Linux and OS X were removed from the StreamBase distribution. The move to Eclipse 4.4 as a base for StreamBase Studio caused complications that were solved for Studio, but could not be resolved for the Help Viewer. Instead, use the the help system invokable from StreamBase Studio's docs.streambase.com, and the website format documentation locally installed as part of Studio, or on docs.tibco.com. See Using the Help System for details.
→ menu, which provides the identical content as the standalone Help Viewer. You can also see the Eclipse Help format documentation on - LiveView System Tables Page Updated
-
The LiveView System Tables Page in the LiveView Administration Guide was extended and updated to match current versions of the system tables.
- Requirement for Interface Files Documented
-
The EventFlow Applications for LiveView page of the LiveView Development Guide has a new section, Generating Interfaces, on the requirement to use StreamBase interface files when adding EventFlow modules to a LiveView project, and describes three ways to generate the interfaces. The lv-server reference page was reworked to expand and clarify the generate subcommand for generating interfaces.
- LiveView Server System Configuration Page Updated
-
A new first section of the LiveView Server System Configuration page discusses project-specific configuration files.
This page lists the new and noteworthy features of TIBCO® Live Datamart 2.0.0 and its component products in the following sections:
Integration of StreamBase and Live Datamart |
LiveView Server and Configuration Features |
LiveView Client API Features |
Compatibility Concerns for LiveView 2.0.x |
LiveView Sample and Documentation Updates |
See Fixed in LiveView 2.0.0 for a list of issues resolved in this release.
- StreamBase and Live Datamart Are Now Integrated
-
TIBCO Live Datamart 2.0.x is now automatically installed as part of TIBCO® StreamBase 7.5.x. As before, TIBCO Live Datamart is separately licensed. However, you no longer need to download and run a separate installer to access Live Datamart features.
-
On Microsoft Windows platforms, TIBCO Live Datamart 2.0.x is installed only as part of the 64-bit edition of StreamBase 7.5.x, and not as part of the 32-bit edition.
-
The integrated Live Datamart components include TIBCO LiveView Server, the Studio extensions to support LiveView projects, all LiveView samples, and fully integrated documentation.
-
As before, LiveView Desktop 2.0.x is still separately licensed and still has an independent installer.
-
As before, LiveView Desktop Workspace Manager 2.0.x is included with your LiveView Desktop license, and has a separate installer available from the LiveView Desktop download site.
-
For further details on the new and updated features of TIBCO StreamBase, see the separate New and Noteworthy for the StreamBase product family.
-
- New Default and Recommended Installation Locations
-
-
To better integrate with other TIBCO product families, and to help customers organize multiple TIBCO products on the same system, the combined release of StreamBase 7.5.x and LiveView 2.0.x has new default and recommended installation directories:
Windows — C:\TIBCO\sb-cep\
n.m
Linux and Solaris — /opt/tibco/sb-cep/
n.m
Mac OS X — No default. The recommended location is /Users/
username
/Applications/TIBCO StreamBasen.m.x
where
n.m
andn.m.x
represent the current release numbers. -
TIBCO LiveView Desktop 2.0's new default and recommended installation locations are:
Windows — C:\TIBCO\sb-cep\
n.m
\liveview\desktopLinux and Solaris — /opt/tibco/sb-cep/
n.m
/liveview/desktopMac OS X — No default. The recommended location is /Users/
username
/Applications/TIBCO StreamBase LiveView Desktopn.m.x
-
TIBCO LiveView Desktop Workspace Manager 2.0 also has new default and recommended installation locations, described in Default Installation Directories.
-
- New Independent Installation Page for LiveView Desktop
-
Starting with this release, TIBCO LiveView Desktop has its own installation instruction page, independent of the base kit's instructions. See Installing LiveView Desktop.
- Java Requirements for LiveView Desktop on Mac OS X
-
On Windows and Linux, TIBCO LiveView Desktop 2.0.x installs a private copy of an Oracle Java JRE, release 1.7.0_u71, under the
liveview
home directory, and always runs with that JRE. This is true whether LiveView Desktop is installed on a machine with no other StreamBase software, or is installed underSTREAMBASE_HOME/liveview
. On these platforms, LiveView Desktop's JRE is independent of the TIBCO StreamBase JDK, if present.However, on Macintosh OS X, LiveView Desktop requires Apple Java 1.6.x, which you must install separately from the Desktop installation. Apple Java is no longer included in OS X by default, and it is automatically uninstalled when you upgrade from one OS X version to the next. You must download and install the latest Apple Java from Apple's Support site.
You can have a version of Oracle Java 7 installed on OS X alongside Apple Java 6. LiveView Desktop looks only for Java 6, and fails to start if not found.
- New Forms-Based Visual LVconf Editor
-
This release of StreamBase Studio introduces a new forms-based visual editor for LiveView configuration files, called lvconf files. The visual editor reads and stores the same XML format as before, but greatly improves and accelerates your ability to create and maintain lvconf files without constant reference to the XSD specification. Each lvconf type has its own form; when creating a new lvconf file, you specify the lvconf type, which determines the form to use.
Every field has pop-up help text when you hover the pointer in or over each field. This is the same help text found in the lvconf XSD specification.
The valid features for each lvconf type are organized into tabs along the bottom of the visual editor window. The last tab for each form provides a Source view, which allows you to view and edit the underlying XML file you are editing. Edits made in the Source view are immediately reflected on other tabs, and vice versa. However, the Source view is not itself a validating XML editor, but relies on the various forms tabs to validate the lvconf file being edited.
The menu selection to create a new lvconf file was rebranded. Use
→ → to create a new lvconf file. The visual editor is now the default editor for new and existing lvconf files. - New Visual Lvconf Editor Does Not Support Xinclude
-
The new visual lvconf editor does not support Xincluded files and certain other advanced features of lvconf files. In particular, if any lvconf file in your existing projects includes XML comments in
<!-- -->
blocks, such comments are not preserved when the lvconf file is opened and saved in the visual editor.For features not supported by the visual lvconf edtor, the text-based validating XML editor is still available. Other than Xincludes and comments, any feature valid in the XML of an lvconf file that is entered with the text-based XML editor is preserved on re-opening the file in the visual editor. You can also edit advanced features using the Source tab of the visual editor.
To access the validating text-based XML editor directly, select an lvconf file in the Package Explorer view, right-click, and select
→ . - Improved Dynamic Aggregation Performance
-
LiveView 2.0 made internal changes to the way ad-hoc aggregation queries from LiveView clients are calculated. Higher performance is achieved by compiling more optimized code and sharing internal state in the form of generated data classes. No change is necessary for existing aggregation queries to take advantage of the new performance; they will automatically be faster and take fewer resources when run against LiveView 2.0 Servers. This higher performance approach is also used for the new author-time aggregation tables described next.
- New Author-Time Aggregation Tables
-
This release introduces a new way to provide LiveView data tables with the aggregated results of data published to another LiveView table. We are naming the new feature author-time aggregation, because its aggregate and predicate expressions are written in a table's lvconf file and cannot be changed once the LiveView Server is running. The LiveView table with the aggregate results is called the aggregate table, while the LiveView table used as a source is called the base table.
One of the advantages of author-time aggregation is that it uses the same projections you use in dynamic aggregation, and in the projection portion of queries entered into LiveView Desktop or lv-client. This allows you to develop a projection using ad hoc queries in Desktop or lv-client, and then copy the tested, working projection to the visual lvconf editor to create an author-time aggregation table.
Another advantage of author-time aggregation over static aggregation is that you can now specify time-based predicates such as
when ArrivalTime between now()-minutes(10) and now()
, and thus aggregate over a time period. This was not possible with static aggregation.To specify an author-time aggregation table as a data source for a LiveView data table, use Data Sources tab in the visual editor, and select the Aggregation check box. In the Table Reference field, specify the name on an existing LiveView base data table already configured in the current project, then specify the Projection and Predicate portions of a LiveQL query that will select from the specified base table and emit a stream of aggregated results.
→ → to create a new Data Table. Then, use the - Static Aggregation Deprecated
-
The static aggregation feature of previous releases that uses a selection of static aggregation functions, is superseded by the new author-time aggregation described in the previous item. Static aggregation is still supported by LiveView Server and all existing static aggregations continue to work as before. However, because author-time aggregation offers comparable functionality with immensely more flexibility, the former static aggregation feature is now deprecated and is expected to be removed in a future release. Consider migrating your LiveView projects to use author-time aggregation.
- New Aggregate Functions
-
This release adds the following LiveView aggregate functions that can be used in the projections of both ad hoc LiveQL queries and author-time aggregate tables:
slope() intercept() covariance() covariancep() correlation_coefficient() correlation_coefficientp() unique() joinlist() The first six functions are the slope() family of related aggregate functions already existing in the StreamBase expression language, but newly available for LiveView aggregation.
The aggregate version of the unique() function was newly added to the StreamBase expression language in this release, primarily for use in LiveView aggregations. unique() returns a list, and LiveView columns cannot currently be sourced from a list. Thus, to use unique() as part of an author-time aggregation projection, you must wrap unique() with joinlist(), as in the following example usable with the Hello LiveView sample. joinlist() is an alias newly added in this release for both simple and aggregate versions of the join() function. It is used in author-time aggregation projections in its aggregate form.
select joinlist(",", unique(Severity, 5)) as SeverityList from LVAlerts
- Changes for the LiveView Server Ready Message
-
When starting LiveView Server, the
ready to accept
message on the console is now bracketed by blank lines to make it easier to find in a long log history. If you have custom log-parsing code that looks for theready to accept
message, you may need to adjust that code for the new format of the message:... timestamp
INFO LVInfoQuery - { 'ItemsSales'::SnapQueryMarker }(tupleid=0 ...timestamp
INFO { Server Started } - *** All tables have been loaded. LiveView is ready to accept client connections. ***timestamp
INFO LVInfoQuery - { 'ItemsSales'::Original Query }"{""CQSConnectionID"": ... ... - LiveView Command-Line Utilities Now In STREAMBASE_HOME/bin
-
The lv-client and lv-server commands are now installed in
STREAMBASE_HOME/bin
, and are thus always on the PATH when you open a StreamBase Command Prompt on Windows, or when you use an OS X, Linux, or Solaris terminal configured withsb-config --env
. There is no longer a need to prefix these command names withliveview\tools
to run them.Reference pages for these commands are now found in the StreamBase Command Reference, with links to the same pages in the former LiveView Command Reference. On the well-configured OS X, Linux, or Solaris systems,
man lv-client
andman lv-server
show syntax references at the shell prompt.
- New JavaScript Client API
-
This release includes an entirely new JavaScript Client API. The new API focuses on simplicity, conformity to common JavaScript patterns, compatibility with modern JavaScript frameworks, and detailed documentation. Many of the extraneous features included with the old API were removed in an effort to allow API users to take more control and have more freedom to manipulate and display LiveView data in a way that best suits their needs.
The new JavaScript Client API supersedes and replaces the first-generation JavaScript API. The first-generation API is no longer supported by the current LiveView Server, and customers must migrate any existing web-based LiveView client applications to the new API in order to run them on LiveView 2.0.x servers. Full JavaScript Client API Documentation is incorporated into the LiveView documentation set, as well as an introduction to using the API.
- Java Client API Enhancements
-
The LiveView Java Client API in previous releases had an undocumented API to manage LiveView Alerts that was not exposed to customers. That API is still not exposed, but is nonetheless now deprecated. Replacing it is a new, cleaner public API whose starting point is
LiveViewConnection.getAlertManager()
, which returns an instance ofcom.streambase.liveview.client.alert.AlertManager
. This offers a set of operations and classes for creating, deleting, and interrogating the server about the Alerts it has.The Java Client API now also supports automatic failover and reconnection to members of a cluster of LiveView servers. This release introduces a new multi-connection configuration object, MultiConnectionConfig, with which clients can connect and re-connect to one of several LiveView Servers in a high availability cluster configuration.
Finally, there are two new methods that allow clients to trigger actions on the server. Look in the JavaDoc for getSendTupleInfo and sendTupleAction.
These features are documented in the LiveView Java Client API Javadoc, which is now combined with classes from the StreamBase Client API to make a single Javadoc set with interdependent cross-reference links to each API's features.
- Compatibility of LiveView Desktop Versions
-
TIBCO LiveView Desktop versions can connect to various LiveView server versions as shown in the following table:
LiveView Server Version LiveView Desktop Version ⇓ 2.0.x 1.6.x 1.5.x 2.0.x Supported Supported Mostly supported 1.6.x Supported Supported Mostly supported 1.5.x Not supported Supported Mostly supported In all cases, LiveView Desktop is restricted to the capabilities of the connected server. That is, each Desktop version can connect to and display results that are consistent with the capabilities of each server release.
-
About Mostly Supported. LiveView servers before release 1.5.7 cannot provide content assistance for aggregate functions. This is only a reporting issue; the aggregate functions themselves are fully supported.
-
About Not Supported. Limitations in the LiveView Client API for release 1.5.7 and earlier prevent LiveView Desktop 1.5.x from connecting to LiveView 2.0.x servers. The only known solution is to upgrade your installations of LiveView Desktop 1.5.x to a newer release before connecting them to 2.0.x servers.
-
- Compatibility of LiveView Client API Versions
-
Client applications built with the LiveView Client API, including
lv-client
and any custom applications you have built, are compatible with LiveView Server versions as shown in the following table:LiveView Server Version LiveView Client API Version ⇓ 2.0.x 1.6.x 1.5.x 2.0.x Supported Supported Supported 1.6.x Supported Supported Supported 1.5.x Partially supported Supported Supported -
About Partially Supported. Client applications built with the LiveView Client API for release 1.5.7 and earlier can successfully connect to and return results from LiveView 2.0.x servers, but only with severe restrictions on their capabilities:
-
LiveView 1.5.7 and earlier clients cannot delete rows from a LiveView 2.0-hosted data table.
-
LiveView 1.5.7 and earlier clients cannot access applications hosted on a LiveView 2.0 services-only server.
-
In general, LiveView 1.5.7 and earlier clients see LiveView 2.0 servers as if they have only the capabilities of LiveView 1.3 servers.
-
-
- CQSDataUpdatePredicate Field Deprecated
-
In TIBCO LiveView releases 1.6.x and 2.0.x, in the DataIn input stream used for populating a data table, the internal use of the field
CQSDataUpdatePredicate
is now deprecated. Always set this field tonull
when sending tuples to the DataIn input port. - CQSDelete Field Added
-
Starting with TIBCO LiveView 1.6.0, the DataIn input stream has a boolean field named
CQSDelete
that, when set totrue
, deletes any row with exactly matching primary key fields. If you have existing generated transform, preprocessor, or publisher EventFlow applications from a pre-1.6.0 release, use the interface generator to update your application schemas. See the lv-server reference page for information on using the interface generator.
This release includes the following updates and new features for LiveView demos, samples, and documentation.
- New LiveView Demo in StreamBase Studio
-
The SB Demo perspective in StreamBase Studio now includes a demonstration of LiveView that shows LiveView Desktop connecting to a recorded simulation of the stream emitted by Wikipedia that records each edit made to each page of the English Wikipedia. Instructions are provided to convert the demo to use live data from Wikipdeia.
- New Samples for the New JavaScript API
-
The new JavaScript Client API is illustrated in the Creating web applications with JavaScript sample shipped with LiveView. Load this sample in StreamBase Studio and follow the instructions in its README.txt file.
- Sample READMEs Clarified
-
The README.txt files for most LiveView samples were edited for clarity and to show current command lines for invoking the lv-client and lv-server commands.
- LiveView Documentation Home Page Reorganized
-
The home page for the LiveView documentation set was reorganized using the same ordering used on the StreamBase home page. The order of rows reading down the home page's table now mirrors the order of the navigation menu across the top of the non-Eclipse format of the set. Text on the home page was edited for clarity.
- LiveView and StreamBase Documentation Combined
-
As reported on the TIBCO StreamBase 7.5.0 New and Noteworthy page, the LiveView and StreamBase documentation sets were combined such that it is easy to switch back and forth between them. The combining of the doc sets has the following features reported on the StreamBase 7.5.0 page:
-
Reference pages for the lv-client and lv-server command line utilies are now found in the StreamBase Reference Guide.
-
The two Java Client API Javadoc documentation sets were combined.
-
On Windows installations only, the two .NET Client API documentation sets were combined.
-
- LiveView Documentation Pages Rewritten
-
Many pages in the LiveView documentation set were renamed, reorganized, and rewritten. Please bear with us as this undertaking continues over the next few releases. In particular, see:
-
The subject of aggregation in LiveView has a new overview and introduction.
-
All discussion of the now-deprecated static aggregation feature, including documentation of its aggregate functions, is now moved to a single page in the documentation.
-
The LiveView References Guide was reworked to clarify its reference information and make it easier to find.
-
Two competing descriptions of the LiveQL query language were combined, clarified, and expanded.
-
Reference pages for all LiveView aggregate functions were standardized and clarified with all examples carefully tested and stripped of extraneous tutorials.
-
The Using Parallelism and Concurrency section of the Admin Guide's Advanced Tasks page was revised, corrected, and clarified. A new section of the same page suggests increasing the ulimit setting on Linux servers.
-
The reference pages for all four LiveView adapters were clarified and corrected.
-
The LiveView Project Tutorial was rewritten to describe using the new Visual LVconf Editor.
-