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

1
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
4 answers
7

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
3

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
0

Many of the modules have their version number in a constant. you could create a page that just shows these constants (expose them to client).

answered
0

Dear Customers,

 

We have published a public supported Mendix Content API that allows you to retrieve the Marketplace content information and its versions for both public and company-specific private content. This means that if you are using marketplace content, this API can help you getting the following information:

  • Latest version of the content used. You can keep track of outdated content on your side and check for newly added versions including release notes
  • Latest version which is compatible to your Mendix Studio Pro version.
  • Information on the content, such as content type, category, license and other product’s metadata

For more information and how to reach this API please visit the Mendix documentation.

 

answered