Is it possible to get a Module version from your runtime code.

0
I want to build functionality to check if the modules in my apps are up to date. I’m talking about runtime functionality, not “look in the modeler” functionality. For this I need a few things, but for me it is not that straightforward to find it in the SDK: A way to retrieve the version of modules in my app. (So a list of modules (documents) and their version). Similar to the way we can get the Mendix runtime version: com.mendix.core.conf.RuntimeVersion.getImplementationVersion() A way to retrieve the latest version of the that module in the app store, or Github. Who has experience with that? I assume we need to have UID’s for those app store modules and a service to call Can someone help me with all or either one of the questions? Thanks
asked
2 answers
2

Unfortunately, that is not possible yet. The Version is only stored in the module if a user does that. But there is no unique way of doing this.

But I agree that it would be very nice to have such a functionality. Sounds like something for the Idea forum (if not already existing)

answered
1

1: In the ModelSDK the lookup function can be found here: https://docs.mendix.com/apidocs-mxsdk/mxsdk/finding-things-in-the-model#5-the-model-allmodules-function:

 

const model = workingCopy.model();
model.allModules()
	.filter(module => module.fromAppStore === true)
	.forEach(module =>
		console.log({
			name: module.name,
			appStoreVersion: module.appStoreVersion,
			appStoreGuid: module.appStoreGuid,
			appStoreVersionGuid: module.appStoreVersionGuid
		})
	);

 

2: Use https://appstore.home.mendix.com/rest/packagesapi/v1/packages with your Mendix-Username and Mendix-APIKey as headers to get everything from the app store. Undocumented and not very performent, but use it while it lasts..

answered