In this article
You can find below the major changes and improvements of the S19.0.x version.
This article only highlights the most important changes.
If you need further information, please consult the full changelog and/or reference documentation.
Prerequisites
Some technologies that were previously shipped with the Designer have been removed in this version, and shipped instead in their templates.
Please update the templates you're using to the latest available version.
Salesforce and SAP technologies are now shipped with their plugins.
Please update your Salesforce and SAP addons if you are using it.
What's new in S19.0.20?
Bug fixes
This version includes Stambia DI Runtime S17.6.8 which fixes an issue with the scheduler.
Note that that Designer has not evolved in this version, it only includes a new Runtime version.
You can consult Designer changelog and Runtime changelog for further information.
What's new in S19.0.19?
New command lines
A bunch of new commands lines has been added to generate packages, deliveries, extract information from packages, and more!
Refer to the following article for further information and detailed examples.
Web services invocation: support customizing the temporary exchange file
When invoking a web service, a temporary exchange file is created inside the temporary folder of the Runtime.
A new attribute has been added to customize the file path of this temporary file, in case you want to take care of parallelization.
This allows to fully customize the path using session variables for instance, to be able to generate temporary files with dynamic names.
This new attribute can be found on each operation node, under the "Exchange" tab:
For instance, using variables to generate the file in Runtime's temporary folder, with the current executing session id in the file name:
For further information about session variables, refer to this article.
REST Web services invocation: support sending input parameters without encoding them
When invoking a REST Web Service, you might encounter some situations where you need to define URL Parameters which values should be sent without being URL encoded.
Runtime has been updated to support an additional type of parameter which has been called "http:urlReplacementNotEncoded".
When designing your web service, simply use this binding type to define parameters which values should not be encoded automatically by the Runtime before being sent.
Prerequisites:
- Stambia DI Runtime S17.6.7 or higher
SQL File Export Process Action: ability to enclose all fields with string delimiter
When using SQL File Export Process Action, it is now possible to force the action to enclose all fields with the defined string delimiter, instead of only fields which contain characters.
A new parameter named "SQL Exp Enclose All Fields" has been added for this.
Here is an example of result with all fields enclosed:
Prerequisites:
- Stambia DI Runtime S17.6.7 or higher
Ability to generate automatically truncate table statement through an action and XPath expression
A new action has been added on database tables to automatically generate corresponding truncate table statement in SQL Explorer.
The corresponding XPath function has also been added to be able to generate truncate statement for a given table automatically in Processes.
The new XPath function is used for instance in database replicator in recent generic templates.
MySQL Metadata reverse: ability reverse Alternative Keys and Indexes
MySQL Metadata reverse is now also retrieving alternate keys (unique constraints) and Indexes.
File Metadata and wizard: add Cp1252 Charset to the list
Cp1252 charset has been added on File Metadata's charset example list which is available in the wizard and in the attributes.
Bug fixes
This version fixes a list of issues that can be found on the full changelog.
Do not hesitate to take a look at it to have an idea of what have been fixed.
What's new in S19.0.18?
Ability to connect to Runtimes through HTTP
Runtime now offering possibility to connect through HTTP in addition to RMI, Designer has been updated to support this new protocol.
When HTTP client connections are enabled on a Runtime, simply specify hostname and port accordingly, as described in following article.
Ability to define SQL queries to be executed at connection initialization
When working with databases, you may need to execute particular queries each time a connection is initialized, such as defining options, changing current working databases, ...
There is now the possibility to define such queries directly in database Metadata through a new dedicated node, in which you can define queries.
Those queries will then be executed each time a connection is initialized for this Metadata.
Refer to following article for further information.
User defined Functions improvements
When working with User Defined Functions, you have now the possibility to use in function implementation other User Defined Functions from other ser Defined Functions Metadata.
Doing this will simply requires defining the list of required functions libraries on root node, as explained in the following article.
Usability improvements
Small usability improvements have been included in this version, such as clearer generation error messages in some situations, and ability to rename Process Parameters through F2 shortcut.
Moreover, Process Parameters now have a default name at creation for them to be more visible.
Bug fixes
This version fixes a list of issues that can be found on the full changelog.
Do not hesitate to take a look at it to have an idea of what have been fixed.
What's new in S19.0.17?
Bug fixes
This version fixes an issue introduced in the previous version.
When performing a build operation in a Process Editor (such as 'Prepare', 'Build/Delivery',...), the operation was unexpectedly performed on all the Mappings / Processes selected in Project Explorer instead of the current Process.
The changelog can be found here.
What's new in S19.0.16?
Minor improvements
Process parameters created with a default name
When creating a Process parameter, newly created parameter now has a default name, making it more visible and easier to configure while developing.
Bug fixes
This version fixes a list of issues that can be found on the full changelog.
Do not hesitate to take a look at it to have an idea of what have been fixed.
Download disabled
The download of this version has been disabled because an issue has been found in.
This issue appears only in this version and has been fixed in later one (S19.0.17).
When performing a build operation in a Process Editor (such as 'Prepare', 'Build/Delivery',...), the operation was unexpectedly performed on all the Mappings / Processes selected in Project Explorer instead of the current Process.
What's new in S19.0.15?
Minor improvements
This version comes with a list of minor improvements that can be found on the full changelog.
Do not hesitate to take a look at it to have an idea of what have changed.
Bug fixes
This version fixes a list of issues that can be found on the full changelog.
Do not hesitate to take a look at it to have an idea of what have been fixed.
What's new in S19.0.14?
Minor improvements
This version comes with a list of minor improvements that can be found on the full changelog.
Do not hesitate to take a look at it to have an idea of what have changed.
Bug fixes
This version fixes a list of issues that can be found on the full changelog.
Do not hesitate to take a look at it to have an idea of what have been fixed.
What's new in S19.0.13?
Mapper improved
The Mapper introduced in S19.0.11 has been improved and is now complete.
We now consider it has stable and usable so the beta mention has been removed and it is now fully released.
Do not hesitate if you have other ideas and feedback to improve it.
Refer to this article for further information.
Bug fixes
This version fixes a list of issues that can be found on the full changelog.
Do not hesitate to take a look at it to have an idea of what have been fixed.
What's new in S19.0.12?
Ability to connect to Runtimes which are secured through TLS.
S17.6.0 Runtime version and higher offers the possibility to secure the RMI connection through TLS, as explained in this article.
The Designer has been updated to support connecting to Runtimes on which this is enabled.
The little icon on the Runtime view indicates that the connection is secured through TLS.
Oracle technology update
The Oracle technology has been updated for the PURGE keyword to be added automatically on drop table statements.
All the Templates and developments which generate drop table statements through the xpath expressions available on the Oracle Metadata will now use this keyword.
This will most notably be used to avoid temporary tables to be retained in the recycle bin and unexpectedly use disk storage.
Using the PURGE keyword to avoid that is now the default behavior when generating drop table statements.
If required, a new parameter has been added on schema nodes to disable this new behavior.
On a schema click on the advanced tab and check the following parameter: "Enable Recycle Bin" if you don't want the PURGE keyword to be added.
Usability improvements
Metadata creation wizard filter enhanced
The text filter which is available on the Metadata creation wizard now supports also filtering on the left categories.
This offers the possibility to display filter and display only technologies categorized as 'rdbms', for instance.
Execute button available from everywhere
The execute toolbar button is now enabled from every view as soon as a Mapping or Process editor is opened.
When working on a Mapping, for instance, and being in the Expression Editor to make some modification on an expression, it is now possible to use the button without having to click back in the Mapping.
This allows to execute the current Mapping or Process opened in the editor even if the focus is on another View.
New shortcuts to prepare and execute
Two new shortcuts have been added to perform a "Prepare" or "Execute operation on the current Mapping or Process.
They can be used from the Project Explorer (click on Mapping or Process and press the shortcut) or from any other view when a Mapping or Process in opened in an editor.
The keys are the following:
- Prepare: CTRL+ALT+P
- Execute: CTRL+ALT+E
Bug fixes
This version fixes a list of issues that can be found on the full changelog.
Do not hesitate to take a look at it to have an idea of what have been fixed.
What's new in S19.0.11?
New utility in Mappings to ease the definition of expressions
Mappings have a fresh new utility which gives another way to define mapping expressions.
It opens when double clicking on a field or when right clicking on a datastore or field and choosing "Open Mapper"
This feature is, for now, included as a "beta" version and may still require some tweaking, but it should already be fully functional.
Does not hesitate to give us your feedback about it, if you find any issue on it, or if you have ideas to enhance it.
Ability to chain multiple stages on different connections
Chaining multiple stages from different connections was not possible, and not authorized in Mappings.
This restriction was added because stages are temporary places where the expressions used to be on staging area location only.
Which means that when mapping a field from a stage which uses a connection A to another stages which uses a connection B, we have no way to determine the datatypes used to collect data.
When the sage fields of the two connections are on staging area, the Mapping shows error icons as it is not authorized
We unlocked this restriction in this version as it is possible from the S19.0.0 version to change the execution location of stages to source and to specify custom datatypes on its fields.
There is therefore now some situations where chaining stages is possible and authorized, as demonstrated below:
Case1:
When the source stage field is on staging area execution location (default location), the target field, which is on another stage on another connection, MUST be set on source execution location.
As the source field is on staging area we do not have information about the datatype that will be used for it, that's why it requires the target field to be set on source with a datatype defined.
If these conditions are met, the Mapping will authorize the expressions.
The Mapping now authorize this situation, as the fields from connection B are set on source and datatype are defined
Case 2:
When the source stage field is set on source execution location, with a custom datatype defined.
In this case, the target field, which is on another stage on another connection, will have information about the datatype of its source, so this can work both if it is set on source execution location or target execution location.
The Mapping now authorize this situation, as the fields from connection A are set on on source and datatype defined
This limitation was only on stages objects, which are temporary places automatically generated at execution, unlike usual datastores which already have all the datatypes and information required.
Ability to upgrade Mappings to the last model version
The internal structure of Mappings evolves silently between the versions to support the new Mapping features, to improve its cache indexation, and to make it more efficient.
For now, the Mappings were automatically updated to those new model versions when saving a Mapping.
This behavior will keep the same and we'll still update the Mapping structure to the model version used by the Designer saving it.
We however now added the possibility to upgrade Mappings without needing to save them manually.
As when upgrading from Stambia Designer S17 to Stambia Designer S18 / S19, as soon as the model version of a Mapping is prior to the current version, the Designer will now add a little warning on it to inform the user that it can be upgraded.
There are two ways two upgrade Mappings: through a right click on the Mapping itself, or on a folder / Project containing Mappings, and through a command line utility.
Refer to this article that explains this point more in details.
Cache and Build Mappings performance improvements
We've improved the performances of the Cache and Build Mappings operations in the Designer.
The cache operations which are performed when, for instance, importing new projects, new developments, or using the rebuild cache command, should now be quicker
Similarly, the "Build Mappings' operation which are performed in the background when cleaning projects or when importing projects, should now be quicker.
Cache and Build Mappings memory improvements
The memory management of Cache and Build Mappings operations has been improved to be more efficient, use less memory, and avoid out of memory errors.
We've fixed several memory leak issues on the subject and enhance the system to manager the memory in a more efficient way.
You should notice less memory usage when performing large rebuild cache and Mappings builds operations.
License Manager Window improvements
The Designer's License Manager Window will now also display the Designer and JVM version in the list of licenses of the current server:
Note that the copy to clipboard button also includes the two new columns.
That information can help to find which versions are used by the other users of the company, which offers the possibility to supervise the upgrades of versions for instance.
Notes:
- This requires using the license server 1.0.8 or higher, which supports returning this kind of information.
- The Designer version will be returned only for Designer S19.0.11 and higher. For prior versions, "unknown" will be listed.
Bug fixes
Generating deliveries using User Defined Functions with builddelivery.bat / builddelivery.sh
When generating packages containing developments that uses User Defined Functions, there was an issue that prevented it to be used with builddelivery.bat / builddelivery.sh scripts.
When the generated packages were used with these scripts utilities to generate the delivery, the generated code in the delivery was incorrect for the User Defined Functions.
We've fixed this issue and newly generated packages will now be able to be built correctly with those scripts when containing User Defined Functions.
Benefiting of this fix requires to:
- Re-build the packages with the Stambia DI Designer S19.0.11 version.
- Generate the deliveries with those newly generated packages on the Stambia DI Runtime S17.5.7 or higher, as the Runtime as also been updated to fix the issue.
Note that this issue was not impacting Analytics which is building deliveries with another system. It impacted only the command line scripts.
Other fixes
This version fixes a list of issues that can be found on the full changelog.
Do not hesitate to take a look at it to have an idea of what have been fixed.
What's new in S19.0.10?
Bug fixes
This version fixes a list of issues that can be found on the full changelog.
Do not hesitate to take a look at it to have an idea of what have been fixed.
What's new in S19.0.9?
Minor enhancements
This version comes with a minor enhancement on the context menu in Project Explorer.
The "Build/Execute > Build > Advanced" menu is now available on project, folder, and multi-selection.
This allows, for instance, to build all the Mappings which are not built on a Project.
It also features minor performance improvements on Mapping build and move of Metadata nodes.
The complete list of changes can be found on the full changelog.
Bug fixes
Reverse of foreign keys
Several issues about the reverse of foreign keys have been fixed.
When reversing a table that has a foreign key, the Designer will automatically reverse the table on which the foreign key is pointing, if it does not exist yet on the Metadata.
This feature was not working on previous versions, which did not reverse the dependencies, and is fixed now.
There are also fixes on the reverse of foreign keys in Sub-Metadata which was not working correctly.
Build and Generation issues
Several issues on build and generation have been fixed.
The complete list can be found on the full changelog
Other fixes
This version also fixes a list of other issues that can be found on the full changelog.
Do not hesitate to take a look at it to have an idea of what have been fixed.
What's new in S19.0.8?
Documentation display
The documentation integrated in Templates, Metadata, Processes, and Actions will now be displayed through a new dedicated information icon.
This will help to see at a glance the documentation available when using the Designer!
In previous versions, the documentation was already available but by hovering parameters names, which was not always intuitive.
This enhancement should help to find more easily how the parameters are working while developing.
Notes:
- The icon located next to the Template's name displays common information about the Template itself, while the icon next to parameters displays information about how to use them.
- Simply hover the icon to see the documentation.
This also works for any Process and parameter having a description.
If you want to document your Processes tools, for instance, simply add a description and it will be displayed in the properties.
Example on the Automation tool shipped with the generic Templates:
Do not hesitate to send us a message if some of the documentation is not clear enough or if you want to know how is working a parameter not documented yet.
Required Models enhancements
The new 'Required Models' feature introduced in the previous version has ben enhanced.
It now supports opening the selected Model (Mapping / Process / Template) by a double click on it.
And also to find it back in the Project explorer with a new button:
Preference for the Mapping's Map / Join / Exists popup
A new preference has been added to change how is displayed the Map / Join / Exist popup when working with Mappings.
This option can be activated when having issues with the popup not appearing or not working correctly when using touchpads for instance.
It is available under Window > Preferences > Stambia > Mapping > "Map or Join in Popup Control".
Minor enhancements
This version also comes with other minor enhancements that can be found on the full changelog.
Do not hesitate to take a look at it to have an idea of what have changed.
Bug fixes
This version fixes a list of issues that can be found on the full changelog.
It contains most notably fixes for delivery and package generation.
Do not hesitate to take a look at it to have an idea of what have been fixed.
What's new in S19.0.7?
Display required and missing dependencies
The Designer now offers the possibility, for a given item (Project, Folder, Mapping, ...) to list all its required dependencies, with information about the missing ones.
This can help users to find what is required, what is missing, and the potential place where it can be found.
Refer to this article for further information.
Ability to export license usage from the License Manager to clipboard
It is now possible to extract the licenses usage that is displayed from the License Manager to the clipboard.
It is copied in semi-colon delimited format to offer the possibility to paste it in a file for analyzing it.
Refer to this article for further information.
Bug fixes
This version fixes a list of issues that can be found on the full changelog.
Do not hesitate to take a look at it to have an idea of what have been fixed.
What's new in S19.0.6?
New InterSystems Caché Metadata
The InterSystems Caché technology is now shipped with the default Designer installation.
It can be created as any other technology:
Refer to this article for more information.
Minor enhancements
This version comes with a list of minor enhancements that can be found on the full changelog.
Do not hesitate to take a look at it to have an idea of what have changed.
Bug fixes
This version fixes a list of issues that can be found on the full changelog.
Do not hesitate to take a look at it to have an idea of what have been fixed.
What's new in S19.0.5?
Bug fixes
This version fixes a list of issues that can be found on the full changelog.
Do not hesitate to take a look at it to have an idea of what have been fixed.
What's new in S19.0.4?
Bug fixes
This version fixes a generation issue that prevented to build deliveries from packages generated on versions prior to S19.
The changelog can be found here.
What's new in S19.0.3?
Bug fixes
This version fixes a list of issues that can be found on the full changelog.
Do not hesitate to take a look at it to have an idea of what have been fixed.
What's new in S19.0.2?
Bug fixes
This version fixes a list of issues that can be found on the full changelog.
Do not hesitate to take a look at it to have an idea of what have been fixed.
What's new in S19.0.1?
Bug fixes
This version fixes a list of issues that can be found on the full changelog.
Do not hesitate to take a look at it to have an idea of what have been fixed.
What's new in S19.0.0?
User Defined Functions
The much-awaited User Defined Functions feature finally shows up in this version!
You can jump on it right now and start exploring its usage by taking a look at this dedicated article.
The functions are defined in the new dedicated Metadata which looks like this:
The functions can then be accessed easily from the Expression Editor when working on your Mappings, using completion or the User Defined Functions popup window.
Used Defined Functions are supported only in Mappings
Stage Datatypes
The stage feature is evolving in this version, offering to users the possibility to specify the datatypes of the stage fields.
When using stages in Mappings, the datatypes of the fields to create are by default automatically calculated based on the source and target.
This is sufficient and works in most of the cases, but sometimes the chosen datatype might not reflect data functionally, or is not optimized for it.
This is why we introduced this feature, that allows the user to define manually the datatype to be used on the stage fields, if needed.
This moreover unlock the possibility to use source expressions on stage field.
More information and examples can be found in this article.
Exists / Not Exists operator
This version introduces the possibility to perform Exists / Not Exists operations natively in a Mapping to filter datasets.
A new operator has been added for the occasion, which is listed in the menu appearing when drag and dropping a field on a datastore for the first time.
Selecting the Exists / Not Exists operator will link the dataset with a new icon and look:
We suggest to have a look at this article that gives more details if you want to try this new feature.
New Impact Analysis utility
A new Impact Analysis utility is now available and integrated with the existing tools in the Designer.
It allows to see in one click how a Metadata is used in the current workspace, what are the sources loading it, what are its targets, with quick access to the Mappings involved.
It can be access from a right click menu on a Metadata Node, or from the Impact View
Example of Impact Analysis
More information and examples can be found in this article.
New Package Building utility
The Designer now supports defining 'Launch Package Configurations, which allows to specify and store a list of Processes to build into a Package.
This offers the possibility to build with one click a list of Processes into one unique Package instead of having to do it manually on each one.
You can moreover save the configuration to be able to launch again the build in the future, and also to share it on versioning systems for instance for everyone to profit of the Launch Package Configuration.
It can be accessed from the Build/Execute > Build > Package Configuration... menu that is in the Designer's top menu but also in the right click context menu in Mappings and Processes.
Example of Package Configuration:
More information and examples can be found in this article.
Build, cache, and generation improvements
The whole generation and cache system has been improved and reworked to be more efficient and faster.
You should therefore notice better performances when building large packages and deliveries, and less re-build of Mappings by the Designer.
Huge improvements have been done behind the scenes in the generation system to accomplish this and we hope this will help you to gain time with big developments!
Web Services Metadata improvements
New REST Wizard Helper
The Web Services Metadata features a new powerful wizard that helps to configure, test, and reverse REST Web Services.
This wizard can be used to specify the input parameters, headers, and security mechanisms (such as OAuth / OAuth2 or Basic Authorization), and then perform a call with test values to retrieve the response.
The wizard will next parse the input and output and let the user to decide which nodes to reverse or not in the Metadata.
It can be accessed from a right click > Actions > Reverse REST Web Service on the operation node.
Here is an example of a common Web Service invocation with JSON Input and Output:
And then the final reverse window with the reverse choice:
More information and examples can be found in this article.
New OAuth2 Wizard
An OAuth2 wizard is now available in the Web Services Metadata.
It can be used to specify the OAuth2 information and generate a token that can be used during Web Services invocations.
The wizard can be launch through a right click > Actions > Launch OAuth2 security wizard on the root Web Services Metadata node.
Here is an overview of the wizard:
More information and examples can be found in this article.
Usability improvements
Available technologies
The Metadata creation wizard now informs about the technologies available in the current Designer / Workspace.
Technologies that are unavailable will be greyed out, and users will not be able to create Metadata from them:
Technologies will be automatically enabled when they are detected in the current Designer / Workspace.
Specific technologies are shipped with their templates and plugins, so make sure to install all the requirements for the ones you are using (templates, plugins, ...) to enable them.
Syntax coloring and bloc completion in Expression Editor
The Expression Editor features its new dress, in which you can notice some colors!
Expressions containing syntaxes such as xpath, scripting, binding variables, or xsl are now colored, offering a better visibility and understanding.
This comes along with new completions on syntaxes blocs to help writing these kind of expressions faster (typing the %x{ bloc will for instance automatically add the ending }x% bloc).
Colors can be customized from the Preferences (Window > Preferences > Stambia > Expression Editor), and syntax coloring can be disabled if needed by clicking on the following button:
Link Selection in Project Explorer
A new button to find back the selected object in the Project Explorer has been added:
As the 'Link with Editor' button next to it, it allows to focus in the Project Explorer on the select item, with the difference that the new one performs a one-shot link.
This button comes with its dedicated keyboard shortcut: CTRL+ALT+L
Open Metadata Context Menu
A right click context menu has been added to open automatically the Metadata of the selected object.
It is available in Mappings:
And in Processes:
Columns / fields re-ordering by drag and drop
In Metadata re-ordering the fields is now as simple as a drag and drop.
Moving them will update the position attribute of the fields accordingly:
New arrange all alternative
A new arrange all alternative is available in Mappings to re-arrange all the models automatically: Arrange All (Horizontal layout)
This alternative re-arrange the models in another way, focused on a horizontal placement.
Datastore layers
In Mapping, hierarchical datastores nodes such as hierarchical files, XML files or JSON files can now be displayed in 'Layers'.
A Layer is a view that allows to focus only on one level element of the hierarchical datastore while working in a Mapping, masking the others to be able to concentrate one at a time.
To create a layer on a node, simply click on the desired level, and then on the layer button as below:
You'll then be able to select it in the Layers list:
Finally, the hierarchical datastore will be filtered to focus only on the selected Layer:
More information and examples can be found in this article.
Runtime Metadata
A new Metadata is available in the creation wizard: Runtimes
This dedicated Metadata offers the possibility to define Stambia Runtimes.
- They can be used to fill the parameters of an Execute Delivery Process action.
- They are also added automatically to the Designer's Runtime View list
Example of Metadata:
Example of usage on an Execute Delivery Process action:
Example of usage in the Designer's Runtime View list
More information and examples can be found in this article.
Preference for the internal temporary built objects
The temporary folder used by the Designer to store temporary work files while building / preparing Mappings or Processes can now be customized through a workspace preference.
This offers the possibility to a different folder for each workspace, and so to perform multiple builds / prepares at the same time when having multiple instances of the same Designer started.
The preference is available under Window > Preferences > Stambia > Runtime > Temporary Generation Folder
Bug fixes
As usual, this version also comes with bug fixes that can be found on the full changelog.
Do not hesitate to take a look at it to have an idea of what have been fixed.