Welcome to the second part of our REST Services introduction. In my previous post, we discovered how to consume a REST service. This post explains how to create a REST API that publishes a microflow.
The ShellShare app
In this blog post, we will build ShellShare, a small app that helps you to store and share shell commands: those pesky tiny little things you can’t remember because of all the different flags and acronyms, like gzip -c <filename> > outputfile to zip a file without losing the source file. With this app, you no longer need to Google the same command over and over again. You will be able to browse these shell commands by using the web interface, or by using its REST API. So, let’s get started! Continue reading
JSON and REST are hot. And rightfully so. Many public (social) websites like Dropbox, Github, Google, Facebook, etc. offer JSON-based RESTful APIs as their only or preferred way for integration. The JSON and REST ‘standards’ are easy to read and their simplicity and flexibility are preferred by many developers over the more strict yet more complex WSDL / SOAP standards. With the REST services module, the full power of JSON-based REST APIs is available to Mendix developers.
The module serves three goals: consuming services, publishing services and synchronizing data between (Mendix) apps by combining consume and publish. In this post, we will consume our first JSON-based REST services by integrating with the API of the world famous Rijksmuseum which allows us to search for art. Continue reading
Sometimes someone uses an application you built in a way you had not imagined but makes a lot of sense nonetheless. In this case, it was an unexpected usage of the Mendix Version Selector. You might ask: what is the version selector? And I would not blame you because the version selector usually operates silently and invisibly. When double-clicking an .mpr or an .mpk file, the version selector inspects its version and opens the corresponding Modeler. You can read more about the version selector in another post. Continue reading
Imagine if you could setup a new Mendix hosting environment in seconds, everywhere. A lightweight, secure and isolated environment where you just have to talk to a RESTful API to deploy your MDA (Mendix Deployment Archive) and start your App.
Earlier this year a great piece of software became very popular to help to achieve this goal: Docker. Docker provides a high-level API on top of Linux Containers (LXC), which provides a lightweight virtualization solution that runs processes in isolation. Continue reading
Have you visited the Mendix App Platform today? If so, you may have noticed that we released several small but useful improvements! The most noticeable is a new and very convenient feature that allows you to search through the buzz. You can even combine search with project filters to quickly search within a specific project. The search function on the capture page has been improved as well and can handle much larger result sets. Continue reading
In this series, we spotlight specific features or enhancements in Mendix 5. Today, Developer Arjan van IJzendoorn outlines some key enhancements to the Navigation node of the Mendix Business Modeler.
One of the most prominent changes in Mendix 5 is how you can build user interfaces (UIs) and integrate apps. We will start looking at these features in detail in this blog series. Continue reading
Since we often get questions about how DateTime is handled in Mendix, I wrote a brief FAQ at https://world.mendix.com/display/refguide4/DateTime+handling+FAQ. Why is this important? As I note in the first FAQ response, because DateTime is the number of seconds or milliseconds since 1970-01-01 00:00:00 UTC, there is no time zone information stored in a DateTime itself. It is important to keep this in mind when reasoning about dates and times to ensure they are formatted properly within your apps and readable to humans.
To make things easier, I also created a DateTime utility library and put it in the Mendix App Store. It provides some convenient Microflows with some Java Actions so that you won’t have to implement them yourself. Continue reading