Application instances configuring is initiated in the following two cases:
In such case, the Controller provides UI for user to enter the values of the service settings (described in metadata with "//service/settings/setting" elements which lack installation-only="true" attribute), validates the entered values, ensures settings values uniqueness (if required), and initiates the reconfiguring. The Controller must store the new settings values entered by user in order to present them on demand (in most cases, during the following application reconfiguration).
In both cases, the Controller performs just the same actions: it applies new values of settings to an application instance (or several instances). The only differences are the actions leading to the reconfiguring and the type (global or service) of settings applied.
As soon as reconfiguring application instance is initiated and the Controller has new settings values, validated, it must prepare for each setting an environment variable SETTINGS_<id> where <id> replaces the value of the setting's id attribute ("//setting[@id]"). Then the Controller must run the service configuration script with the configure argument and pass to it all the required environment variables, as defined by the Specification in the 5.3.2. Configuration Script and 5.3.2.1.3 Changing Settings sections.