{"id":98677,"date":"2025-05-02T15:00:13","date_gmt":"2025-05-02T09:30:13","guid":{"rendered":"https:\/\/cloudfoundation.com\/blog\/?p=98677"},"modified":"2025-05-02T17:35:49","modified_gmt":"2025-05-02T12:05:49","slug":"aem-run-modes-tutorial","status":"publish","type":"post","link":"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/","title":{"rendered":"AEM Run Modes Tutorial"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.9.7&#8243;][et_pb_row _builder_version=&#8221;4.9.7&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_post_title meta=&#8221;off&#8221; featured_image=&#8221;off&#8221; _builder_version=&#8221;4.9.7&#8243; title_font=&#8221;Times New Roman||||||||&#8221; title_text_align=&#8221;left&#8221; title_text_color=&#8221;#000000&#8243; title_font_size=&#8221;47&#8243; background_color=&#8221;RGBA(0,0,0,0)&#8221; background_enable_image=&#8221;off&#8221; custom_margin=&#8221;|||10%&#8221; title_font_size_tablet=&#8221;40&#8243; title_font_size_phone=&#8221;35&#8243; title_font_size_last_edited=&#8221;on|desktop&#8221;][\/et_pb_post_title][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.9.7&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221;]<\/p><div id=\"ez-toc-container\" class=\"ez-toc-v2_0_80 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#Understanding_AEM_Service_Initialisation_and_Activation\" >Understanding AEM Service Initialisation and Activation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#Closing_Connections_in_AEM_with_Deactivate\" >Closing Connections in AEM with @Deactivate<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#AEM_Best_Practices_Interfaces_and_Service_Implementation\" >AEM Best Practices: Interfaces and Service Implementation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#Leveraging_Sling_Models_in_AEM\" >Leveraging Sling Models in AEM<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#Understanding_AEM_Run_Modes\" >Understanding AEM Run Modes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#How_AEM_Run_Modes_Work\" >How AEM Run Modes Work<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#Setting_Up_AEM_Run_Modes\" >Setting Up AEM Run Modes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#Applying_AEM_Run_Modes_in_Code\" >Applying AEM Run Modes in Code<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#Benefits_of_Using_AEM_Run_Modes\" >Benefits of Using AEM Run Modes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#Understanding_AEM_Run_Modes-2\" >Understanding AEM Run Modes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#Configuring_AEM_with_Custom_Names\" >Configuring AEM with Custom Names<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#Using_AEM_for_Staging_and_Execution\" >Using AEM for Staging and Execution<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#Managing_Multiple_Instances_in_AEM\" >Managing Multiple Instances in AEM<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#Handling_Server_Configurations_in_AEM\" >Handling Server Configurations in AEM<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#Understanding_AEM_Run_Modes-3\" >Understanding AEM Run Modes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#Maximising_Efficiency_with_AEM_Services\" >Maximising Efficiency with AEM Services<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#Understanding_AEM_as_a_Powerful_CMS\" >Understanding AEM as a Powerful CMS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#Why_AEM_Stands_Out_Among_CMS_Options\" >Why AEM Stands Out Among CMS Options<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#AEMs_Seamless_Integration_with_Adobe_Experience_Cloud\" >AEM\u2019s Seamless Integration with Adobe Experience Cloud<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#Building_Websites_with_AEMs_Component-Based_Approach\" >Building Websites with AEM\u2019s Component-Based Approach<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#Why_Businesses_Migrate_to_AEM\" >Why Businesses Migrate to AEM<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#Understanding_AEM_Page_Structure\" >Understanding AEM Page Structure<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#Building_Pages_with_AEM_Components\" >Building Pages with AEM Components<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#Navigating_Templates_in_AEM\" >Navigating Templates in AEM<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#Why_AEM_Components_Matter\" >Why AEM Components Matter<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#Creating_Pages_Efficiently_with_AEM\" >Creating Pages Efficiently with AEM<\/a><\/li><\/ul><\/nav><\/div>\n\n<h2><span class=\"ez-toc-section\" id=\"Understanding_AEM_Service_Initialisation_and_Activation\"><\/span><strong>Understanding AEM Service Initialisation and Activation<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>How can annotations like @Activate be utilised in AEM to make our services efficient?<\/p>\n<p>Annotating methods with @Activate in AEM ensures they get executed immediately when services start up, increasing performance by immediately implementing these methods as soon as the service initialises.<\/p>\n<p>Imagine you need to set up a database connection at server startup time; to facilitate this, create an annotation with @Activate to mark this method with logic for configuring this connection, so it will always be ready and available when required, increasing overall <a href=\"https:\/\/cloudfoundation.com\/blog\/aem-interview-questions\" target=\"_blank\" rel=\"noopener\"><strong>AEM application performance<\/strong><\/a>.<\/p>\n<p>@Activate is AEM&#8217;s way of ensuring critical tasks, like setting up resources or initialising connections, happen at precisely the right moment during service start-up.<\/p>\n<p>Through thoughtful design practices like these, AEM provides a robust working platform.<br \/>\n<video src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/05\/AEM-Service-Lifecycle.webm\" poster=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/plugins\/a3-lazy-load\/assets\/images\/lazy_placeholder.gif\" autoplay=\"autoplay\" loop=\"loop\" muted=\"\" width=\"800\" height=\"auto\"><\/video><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Closing_Connections_in_AEM_with_Deactivate\"><\/span><strong>Closing Connections in AEM with @Deactivate<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Clean Up Resources When closing down an AEM instance, do you wish for any open connections or sockets to linger afterwards? Surely?<\/p>\n<p>@Deactivate is here to help, enabling you to write code using methods annotated with @Deactivate that close connections or release resources.<\/p>\n<p>Guarantee that your AEM server shuts down gracefully by creating a database connection at start-up using @Activate and then using @Deactivate at shutdown time to close it, thus preventing resource leakage issues.[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"AEM_Best_Practices_Interfaces_and_Service_Implementation\"><\/span><strong>AEM Best Practices: Interfaces and Service Implementation<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Establishing an interface for your service when working with AEM is often advised; this interface acts as an intermediary when your codebase contains multiple repositories.<\/p>\n<p>An enterprise and project-specific repository provides two locations where services may be defined: One repository is dedicated to project definition, while implementation exists elsewhere in an enterprise repository.<\/p>\n<p>This setup ensures superior modularity and separation of concerns, even though many developers tend to reference service classes within Sling models directly.<\/p>\n<p>By contrast, an interface can offer greater flexibility for multiple repositories or scenarios like remote development environments.<\/p>\n<p><img decoding=\"async\" class=\"size-medium aligncenter\" src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/05\/AEM-Practices.png\" alt=\"AEM Training\" width=\"800\" height=\"1070\"><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Leveraging_Sling_Models_in_AEM\"><\/span><strong>Leveraging Sling Models in AEM<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Sling models provide an intermediary layer between your front-end components and business logic, receiving automatically-injected values instead of connecting components.<\/p>\n<p>Consider your Sling model as the mediator collecting requests from the front end and forwarding them directly to appropriate services, something <a href=\"https:\/\/cloudfoundation.com\/blog\/adobe-experience-manager-tutorial-pdf\/\" target=\"_blank\" rel=\"noopener\"><strong>AEM&#8217;s architecture<\/strong><\/a> ensures by separating concerns.[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Understanding_AEM_Run_Modes\"><\/span><strong>Understanding AEM Run Modes<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Structured environments like quality assurance (QA), staging and production make monitoring how specific functionalities behave within each climate easier.<\/p>\n<p>AEM allows us to give each server its name or run mode; these names will enable us to quickly identify whether the instance runs within an author or publisher environment.<\/p>\n<p>These are essential when configuring multiple settings across environments.<\/p>\n<p><img decoding=\"async\" class=\"size-medium aligncenter\" src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/05\/AEM-Run-Modes.png\" alt=\"AEM Training\" width=\"800\" height=\"1867\"><\/p>\n<h2><span class=\"ez-toc-section\" id=\"How_AEM_Run_Modes_Work\"><\/span><strong>How AEM Run Modes Work<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Endpoints in AEM that require credentials vary based on their environment; production has one set and QA another. But since all codes remain the same across environments, how does AEM determine which credentials should be applied?<\/p>\n<p>Run modes provide us with an invaluable solution. AEM lets us assign unique aliases (names or acronyms) during startup for instances.<\/p>\n<p>They serve one crucial function &#8211; helping AEM execute different logic depending on its environment.[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Setting_Up_AEM_Run_Modes\"><\/span><strong>Setting Up AEM Run Modes<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Launching an AEM instance enables us to choose its run mode; for example, a production server would typically use &#8220;production&#8221;, while <a href=\"https:\/\/cloudfoundation.com\/blog\/what-is-tosca\" target=\"_blank\" rel=\"noopener\"><strong>testing environments<\/strong><\/a> might use either &#8220;QA&#8221; or &#8216;lower&#8221;.<\/p>\n<p>AEM provides the Sling Settings Service to facilitate this functionality, which uses getRunMode () to retrieve an assigned run mode and adjust code execution accordingly.<\/p>\n<p>This ensures that environment-specific configurations are respected during code execution.<br \/>\n<video src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/05\/Configuring-AEM.webm\" poster=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/plugins\/a3-lazy-load\/assets\/images\/lazy_placeholder.gif\" autoplay=\"autoplay\" loop=\"loop\" muted=\"\" width=\"800\" height=\"auto\"><\/video><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Applying_AEM_Run_Modes_in_Code\"><\/span><strong>Applying AEM Run Modes in Code<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Deploy identical code across author and publisher instances; however, we want certain logic to run only in author mode while other components use publisher mode as their environment of choice.<\/p>\n<p>Utilise run modes to differentiate the two environments and execute code accordingly in each environment.<\/p>\n<p>Example of our codebase&#8217;s functionality utilising AEM for collecting run mode via Sling Settings Service.[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8221;1_3,1_3,1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#064399&#8243; use_background_color_gradient=&#8221;on&#8221; background_color_gradient_start=&#8221;#0095f2&#8243; background_color_gradient_end=&#8221;#7dbed8&#8243; background_color_gradient_direction=&#8221;92deg&#8221; background_color_gradient_start_position=&#8221;35%&#8221; background_color_gradient_end_position=&#8221;80%&#8221; transform_scale=&#8221;73%|62%&#8221; transform_scale_linked=&#8221;off&#8221; transform_translate=&#8221;-53px|-50px&#8221; transform_translate_linked=&#8221;off&#8221; link_option_url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; link_option_url_new_window=&#8221;on&#8221;][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221;][et_pb_image src=&#8221;https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2023\/06\/SS_436-_Converted_-1.png&#8221; url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; url_new_window=&#8221;on&#8221; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; transform_scale=&#8221;114%|112%&#8221; transform_scale_linked=&#8221;off&#8221; transform_translate=&#8221;25px|-4px&#8221; transform_translate_linked=&#8221;off&#8221; width=&#8221;98.1%&#8221; custom_margin=&#8221;|7px|||false|false&#8221;][\/et_pb_image][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Georgia|700|||||||&#8221; text_font_size=&#8221;23px&#8221; text_line_height=&#8221;1.3em&#8221; header_font=&#8221;Georgia|700|||||||&#8221; header_font_size=&#8221;21px&#8221; header_letter_spacing=&#8221;-1px&#8221; header_line_height=&#8221;2em&#8221; transform_scale=&#8221;171%|159%&#8221; transform_scale_linked=&#8221;off&#8221; transform_translate=&#8221;40px|44px&#8221; transform_translate_linked=&#8221;off&#8221; transform_origin=&#8221;70%|50%&#8221; z_index=&#8221;-161&#8243; width=&#8221;100%&#8221; custom_margin=&#8221;|-215px||||&#8221; custom_padding=&#8221;|0px||||&#8221; link_option_url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; link_option_url_new_window=&#8221;on&#8221;]<\/p>\n<h1 style=\"text-align: center;\"><span style=\"color: #ffffff;\">AEM Training<\/span><\/h1>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; url_new_window=&#8221;on&#8221; button_text=&#8221;Explore Course Content&#8221; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_color=&#8221;#0C71C3&#8243; button_bg_color=&#8221;#FFFFFF&#8221; button_font=&#8221;|700|||||||&#8221; transform_translate=&#8221;64px|65px&#8221; transform_translate_linked=&#8221;off&#8221;][\/et_pb_button][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221;][et_pb_image src=&#8221;https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2019\/06\/logo_resize_color.png&#8221; url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; url_new_window=&#8221;on&#8221; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; transform_translate=&#8221;-36px|0px&#8221; transform_translate_linked=&#8221;off&#8221; custom_margin=&#8221;|||178px||&#8221;][\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.9.7&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Benefits_of_Using_AEM_Run_Modes\"><\/span><strong>Benefits of Using AEM Run Modes<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Why use AEM run modes?<\/p>\n<p>They simplify managing configurations by enabling developers to tailor behaviour according to environment variables, while <a href=\"https:\/\/cloudfoundation.com\/blog\/octopus-deploy-training\" target=\"_blank\" rel=\"noopener\"><strong>streamlining deployment<\/strong><\/a> by ensuring production instances never unintentionally use test credentials for authentication.<\/p>\n<p>Run modes provide precise control of features.<\/p>\n<p>For instance, specific logging mechanisms might only activate in quality assurance but be disabled during production to optimise performance &#8211; AEM makes managing such subtleties effortless.<\/p>\n<p><img decoding=\"async\" class=\"size-medium aligncenter\" src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/05\/AEM-Modes.png\" alt=\"AEM Training\" width=\"800\" height=\"1066\"><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Understanding_AEM_Run_Modes-2\"><\/span><strong>Understanding AEM Run Modes<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>AEM provides an effective means of controlling instances through run modes, with different names for instances, allowing us to execute specific configurations based on these run modes.<\/p>\n<p>We can streamline deployments more effectively by taking advantage of AEM run modes.<\/p>\n<p>Run mode can allow us to implement specific logic tailored to particular instances if the run mode includes particular identifiers.[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Configuring_AEM_with_Custom_Names\"><\/span><strong>Configuring AEM with Custom Names<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Assigning custom names to instances is easy in AEM; we can control how configurations are run by using command-line parameters as names for our instances.<\/p>\n<p>If our author instance needs to behave differently from our publisher instance, we can assign unique run modes and modify execution flow accordingly.<\/p>\n<p><img decoding=\"async\" class=\"size-medium aligncenter\" src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/05\/AEM-Instance-Setup.png\" alt=\"AEM Training\" width=\"800\" height=\"2634\"><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Using_AEM_for_Staging_and_Execution\"><\/span><strong>Using AEM for Staging and Execution<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Sometimes, we only require specific code to run in staging environments rather than live settings; AEM allows us to specify run modes particular to these settings.<\/p>\n<p>With just a few simple configuration steps, we can ensure that our publisher instance operates independently from our author instance for greater control over deployments.[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Managing_Multiple_Instances_in_AEM\"><\/span><strong>Managing Multiple Instances in AEM<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>AEM allows us to run multiple instances with separate run modes and execute different code depending on their instance name, providing more flexible workflow options based on our infrastructure needs.<\/p>\n<p>By carefully naming our instances, we ensure smooth deployment cycles and avoid pushing unwanted configurations into live environments.<br \/>\n<video src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/05\/AEM-Instance-Management.webm\" poster=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/plugins\/a3-lazy-load\/assets\/images\/lazy_placeholder.gif\" autoplay=\"autoplay\" loop=\"loop\" muted=\"\" width=\"800\" height=\"auto\"><\/video><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Handling_Server_Configurations_in_AEM\"><\/span><strong>Handling Server Configurations in AEM<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Configuring AEM properly is of utmost importance in its usage.<\/p>\n<p>By associating instances with names, we can adapt AEM instances according to different operational needs and tailor their setup more efficiently.<\/p>\n<p>We can use simple command line settings to supply AEM with these identifiers, allowing it to organise our environment efficiently.[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Understanding_AEM_Run_Modes-3\"><\/span><strong>Understanding AEM Run Modes<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Run modes in AEM provide an effective means of differentiating instances, providing unique identifiers to make <a href=\"https:\/\/cloudfoundation.com\/blog\/ping-identity-training\" target=\"_blank\" rel=\"noopener\"><strong>managing configurations<\/strong><\/a> simpler.<\/p>\n<p>One method I like for specifying run modes is with the &#8216;-Dslings.run.modes=&#8217; parameter. It is easy and gets the job done efficiently. Use the shorthand &#8216;-R&#8217; followed by your preferred name, ABC or XYZ, for greater clarity.<\/p>\n<p>Though shortcuts may save time, providing insightful descriptions makes your setup more meaningful.<\/p>\n<p>When passing parameters to AEM, make sure they specify both name and value to avoid confusion during implementation.<\/p>\n<p>By being as informative as possible in their setups, providing more meaningful setups leads to successful implementation processes and improved overall results.<\/p>\n<p>Shortcuts might work if you are an expert, but a more structured approach should always be preferred for complex setups.<\/p>\n<p><img decoding=\"async\" class=\"size-medium aligncenter\" src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/05\/AEM-Setup.png\" alt=\"AEM Training\" width=\"800\" height=\"879\"><\/p>\n<p>AEM provides its Sling Settings Service, which makes using run modes in code easier by helping identify an instance&#8217;s current run mode status.<\/p>\n<p>Naming your Sling Settings Service instance correctly can make the configuration process smoother, so I use names that make sense contextually for me, such as settingService for my setups.<\/p>\n<p>AEM&#8217;s flexibility enables you to tailor your setup without compromising functionality.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Maximising_Efficiency_with_AEM_Services\"><\/span><strong>Maximising Efficiency with AEM Services<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>One feature that stands out about AEM is its pre-configured services, like Sling Settings, that simplify my workflow, from run modes and instance setup tools to all intuitive customisations streamlining this process.<\/p>\n<p>As part of the Sling Settings Service development, AEM allows us to utilise OSGi services frequently. I find AEM&#8217;s combination of simplicity and power remarkable, allowing us to focus on tasks without overcomplicating matters.<\/p>\n<p>You are entirely in charge of assigning names and functionality to these services.[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8221;1_3,1_3,1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#064399&#8243; use_background_color_gradient=&#8221;on&#8221; background_color_gradient_start=&#8221;#ff8c7c&#8221; background_color_gradient_end=&#8221;#e5ba4e&#8221; background_color_gradient_type=&#8221;radial&#8221; background_color_gradient_direction_radial=&#8221;top left&#8221; background_color_gradient_start_position=&#8221;35%&#8221; background_color_gradient_end_position=&#8221;80%&#8221; transform_scale=&#8221;74%|69%&#8221; transform_scale_linked=&#8221;off&#8221; transform_translate=&#8221;-53px|-50px&#8221; transform_translate_linked=&#8221;off&#8221; custom_margin=&#8221;||-5px||false|false&#8221; custom_padding=&#8221;|||2px|false|false&#8221; link_option_url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; link_option_url_new_window=&#8221;on&#8221;][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221;][et_pb_image src=&#8221;https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2023\/06\/8423118_3895895.png&#8221; url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; url_new_window=&#8221;on&#8221; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; width=&#8221;85.4%&#8221; custom_margin=&#8221;-31px||-24px||false|false&#8221; custom_padding=&#8221;|22px|0px||false|false&#8221;][\/et_pb_image][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Georgia|700|||||||&#8221; text_font_size=&#8221;23px&#8221; text_line_height=&#8221;1.3em&#8221; header_font=&#8221;Georgia|700|||||||&#8221; header_font_size=&#8221;19px&#8221; header_letter_spacing=&#8221;-1px&#8221; header_line_height=&#8221;1.2em&#8221; transform_scale=&#8221;171%|159%&#8221; transform_scale_linked=&#8221;off&#8221; transform_translate=&#8221;40px|44px&#8221; transform_translate_linked=&#8221;off&#8221; transform_origin=&#8221;70%|50%&#8221; z_index=&#8221;-161&#8243; width=&#8221;100%&#8221; custom_margin=&#8221;|-215px||||&#8221; custom_padding=&#8221;|0px||||&#8221; link_option_url=&#8221;https:\/\/cloudfoundation.com\/&#8221; link_option_url_new_window=&#8221;on&#8221;]<\/p>\n<h1 style=\"text-align: center;\"><strong>AEM Online <\/strong>Training<\/h1>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; url_new_window=&#8221;on&#8221; button_text=&#8221;Up Coming Batches&#8221; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_color=&#8221;#E09900&#8243; button_bg_color=&#8221;#FFFFFF&#8221; button_font=&#8221;|700|||||||&#8221; transform_translate=&#8221;64px|65px&#8221; transform_translate_linked=&#8221;off&#8221; background_layout=&#8221;dark&#8221;][\/et_pb_button][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221;][et_pb_image src=&#8221;https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2019\/06\/logo_resize_color.png&#8221; url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; url_new_window=&#8221;on&#8221; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; transform_translate=&#8221;-36px|0px&#8221; transform_translate_linked=&#8221;off&#8221; custom_margin=&#8221;|||178px||&#8221;][\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.9.7&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Understanding_AEM_as_a_Powerful_CMS\"><\/span><strong>Understanding AEM as a Powerful CMS<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>CMS (Content Management System) solutions are pivotal in updating website content regularly and efficiently.<\/p>\n<p>You might have witnessed this firsthand on websites like Amazon, where images, videos and text updates occur frequently &#8211; these frequent modifications rely heavily on CMS solutions for their administration.<\/p>\n<p>Traditional setups required making even minor updates, such as price updates or replacing images, through complex code modifications and lengthy deployment processes, taking weeks before any minor updates were live on a website.<\/p>\n<p>That is where CMS tools came to the rescue by making content modifications seamless and instant.<\/p>\n<p><img decoding=\"async\" class=\"size-medium aligncenter\" src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/05\/AEM-as-CMS.png\" alt=\"AEM Training\" width=\"800\" height=\"2086\"><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Why_AEM_Stands_Out_Among_CMS_Options\"><\/span><strong>Why AEM Stands Out Among CMS Options<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"https:\/\/cloudfoundation.com\/blog\/what-is-aem\" target=\"_blank\" rel=\"noopener\"><strong>Adobe Experience Manager<\/strong><\/a>, or AEM for short, is an incredible CMS &#8211; not simply another standard enterprise-level CMS, but providing unique capabilities that set it apart from its competition.<\/p>\n<p>With AEM, it&#8217;s possible to manage website content dynamically without touching any code &#8211; imagine being able to replace images or update text instantly; that is the power of AEM!<\/p>\n<p>One of the unique capabilities of AEM is its hosting ability; unlike traditional CMS solutions, which rely on external servers to host websites directly. AEM makes for an all-inclusive package for managing and delivering content.[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"AEMs_Seamless_Integration_with_Adobe_Experience_Cloud\"><\/span><strong>AEM\u2019s Seamless Integration with Adobe Experience Cloud<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>What distinguishes AEM as an <a href=\"https:\/\/cloudfoundation.com\/blog\/sap-eam-training\" target=\"_blank\" rel=\"noopener\"><strong>enterprise-class<\/strong><\/a> CMS is its seamless integration with Adobe Experience Cloud products like Analytics, Campaign Targeting and Launch. They work harmoniously alongside AEM.<\/p>\n<p>No coding or configurations are needed; these integrations work seamlessly, improving the overall experience.<\/p>\n<p>This connected ecosystem empowers businesses to leverage advanced features seamlessly &#8211; analysing customer data, running campaigns or improving website performance. AEM serves as the central hub for both content and experience management.<br \/>\n<video src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/05\/AEM-Integration-Benefits.webm\" poster=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/plugins\/a3-lazy-load\/assets\/images\/lazy_placeholder.gif\" autoplay=\"autoplay\" loop=\"loop\" muted=\"\" width=\"800\" height=\"auto\"><\/video><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Building_Websites_with_AEMs_Component-Based_Approach\"><\/span><strong>Building Websites with AEM\u2019s Component-Based Approach<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>As part of <a href=\"https:\/\/cloudfoundation.com\/blog\/aem-tutorial-adobe-experience-manager\" target=\"_blank\" rel=\"noopener\"><strong>AEM website development<\/strong><\/a>, each page is divided into modules or pieces, such as logo, search bar, navigation and promotional banners on a homepage.<\/p>\n<p>Every component is modular to simplify managing and updating content more easily, creating more flexibility and efficiency &#8211; no need for major redesigning when minor adjustments require only tweaks to individual parts of a page![\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Why_Businesses_Migrate_to_AEM\"><\/span><strong>Why Businesses Migrate to AEM<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Many organisations are switching from platforms such as Drupal to AEM for its unmatched capabilities in efficiently managing complex, content-rich sites.<\/p>\n<p>Migration to AEM might initially appear daunting, but its long-term advantages far outweigh the required efforts.<\/p>\n<p>AEM stands out among modern enterprises due to its advanced content management features and dynamic update options, making it a reliable solution.<\/p>\n<p><img decoding=\"async\" class=\"size-medium aligncenter\" src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/05\/AEM-Adoption.png\" alt=\"AEM Training\" width=\"800\" height=\"945\"><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Understanding_AEM_Page_Structure\"><\/span><strong>Understanding AEM Page Structure<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>First step when working with AEM is identifying all of its pages on a website using a sitemap; every website typically features one, but its pages may or may not be exposed publicly.<\/p>\n<p>Examining an HTML sitemap allows you to view every page on a website. Once identified, the next step should be breaking each one apart into its parts; each page in AEM includes various elements with specific functions that serve different functions on its pages.<\/p>\n<p>At a minimum, designs require three components for proper functionality: image, navigation and card components. Card elements play an essential role, providing designers with a platform to display headlines, images and descriptive texts for users to access quickly and efficiently.[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Building_Pages_with_AEM_Components\"><\/span><strong>Building Pages with AEM Components<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>AEM helps streamline web development by making components reusable across pages, so a card component used in one section can be duplicated elsewhere on different site sections and edited easily as required by authors. Whether modifying its text and images or changing their placement entirely is up to them!<\/p>\n<p>Templates play an essential part in AEM. Like PowerPoint templates, AEM templates define the initial structure of pages to ensure a consistent look and feel across various pages. When creating new pages in AEM, selecting an initial template lays the groundwork for all its components.<\/p>\n<p><img decoding=\"async\" class=\"size-medium aligncenter\" src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/05\/AEM-Page-Building.png\" alt=\"AEM Training\" width=\"800\" height=\"2990\"><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Navigating_Templates_in_AEM\"><\/span><strong>Navigating Templates in AEM<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>AEM templates function similarly to PowerPoint: imagine designing 10 slides with identical backgrounds, headers and footers! An AEM template would save time.<\/p>\n<p>Templates offer users an easier and faster way of producing multiple pages that adhere to a consistent design while remaining uniform in structure and aesthetics. AEM follows this same practice; once a template has been set up, any pages created from that template inherit its structure as part of its structure.<\/p>\n<p>Creating an integrated design across the site ensures a uniform look while decreasing the manual effort required to replicate elements.[\/et_pb_text][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221;]<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Why_AEM_Components_Matter\"><\/span><strong>Why AEM Components Matter<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>AEM components are autonomous units within pages that work individually; for instance, browser components operate separately from navigation components, meaning any issues in either component won&#8217;t impact both simultaneously.<\/p>\n<p>If a card component experiences any issue, only that specific section will be affected, not the whole page. AEM makes for highly efficient development by permitting developers to manage individual components without disturbing the site.<\/p>\n<p>Each element plays a distinct role: presenting images, organising text, or aiding navigation.<br \/>\n<video src=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/05\/AEM-Component-Efficiency.webm\" poster=\"https:\/\/cloudfoundation.com\/blog\/wp-content\/plugins\/a3-lazy-load\/assets\/images\/lazy_placeholder.gif\" autoplay=\"autoplay\" loop=\"loop\" muted=\"\" width=\"800\" height=\"auto\"><\/video><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Creating_Pages_Efficiently_with_AEM\"><\/span><strong>Creating Pages Efficiently with AEM<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Assembling web pages using AEM involves dragging and dropping components onto your page layout to form its structure while offering customisation options for each one.<\/p>\n<p>Components make the process seamless for adding navigation bars, placing images or structuring text blocks; AEM relies on this dynamic component-driven concept to build pages dynamically.<\/p>\n<p>Every component in AEM has been built for reuse, providing web developers the means to maintain uniformity without starting from scratch. By taking this approach, AEM greatly streamlines content management.[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8221;1_3,1_3,1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#064399&#8243; use_background_color_gradient=&#8221;on&#8221; background_color_gradient_start=&#8221;#494fff&#8221; background_color_gradient_end=&#8221;#9ea6ff&#8221; background_color_gradient_type=&#8221;radial&#8221; background_color_gradient_direction_radial=&#8221;top left&#8221; background_color_gradient_start_position=&#8221;35%&#8221; background_color_gradient_end_position=&#8221;80%&#8221; transform_scale=&#8221;74%|71%&#8221; transform_scale_linked=&#8221;off&#8221; transform_translate=&#8221;-53px|-50px&#8221; transform_translate_linked=&#8221;off&#8221; link_option_url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; link_option_url_new_window=&#8221;on&#8221;][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221;][et_pb_image src=&#8221;https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2023\/06\/Untitled-11.png&#8221; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; transform_scale=&#8221;103%|103%&#8221; transform_scale_linked=&#8221;off&#8221; transform_translate=&#8221;11px|0px&#8221; transform_translate_linked=&#8221;off&#8221; custom_padding=&#8221;|88px||||&#8221;][\/et_pb_image][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Georgia|700|||||||&#8221; text_text_color=&#8221;#FFFFFF&#8221; text_font_size=&#8221;23px&#8221; text_line_height=&#8221;1.3em&#8221; header_font=&#8221;Georgia|700|||||||&#8221; header_font_size=&#8221;19px&#8221; header_letter_spacing=&#8221;-1px&#8221; header_line_height=&#8221;1.2em&#8221; transform_scale=&#8221;171%|159%&#8221; transform_scale_linked=&#8221;off&#8221; transform_translate=&#8221;40px|44px&#8221; transform_translate_linked=&#8221;off&#8221; transform_origin=&#8221;70%|50%&#8221; z_index=&#8221;-161&#8243; width=&#8221;100%&#8221; custom_margin=&#8221;|-215px||||&#8221; custom_padding=&#8221;|0px||||&#8221; link_option_url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; link_option_url_new_window=&#8221;on&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243;]<\/p>\n<h1 style=\"text-align: center;\"><span style=\"color: #ffffff;\"><strong>AEM Course Price<\/strong><\/span><\/h1>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; url_new_window=&#8221;on&#8221; button_text=&#8221;Offer Price&#8221; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_color=&#8221;#0C71C3&#8243; button_bg_color=&#8221;#FFFFFF&#8221; button_font=&#8221;|700|||||||&#8221; transform_translate=&#8221;64px|65px&#8221; transform_translate_linked=&#8221;off&#8221;][\/et_pb_button][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221;][et_pb_image src=&#8221;https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2019\/06\/logo_resize_color.png&#8221; url=&#8221;https:\/\/cloudfoundation.com\/blog\/&#8221; url_new_window=&#8221;on&#8221; _builder_version=&#8221;4.9.7&#8243; _module_preset=&#8221;default&#8221; transform_translate=&#8221;-36px|0px&#8221; transform_translate_linked=&#8221;off&#8221; custom_margin=&#8221;|||178px||&#8221;][\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.9.7&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_team_member name=&#8221;Sai Susmitha&#8221; position=&#8221;Author&#8221; image_url=&#8221;https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/03\/Sai-Susmitha.png&#8221; _builder_version=&#8221;4.9.7&#8243; header_level=&#8221;h5&#8243; header_font=&#8221;Titillium Web|700|||||||&#8221; body_font=&#8221;Titillium Web||||||||&#8221; body_font_size=&#8221;16&#8243;]<\/p>\n<p id=\"posted-message-container\" class=\"zcmsgcnt textL\" dir=\"auto\">The Journey of Personal Development is a Continuous path of learning and growth<\/p>\n<p>[\/et_pb_team_member][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.9.7&#8243;][et_pb_row _builder_version=&#8221;4.9.7&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_post_title meta=&#8221;off&#8221; featured_image=&#8221;off&#8221; _builder_version=&#8221;4.9.7&#8243; title_font=&#8221;Times New Roman||||||||&#8221; title_text_align=&#8221;left&#8221; title_text_color=&#8221;#000000&#8243; title_font_size=&#8221;47&#8243; background_color=&#8221;RGBA(0,0,0,0)&#8221; background_enable_image=&#8221;off&#8221; custom_margin=&#8221;|||10%&#8221; title_font_size_tablet=&#8221;40&#8243; title_font_size_phone=&#8221;35&#8243; title_font_size_last_edited=&#8221;on|desktop&#8221;][\/et_pb_post_title][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.9.7&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221;] Understanding AEM Service Initialisation and Activation How can [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":98695,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"2880","footnotes":""},"categories":[209],"tags":[],"class_list":{"0":"post-98677","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-adobe"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>AEM Run Modes Tutorial<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AEM Run Modes Tutorial\" \/>\n<meta property=\"og:description\" content=\"[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.9.7&#8243;][et_pb_row _builder_version=&#8221;4.9.7&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_post_title meta=&#8221;off&#8221; featured_image=&#8221;off&#8221; _builder_version=&#8221;4.9.7&#8243; title_font=&#8221;Times New Roman||||||||&#8221; title_text_align=&#8221;left&#8221; title_text_color=&#8221;#000000&#8243; title_font_size=&#8221;47&#8243; background_color=&#8221;RGBA(0,0,0,0)&#8221; background_enable_image=&#8221;off&#8221; custom_margin=&#8221;|||10%&#8221; title_font_size_tablet=&#8221;40&#8243; title_font_size_phone=&#8221;35&#8243; title_font_size_last_edited=&#8221;on|desktop&#8221;][\/et_pb_post_title][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.9.7&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221;] Understanding AEM Service Initialisation and Activation How can [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/\" \/>\n<meta property=\"og:site_name\" content=\"CloudFoundation | Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-02T09:30:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-02T12:05:49+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/05\/AEM9FI.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"500\" \/>\n\t<meta property=\"og:image:height\" content=\"333\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"NAGENDRAG\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"NAGENDRAG\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"AEM Run Modes Tutorial","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/","og_locale":"en_US","og_type":"article","og_title":"AEM Run Modes Tutorial","og_description":"[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.9.7&#8243;][et_pb_row _builder_version=&#8221;4.9.7&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_post_title meta=&#8221;off&#8221; featured_image=&#8221;off&#8221; _builder_version=&#8221;4.9.7&#8243; title_font=&#8221;Times New Roman||||||||&#8221; title_text_align=&#8221;left&#8221; title_text_color=&#8221;#000000&#8243; title_font_size=&#8221;47&#8243; background_color=&#8221;RGBA(0,0,0,0)&#8221; background_enable_image=&#8221;off&#8221; custom_margin=&#8221;|||10%&#8221; title_font_size_tablet=&#8221;40&#8243; title_font_size_phone=&#8221;35&#8243; title_font_size_last_edited=&#8221;on|desktop&#8221;][\/et_pb_post_title][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.9.7&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text _builder_version=&#8221;4.9.7&#8243; text_font=&#8221;Georgia||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;22px&#8221; text_line_height=&#8221;1.9em&#8221; max_width=&#8221;800px&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin=&#8221;|||10%&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221; text_font_size_tablet=&#8221;&#8221; text_font_size_phone=&#8221;&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; text_line_height_last_edited=&#8221;off|phone&#8221;] Understanding AEM Service Initialisation and Activation How can [&hellip;]","og_url":"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/","og_site_name":"CloudFoundation | Blog","article_published_time":"2025-05-02T09:30:13+00:00","article_modified_time":"2025-05-02T12:05:49+00:00","og_image":[{"width":500,"height":333,"url":"http:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/05\/AEM9FI.jpg","type":"image\/jpeg"}],"author":"NAGENDRAG","twitter_card":"summary_large_image","twitter_misc":{"Written by":"NAGENDRAG","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/","url":"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/","name":"AEM Run Modes Tutorial","isPartOf":{"@id":"https:\/\/cloudfoundation.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#primaryimage"},"image":{"@id":"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/05\/AEM9FI.jpg","datePublished":"2025-05-02T09:30:13+00:00","dateModified":"2025-05-02T12:05:49+00:00","author":{"@id":"https:\/\/cloudfoundation.com\/blog\/#\/schema\/person\/df6c7eba98f1bb15f2a100a9958266e4"},"breadcrumb":{"@id":"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#primaryimage","url":"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/05\/AEM9FI.jpg","contentUrl":"https:\/\/cloudfoundation.com\/blog\/wp-content\/uploads\/2025\/05\/AEM9FI.jpg","width":500,"height":333},{"@type":"BreadcrumbList","@id":"https:\/\/cloudfoundation.com\/blog\/aem-run-modes-tutorial\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudfoundation.com\/blog\/"},{"@type":"ListItem","position":2,"name":"AEM Run Modes Tutorial"}]},{"@type":"WebSite","@id":"https:\/\/cloudfoundation.com\/blog\/#website","url":"https:\/\/cloudfoundation.com\/blog\/","name":"CloudFoundation | Blog","description":"A New way of Learning","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudfoundation.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/cloudfoundation.com\/blog\/#\/schema\/person\/df6c7eba98f1bb15f2a100a9958266e4","name":"NAGENDRAG","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudfoundation.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/09e08ba1102807a876f2c00245d6b955f0a9f027b40c181e9cee0cd2d927f84a?s=96&d=wavatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/09e08ba1102807a876f2c00245d6b955f0a9f027b40c181e9cee0cd2d927f84a?s=96&d=wavatar&r=g","caption":"NAGENDRAG"},"url":"https:\/\/cloudfoundation.com\/blog\/author\/nagendrag\/"}]}},"_links":{"self":[{"href":"https:\/\/cloudfoundation.com\/blog\/wp-json\/wp\/v2\/posts\/98677","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudfoundation.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudfoundation.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudfoundation.com\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudfoundation.com\/blog\/wp-json\/wp\/v2\/comments?post=98677"}],"version-history":[{"count":13,"href":"https:\/\/cloudfoundation.com\/blog\/wp-json\/wp\/v2\/posts\/98677\/revisions"}],"predecessor-version":[{"id":98764,"href":"https:\/\/cloudfoundation.com\/blog\/wp-json\/wp\/v2\/posts\/98677\/revisions\/98764"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudfoundation.com\/blog\/wp-json\/wp\/v2\/media\/98695"}],"wp:attachment":[{"href":"https:\/\/cloudfoundation.com\/blog\/wp-json\/wp\/v2\/media?parent=98677"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudfoundation.com\/blog\/wp-json\/wp\/v2\/categories?post=98677"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudfoundation.com\/blog\/wp-json\/wp\/v2\/tags?post=98677"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}