Expand my Community achievements bar.

SOLVED

How to set environmental variables and call it from adaptive form?

Avatar

Level 4

How to set environmental variables?

Such as webservice url variable in development and production.

1 Accepted Solution

Avatar

Correct answer by
Level 4

Hello @mohamedn4455443 ,

If your goal is to use the values in your code you can use environment specific OSGI configurations https://docs.adobe.com/content/help/en/experience-manager-cloud-service/implementing/deploying/overv...

If you need to set up the url for referencing your site at different environments, it should be done at Dispatcher level https://docs.adobe.com/content/help/en/experience-manager-dispatcher/using/configuring/dispatcher-do...

Alternatively, you can expose the necessary property at the page component level and set it up in the Page Properties of the root page at the specific environment.

The approaches may vary depending on your use cases.

Regards

 

 

if the Run Modes were set up accordingly at your environments, e.g. development, production, etc. (https://docs.adobe.com/content/help/en/experience-manager-64/deploying/configuring/configure-runmode...), you can get the current Run Mode at backend and it will contain the corresponding value, such as development or production. The example of getting the Run Modes in Java code https://sling.apache.org/documentation/bundles/sling-settings-org-apache-sling-settings.html
The example of getting Run Modes in Sightly https://gist.github.com/gabrielwalt/278f8cee870aac7ec619

See: https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager-forms/getting-current-aem-...

 

View solution in original post

9 Replies

Avatar

Correct answer by
Level 4

Hello @mohamedn4455443 ,

If your goal is to use the values in your code you can use environment specific OSGI configurations https://docs.adobe.com/content/help/en/experience-manager-cloud-service/implementing/deploying/overv...

If you need to set up the url for referencing your site at different environments, it should be done at Dispatcher level https://docs.adobe.com/content/help/en/experience-manager-dispatcher/using/configuring/dispatcher-do...

Alternatively, you can expose the necessary property at the page component level and set it up in the Page Properties of the root page at the specific environment.

The approaches may vary depending on your use cases.

Regards

 

 

if the Run Modes were set up accordingly at your environments, e.g. development, production, etc. (https://docs.adobe.com/content/help/en/experience-manager-64/deploying/configuring/configure-runmode...), you can get the current Run Mode at backend and it will contain the corresponding value, such as development or production. The example of getting the Run Modes in Java code https://sling.apache.org/documentation/bundles/sling-settings-org-apache-sling-settings.html
The example of getting Run Modes in Sightly https://gist.github.com/gabrielwalt/278f8cee870aac7ec619

See: https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager-forms/getting-current-aem-...

 

Avatar

Level 4
i just want variables such as webservice in production= x , webservice in test or development=y or in development form title = development and in production title = production automatic change based on system(development or production)

Avatar

Level 4

If the Run Modes where set up accordingly at your environments, e.g. development, production, etc. (https://docs.adobe.com/content/help/en/experience-manager-64/deploying/configuring/configure-runmode...), you can get the current Run Mode at backend and it will contain the corresponding value, such as development or production. The example of getting the Run Modes in Java code https://sling.apache.org/documentation/bundles/sling-settings-org-apache-sling-settings.html
The example of getting Run Modes in Sightly https://gist.github.com/gabrielwalt/278f8cee870aac7ec619

Avatar

Level 4
any example to get current run mode variables in the adaptive form direct ?

Avatar

Community Advisor

@mohamedn4455443 
As mentioned by @Andrei_Dantsou , setup the OSGI configuration and use the following code in case of getting runmodes in model or component class:

   @Reference
   private static SlingSettingsService slingSettingsService;


slingSettingsService.getRunModes().contains("prod")    ---> For production
slingSettingsService.getRunModes().contains("dev")     ----> for development



Thanks,
Nikhil

Avatar

Level 4
no option to get configuration variable from adaptive form direct without maven project ?

Avatar

Community Advisor
var SlingSettingsService = Packages.org.apache.sling.settings.SlingSettingsService; use(function () { // Get runmodes and transform them into an object that is easier to read for Sightly var runmodesObj = {}; var runmodesSet = sling.getService(SlingSettingsService).getRunModes(); var iterator = runmodesSet.iterator(); var isauthor=sling.getService(SlingSettingsService).getRunModes().contains("author"); var ispublish=sling.getService(SlingSettingsService).getRunModes().contains("publish"); while (iterator.hasNext()) { runmodesObj[iterator.next()] = true; }