Tom Sawyer Perspectives, Java Edition

Release 10.0.0

DateSeptember 8, 2021
StatusGeneral

Overview

This release features architectural changes that strengthen the power and performance of Tom Sawyer Perspectives. The integrators for Amazon Neptune, Microsoft Azure Cosmos DB, Neo4j, OrientDB, and Apache TinkerPop can now automatically bind query results to elements in the model. This lets you visualize and explore the data in a graph database without having to create a schema or manually define the data bindings. The new native graph in-memory model supports more effective interaction with graph databases that matches the structure of the data. The model includes fast access to related model elements without the need for lookup functions, and provides a greatly simplified way to create a drawing view from your data without the need to manually define IDs for edges' end nodes.

The new interactive schema editor allows Designer users to easily view and update the schema for Perspectives applications and supports both vertex and edge element types. The improved support for schema inheritance includes generalization, multiple inheritance, and redefinition. There is also a new schema code generator that can take a schema as input and generate a Java domain object model to support faster creation of custom application code.

The in-memory model itself has become more powerful with additional support for vertex and edge types, Reactive Streams for events, stream traversals, native support for graphs, model evaluation functions to perform operations on the native graph model, and serialization in both JSON-LD and BSON. And there is a new TSModel REST view for improved interoperability between Perspectives server-side components and other Tom Sawyer Software or third-party components. All these additions make it faster and easier to get a new Perspectives application up and running.

In the Designer, when adding a graph, analyzer, or view, the user now selects the relevant domains—collections of model elements with filter-style conditions—and adds actions to the domain rules. In the drawing view, disconnected nodes can be sorted by name and there is improved routing for intergraph edges. When defining an inspector view, a user can choose to include attributes dynamically at run time, explicitly select from the schema-defined attributes, or do a combination of both.

In Business Process, rich text documents as well as links to file paths and URLs can be attached to process tasks in the Execution module. Also, users can now retrieve the direct URL of process instances for easier sharing.

New

Integrators

  • Added support for the creation of vertex and edge element types in the model
  • Added support for automatic bindings, which allows users to visualize and explore data in a graph database without having to create a schema or manually define the data bindings. This allows new applications to be built very quickly
  • Added support for Swagger 2.0 in schema extraction for the REST integrator
  • Added support for changing the target graph in the RDF integrator

Schema

  • Added new graph schema editor, which replaces the previous schema editor view
  • Added schema code generator, which creates Java domain object model classes as output code for a provided schema

Model

  • Added support for a native graph in-memory model
  • Added support for Reactive Streams event subscriptions
  • Added support for JSON-LD serialization of the model
  • Added support for BSON serialization of the model
  • Added model evaluation functions to perform operations on the native graph model
  • Added automatically created, universally unique ID to each model element, which can be used in views with the $id() function

Designer

  • Added the Domain concept, which allows the Designer user to define flexible sets of elements that can be used in graph, analyzer, and view definitions

Views

  • Drawing
    • Added ability to sort disconnected nodes by name
  • Inspector
    • Added support for a dynamic inspector, which can show attributes of an element determined at run time
  • REST
    • Added the REST view, which allows the Designer user to define a RESTful web service against the model

Analysis

  • Added action to clear all analysis results in the project

Model-Based Engineering

  • Added ability to filter Activity Diagram elements by stereotype

Business Process

  • Added ability to attach rich text documents and links to file paths and URLs process tasks in the Execution module
  • Added ability to retrieve the direct URL of process instances

Improvements

Integrators

  • Added selection capability to SQL schema extraction
  • Added threading to allow OrientDB integrator to cancel queries
  • Improved use of parameters in a series of Cypher queries

Schema

  • Improved construction of TSSchema objects to better support extensibility and reuse of schema objects
  • Schema inheritance now includes generalization, multiple inheritance, and redefinition
  • Schema inheritance now supports different actions for objects in different levels of the hierarchy
  • Added support for schema inheritance in views

Designer

  • Added simplified framework that reduces the amount of code needed to write an action item and lets you implement the same code for web and desktop implementations

Views

  • Added ability to use an expression to specify dynamic tags for view elements
  • Improved highlighting tag assignment for table view rows so that each row can have different tags
  • Drawing
    • Updated edge routing in hierarchical layout to improve the routing of intergraph edges
  • Timeline
    • Improved visualization of consecutive data points

Graph Database Browser

  • Added default result limit for RDF queries
  • Improved user interface for signing in

Business Process

  • Improved naming of processes automatically created through signal events
  • Improved look and feel of subprocesses with intermediary events
  • Reduced number of notification e-mails
  • Improved user interface for signing in

System Requirements

  • Added support for Apple macOS 11.5
  • Added support for Microsoft Windows Server 2019
  • Added support for Oracle Java 15
  • Added support for Oracle Linux 8.4
  • Added support for the following applications servers:
    • Eclipse Jetty 10
    • Red Hat WildFly 21
  • Added support for the following databases:
    • JanusGraph 0.5
    • Neo4j 4.3
    • OrientDB 3.2
  • Dropped support for Apple macOS 10.15
  • Dropped support for Oracle Java 14
  • Dropped support for Oracle Linux 7.6
  • Dropped support for the following applications servers:
    • Eclipse Jetty 9.4.x
    • Red Hat WildFly 11
  • Dropped support for the following databases:
    • JanusGraph 0.4
    • Neo4j 4.1
    • OrientDB 3.1
  • Dropped support for Microsoft Internet Explorer

Fixes

Integrators

  • Fixed closure of SQL result sets after schema extraction
  • Fixed custom RDF query shortcuts for macOS

Views

  • Drawing
    • Fixed rendering of background UI element in the case that the image is undefined

Model-Based Engineering

  • Fixed date in open project version
  • Fixed show only elements with specified stereotypes
  • Fixed No Stereotype setting in Block Definition Diagrams
  • Fixed persistence of relationship coloring by type

Graph Database Browser

  • For connections to Amazon Neptune data sources, added validation for empty Service Region with IAM authentication
  • Improved script for launching instance in Microsoft Azure
  • Fixed missing properties for Gremlin path query results

Business Process

  • Fixed Service Tasks to be visible in inspector view in Modeling and Execution modules
  • Fixed Service Tasks to be searchable in Modeling and Execution modules
  • Improved notifications when an activity gets reassigned
  • Fixed signal events behavior when process instance is completed
  • Fixed redundant element highlighting in tree views when closing active process instance tab
  • Fixed initiated attribute of tasks in process instances
  • Fixed errors when saving special characters in documents HTML editor

Issues

  • Uninstalling or reinstalling Tom Sawyer Perspectives removes all files from the installation directories, even those created after the initial installation. Therefore, we do not recommend storing any additional files in the installation directories.
  • There is an issue using the default configuration for the https protocol with the Neo4j integrator. Contact Support for assistance in using this configuration.
  • Use of OpenJDK 11 can cause issues with multiline, vertical, and diagonal edge labels in desktop applications on Windows. This issue does not occur when Tom Sawyer Perspectives is used with OpenJDK 15.