What's new in EasyMorph v5.9.1

EasyMorph Desktop and Server version 5.9.1 just landed and as well as the usual bug fixes and minor improvements, this release also includes some significant new features. Let's dive in and explore what's new and improved!

Facets

The most significant addition to EasyMorph Desktop is a new feature we've named "Facets". Facets are a form of advance filtering within the Analysis View in EasyMorph allowing you to filter data, not only by the explicit values in it, but also by automatically derived or configured meta data. In v5.9.1, as well as the existing ability to filter by explicit values (now known as the "Values" facet) we bring you the first 3 of many planned new facets:

Hint: To enter Analysis View, click on the "Maximize" icon in the top right of every table in your EasyMorph workflow, or alternatively, right click on the title of the chart and select "Open in Analysis View".

A new Facets menu has been added to the top left corner of each filter field. Clicking on it shows the available options for defining facets on that field.

Filters Facets menu

As mentioned above, the "Values" Facet allows you to specify filters by selecting one or more value from the data, exactly as filters worked in previous versions of EasyMorph.

Profiler Facet

Because EasyMorph supports having mixed data types within the same column of a data table, the Profiler Facet will allow you to filter on all values of a specific type (i.e. all strings, all numerical values, etc). This can be extremely helpful for identifying where unexpected data quality issues may exist. The Profiler Facet can be used to quickly identify where text appears in a column you thought was purely numeric. Or where you have empty values where there shouldn't be.

Profiler facet

Time Period Facet

Similar to filters on a column containing dates in Excel, the Time Period Facet allows you to filter on the constituent parts of dates and times. These component parts such as years, quarters, months or weeks can then be selected to filter the data. As well as making it much quicker to select a large range of dates, seeing them broken out this way can also be really helpful for spotting anomalous data quality issues. You might not realise a single record contains a typo resulting in an order placed in 3025 when looking at thousands of records. But show a distinct list of all years for which you have data and that one order will stand out a mile.

Time period facet

Threshold Facet

The threshold facet allows you to group values into user defined ranges (e.g. "Below 0", "Between 0 and 10", "Between 10 and 20", etc). Want to group and filter orders based on uneven thresholds? The Threshold Facet is your best friend! Want to see all your large orders over $1,000? Just set it as a threshold!

Threshold facetThreshold facet settings

Clicking on the "Edit thresholds" button allows you to set how many thresholds, their lower limits and how to handle values which match the limits.

Hint: Don't forget, dates and times are normally stored as numeric values (see our recent blog post on Working with dates in EasyMorph) and so you can you can use the Threshold Facet with date and time fields. We'll be improving this Facet to make this even easier in the future.

As with previous (now "Values" facet) filters, all 3 new facets support the "Add as action" functionality which will add one or more actions to the table to apply the same filtering within your workflow. Simply right-click the filter title and select "Add as action".

Add as action

Keep an eye out for more facets coming in future releases including "Text Length", "Regular Expressions", "Match List", "Percentile" and even some visual Facets. We'll also be bringing Facets to CSViewer in the next few weeks.

Analysis View Performance Improvements

Along side implementing Facets, we've also worked on making the Analysis view as performant as possible. When filtering and exploring large datasets containing hundreds of millions of records, EasyMorph is faster than ever. It's now at least as fast as other in-memory tools and leaves many of the industry leading Business Intelligence (BI) tools standing. The supercar became a hypercar!

Improved Search for Actions

Prior to version 5.9.1, searching for actions only returned exact matches to the action name or short description. If you didn't know what the action was called it could sometimes be difficult to find it, especially for those new to EasyMorph.

The first improvement to searching for actions is that the search now considers the extended description for each action as well as taking common synonyms into account. This makes a lot more of your searches return relevant actions.

Additionally, a new experimental option to "Try extended search" has also been added which uses a machine learning algorithm to try and interpret what actions may be closest to your needs. As this feature is experimental, it may provide some strange results some times, so use with caution.

Try extended search

Note: As it is an experimental feature, the extended search can occasionally return unexpected matches. We'll continue to make improvements in future versions.

AI support extended

After a lot of requests on the EasyMorph community, the existing "Ask ChatGPT" action has been renamed "Ask AI" and has been extended to support any Large Language Model (LLM) which provides an OpenAI compatible API. This makes it possible to use EasyMorph with Ollama, OpenLLM and many more 3rd party and locally hosted LLMs.

Ask AI action

When defining a connector, you will now see an option to add an "OpenAI" connector under which there are 2 options: "Chat GPT" and "OpenAI Compatible".

OpenAI connector

On selecting the "OpenAI Compatible" option, you can specify the URL to the server hosting your model(s).

OpenAI compatible connector settings

New and improved functions

This release also sees some new and improved functions for use in expressions. Firstly, two new date related functions "yearquarter()" and "yearweek()" allow you to return a time period formatted as "2025-Q1" or "2025-W5" respectively.

The "replacebetween()" function has had an additional optional parameter added which allows you to replace the nth occurrence of the search. And if you want to replace all of the instances, we've also added a "replacebetweenmnay()" function which does exactly that.

Shared memory incrementing

The Shared memory action has a new command to increment a numerical key-value stored in EasyMorph shared memory. You can also decrement by simply incrementing by a negative number (i.e. setting "Increment by" to -1)

Shared memory action increment

