Release Notes

Summary of enhancements, fixes, and open issues.
lac42
The
CA Live API Creator
Release Notes summarizes new features, enhancements, release comparison, known issues, and other important information specific to this release.
4
Install and Migrate to
CA Live API Creator
5.0
CA Live API Creator
5.0 requires that you install a 5.x license. If you are an existing CA customer and you are running version 4.x or earlier, you can obtain a
CA Live API Creator
5.x license by contacting CA Support.
This release includes architectural improvements to the installation and deployment of
CA Live API Creator
. You now migrate to the latest version of
CA Live API Creator
using the migration service.
For more information:
New Features and Enhancements
This section outlines the new marquee features and enhancements in
CA Live API Creator
5.0.
For feature and enhancement descriptions for previous releases, use the
Versions
drop-down.
Simplified DevOps and Team Development
This release includes architectural improvements that allows API Server to now store API metadata (including resources, logic, security, filters, and Data Explorer settings) in an in-memory Derby database. API Server synchronizes this in-memory Derby database to the admin repository that is on the local file system. API Server no longer stores the API definition in a shared admin database.
From the DevOps processes and lifecycle perspective, API developers can now deploy APIs across environments using the following options:
  • Pass a repository URL location into the
    LAC_REPOSITORY_CONFIGURATION_URL
    environment variable when they start API Server.
  • Bundle other files, such as the admin repository, into the WAR file before installing the WAR file.
The new admin repository and the granular file directory structure provide API developers an enhanced user experience working in a team setting. API developers can now:
  • Configure their API directories to source control.
  • Easily perform code review and code merges.
API Server creates archives, or backups, of the changes to your API definitions.
For more information:
Authentication Token Database
You can persist the authentication tokens that
CA Live API Creator
generates for API users by creating a database for the authentication tokens. In cluster configurations,
CA Live API Creator
authenticates API users across the nodes in the cluster by sharing the authentication tokens that it stores in this database. With a database for persisting your authentication tokens, you can start and restart API Server without requiring authentication.
For more information about when you must to create this database and how to create the database, see Create a Database for your Authentication Tokens.
Extensible Data Source Framework
You can now connect your API to SQL and NoSQL databases that
CA Live API Creator
does not connect to out of the box. Connect by creating your own data source provider.
The extensible data source framework includes interfaces where you can create functions. Functions establish database connectivity, discover the database objects, implement the required operations, and expose the operations in
CA Live API Creator
.
For more information about this framework, see Manage Data Source Providers.
MongoDB Data Source Provider
You can now connect to MongoDB data sources using the MongoDB data source provider. This data source provider is created using the extensible data source framework.
Best Practice:
Use the MongoDB data source provider instead of MongoDB resource types to update MongoDB databases.
For more information about how to install the MongoDB Java driver (the MongoDB driver), how to connect to MongoDB databases, and how to access the data from MongoDB data sources, see MongoDB Data Source.
HTTP Authentication Provider
You can now define custom HTTP authentication providers and specify them as the authentication provider for your API. You define the code for these authentication providers to authenticate your API requests without an authentication token. They give you the flexibility to define your code to use a third-party authentication provider, such as OAuth, JSON Web Token (JWT), Single Sign-On (SSO) and more authentication logic in the authentication provider.
For more information about how to authenticate API users using an HTTP authentication provider, see Authenticate API Users using the HTTP Authentication Provider.
Data Explorer Enhancements
The following enhancements have been made to Data Explorer:
  • You can now set the maximum number of columns to display data in the Form. In this way you can define the ideal form display for your back-office data maintenance page in Data Explorer.
  • You can now start Data Explorer in insert mode within the Form using a URL parameter. You can access Data Explorer from URLs that are embedded within emails that are sent from an event rule or used by external applications.
  • The
    Populate UserName
    and
    Populate Auth Token
    options in the Link Generator of Data Explorer have been deprecated. The removal of the user name and the authentication token from the URL ensures secure access to Data Explorer and requires that API users log in. You can still access Data Explorer from links that are generated from previous versions of Data Explorer.
