Lately I’ve been re-watching some sessions from last years Mendix World 2020. So when I stumbled upon a session from my colleague Alistair Crawford about using Google’s Face detecting API, using their Java Libraries, I had to give it a try.

Although I learnt Java back in university, I rarely use it in my professional life and it’s definitely been far too long since I actually practiced using those skills, so I jumped to the github repo and got stuck in.

Before we start

We are going to need a few things before we get going, so take a moment to ensure you have everything before we start.

You will need :

Mendix Studio Pro 8 or above (I’m using 8.12 in this example).

The Eclipse IDE which you can download at

A Google Cloud Project with the Google Vision API enabled on it.

A Service Account which is added to the Google Cloud Project, and has the role “Owner”.

You will need to ensure that billing is enabled and setup on Google Vision API, this won’t work with out it.

Make sure…

How to Make Apps Multithreaded in Mendix 9

“In computer architecture, multithreading is the ability of a central processing unit (CPU) (or a single core in a multi-core processor) to provide multiple threads of execution concurrently, supported by the operating system.” — Wikipedia.

Simple right? Just kidding. If you’re anything like me, that might have left you reading it over a few times before it could sink in. To explain multithreading, I normally use the analogy of the human brain. You can only do one thing at a time right? But then, how is it that you can also talk and walk at the same time? Your brain…

One of Mendix’s greatest strengths is the ability to add custom code extensions using Java actions. Anything related to your applications logic, which isn’t possible with out of the box functionality, is often 100% achievable with Java.

Knowing where to start can be difficult for new users and the less experienced low coders out there. So, this blog is going to walk you through how to create and write Java actions as well as how to work with variables and objects inside them.


Before we get started, you will need to have a few things installed on your machine :

-Mendix Studio Pro 8 or above (I’m using 8,12 in this example)

-The Eclipse IDE which you can download at

Creating the domain model

In this how-to, I will be manually creating Mendix objects inside of a Java action

I often get asked how I style apps, and usually my response is, “what kind of app are you styling?”. In the world of Mendix there is a massive difference in styling for responsive web apps and styling for native mobile apps.

For instance, responsive apps are styled using using either inline styles, via a style sheet using SCSS (or a combination both), meanwhile native mobile apps are predominantly styled using design properties on widgets, as well as using javascript to create any custom classes.

Don’t be discouraged by how much there is to learn though, as this series is mostly aimed at beginners, for this piece I will be focusing on the basics of styling in responsive apps.

So strap in and let’s go on a journey of discovery and learn how to make beautiful, stylish apps.

What do I need to get started?

In order to…

Everyday I receive over 100 emails. Some of them are important emails for work, some of them are adverts for websites I buy things from, a good portion of them go to a burner email address which I use for signing up to sites I don’t trust. And yet, in all these endless emails there are always a few which stand out. Visually gripping, well formatted emails are a definite must if you want your app’s emails to stand out above the rest.

So how do you make it happen? I find the best way is to use the Mendix Email module with templates in conjunction with the MxModel reflection module.

Why this way?

Last time I checked, there was more than 10 results for email modules in the Market Place.

So why would I choose this route above the others? The answer is simple : it’s quick, it’s easy, it’s reliable, and it comes with a built in overview to easily configure and style emails. This module also removes the need for any complex string handling in order to build up your email. …

Before you start

It’s always best to be prepared before you start, so double check these things before we begin:

  • You will need sufficient rights on the database (CREATE DATABASE and RESTORE) — You can read more about these permissions here
  • The Mendix database is maintained using the plan described here by Mendix
  • You have a valid database backup file for the database
  • Valid log files exist for the database you want to restore


First, you need to connect to the appropriate instance of the Microsoft SQL Server Database Engine. …

My whole life I was Part of the PC master race. So when I got a Mac book for the first time I was at a bit of a loss on how to set up Studio pro on it. Unfortunately, right now there is no standard Mac option for Studio Pro. Luckily with the use of a virtual Machine like Parallels it turns out, it’s actually quite easy.

So, yes as you may have guessed by now there is no Mac version of Studio pro available, so for now, low coders will have to make peace with using virtual machines to run windows on their mac or Linux machines.

Theres a lot of options when it comes to running virtual machines, but because of it’s relative simplicity to setup I chose to use Parallels.

Installing and Setting up Parallels on you Mac.

It’s available from the Mac App store or you can find it on their official site linked above. Once its downloaded Simply follow the prompts to complete its installation. …

What company do you work for and what is your current role?

I work for Brigham Young University and my current role is Senior Director of BYU Apps. BYU Apps is a division in the central Office of IT at the university and our charter is to build unique digital solutions for the campus, things that are core to the university’s mission and not able to be bought or configured. We have over 60 unique products we maintain, hundreds of independently deployable systems and around 60 full and part time IT professionals working on them.

Tell us about your Education

In high school I did a lot of acting, singing and dancing. So much so that I…

Correctly implementing Best Practices is the easiest way to speed up both the performance of your app and the speed at which your team can develop. By adhering to them, it ensures you prevent easy to make coding errors, boosts your app’s performance, and aids navigation in both studio and studio pro.

If you would like just the facts then you can jump to the documentation here.

So lets start at the top- Folder structure

A good, well thought out Folder structure is the best way to ensure nothing in your app gets lost or forgotten about. …

Datetime functions

When building anything to do with dates or times, its best to have an understanding of some basic functions to help you accomplish your task

Adding time to and subtracting time from an attribute or variable is a very handy function, or rather array of functions. Depending on how much you want to change the value you can add or remove :

  • milliseconds
  • seconds
  • minutes
  • hours
  • days
  • weeks
  • months
  • years

It may seem confusing but in order to subtract time, you need to use the appropriate add function, but you need to provide it a negative value. …

Ryan Mocke

London Based, Developer Evangelist. I create content for the Mendix developer community, to help them achieve success in their projects.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store