Whilst this seems like a minor improvement and it was possible to do the same in multiple steps (read the shared memory value, increment it, then save it back to shared memory), it resolves an issue where increments could be lost during simultaneous workflow executions.

Most importantly of all, successful incrementing shared memory values lays the foundation for future improvements to metrics on EasyMorph Server Boards. As an example, you could have a board for managing incoming orders which not only displays key sales metrics that refresh in near realtime, but also shows a dataset of pending orders, lets you execute commands and workflows to accept the order or forward it to your manufacturing system, or even raise issues if an order fails data quality checks. You'll be able to use Boards to create simple business systems intrinsically linked to EasyMorphs powerful business system automation capabilities.

EasyMorph Server

The biggest update to EasyMorph server comes to how users are authenticated. The existing identity providers have been entirely reworked, allowing you to configure multiple providers simultaneously so that users can authenticate using different methods. Don't worry, all of the previously supported providers (Active Directory and EasyMorph Server Users) are still supported and we've also added the first of a series of new identity providers. You can access and configure them by clicking on "Settings" on the left of the EasyMorph Server web page, followed by the "Identity providers" tab.

EasyMorph Server identity providers

We've had more than a few requests for EasyMorph Server to support Microsoft Entra ID (formerly Azure Active Directory) and as you can see, as of this release, it now does. You can even add multiple Entra ID providers, allowing organisations who use multiple domains to configure multiple Entra ID providers to authenticate users against different domains. Maybe you have separate domains for production and development, or you have sub-companies all using different domains. You can handle them all within a single EasyMorph Server.

Not only can users be authenticated using the different auth providers but a single user can also have multiple "External identities" assigned so they can have multiple identities but be treated as the same user. This can be really helpful when users are authenticated in different ways depending on if they are in the office or working remotely but you still want them to be able to access the same Spaces and features. To assign identities to users, select "Users" on the left of the EasyMorph Server web page, followed by the users "Login". Then on "Signing in" tab you'll find "External identities".

EasyMorph Server identity providers

I'm now able to sign in both with my EasyMorph Server username and password, as well as my EasyMorph Entra ID account.

Note: If you don't set an EasyMorph password for a user then they can only authenticate using single sign-on (SSO) through Active Directory or Entra ID.

More identity providers will come in future releases including support for OpenID and Google Cloud Identity.

We've also redesigned the EasyMorph Server Space features page not just making it clearer but also to lay the foundation for some additional features coming soon such as the hotly anticipated SFTP server feature.

EasyMorph Server Space features page

EasyMorph Gateway

Last but not least, one of the most anticipated features for EasyMorph Gateway brings support for "Upload file" parameters introduced in version 5.9. This is key change allowing the Web Tasks (a Server feature) to receive files from sources external to your business. Being able to upload the files inline with other parameters defined for the task, allows addition information and meta data to be provided at the same time.

EasyMorph Gateway upload files support

Prior to this feature, files would need to be shared somewhere accessible (e.g. an SFTP site, Dropbox, Google Drive or similar) prior to triggering the task. This has some significant downsides in both performance and security with many organisations prohibiting the use of 3rd-party file sharing services.

When EasyMorph Server receives uploaded files, it even scans every uploaded file for viruses and security threats, providing even more security and peace of mind. Combined with the fact that EasyMorph Gateway works without having to open holes through your network security, and not only can you have a solution up and running in minutes, but your CTO/CIO will be smiling also.

Within the next few days we'll also be releasing a revamp to the EasyMorph Gateway user interface giving it a fresh look and a modern feel.

These updates make EasyMorph Gateway a game changer when working with external organisations such as customers, suppliers and partners.

Note: The Web Tasks feature is currently in beta and so its pricing for Gateway is not announced yet. Until then, any EasyMorph customer can use Web Tasks for free.

What's coming next?

DISCLAIMER: The below is for informational purposes only. It does not guarantee that any mentioned features will be implemented in the software or included in a specific version. Plans and priorities may change at any time.

Version 5.9.5 is expected to be released in April and has some really exciting new features planned:

  • Triggers - EasyMorph becomes near realtime reactive with the addition of triggers in EasyMorph Server. You'll be able to run a workflow not only on a schedule but also trigger them on various events, such as an email is received.
  • Built-in SFTP Server - Add an SFTP server to any EasyMorph Server space. Not only does this make it quick and easy to configure without 3rd-party software, we'll also be adding a trigger to execute a workflow when a new file is uploaded to the SFTP server. And EasyMorph with check all uploaded files for viruses and security threats.
  • Instant Help - Wondering what an action does or how it is configure? Hovering the action will show a popup containing the key information without having to go to the EasyMorph help.
  • Text Length Facet - We'll be adding another Facet allowing you to analyze the length of text fields.
  • New and Improved Actions - As always, there will be a smattering of new actions as well as some improvements to existing ones.
  • And much more....

And as mentioned above we'll also be bringing Facets to our free data file viewer CSViewer in the next few weeks. If you haven't tried it already, go check it out. Ever had a CSV file that's too big for Excel or notepad? Ever needed to take a peak inside a Qlik QVD or Apache Parquet file without having to spend time loading them into a system? CSViewer is the solution!

Do you want to read more posts like this one?

Subscribe to the newsletter

What is 3 + 4?
See EasyMorph in action

Not sure whether EasyMorph is the best option to simplify your daily data prep? Download the free version and try it out today. No strings attached.

See EasyMorph Server in action