Mendix 9.13 Release – Improvements Everywhere

Being in the digital product business brings an interesting mix of looking forward to what new features can be added while exploring how to improve existing features to make the life of our beloved users better. This month’s release brings a wide assortment of improvements, from enhanced scheduling options for scheduled events to new data tokens, native mobile gradients, mobile logging, new pluggable widgets API, and last but not least, a big update to our idea forum.

Scheduled events: Improved scheduling options

We’ve recently made quite a lot of under-the-hood changes for scheduled events, as well as some changes in the user interface. We’re happy to share the changes we’ve made and the effect these might have on your application.

Under-the-hood

Scheduled events are now executed through a Task Queue, which means scheduled events can now be picked up by any node in the cluster. This change also increases the reliability of your events in case of sudden downtime, since the scheduled task will be picked up as soon as your app is running again. Moreover, in a clustered environment the tasks will just be executed on another node if the cluster leader is down.

Scheduling options

On the user interface, you will notice new options for different interval types. Based on the interval type you are offered more advanced options such as choosing a specific weekday for a monthly event or planning an hourly event with an offset of 45 minutes. We’ve also added clearer preview information including displaying which months your event will be executed, and what will happen (for example) for an event scheduled for the 31st of February. This will help you pick the schedule you want, without being surprised by edge cases like daylight saving times.

Another good thing to note is that Yearly and Monthly are now truly what they claim to be, instead of every 365 or 31 days.

screenshot of showing yearly and monthly settings
Scheduled event options.
screenshot of showing yearly and monthly settings
Scheduled event monthly options.

Migration

The majority of scheduled events will automatically be converted to the new format without any behavior change. Some options are no longer supported, such as ‘every X days’ (old monthly and yearly), non-repeating events, or events commencing from a date in the future.

For the options that are no longer supported, you’ll get a deprecation warning which shows suggestions on how to manually convert the event. Not ready to convert them just yet? Don’t worry, we’ll only remove the legacy options with the release of Mendix 10.

screenshot of deprecation warning

New Date tokens in expressions

We already had tokens to compare dates against today using BeginOfCurrentDateTime and EndOfCurrentDateTime. We’ve extended the expression language in both Studio and Studio Pro with four new tokens, to make it very easy to evaluate against yesterday or tomorrow.

screenshot example of extended expression language in both Studio and Studio Pro.

Background gradient for native mobile apps

Don’t we all love gradients? They add that extra bit of gloss to really make elements stand out. It is with great excitement for this release that we are announcing a new widget exclusively for creating gradients: The Background Gradient Widget. You can easily configure the start and end colors, or even have multiple colors. Additionally, you can add an angle, and the ‘click event’ can also be configured.

rotating image showing gradients

Improved mobile logging

Don’t you just love that feeling when you are hunting one of these annoying bugs and at some point it just clicks and you know what to do? In our latest release, we bring a major update to one of the most important tools that you use to catch these bugs: Logging.

With our new mobile client logs, you can monitor the startup process, the client database, data synchronization, and navigation events. Just set the appropriate log level for one of our new log nodes (starting with ‘Client_’) in the Studio Pro Console and observe.

Client_Startup The client doesn't need an upgrade to user scoped files directories.
Client_Startup The database schema is up-to-date.
Client_Startup Starting startup synchronization.
Client_Startup Startup synchronization completed in 39.6 milliseconds.
Client_Startup Showing home page NativeMobile.Countries_Overview
Client_Startup Startup completed in 548.7 milliseconds.

Example 1: Client Startup Logs

Client_Synchronization Downloading objects
Client_Synchronization Fetching objects.
Client_Synchronization Fetching objects by XPath: //NativeMobile.Country
Client_Synchronization Downloading objects completed in 1.5 milliseconds.
Client_Synchronization Fetched 0 objects by XPath //NativeMobile.Country in 30.9 milliseconds.
Client_Synchronization Fetched 1 objects and completed in 31.4ms.
Client_Synchronization Calculating file operations.
Client_Synchronization 0 files to be downloaded, 0 files to be removed
Client_Synchronization Compute cached objects to update or delete.
Client_Synchronization Compute cached objects to update or delete completed in 0.2 milliseconds. 0 objects will be updated, 0 will be deleted.
Client_Synchronization Computing subscription updates.
Client_Synchronization Computing subscription updates completed in 0.4 milliseconds.
Client_Synchronization Downloading files.
Client_Synchronization Downloading files completed in 0 milliseconds.
Client_Synchronization Rebuilding the database.
Client_Synchronization Rebuilding the database completed in 1.9 milliseconds.
Client_Synchronization Updating cache. 0 to be updated, 0 to be deleted.
Client_Synchronization Updating cache completed in 0.1 milliseconds.
Client_Synchronization Removing 0 files.
Client_Synchronization Removing 0 files completed in 0 milliseconds.

Example 2: Synchronization Logs

For now, mobile logging is enabled for applications running locally in Studio Pro. We plan to enable mobile logging for applications running in the Mendix Cloud in a future release.

Pluggable widgets: Set Reference API

All new widgets built with Mendix are based on the Pluggable Widgets API and can also be used by customers to build tailored widgets. With this release, we added new APIs to work with references, to build widgets that set a reference, like a radio button that sets a reference, or drop-down with type ahead. Spoiler, these are widgets on our current roadmap, but if you want to have a tailored version or have other great ideas go ahead!

For more info see the docs on widget configuration and the client API.

Community: Making it easier to browse, find and post content in the forum

We’ve changed the navigation to both the question and idea pages of the forum so that you can easily find the content you’ve created, interacted with, or bookmarked within the community.

screenshot showing structure of the new layout.
Structure of the new layout.

The main navigation has been moved to the left, where it now lives in the grey sidebar. This change prepares the Forum for exciting new features that are on the way. One new feature that you can enjoy right now is the dedicated bookmarks page. On this page, you can easily find all the content that you’ve bookmarked inside the forum.

screenshot showing bookmark
Find the bookmark button underneath each post – click it to collect.

 

screenshot showing bookmarks navigation
Use the bookmarks navigation item in the left side bar to navigate to your bookmarks.

Something else to note for logged-in and registered users are the ‘My Questions’ and ‘My Ideas’ pages. Clicking on the My Questions page will now bring you to a running list of questions you’ve asked, answered, or commented on allowing you to more easily revisit those questions if you need. Similarly, the My Ideas page allows for easy access to the ideas you’ve previously submitted or commented on.

 

screenshot of "My Questions"
Go to ‘My Questions.’ Once there, use the tabs to navigate to asked, answered or commented.

 

screenshot of "My Ideas"
Go to ‘My Ideas.’ Once there, use the tabs to navigate to submitted or commented.

Filter options

The Filtering options have been moved to the top of the page, right above the central content area. By doing this we’ve brought it in line with the content, alleviating a pain point raised by newer Mendix Community members who shared that they were often confused on how to drill down in the forum results.

screenshot of the relocated filter options.
The relocated filter options above the main community content area.

Keep an eye out on the right sidebar, which for now highlights the leaderboard of users who are most active on the developer platform. Over time this sidebar will additions that enhance your community experience.

Improved experience on mobile and tablets

While undertaking the changes mentioned above, we also listened to the feedback we received expressing the need for us to improve the experience on mobile and tablets. (Responsiveness FTW!) Browsing the forum should be a lot more enjoyable now on either of these devices.

 

screenshot of mobile screens in Mendix

You can find more in-depth details on these changes to the Forum here.

Are you ready to start making?

You can…