Mendix Release 9.17 – A Lot of Activity
Phew… we had (have) a hot summer in the Netherlands, but that didn’t stop us from being active! While the temperature was rising, we were hard at work on a number of things. At the top of the list was the improvement of Studio Pro performance with great results. We also put our focus on microflow and nanoflow activities – from new activities to improved error handling and options parameters. And that’s not all! We added file and folder support to the integrated styling editor, made major updates to our integration capabilities, updated Audit trail, and last (but certainly not least!) we launched Mumbai (India) as a new Cloud region.
That’s a lot to cover, so let’s dig into the details!
Studio Pro performance improvements
We set out to enhance the performance of Studio Pro in multiple areas. One of the big improvements is in saving documents – especially in saving multiple documents. These changes will benefit every developer by reducing time spent on actions that are done multiple times per hour.
For example, saving multiple documents before running your app is now up to four times faster. Also, saving single documents, like making changes to microflows, is now quicker.
Switching document tabs, loading the toolbox, navigating the app explorer, and using custom images for entities have also had a boost in performance.
Next to that, renaming or deleting items in the domain model have also all had significant upgrades (for larger apps), as well as finding references and externally used nanoflows and microflows. All of this will make working with Studio Pro a much smoother experience!
Microflow and nanoflow additions
This month also comes with enhancements to microflows and nanoflows, including new activities that many will find useful.
Workflow – Jump-To user task
The new microflow Jump-To activity is similar to the Workflow “Jump-To” activity, but much more dynamic, allowing a user to jump to a specific step in the process during runtime. This ad-hoc Jump-To does not have to be part of the workflow model.
The “Generate Jump-To Options” MF activity will create a list of all WF activities that can be jumped to from an active WF activity. The “Apply Jump-To Option” will continue the process from the select WF activity. Selecting which Activity to jump to can be done by a user (in a page) or in an MF.
Multiple use cases to consider for this activity:
- Fixing “incompatible” workflows (where the WF definition has changed). In addition to Abort, Restart, and Continue, now there is also a Jump-To possibility to decide where the incompatible process should continue.
- Correcting wrong business decisions. E.g. jump three steps back to do a review and approval step again.
- Go wild: Add flexibility to a rigid process definition. Not all jump activities have to be modeled upfront. There may be cases where you want the process to jump backward or forward based on acceptations (where you don’t want to model all acceptations all the time). Or based on the status of a case you want to process to continue at point X, Y, or Z, and there could be multiple of those jumps happening during the process.
Below is an example in the Admin section of the WorkflowCommons module
Java actions – Optional parameters
Java actions are very useful to build custom actions that can be distributed within your team, company, or even within the Mendix community. They are useful in building a microflow action for a specific use case that is not captured by any platform action in Mendix. For example, a set of transformation actions to transform information from one form into another format.
As of Mendix Studio Pro 9.17, you can define Java action parameters as optional instead of required. Optional parameters can be left empty when using the action in a microflow. Leaving them empty will not result in a consistency error. This speeds up the configuration of the Java action.
A simple example to illustrate this is a Send message action that has two recipient parameters “To” and “CC” and only the “To” parameter is required. The configuration of such an action looks like this in Studio Pro:
Nanoflow Stacktraces
Errors happen. That is almost unavoidable. When they happen we want to fix them. Sometimes, though, errors are very good at hiding, and we end up spending more time looking for them than actually fixing them.
With this release, we are giving your errors no more room to hide within nanoflows. The new error reporting includes a full nanoflow stack for all errors occurring in a web or mobile client. This nanoflow stack shows all nanoflows (including sub-nanoflows) at the time the error occurred. It works for errors thrown from built-in actions as well as JavaScript actions.
In the Make it Native app, or in a custom developer app, the nanoflow stack trace is shown as well and even includes the current page, so finding issues has become much simpler.
Generic native mobile permission activity
There are a few main reasons why you would choose to build a native mobile app, with one being access to all the native device capabilities such as camera, microphone, location, etc… Apps should not be able to directly access these resources without asking for permission first, though. And asking for permissions can be a bit of a headache.
With our latest release of Native Mobile Resources, we have added reusable nanoflow activities to call specific iOS and Android permissions. These activities allow you to make the best choice around when to ask for permission – at onboarding or when you need it. It’s truly up to you, so go make some great UX!
New common nanoflow activities
Alongside the new permissions, we have added loads of new reusable actions to the Nanoflow Commons for our release this month, including actions for base64 encoding and decoding, distance calculation, and some other useful ones like getting the server URL and finding an object by GUID. Loads of great actions for all your nanoflow needs, both for your web and native app development. Download the latest version today.
New web-specific nanoflow activities
We aren’t finished quite yet we all our new actions…for (progressive) web apps we also have some new activities for working with cookies, and for setting favicons. You can find these in our dedicated nanoflow actions module for web app development, Web Actions.
Styling editor file & folder support
With Mendix you can split styling into multiple files and folders to create a maintainable and clear structure. As of this release, you do not have to leave Studio Pro anymore to work with styling folders or folders. In the styling editor, we now added file and folder operations such as create, rename, and delete. Simply right-click a file or folder to see the available options.
Data Hub – Connector Kit 2.0 & OpenAPI
This month’s release includes some big OData REST improvements. As you may be aware, OData is a set of best practices for building REST APIs that standardizes many aspects of your REST API. For example, it describes how you should provide filtering, sorting, and pagination on your resources. It also describes how you should provide nested data structures.
Using OData best practices for your REST APIs ensures your APIs are compatible with many tools like MS Excel and PowerBI out of the box, and it also ensures API clients have the ability to optimize payload size and minimize roundtrips to ensure the best possible performance when using these APIs. One last benefit of OData is that it ensures your APIs are generic and not tied to a single use case. The API does not define in a fixed way what data the clients will receive. Clients have full control over what data they need and don’t need.
Mendix has provided OData REST support for a long time as a simple and productive way to expose rich REST resources for your entities. With 9.17 we’re adding the ability to define OData APIs on NPEs and have full control over how these resources can be fetched and stored. OData APIs now also come with OpenAPI contracts out of the box, so you can use and test them easily in any tool that supports OpenAPI, e.g., Postman.
Connector Kit 2.0
Starting with 9.17 you can now publish Non-Persistent Entities (NPE) as OData resources, and use microflows to define how your resources should be retrieved and stored. This not only gives you more flexibility in the way you expose your data, but it also enables you to wrap other data sources and services with an OData API.
This brings a whole new level of simplicity and productivity to your developers that build apps on top of these APIs. Once exposed as OData APIs, your developers can then discover your APIs in the Data Hub Catalog, and use them in their apps by simply dragging and dropping them into their apps.
Although this basically just extends the capabilities of OData APIs in Mendix, and is available to everyone using OData, we’re also positioning this as Connector Kit 2.0 as it enables Connector authors to build significantly easier-to-use connectors accessing external data. Connector authors can now decide to provide that access through External Entities instead of microflows and microflow activities.
OpenAPI for Odata REST
One of the problems developers see with OData APIs is that it’s not always easy to use OData APIs in their existing tooling, like Postman. This comes from the lack of OpenAPI support. Mendix 9.17 solves this: OData services now also provide OpenAPI contracts out of the box. These are provided in addition to the regular OData $metadata contracts. OpenAPI contracts ensure you can use all of your existing Rest tooling that rely on OpenAPI. Better yet, you can use the provided documentation page to instantly test your (OData) Rest API without any additional tooling.
Integration Apps
A common pattern that many companies use when integrating applications with backend systems is to have an integration application sit in between the backend systems and the frontend apps.
There are different names for these types of integration solutions: Operation Data Store, Data Hub, Digital Integration Hub, but they mostly consist of the same type of functionality: a unified data model for data from different sources, different mechanisms to connect to backend system (APIs, batch, ETL, streaming, etc), data mapping from sources to unified model, and APIs to expose the unified model to all the frontend apps. Usually, some caching or replication to ensure availability and performance is also part of the integration app.
The good news is that with recent Data Hub and OData improvements, it is now easier than ever to build such an integration solution with Mendix. Being able to do this with Mendix brings a lot of speed, productivity, and autonomy to Mendix teams in need of an integration app.
With OData supporting full read and write, and full control over the logic to handle any data modification through OData, you have a simple way to provide your data to the frontend apps, but also a way to ensure your data is always in sync across all your systems. Any data modification in the integration app can be directly communicated to the backend systems for consistency. This removes the risk of having multiple different versions of data in different applications.
Advanced Audit Trail
Audit Trailing, but on steroids! It was already possible to add audit trialing to your Mendix app. With the Advanced Audit Trail App Service, we’re going to the next level. By combining the power of low code with technologies like Kafka and Elasticsearch we provide a way of storing and querying audit trail data without having to compromise on performance and segregating your audit trail data from your application data.
Out-of-the-box search functionality and result pages will give you all the Audit Trail capabilities you need to make your application GxP and 21 CFR Part 11 compliant. By adding smart features like storing context and transactions linked to the snapshot, the App Service supports showing a complete history of a specific object, or showing what other objects were committed within the same database transaction, in addition to answering questions like who made what change and when?
You can automatically generate snapshots of an entity by adding just a single microflow action! This snapshot is then stored temporarily in the Mendix Database. As soon as possible these snapshots are sent over to the App Service for long-term data storage and indexing.
New cloud region is live!
Mendix is expanding in India, bringing its platform capabilities to Mumbai in the latest new region launch. Wait, does this mean I can build and deploy Mendix apps in Mumbai region too? Yes, you bet! Mendix cloud is available in the following regions now:
- Mumbai (India) ~ Newly launched
- Australia (Sydney)
- Canada (Montreal)
- EU (Frankfurt, Germany)
- EU (Dublin, Ireland)
- Japan (Tokyo)
- Singapore (Singapore)
- UK (London)
- US East (North Virginia)
- US West (Oregon)
Notifications Beta
Are you tired of checking the feedback overview to see if there are new feedback items? Or checking the epics page to see if anyone assigned a story to you? Do you continually refresh the forum page to see if someone has answered your question? No more time-wasting! To be informed at the right time, and in context, we have introduced notifications. You no longer have to constantly check a page for an update.
Notifications are categorized into three groups:
- Alerts – Notifications about things that require your immediate attention.
- Following – Get notified whenever someone comments, reacts, or mentions you in updates related to your stories, Forum posts, projects, and similar.
- Recommendation – Stay up to date with new releases. Get notified whenever new features, Academy learning paths, or even personalized content based on your activity on our Platform are available.
Per category, you will be able to select the channels you would like to be notified on in the notification settings:
- Platform (Web)
We are currently supporting the following notifications:
- Feedback
- New feedback item submitted – Thank you to Stefan Boeser, Lisa Shambro, Tom Worthington, and Tariq Elomari for adding this to the idea forum.
- New comment on a feedback item
- Data Hub
- Service delete from Data Hub Catalog
- New service registered in Data Hub
- Forum
- New answer
- New accepted answer
- Your answer is accepted
- Status change with the idea you are following
- Epics
- Story assigned
- Epic assigned
- Academy
- New learning path
We’ll do our best to give you more control and types of notifications as soon as possible!
We’ve released notifications as a beta feature. We hope you’ll enjoy these new features, and if they end up being a bit annoying at first, please bear with us! We’re working hard to come up with a solution that will fit everyone’s needs. We’ve already received great feedback in the last couple of weeks, thank you all. If you have any feedback, please use the feedback button in the notification settings, and we will be notified!
Are you ready to start making?
- Watch the Mendix 9.17 release video, here!
- Mendix 9.17 is waiting for you here!
- For more details, take a closer look at all the features, improvements, fixes, and more in the Mendix 9.17 release notes.