add Configuration.getConstantKeys() - Mendix Forum

add Configuration.getConstantKeys()

26

In our app we have an ASU_ microflow that enumerates all constants in the app and "fixes" constant values matching a certain rule. This is a security measure to inject passwords into locally running apps and prevent their leak to mendix.com SVN.

This ASU_ microflow uses the official method:

https://apidocs.rnd.mendix.com/9/runtime/com/mendix/core/conf/Configuration.html#updateConfiguration(java.util.Map,boolean)

Also we have an admin page with a grid containing all constants in the app, both private and public (exposed to client). The data source for this grid is a microflow with a custom java action.

The public runtime API does not have a method to enumerate private constants. It only has a method to enumerate the public constants:

https://apidocs.rnd.mendix.com/9/runtime/com/mendix/core/conf/Configuration.html#getPublicConstants()

which is strange because much more dangerous method is exposed: Configuration.updateConfiguration()

Currently, as a workaround we use java reflect to enumerate the constants, but we'd like to to have a documented way to do that. Please add the following method to com.mendix.core.conf.Configuration

 

/** Returns the names of all defined constants, both public and private */
Set<String> getConstantKeys();

 

asked
1 answers

Hi Ilya, great idea. We had the same idea but in constrast to you we did not succeed in reading the private constants. Can you show us the java-action you created that also retrieves the private constants? Thanks a lot!

Created