What's new in hale studio 3.3.2?

For a full list of changes, please check out the changelog on GitHub

The majority of the new features and improvements were made possible through our contracts with more than 30 customers. We'd like to thank you all for your support!

New features

Improved hale connect integration

This release of hale studio improves the integration with the online collaboration platform hale connect in a couple of ways. Firstly, it is now possible to select which organisation should own an uploaded transformation project for cases where the currently logged-in user is member of more than one organisation. Furthermore, hale studio now supports a relogin with same or different credentials without having to clear the credentials stored in preferences.

Enhanced CRS selection dialog

When loading source data, the user is prompted to provide the CRS of the contained coordinates. hale studio now facilitates this by providing the content of the srsName attribute (in case of a GML source) or the WKT definition found in the projection file (.prj) that accompanies a Shape file. This allows the user to select the correct CRS without having to manually look up this information in the source files.

Character set detection for Shapefiles

Importing a schema or source data from a Shapefile requires the user to select the encoding of the Shapefile. In cases where the Shape is accompanied by a Codepage file (.cpg), hale studio can now read the encoding from that file a prefill the character set selection dialog.

Support for CQL functions in filter contexts

(E)CQL doesn't just contain simple operators, but also a large set of functions that can be applied to any operand in any place where hale studio enables the use of such filters:

  • Condition contexts on source schema elements
  • Filters on source and target data table views

Filter functions can be used to build expressions such as strToLowerCase(VALUE) like '%m%'. They also simplify many expressions, e.g. through functions such as IN(val1, val2, ...), which needed an OR chain of comparisons so far, or between(val, low, high) statements. It is even possible to use spatial functions to filter by the spatial relationship - contains(geomA, geomB) will return true when geomAcontains geomB.