For more information about Data Explorer, see Data Explorer.
User Experience Enhancements
This release includes the following user experience enhancements.
Simplified Configuration of Authentication Providers
In previous versions of
CA Live API Creator
, custom authentication providers were plug-in JavaScript modules that you included in JavaScript libraries and added to API Server. You now add and manage authentication providers (the authentication providers that use the
Default Auth Provider
, the
JavaScript Auth Provider
, and the
HTTP Auth Provider
authentication methods) from the
Auth Providers
tab in API Creator.
For more information:
Simplified Integration with CA API Gateway using the HTTP Authentication Provider
You can now integrate with the Gateway using the HTTP authentication provider instead of using the API Gateway - CA Live API Creator Integration solution kit.
For more information about this integration method, see Integrate with CA API Gateway.
Logging Enhancements
The following enhancements have been added to
CA Live API Creator
for external logging to improve log monitoring and maintainability.
Logger Extension
You can now output logs that timer and listener execution generate by adding logger entries for the
laclistenerlogger
and
lactimerlogger
loggers in your logging configuration file. Timer and listener logs provides administrators a centralized output location to analyze and monitor all logs that
CA Live API Creator
generates. These timer and listener logs replace the listener and timer logs that API Creator previously captured.
For more information about how to configure the logging configuration file to add entries for timer and listener logs, see External Logging.
Logging System Property Name Change
You now set the absolute path of the logging configuration file when you start API Server by adding the
LAC_LOGGING_CONFIG_FILE
option. This option replaces the
java.util.logging.config.file
and
lac.logging.config.file
options.
For more information about this option and other options that you can add when you start API Server, see API Server Startup Options.
Log Details Show Rules and SQL Query Execution Time
The logs now include rule execution and SQL query execution time details. The log replaces the details that API Creator previously captured on the
Metrics
page.
For more information about the log, see View Logging Information.
Log Details Show TeamSpaces
The logs now include TeamSpace details. System administrators can easily identify and search for logs for a specific TeamSpace.
For more information about the log, see View Logging Information.
Learning Center Updates
The Marketing API and Marketing-Accounting API samples have been renamed to Conference Offers and Conference Management. These API samples illustrate the
Publish and subscribe to messages
use case. These API samples now include multi-database logic and use the extended properties of a resource.
For more information about these API samples, see Conference Offers and Management API Samples.
Miscellaneous
This release includes the following miscellaneous enhancements.
Extended Properties for Resources
You can now extend the logic for a resource by defining extended properties in the form of a JSON. In the extended properties, you provide options on how you want
CA Live API Creator
to handle incoming requests for the resource.
For more information about how to define extended properties for a resource and how to access them from your code, see Manage the Extended Properties for Resources.
Cluster Synchronization for Timers and Messaging
If you are configuring
CA Live API Creator
to run as a cluster, and you plan to use timers and listeners, you can now configure your timers or listeners to run as a single node or across all nodes in the cluster. The cluster synchronization that
CA Live API Creator
manages using Hazelcast improves the reliability of timers and messaging as you scale out your
CA Live API Creator
configuration.
For more information about how to configure Hazelcast for cluster synchronization strategy, see Configure Live API Creator to Run as a Cluster.
Microsoft SQL Server as Managed Databases
You can now use Microsoft SQL Server as a managed database. This expands the list of databases you can use for the
App-first
approach to creating APIs. With a managed data server and a data source for a managed database, you can add, update, and delete tables, fields, and relationships in the data source.
For more information:
Call Functions by way of POST
You can now pass a payload into a function by calling the function by way of a POST operation.
For more information about how to call functions using POST, see Manage Functions.
New Methods for Retrieving TeamSpace and API Information
You can run environment-specific property files using the following new methods that are included with
CA Live API Creator
:
  • getTeamSpaceInfo()
  • getAPIInfo()
  • getExtendedPropertiesFor()
