Release date: June 27, 2016
Consuming REST services
It is now possible to consume REST services directly in Mendix without the need for a separate REST module.
To call a REST end-point drag a call REST service action into your microflow, set the URL of the REST service and choose the HTTP method you need (GET, POST, PUT, PATCH or DELETE). In the action you can configure the headers, request and response. For the request and response it is possible to map the incoming and outgoing data with mappings.
For import mappings we added support for JSON as a schema source. To use this you need to create a JSON structure document in which you can paste an example JSON snippet to automatically generate the structure used in the import mapping.
See the following documentation pages for more information:
Hybrid mobile and offline
All hybrid mobile apps, not just offline, can now benefit from the performance improvements of downloading static resources to the device at startup. To enable this feature, expand your project in the project explorer, open ‘Settings’ and enable ‘Static resources from disk’ on the ‘Runtime’ tab.
We added the option to immediately synchronize on when saving data with a ‘Save’ button. Look for the property ‘Sync automatically’ on the stand-alone and data view control bar ‘Save’ buttons. When
Sync automatically is enabled on a save button, the synchronize will not be download images to improve speed.
When starting an offline app the synchronization now happens after the interface is displayed. This allows using the app based with the data from the previous session. As soon as the synchronize is finished the interface will be updated with the newly downloaded data.
Also, offline data synchronization no longer reloads the whole app!
- When images used in an offline app are updated on the server, the updated image was not downloaded when synchronizing on iOS.
- Attributes with names that happen to be SQL keywords (e.g. Order) no longer make the offline database cry.
Finally your Mendix Java extensions get the attention they deserve. Using the Mendix Connector Kit you can easily add new microflow actions to the modeler which wil be displayed in the toolbox. This means that it will be a lot easier for developers to use your extension in their projects.
The connector kit consists of a number of improvement to Java actions. In the Expose as microflow action tab you can define a caption and category for your actions, and you can even specify an icon. These will be shown everywhere in the modeler: in the microflow toolbox and also in all microflows.
On a more technical note, you can now also use type parameters. This enables you to tell the user to select an entity which will be used by multiple parameters.
With these improvements you can now export a module as a connector and upload it to the appstore. When other users import the connector from the appstore they will see the microflow actions in their toolbox.
We have already provided a number of connectors in the Mendix appstore, look for Add-Ons, Connectors. You can find the source of a number of these connectors on Github.
Navigating the Toolbox dockable window in the Modeler is much more fun thanks to a search field and collapsible categories.
If you only make changes to pages and the project is already running, the Modeler can quickly update your running project instead of requiring a full deployment. We have extended this optimization to include changes in the ‘theme’ directory. So now you also get a fast deployment after updating some styling.
If you do end up with the full deployment, it is now slightly faster because we reduced the time it takes to generate Java files during deployment. When using the Modeler in a VM, be sure to assign more than one CPU core to the VM, because we will take advantage of it.
The microflow debugger has shortcut keys now. We used the same shortcuts as Eclipse modified by Alt because the normal function keys are already taken. See the ‘Run’ menu for the shortcuts.
When switching between
Database data source and
XPath data source on list widgets, settings are maintained. Simple constraints are also converted to the corresponding XPath constraint, but XPath constraints cannot be converted back to simple constraints. (Ticket 465310)
The auto-completion popup in OQL, microflow and XPath editors is now wider. In fact, it is as wide as necessary for the longest item so that the horizontal scrollbar is obsolete. Unless you create a ridiculously long name. Please don’t do that. (Idea forum)
- Introduce monitoring account for Runtime administration which only has access to a restricted set of Admin actions.
- Support for Microsoft Azure blob storage as file storage system, see Custom Settings for the available configuration settings.
- Administration ‘about’ action now includes Java version.
- Memory usage reporting in monitoring (runtime_statistics) for Java 8. Java 7 fields “survivor”, “tenured”, “code”, “permanent” and “eden” elements are replaced by “memorypools”. For more information see the “memory” section in Monitoring Mendix Runtime. (Ticket 465551)
- Amazon aws-sdk-java is updated to 1.10.69 version. This version includes the fix for incorrect formatting of date headers in case of Java 1.8u60 and later, causing the server rejecting the requests. See https://github.com/aws/aws-sdk-java/issues/444 for more information.
- Fixed the issue that using Mendix functions to add very large values (larger than java.lang.Integer.MAX_VALUE) to a date, resulted in incorrect date value. For more information see Add date function calls. (Ticket 237805)
- Fixed MendixBinary to be rereadable. Multiple calls to getValue will result in the same and full InputStream contents now.
- Fixed database error which occurred while storing binary values. (Ticket 466174)
- Fixed the issue that ‘First day of the week’ setting was ignored in formatting date values and when resolving date tokens. (Tickets 204685 & 203358)
- Fixed datavalidation verification. New objects get completely validated now and uniqueness violations are all shown at once. (Ticket 205802)
- Fixed StackOverflowError for RetrieveIdListAction with valid input. (Ticket 102188)
App service and web service fixes
- Fixed an issue where prefix of custom authentication element was set wrong in messages part of generated wsdl in published web service document. (Ticket 278183)
- Added a consistency error if the custom location in a web service call action is an invalid microflow expression.
- Fixed an issue when Edm.Decimal representation in XML for OData had a scientific notation. (Ticket 465675, 465280)
- Fixed an issue when an appservice action returned a list of filedocuments (or specialization), a consistency error appeared where it should not. (Ticket 463661)
- Fixed an issue where consistency error did not appear for list parameters in app services. (Ticket 465074)
- ‘Clear mappings’ in Import mappings clears the parameter entity too.
- Fixed an issue when creating an export mapping from the Consume Web Service dialog. (Ticket 465440)
- Fixed an issue when it was not possible to map Decimal to Float in XML export mapping. (Ticket 465618)
- Do not issue a warning for an empty progress message text. The web client is perfectly capable of showing just the progress bar so there is no reason to complain. (Idea forum)
- Do not warn about a microflow being accessible if it is marked as used. (Idea forum)
- When deleting a module role, the role was not removed from access rules that were preceded by at least one access rule that did not contain the deleted role. (Ticket 465060)
- Fixed a security error when exporting a report based on an OQL query. (Ticket 294605, 465824, 466106)
- Fixed an error when accessing the AppStore from the Mendix Modeler. (Ticket 465999)
- In case of domain model validation rules of type ‘Equals’, ‘Range’, ‘Regular expression’ or ‘Maximum length’, validation rules can fire prematurely for new objects. E.g. when a new object is opened in a Dataview and a microflow is triggered on that page before committing the object, the changes are already sent, while the validation rule is possibly not satisfied yet. The workaround for this is to either: 1. Make sure the correct value is entered before the microfow is triggered 2. Give the attribute a ‘dummy’ default value and give this the correct value before committing the object. This issue will be fixed in the next release (modeler-6.7.0).
- If the checkboxes ‘Store owner’ or ‘Store changedBy’ are checked for non-persistable entities, unexpected behavior can occur when running the app. For example, runtime errors like “‘System.owner’ is not a persistable association” or “‘System.changedBy’ is not a persistable association” may appear. The workaround for this problem is to uncheck these checkboxes. This problem is solved in Mendix 6.10.