Version Control
Mendix supports two major source control systems from Mx9 onwards.
- SVN
- Git
At the moment, SVN is still the default option but over time they plan on moving towards Git. What system you are using impacts how ACR can retrieve the model from your application. Hence, you need to configure the version control settings for an application. See below:
How do I know what source control my app uses?
There is no clear indication, of “Hey, welcome to the team server page, you are using Git”. But luckily, we can deduct a similar message from the Team Server URL. You can view the URL on the Team Server page in your Mendix app overview on Mendix Sprintr.
An SVN enabled Mendix app
The Team Server URL of an SVN enabled Mendix application looks like this:
A Git enabled Mendix app
The Team Server URL of a Git enabled Mendix application looks like this:
Download methods
There are two main ways to review your Mendix app in ACR.
- Via the Mendix SDK (or Mendix API),
- Via the Team Server APIs (via a user account).
The Mendix API aka Mendix SDK
The Mendix SDK is the standard way to retrieve models via ACR because it is the common option for non-human automation to access the Mendix platform and is very easy to use. However, it doesn’t work in all use cases. We identified the following use cases where using the Mendix SDK might cause problems:
- If your Mendix app is not deployed in the Mendix Cloud (sandbox included). Even though the model is stored on the Team Server (static), which in itself has nothing to do with the runtime (dynamic), the SDK works in such a way that it might not identify the app and throws an error.
- When you start a new application it might be an issue that you have not yet deployed the app (see above) or that no commits and branches are yet in place. Before using the Mendix SDK to review your app in ACR we recommend executing a dummy commit and or creating a test branch.
An additional downside of the SDK is that it is really slow, especially for larger applications. It includes an additional step to retrieve the model via the SDK itself. We have no control over the SDK and hence any issues that arise or performance problems are outside our span of control. That is why we created the additional method for downloading the model and recommend using that one.
Directly from the Mendix Team Server
Next to being a lot faster than the SDK, downloading the model via the Team Server API also covers all the different use cases and deployment situations. The model is directly downloaded from the Team Server via the APIs, ACR uses a special user to gain access to the team server. The only exception is the case when your model is not stored on the Public Mendix Team Server (and hence cannot be accessed through the APIs).
When downloading the model from the Team Server API we have two options available:
- Via our default special user, smartdigitalfactory@mansystems.nl (an account that we control), or
- Via your own custom special user (an account that you control).
Whether you are using the default special user, or the custom special user, both need to have at least read access to the Mendix model (for example by the business engineer if roles are unchagned in SprintR). So when you invite these users to your App team in Mendix Sprintr make sure you assign the proper role!
Both accounts work the same, the main difference being governance and security. The first option is under our control and used by multiple customers. The second one is completely in your control and only used by you. Some benefits of option 2:
- Only internal domains have access to your Mendix apps.
- We cannot access the account (the account data is encrypted and not accessible).
How do I change the download method for an application?
The download method is configured per the Mendix application. You can access these settings in the App Setting for each app in ACR. See below:
Using the Mendix API (Mendix SDK)
To use the Mendix API you need to do the following:
Next, you have the following options:
- Select the “Mendix API” as the download method.
- Choose whether you want to use your own account to retrieve the app.
- Choose whether you want to use the CLEVR Special User to retrieve the app.
- If you haven’t selected 2 and 3, you can choose to use your own custom special user to retrieve the application.
Using the Mendix Team Server API (Direct method)
To use the direct method, you need to do the following:
Next, you have the following options:
- Select the “Direct” as the download method.
- Choose whether you want to use the CLEVR Special User to retrieve the app. (You don’t have the option to use your account here since we need your password for direct download and from a security perspective, we cannot ask you to provide it).
- If you haven’t selected 2, you can choose to use your own custom special user to retrieve the application.
- Make sure that the selected special user is part of the app team in Mendix Sprintr. The account needs access to the model to be able to download it.