For more information about these methods:
Error Event Handlers for Customizing Error Response
You can now intercept and customize error responses before API Server sends the response back to the client using error event handlers.
For more information about how to create error event handlers, see Event Handlers.
Access Environment-Specific Variables From Java System Properties File
You can now access environment-specific variables from Java system properties (the
.properties
file) in your JavaScript code in API Creator.
For more information:
Microsoft JDBC Driver for SQL Server is Included
CA Live API Creator
now includes the Microsoft JDBC driver for SQL Server. No additional steps are required to install this JDBC driver.
For more information about the Microsoft SQL Server data source, see Microsoft SQL Server Data Source.
Release Comparison
This table compares the key features in recent releases of
CA Live API Creator
:
Key Features
5.0
4.1
4.0
3.2
3.1
3.0
API Creation
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
no
Database & Data Source Support
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
no
yes
yes
yes
yes
yes
no
yes
yes
yes
yes
no
no
yes
yes
yes
yes
no
no
yes
yes
yes
no
no
no
yes
no
no
no
no
no
yes
no
no
no
no
no
Messaging Capabilities
yes
yes
yes
no
no
no
yes
yes
no
no
no
no
Time-Based Triggers
yes
yes
yes
no
no
no
yes
yes
yes
no
no
no
Developer Productivity
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
no
yes
yes
yes
yes
yes
yes
yes
yes
yes
yes
no
no
Server Configuration & Management
yes
yes
no
no
no
no
* Data source that uses a data source provider
Fixed Issues
The following are issues that are fixed in this release:
  • DE352014: Error when importing an API into
    CA Live API Creator
    4.1 that you exported from
    CA Live API Creator
    4.0 that includes an active and an inactive derivation rule that reference the same attribute.
  • DE366947: Error calling Oracle procedure with Object as Input.
  • DE367411: Calling POST on JavaScript resource does not trigger response event.
  • DE326299: Cache reconciliation issue during a transaction update for a row.
  • DE361266: Upgrade from
    CA Live API Creator
    4.0 or older to
    CA Live API Creator
    4.1 fails when user has created more than one logic library with the same library name.
  • DE354082: When defining an MQTT connection with a username and password parameter, the MQTT connection throws a cast exception error.
  • DE372806: The
    SysUtility.getProcedure()
    method does not commit changes for inserts or updates.
  • DE377451: Updates to a JavaScript library without selecting "Used" occasionally does not save updates.
  • DE374520: When you use save your code, and then save your library, your libraries might get deleted.
  • DE370356: Resource attribute with alias shows up with attribute name in Swagger document.
  • DE368075: Combined resource with inconsistent payload returned.
  • DE361865: Generating links to APIs in Data Explorer does not work consistently.
  • DE360673: You cannot import APIs from
    CA Live API Creator
    version 3.1 using the Admin CLI,
    lacadmin
    (or the alias
    liveapicreatoradmin
    ).
  • DE351680:
    CA Live API Creator
    can mishandle FreeSQL resources that you define with query parameters to return more data from the database.
  • DE339109: Code completion does not work for the
    row
    variable when editing a row event for a resource.
  • DE348535: If your API includes Camel-based listeners or connection parameters that have the same name but are different listener types and you import your API, API Creator does not import the parameters correctly.
  • DE370622: Swagger document for resources with alias defined is showing the primary key name instead of the alias.
  • DE381263: Encoding/decoding issue with the
    SysUtility.restPost()
    method and the
    SysUtility.restPut()
    method.
Known Issues
The following are known issues in this release. Where available, work-arounds are provided:
  • DE379064:
    CA Live API Creator
    includes the encrypted data source password in the export API for those APIs that are connected to data sources that use the extensible data source framework (for example, the MongoDB data source) instead of salting them. If you have installed in another environment where you have not changed the encryption key, TeamSpace users can still use this password.
    As a workaround, update and test the password for those data sources that use the extensible data source framework after your deploy your API.
    For more information:
  • DE348465: PostgreSQL functions are not exposed as REST endpoints in
    CA Live API Creator
    . This is a PostgreSQL JDBC driver limitation. The driver exposes inadequate information about the parameter datatypes to
    CA Live API Creator
    .
  • DE381866: You cannot view the authentication tokens that are created for your API when you are using the Internet Explorer 11 web browser. The workaround is to view them using Chrome or another web browser.
    For more information about the JDK versions that
    CA Live API Creator
    supports, see Installation Requirements and Supported Platforms.
  • DE348196: The debugger does not work properly when you run it on Java SE Development Kit (JDK) 9. Run the debugger using JDK 8.
  • DE392245: Variables showing under the Special Variables section of the debugger are showing up as empty. The workaround is to use the Evaluate Scope tab in the debugger to evaluate the variables that are not showing up.
  • DE382731: When
    CA Live API Creator
    generates a log statement for a custom endpoint, the log shows the authentication token as
    CORS_Response Key:NA CORS_Response -2
    . These requests are normal unauthenticated requests and not CORS requests.
  • DE396530: The CSV driver that
    CA Live API Creator
    supports cannot parse and read CSV files using the delimited(|) delimiter type.