The Mendix January Release: Starting 2014 with a Bang
We hit the ground running this year! I’m happy and proud to present the first Mendix release of 2014: the January release. It includes numerous improvements in all aspects of our platform, mainly based on questions and feedback from you, our community. Fasten your seat belts, here we go.
tl;dr: We released a lot of cool stuff in January!
The January release makes it possible to hide a layout container region and slide it in with the press of a button. With this, you can build the fancy menus that you know from mobile apps like Facebook and Spotify. Newly created apps will contain a default mobile layout that features such a collapsible menu. You can also create these layouts yourself: place the “toggle sidebar” button on your layout and select one of the regions of the layout container. That’s all; the region will be hidden when you load a page that uses this layout. If a user clicks the button, the region will slide in from the left or the right.
Keyboard navigation in the microflow editor
There are small things that seem so obvious, and yet are often overlooked. We do our best to pay attention to these details and we hope you will like this one: keyboard navigation in the microflow editor. You can now navigate through all elements, jump to the start or end, open property forms, and edit captions, all without taking your hands off the keyboard!
Drag and drop items from the project explorer
You will love this one too: you can now drag pages, document templates, microflows and Java actions from the project explorer into microflows to create the corresponding activities immediately. To make it even better, we also allow you to drag snippets and microflows from the project explorer onto pages to create snippet call widgets and microflow buttons, respectively.
Debugging integration points
Let’s stay in the “small things that you will love” category a bit longer. Our users love our ability to easily integrate with other systems. Just import a WSDL, create a visual mapping, and off you go. However, experienced developers know that the details can hurt you. Not everybody is exactly following standards. And unexpected content can lead to errors. To make it easier for you to find out what is going wrong, we added some more details to the “TRACE” log level of the “web services” log node. Outgoing messages are completely logged now. You should, of course, use this with care, as messages can be big!
Java development just got easier and less error-prone (again)
You know that you can use the full power of Java to extend your application model, right? Just create some Java Actions in your model and hit “Deploy for Eclipse” in the project menu. The Business Modeler will setup an Eclipse project for you so that you can start programming. Run and debug configurations are available for you, which automatically connect your code to the Mendix runtime and your application model.
We just took another step in making the integration between your Java code and the model easier. We already generated “proxy” classes for all entities in the domain model. In this release, we add proxies for microflows and constants! You can now easily interact with entities, microflows, and constants as if they were a native part of your Java code. If you change your model, you will get design-time notifications for the parts of your Java code that need to be updated.
Improved automated migration of Java code from Mendix 4 to Mendix 5
If you used Java to extend your model, you probably noticed that Mendix 5 features quite some differences with the previous versions. In Mendix 5, we started to use OSGi as the underlying framework to modularize our codebase, and to help manage dependencies and version management of libraries that you use.
Many improvements were made in the migration wizard that is used when you open your Mendix 4 project for the first time in Mendix Business Modeler 5. We automatically analyze the dependencies of your Java code and ensure that the right libraries are in the userlib directory (if necessary, we copy them from the lib directory of our runtime as you can no longer access them directly). Additionally, we will replace some of the libraries with an OSGi compliant version to ensure compatibility.
On-premises deployment using the new Mendix Windows Service
For a fully automated and easy-to-use experience, you can develop and deploy applications on our App Platform which is available as a service in the public cloud (it’s an aPaaS). Additionally, we offer the ability to use Mendix on your own infrastructure. As part of the January release, we released an improved version of the Mendix Windows Service. This service can be used to deploy and manage Mendix applications in an on-premises Windows environment. The newest version has support for our Mendix 5 release and features a lot of nifty improvements like 1-click start, encryption for passwords, automated installation, viewing currently running processes in the Mendix runtime, configuring the start mode of the Windows service, and so on. The complete release notes can be found here (see related downloads).
In-depth control for app deployments in the public cloud
The beauty of our aPaaS approach is that everything is automated; most technical details are abstracted away. In the context of app deployments, this means that you can just upload the visual models that describe your application to your cloud environment and transport them to your test, acceptance, or production environment, which will result in a running application. It is almost more work to type this sentence than to actually do it.
There are situations, however, that ask for more in-depth control of what’s happening in your environment. From a network / connectivity perspective, for instance, you could already manage the allowed outgoing connections in the advanced settings of a cloud environment. In this release, we added the ability to manage the request handlers for incoming requests. You can specifically enable/disable request handlers or register your own custom ones. In the future, we will extend this with advanced settings like adding IP filters per request handler.
In the environment details you can now also select the Java version that is used for your app. Mendix 5 apps by default use the Oracle Java 7 JVM. For earlier Mendix versions, you can select your preferred version, and thus upgrade to Java 7 at a moment that is convenient for you.
Open Source contribution
Last, but not least, I want to point out that we use a lot of open source software in our cloud platform. We are thankful for all the community effort that makes this software so great! We try to do our part, and this time our engineers substantially contributed to the 1.2.10 version of the open source Keepalived project. Keepalived is a routing software written in C. The main goal of this project is to provide simple and robust facilities for load balancing and high-availability to Linux system and Linux based infrastructures. We are using it extensively in our cloud infrastructure and we love it!
How to get it?
Most of the things have already been released over the last month. To get the new app development features, you need to download the 5.1.0 version of our Business Modeler from our App Store. Please have a look at the release notes for all other improvements and fixes we did.
Why is it called the “January release”?
I will just leave that to you, dear reader. Happy modeling!