Mendix Release 9.20 – Christmas Came Early
We are nearing the end of the year, which means Santa is coming, and for those in the Netherlands, Sinterklaas just arrived. Both come bearing gifts for children, but the Mendix Santa is early because this month we bring a bunch of gifts for our users! There are page editor improvements, new HTML element widget, workflow and MxAssist improvements as well as important Studio Pro improvements, Svn to Git Migration, Cloud updates and last but not least: Epics GA.
Page building and client improvements
We put a lot of effort into improving the page editor because we know developers spend quite a bit of time there. Here are some of the latest enhancements.
This month comes with an often requested feature: multi-select widgets. As of now you can multi-select widgets (by holding ctrl/shift and click) in design mode, structure mode and in the Page Explorer. Then you can easily copy, move, or delete those widgets instead of going one by one – nice timesaver!
Design mode for layouts and page templates
Good news! Now you can also use design mode for layouts and page templates to better see how the template will look.
Page parameters quick access
With 9.18 we released page parameters that makes page building easier and more powerful. We received feedback that it’s not always clear which page parameters there are, so we made it clearly visible how many page parameters a page has. Now with just a click you can open the edit page parameters dialog.
Conditional visibility in Page Explorer
In structure mode, conditional visibility is always visible, and with design mode you can toggle it via the toolbar. With this release we also added it to the Page Explorer making it directly, clearly visible which widgets have conditional visibility. This makes it easier to understand the page.
Fun fact: you can directly use page parameters in conditional visibility, no dataviews needed.
Like design mode? Set it as default
If you also prefer design mode over structure mode? A quick reminder that as of 9.19 you can set it as default via Edit → Preferences → Work Environment.
HTML Element widget
This month comes with a powerful widget: HTML Element widget! This widget lets you create custom HTML elements to build all kind of structures, visualizations or interactions. For example it can be used to do some advanced text formatting, build custom UI components, embed HTML code, and much more.
You can define the HTML tag, HTML attributes, events, repeat elements, nest them, the options are endless. We are very curious about what you will be creating!
We are very curious about what you will be creating! You can download it directly from Studio Pro or via Marketplace.
Client security improvements
Mendix web applications must communicate with the server to retrieve data or execute logic on the server. For data retrievals (including those using XPath), we have used anonymous query IDs for a long time. However, executing server logic referenced the target by name, for example by the name of a Microflow. These references exposed model information and could potentially be abused to execute server logic in unexpected ways. While this is not a security concern, because access levels are always enforced, it made errors in the security settings of an app transparent.
With this release, we are changing how the web client communicates with the server to be even more secure. We are anonymizing all microflow calls by addressing them with random identifiers and limiting the list of exposed microflows to only those that are actually used. We are also anonymizing nanoflow actions and button actions that are propagated to the server, such as Commit or Save Changes, and Workflow actions. This limits the information malicious users can extract about the inner workings of your application.
The remainder of this section goes into some of the technical details around how we implemented this change. We understand if you chose to skip these details.
During startup, all permitted microflows (as defined in your security settings) were declared for the client. This was changed to only declare the actually used microflows, and the names of the microflows are replaced with anonymous IDs.
Microflows that can be triggered from a page (for example as onClick action for a button), were declared in the page definition and again during the actual call of the microflow. This was changed to use the anonymous runtime operations, which use a random ID that changes for each page they are used on (so the same microflow called from multiple pages is referenced using different identifiers).
These security improvements also apply to form actions, such as Save, and actions related to Workflows.
SVN to Git self-service migration
With 9.12 we’ve introduced support for Git-based version control, and today we’re excited to share we’ve introduced a self-service SVN to Git migration in the developer portal. The complete app history including all branches will be migrated for you.
The migration can be started by team members with the Scrum Master role from your app’s Team Server page in the developer portal. Apps that are on version 9.12 or above are eligible for migration. Initially only apps with up to 250 commits can be migrated, which is a limit we’ll increase over the coming months.
As working with Git is slightly different than working with SVN, we recommend you to check out this page describing the differences between the two when working with Studio Pro. More information about the migration itself can be found in the documentation as well.
Over the coming months we’ll be adding more features to Git (such as a ‘status indicator‘ to notify you of incoming changes) and we’ll offer the option to schedule your migration outside working hours. Stay tuned for more updates!
More flexibility around who can open a workflow user task page
Based off developer request, we have added more flexibility around what happens when task pages are opened. There is an option to auto assign (or not) the task to the user who opens an unassigned task. This allows, for example, a user to see the task before deciding to accept it (i.e. setting the auto-assign to No). A second option is added that allows targeted users to open the task page even if it’s already assigned to another user. This allows, for example, other users to contribute to the task that someone else is responsible to complete.
Both options are available in both the Show User Task Page microflow activity and the Show User Task Page button/client activity.
Workflow image export
Workflow models are often also used by customers to document how they work. The “Export as Image …” function (under File) now also works for exporting the workflow process model as an image.
With this release, we have made some improvements to Performance Bot. Previously, the user had to manually trigger the Performance Bot each time that they wanted to inspect the app for the performance antipatterns. Now, the Performance Bot automatically runs an inspection when an app is opened in the Studio Pro and lists the antipatterns in its panel. It is noteworthy that the inspection happens in the background without blocking the user’s ability to interact with Studio Pro. We hope that this helps the Mendix developers more proactively to improve their app performance. In addition, we have optimized several Performance Bot Best Practices to reduce inspection times on more complex apps.
We released Validation Assist in Mendix 9.18 and we keep improving it. With this release, we have extended the Validation Assist capabilities as follows:
- Provides ‘more than zero’ check as well as non-empty check by default for ‘Submit button’ validation.
- Support expressions for Validation Message. This enables the multilingual support for the Validation Assist.
- Supports snippets for validation.
Generic Studio Pro improvements
With 9.20 we are now introducing a smarter dialog resizing behavior. This means that all properties’ dialogs are now resizable and that all of them will automatically fit to the content they have. This means that editing XPaths, setting up security and other actions are now a lot easier since you will be able to size the dialogs to your needs.
We added in a few new shortcut features to make it easier than ever to work with Studio Pro! You can now close out dialogs and fields in editable datagrids with the escape key, while the home and end keys will now allow you to navigate to the top and bottom of lists. This allows you to move through Studio Pro even faster than before!
We made it a lot easier to specify the default directory for your applications. You can now specify this directly in the settings of Studio Pro. More than that, when you now open an app from Teamserver, it will allow you to change the directory there as well, granting you greater flexibility in where you store your apps.
We updated the tools to find results and added two new features there to make this more powerful! When looking for constants, you will now see if they are exposed to the client directly in your search results. This makes it easier to find the constant you are looking for. Next to that we also added an extra column showing the external module name to the results when using “Find usages of other user modules by this module”. This makes it easier to find specific external modules where documents are used.
Mendix Public Cloud v3 end of life
Mendix Public Cloud v3, which was our legacy, physical infrastructure setup has been deprecated as of Nov 1, 2022. Customers and partners are now all migrated to Mendix Cloud v4.
Multi-Region Failover public beta launch
App availability is essential, especially for business-critical apps which run 24/7, or for Mendix apps embedded into day-to-day business operations. App unavailability leads to loss of revenue and operational disruption. To tackle this, Mendix Cloud and Cloud Dedicated deployment offerings already offer multi-az failover as a part of the Premium app plan, which ensure app availability even if an AWS Zone has encountered an outage.
However, AWS can also suffer from regional outages, where all availability zones are not available – a scenario where multi-az failover doesn’t help.
To provide customers business continuity during such regional outages, Mendix has built ‘Multi-region failover’ where apps can be failed over from one region to another in case of a region outage. This will give the highest availability to customers.
A public beta released has been launched for a pilot customer on Oct 31, 2022. This capability will be generally available by March 31, 2023. This option will be available as a ‘Premium Plus’ plan for platform customers.
DNSSEC coverage has been enabled for all Mendix domains now!
We are excited to announce that Epics will be generally available from the first of December! Our brand new agile planning tool enables you to plan your work, your way. If customizable swimlanes, support for scrum and kanban, and a simple, intuitive interface sounds like something you need, now you will be able to easily migrate all your data from Stories to Epics and get started.
If you are a scrum master of an app, you will be able to see the Data Migration tab in the settings and select what you would like to migrate. We give you an overview of the changes in the flow itself, but for a more detailed overview, we recommend you check our documentation, to make sure you know what will change after the migration.
Once the migration is complete, you will get notified and will be able to see the migration report with a complete overview. After you migrate everything you need, Stories will still be available as read-only, but we’ll start working towards sunsetting it (because once you try out Epics, we’re pretty sure you will not want to go back either).
Apart from the migration, we also bring you a few cool new features (available December first). Epics is now fully integrated with our feedback functionality. If you accept a feedback item, it will show up in your Epics backlog:
Stories that come from feedback items will have the purple icon, as well as the feedback ID in the title (but you can also change the title if you’d like). And if you open the story details page, you can easily go back to the original feedback item by clicking that same purple icon on the top:
There might be an extra surprise or two, but we’ll let you discover those by yourself 🙂