<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Aura – hot-swapping</title>
    <link>/categories/hot-swapping/</link>
    <description>Recent content in hot-swapping on Aura</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    
	  <atom:link href="/categories/hot-swapping/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Docs: </title>
      <link>/docs/developers-workspace/general-operation-system/manage-locales/locales-managing/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/developers-workspace/general-operation-system/manage-locales/locales-managing/</guid>
      <description>
        
        
        &lt;h1 id=&#34;general-guidelines-for-locales-management&#34;&gt;General guidelines for locales management&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;The aim of this document is to describe how locales are handled by Aura Bot services for the following components: &lt;em&gt;&lt;strong&gt;aura-groot&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;aura-authentication-api&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;aura-bridge&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;aura-bridge-outbound&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&amp;#x26a0;&amp;#xfe0f; Remember that hot swapping of &lt;em&gt;&lt;strong&gt;aura-bot&lt;/strong&gt;&lt;/em&gt; locales must be done through the &lt;a href=&#34;../../docs/developers-workspace/install-configure/aura-configuration-updater/&#34;&gt;&lt;em&gt;&lt;strong&gt;aura-configuration-updater&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The objective of the current document is to describe the hot swapping process to update POEditor texts in Aura without service outage, both for global and local use cases. Hereinafter, we will refer it as hot swapping process.&lt;/p&gt;
&lt;p&gt;For each type of use cases, the process uses different projects and has a different scope, as shown in the following table.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Global use cases&lt;/th&gt;
&lt;th&gt;Local use cases&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;- Aura POEditor global project (owned by Aura Global Team)&lt;/td&gt;
&lt;td&gt;- Aura POEditor local project (owned by L-CDO Team)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;- Scope: edition of texts&lt;/td&gt;
&lt;td&gt;- Scope: edition of texts and definition of resources&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;In both cases, the texts correspond to PRE and PRO resources in POEditor.&lt;/p&gt;
&lt;p&gt;Follow the orderly guidelines in the succeeding sections:&lt;/p&gt;
&lt;p&gt;&amp;#x26a0;&amp;#xfe0f; If you have &lt;strong&gt;local use cases&lt;/strong&gt;, you must carry out the process included in this document for update POEditor texts each time a new version of your local use cases is deployed.&lt;/p&gt;
&lt;h2 id=&#34;previous-steps&#34;&gt;Previous steps&lt;/h2&gt;
&lt;p&gt;Previous steps include the management of POEditor itself for the edition of texts and, depending on the use case type, the generation of resources. These tasks are fully defined in the corresponding documents:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Global Use Cases &amp;gt; &lt;a href=&#34;../../docs/experiences-builder/global-use-cases/global-use-cases/#build-aura-response-edit-poeditor-texts&#34;&gt;Edition of POEditor texts&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Local Use Cases &amp;gt; &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/aura-response/aura-response-poeditor/&#34;&gt;Edition of POEditor texts and generation of resources (references)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;generation-of-poeditor-token&#34;&gt;Generation of POEditor token&lt;/h2&gt;
&lt;p&gt;Once the texts have been modified in POEditor, it is necessary to have a &lt;strong&gt;Read-only API Token&lt;/strong&gt; in order to import them into &lt;em&gt;&lt;strong&gt;aura-bot&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Global Use Cases&lt;/strong&gt;: developers should request the read-only API Token to the APE Team.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Local Use Cases&lt;/strong&gt;: developers should request the read-only API Token to the local responsible of POEditor project.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The reading token is obtained from the POEditor website, where the OB edits the texts.&lt;/p&gt;
&lt;p&gt;Figure 1. Add readonly API token&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/building-dialogs/poeditor-add-api-token.png&#34; alt=&#34;POEditor add read-only API token&#34;&gt;&lt;/p&gt;
&lt;p&gt;Figure 2. API access&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/building-dialogs/poeditor-api-access.png&#34; alt=&#34;POEditor API access&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;importing&#34;&gt;Importing locale files with aura-locale-importer tool&lt;/h2&gt;
&lt;p&gt;We recommend using &lt;em&gt;&lt;strong&gt;aura-locale-importer&lt;/strong&gt;&lt;/em&gt; tool, a utility developed by Aura Global Team that allows to handle the importation and exportation of locale files with POEditor.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install &lt;em&gt;&lt;strong&gt;aura-locale-importer&lt;/strong&gt;&lt;/em&gt; tool:&lt;br&gt;
1.1.	Log in NPM to download the private NPM package dependencies. You can log in with user/password or using the token:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;User/password -&amp;gt; npm login&lt;/li&gt;
&lt;li&gt;Token -&amp;gt; Add the token to your environment variables on your machine. Follow the guidelines for mac/linux.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;1.2.   Install the npm application globally in the host. You can use two equivalent commands for installing the latest available version:&lt;br&gt;
&lt;code&gt;npm install –g @telefonica/aura-locale-importer&lt;/code&gt;
or&lt;br&gt;
&lt;code&gt;npm i @telefonica/aura-locale-importer -g&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Copy in a local directory the file containing the locale resources to be updated (JSON file from &lt;em&gt;aura-bot/locale/&lt;/em&gt; directory). If there is no file, the &lt;strong&gt;aura-locale-importer&lt;/strong&gt; tool will generate one.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Get full locale files to be uploaded:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;$&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;aura&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;locale&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;importer&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;u&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;l&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;language&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;country&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;j&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;POEditor&lt;/span&gt; &lt;span style=&#34;color:#c4a000&#34;&gt;project&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;b&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;my&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;library&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;d&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;local&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#c4a000&#34;&gt;directory&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;m&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;library&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;f&lt;/span&gt; &lt;span style=&#34;color:#a40000&#34;&gt;–&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;t&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;token&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-l &amp;lt;language-country&amp;gt;&lt;/code&gt;: country translation e.g., &lt;code&gt;es-es&lt;/code&gt;, &lt;code&gt;de-de&lt;/code&gt;, &lt;code&gt;en-gb&lt;/code&gt;. If this field is empty, the system will import every translation file.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-j &amp;lt;POEditor project&amp;gt;&lt;/code&gt;: POEditor project to be used:&lt;/li&gt;
&lt;li&gt;For global use cases: &lt;em&gt;&lt;strong&gt;aura-bot&lt;/strong&gt;&lt;/em&gt; project (global project)&lt;/li&gt;
&lt;li&gt;For local use cases: name of the OB&amp;rsquo;s local project&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-b &amp;lt;my-library&amp;gt;&lt;/code&gt;: specific libraries to be uploaded in the hot swapping process. For
example: fill this parameter with &lt;code&gt;authentication&lt;/code&gt; for &lt;em&gt;&lt;strong&gt;aura-authentication-api&lt;/strong&gt;&lt;/em&gt;, or fill it with &lt;code&gt;bridge&lt;/code&gt; for &lt;em&gt;&lt;strong&gt;aura-bridge&lt;/strong&gt;&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-d &amp;lt;local-directory&amp;gt;&lt;/code&gt;: local directory where result files will be imported.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-f&lt;/code&gt;: this parameter forces the files overwriting.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-m library&lt;/code&gt;: it indicates the way of working. For the current release, it must be &lt;code&gt;library&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-t &amp;lt;token&amp;gt;&lt;/code&gt;: &lt;a href=&#34;#generation-of-poeditor-token&#34;&gt;read-only API token&lt;/a&gt; to access to POEditor.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here, developers can follow two different processes:&lt;/p&gt;
&lt;p&gt;a.	Define it in the environment variable &lt;code&gt;$POEDITOR_TOKEN&lt;/code&gt; in the host running the process. In this case, this command should not be included here.&lt;/p&gt;
&lt;p&gt;b.	Add it in the current command within &lt;code&gt;-t &amp;lt;token&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;An example for a local use case in Germany is shown below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;This command will generate all the locale files that fulfil the conditions established in the parameters above:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;`$ aura-locale-importer -u -l de-de -j Aura-Bot-De -d ./locale -m library -f –t f9023005c8792e57d3593511b69c300e`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;This command lists the content of the locale folder in Aura Bot project.
&lt;code&gt;$ ls .locale&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The output will be:
&lt;code&gt;de-de.json&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;locale-files-uploading&#34;&gt;Locale files uploading&lt;/h2&gt;
&lt;p&gt;This process requires certain previous steps, as all the resources and texts (from the bot core, global use cases or local use cases) must be merged together during the make-up process.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Access the Azure blob container &lt;code&gt;static-resources&lt;/code&gt; in your intended environment, where the JSON file with your resources and texts is. This file will be in the following paths, depending on the component:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;For &lt;em&gt;&lt;strong&gt;aura-authentication-api&lt;/strong&gt;&lt;/em&gt;:&lt;br&gt;
&lt;code&gt;static-resources/authentication/locale/&amp;lt;aura-version&amp;gt;/&amp;lt;language-country&amp;gt;.json&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For &lt;em&gt;&lt;strong&gt;aura-bridge&lt;/strong&gt;&lt;/em&gt;:&lt;br&gt;
&lt;code&gt;static-resources/aura-bridge/locale/&amp;lt;aura-version&amp;gt;/&amp;lt;language-country&amp;gt;.json&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It is recommended to use Azure Storage Explorer in order to easily access this file.&lt;/p&gt;
&lt;p&gt;Figure 3. Updating locale files to Azure&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/update-locales-azure.png&#34; alt=&#34;Update locale files to Azure&#34;&gt;&lt;/p&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;
&lt;p&gt;Download this file for its edition.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add the new content from the &lt;a href=&#34;#importing&#34;&gt;imported locale files&lt;/a&gt; to the downloaded files or replace the specific content.&lt;/p&gt;
&lt;p&gt;For example, you can add a new resource from the imported file (Section 4.3.) to the end of the file downloaded from Azure (Step 1). Or you could replace one of the texts appearing in the downloaded file (Step 1) with one of the new texts shown in the imported file.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Validate the JSON format through the online tool &lt;a href=&#34;https://jsonlint.com/&#34;&gt;JSONLint&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Upload again the JSON file into the corresponding Azure blob container (depending on the component, the locale file must be in a different container as explained in step 1).
Depending on the component, the files should be loaded into a different folder.
In case the folder in that path does not exist, please create it manually.&lt;/p&gt;
&lt;p&gt;&amp;#x26a0;&amp;#xfe0f; It is recommended to make a backup copy before overwriting.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If you want to keep previous versions of the JSON files as a backup during testing, you must remove the JSON extension from the file name to prevent these files from also being imported into Aura. For example:&lt;br&gt;
&amp;#x274c; &lt;code&gt;&amp;lt;language-country&amp;gt;.json.backup&lt;/code&gt;  &lt;br&gt;
&amp;#x2714;&amp;#xfe0f; &lt;code&gt;&amp;lt;language-country&amp;gt;.backup&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This assures that only one JSON file is present for each language.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;make-modifications-available&#34;&gt;Make modifications available&lt;/h2&gt;
&lt;h3 id=&#34;check-localemanager-configuration&#34;&gt;Check LocaleManager configuration&lt;/h3&gt;
&lt;p&gt;Check the configuration of the component to be updated, &lt;em&gt;&lt;strong&gt;aura-authentication-api&lt;/strong&gt;&lt;/em&gt; or &lt;em&gt;&lt;strong&gt;aura-bridge&lt;/strong&gt;&lt;/em&gt;, following LocaleManager configuration, for instance:&lt;br&gt;
&lt;code&gt;$ kubectl –n &amp;lt;aura-ns&amp;gt; edit cm &amp;lt;authentication-api|aura-bridge&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&amp;#x26a0;&amp;#xfe0f; Firstly, read the document &lt;a href=&#34;../../docs/deployment/infraestructure/kubernetes-cluster/#connecting-to-kubernetes&#34;&gt;connecting to Kubernetes&lt;/a&gt; to know how to operate with Kubernetes in your environment.&lt;/p&gt;
&lt;p&gt;Where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;aura-ns&amp;gt;&lt;/code&gt; is aura namespace, with the following format: &lt;code&gt;aura-&amp;lt;OB&amp;gt;-&amp;lt;environment&amp;gt;&lt;/code&gt;&lt;br&gt;
The specific value for &lt;code&gt;&amp;lt;aura-ns&amp;gt;&lt;/code&gt; is an output for the installation process and can be found in the path _output_install/*&lt;em&gt;info.json&lt;/em&gt;, in the field &lt;code&gt;services_namespace&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This will open a text editor (such as &lt;strong&gt;vi&lt;/strong&gt;) showing the whole config map of the specified pod.&lt;/p&gt;
&lt;p&gt;The servers &lt;em&gt;&lt;strong&gt;aura-authentication-api&lt;/strong&gt;&lt;/em&gt; and &lt;em&gt;&lt;strong&gt;aura-bridge&lt;/strong&gt;&lt;/em&gt; count on a series of environment variables that manage the process. Developers should check several items, shown in the following screenshots for both servers.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You have the right Aura version: variable &lt;code&gt;AURA_VERSION&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Verify the values for the Azure Storage account: variable &lt;code&gt;AURA_MICROSOFT_AZURE_STORAGE_ACCOUNT&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Figure 4. Check LocaleManager configuration&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../images/check-localemanager-configuration.png&#34; alt=&#34;Check LocaleManager configuration&#34;&gt;&lt;/p&gt;
&lt;p&gt;The definition of these variables is shown below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;AURA_VERSION&lt;/code&gt;: string with the semantic versioning of Aura to be read from the remote blob container. By default, it takes the version packaged originally in the docker image (7.0.0. in the case of Heroes). It is required to put a correct value, to be sure that the container is loading the correct set of files.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AURA_MICROSOFT_AZURE_STORAGE_ACCOUNT&lt;/code&gt;: string with the name of the Azure Storage account related to the given aura deployment.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;restart-the-corresponding-podpods&#34;&gt;Restart the corresponding pod/pods&lt;/h3&gt;
&lt;p&gt;For the Kubernetes version 1.15 onwards, the following command must be launched for restarting the corresponding pod/pods.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If developers have modified the locale file for &lt;em&gt;&lt;strong&gt;aura-bridge&lt;/strong&gt;&lt;/em&gt;, they will need to restart &lt;em&gt;&lt;strong&gt;aura-bridge&lt;/strong&gt;&lt;/em&gt; pods.&lt;/li&gt;
&lt;li&gt;The same applies for changes made in 	&lt;em&gt;&lt;strong&gt;aura-authentication-api&lt;/strong&gt;&lt;/em&gt;, its pod should only be restarted in case you modified the locale file in the folder for this component.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;kubectl&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;version&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;&amp;gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;1.15&lt;/span&gt;: 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;$&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;kubectl&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;rollout&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;restart&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;deployment&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;authentication&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;api&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;aura&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;bridge&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/developers-workspace/general-operation-system/hot-swapping/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/developers-workspace/general-operation-system/hot-swapping/</guid>
      <description>
        
        
        &lt;h1 id=&#34;hot-swapping-in-aura&#34;&gt;Hot swapping in Aura&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Description of Aura processes that can be executed without service outage&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The objective of the current documents is to describe the available actions that can be carried out over Aura through &lt;strong&gt;hot swapping processes&lt;/strong&gt;, that is, without interrupting its operation. These actions include the update, insertion or removal of specific components or resources. The modifications resulting from these processes can be available immediately without the need to wait for the deployment of a subsequent Aura Platform release.&lt;/p&gt;
&lt;p&gt;Despite the previous definition, performing a specific hot swapping process within a component can impact other components. In such cases, it becomes necessary to either restart the affected component or carry out a particular action to mitigate any potential issues or conflicts.&lt;/p&gt;
&lt;h2 id=&#34;available-hot-swapping-processes-and-associated-impact&#34;&gt;Available hot swapping processes and associated impact&lt;/h2&gt;
&lt;p&gt;The following table illustrates the available hot swapping processes against key Aura components, the impact of the process over each of them and the consequent actions that must be executed afterwards.&lt;/p&gt;
&lt;p&gt;Each hot swapping process in the table is fully described in the document &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/hot-swapping/hot-swapping-processes&#34;&gt;Hot swapping processes&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;|&amp;mdash;&amp;mdash;-|&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;-|&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;-|&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;|&amp;mdash;&amp;mdash;&amp;mdash;-|&amp;mdash;&amp;mdash;&amp;mdash;-|&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;-|&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;|&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;-|&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;|&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;|&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;|&amp;mdash;&amp;mdash;&amp;mdash;|&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;|
| &lt;strong&gt;1. Update locales&lt;/strong&gt; | Restart  | Restart | Restart | aura-configuration-updater &lt;br&gt;&lt;br&gt; Make-up | N/A  | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| &lt;strong&gt;2. Update NLP packages&lt;/strong&gt; | N/A | N/A | N/A | N/A | Restart | NO&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| &lt;strong&gt;3. Modify TV use cases (User helper)&lt;/strong&gt; | N/A | N/A | N/A | N/A | N/A | Restart | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| &lt;strong&gt;4. Channels handling&lt;/strong&gt; | Restart | Restart |  Reload | Make-up | Restart | Restart | Restart | NO&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; | Reload| Restart | Restart | N/A |
| &lt;strong&gt;5. Skills handling&lt;/strong&gt; | N/A | N/A | Reload | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| &lt;strong&gt;6. Applications handling&lt;/strong&gt; | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | Reload | N/A | N/A | N/A | N/A |
| &lt;strong&gt;7. Add new local dialogs in aura-bot&lt;/strong&gt; | N/A | N/A | N/A | DeployLocal | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| &lt;strong&gt;8. Update libraries and dialogs configuration&lt;/strong&gt; | N/A | N/A | N/A | aura-configuration-updater | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| &lt;strong&gt;9. Add static resources in a uc&lt;/strong&gt; | N/A | N/A | N/A | aura-configuration-updater | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| &lt;strong&gt;10. Review indexes definitions&lt;/strong&gt; | N/A | N/A | Make-up | Make-up | N/A | N/A | Make-up | Make-up | N/A | N/A | Make-up | Force | Make-up |&lt;/p&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-circle-info fa-xl&#34; style=&#34;color: #3a13fb;&#34;&gt;&lt;/i&gt; &lt;strong&gt;Legend&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;N/A&lt;/strong&gt;: The change does not apply to the component&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NO&lt;/strong&gt;: The change does not apply to the component, unless a condition is met&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Restart&lt;/strong&gt;: the component will be restarted automatically by the &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/config-watcher&#34;&gt;&lt;em&gt;&lt;strong&gt;config-watcher&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;. The restart is executed pod by pod, with &lt;strong&gt;no impact to final users&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reload&lt;/strong&gt;: the component is not restarted, but its configuration will be reloaded automatically by the &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/config-watcher&#34;&gt;&lt;em&gt;&lt;strong&gt;config-watcher&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;aura-configuration-updater&lt;/strong&gt;: The hot swapping process must be executed using &lt;em&gt;&lt;strong&gt;aura-configuration-updater&lt;/strong&gt;&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Make-up&lt;/strong&gt;: the make-up of the component is executed during the deploy phase: both with &lt;code&gt;deploy-core&lt;/code&gt; and &lt;code&gt;deploy-local&lt;/code&gt;. Take into account that &lt;em&gt;&lt;strong&gt;aura-configuration-updater&lt;/strong&gt;&lt;/em&gt; is included into the &lt;code&gt;deploy_local&lt;/code&gt; process&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DeployLocal&lt;/strong&gt;: the component is automatically restarted after the execution of its make-up&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Force&lt;/strong&gt;: a restart of the component must be executed manually&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-circle-info fa-xl&#34; style=&#34;color: #3a13fb;&#34;&gt;&lt;/i&gt; &lt;strong&gt;Notes&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;Assuming it doesn&amp;rsquo;t involve resolution changes&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;Until associated training is added, if applicable&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/experiences-builder/development-use-cases/aura-response/graphic-resources/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/experiences-builder/development-use-cases/aura-response/graphic-resources/</guid>
      <description>
        
        
        &lt;h1 id=&#34;guidelines-for-the-design-of-graphic-resources-in-aura-response&#34;&gt;Guidelines for the design of graphic resources in Aura response&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Learn how to design of different types of graphic resources and include them in the response that Aura provides to its users&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;You can design your own graphic resources inside the visual components of Aura response (mainly, in the card), always depending on the rendering capability of the channel.&lt;/p&gt;
&lt;p&gt;They are categorized into two main groups:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Static graphic resources&lt;/strong&gt;: icons, images, diagrams, etc.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dynamic graphic resources&lt;/strong&gt;: graphics that include users&amp;rsquo; data and change depending on them (for instance, new plot for data usage use case per country).
These graphics can fetch data from &lt;strong&gt;Kernel&lt;/strong&gt; or from external services (for instance, images from smartphone models that can be shown to the user).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following sections define the procedure for including both a static and dynamic graphic resource in Aura response.&lt;/p&gt;
&lt;h2 id=&#34;include-static-resources-by-library&#34;&gt;Include static resources by library&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;The static resource must be previously defined in the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/bot-uc-development/build-dialog/library/#resources-folder&#34;&gt;&lt;code&gt;resources/&lt;/code&gt;&lt;/a&gt; folder of the use case library.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/bot-uc-development/build-dialog/build-dialog-general/&#34;&gt;use case dialog&lt;/a&gt; (.ts file), each resource must be declared as shown in the following snippet:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;import&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;as&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;libraryUtil&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;from&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;@telefonica/aura-bot-utilities/lib/aura-bot-library-util&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(...)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;wholeUrl&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;libraryUtil&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;getResourcePath&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;config&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;my_library&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;icon.png&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;config&lt;/code&gt;: configuration object that should contain the &lt;a href=&#34;../../docs/components/aura-bot-platform/configuration/environment-variables/&#34;&gt;environment variables&lt;/a&gt; &lt;code&gt;AURA_STATIC_RESOURCE_ENDPOINT&lt;/code&gt; and &lt;code&gt;AURA_STATIC_RESOURCE_SAS_TOKEN&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&#39;my_library&#39;&lt;/code&gt;: library name&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&#39;icon.png&#39;&lt;/code&gt;: name of the image&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In order to get a complete URL, including device screen resolution, invoke &lt;a href=&#34;../../docs/developers-workspace/develop-features/aura-utilities/aura-bot-utilities/aura-bot-library-util/#getimageurl&#34;&gt;&lt;code&gt;getImageUrl&lt;/code&gt;&lt;/a&gt; from the library &lt;code&gt;aura-bot-library-utils&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/bot-uc-development/build-dialog/library/#indexts-file&#34;&gt;index.ts&lt;/a&gt; file of your use case library, the resources path must be exposed in the &lt;code&gt;resources&lt;/code&gt; property when registering the plugin, as shown in the following example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-typescript&#34; data-lang=&#34;typescript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;register&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;null&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000&#34;&gt;my_library&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#a40000&#34;&gt;…&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000&#34;&gt;resources&lt;/span&gt;: &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;path.resolve&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;__dirname&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;..&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;resources&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(...)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&#39;resources&#39;&lt;/code&gt;: name of the folder where the resources are defined, within the library.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Just after it, the resource must be uploaded to &lt;a href=&#34;https://azure.microsoft.com/es-es/products/storage/storage-explorer/&#34;&gt;Microsoft Azure Storage Explorer&lt;/a&gt;, in the &lt;code&gt;images/&lt;/code&gt; folder of the corresponding library. Doing so, Azure generates an URL for the defined resource.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;../../images/building-dialogs/static-resources.png&#34; alt=&#34;Static resources update in Azure&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;hot-swapping-of-static-resources&#34;&gt;Hot swapping of static resources&lt;/h3&gt;
&lt;p&gt;Once a static resource is created through the above defined steps, the OB can follow a hot swapping process for the modification of the resource:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The name of the icon must not be modified: it has to be the same as the name in the code.&lt;/li&gt;
&lt;li&gt;Updata de resource file directly in &lt;a href=&#34;https://azure.microsoft.com/es-es/products/storage/storage-explorer/&#34;&gt;Microsoft Azure Storage Explorer&lt;/a&gt;, in the &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/bot-uc-development/build-dialog/library/#resources-folder&#34;&gt;&lt;code&gt;/resources/images/&lt;/code&gt;&lt;/a&gt; folder of the corresponding library. Doing so, Azure generates an URL for the defined resource.&lt;/li&gt;
&lt;li&gt;However, it must be taken into account that, during the &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/make-up/&#34;&gt;make-up process&lt;/a&gt;, the bot overwrites it, so the updating process should be repeated by the OB. For example, this process can be executed when publishing a local use case.&lt;/li&gt;
&lt;li&gt;It is not necessary to restart the bot, as the method which is invoked internally already fetches the icon from Azure Storage.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;include-a-dynamic-graphic-resource&#34;&gt;Include a dynamic graphic resource&lt;/h2&gt;
&lt;p&gt;The inclusion of dynamic graphic resources in Aura involves two main stages:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Data recovery from a &lt;strong&gt;Kernel&lt;/strong&gt; API or from an external API
For &lt;strong&gt;Kernel&lt;/strong&gt; APIs, follow the process in the document &lt;a href=&#34;../../docs/experiences-builder/api-clients/create-api-client/&#34;&gt;Create / update an API client&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Generation of dynamic graphic resources:
Developers must implement their own dynamic graphic resources generator. After generating the resource, the process of uploading the resource into Azure must be done manually.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If the dynamic resource is integrated into the card of Aura response, follow the instructions in &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/aura-response/cards/&#34;&gt;Build Aura response: cards&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/atria/technical-guidelines/hot-swapping-application/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/atria/technical-guidelines/hot-swapping-application/</guid>
      <description>
        
        
        &lt;h1 id=&#34;hot-swapping-of-aura-applications-configuration&#34;&gt;Hot swapping of Aura applications configuration&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Guidelines to execute modifications in Aura applications configuration through a hot swapping process&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The URL of &lt;a href=&#34;../../docs/components/aura-configuration-api/&#34;&gt;&lt;em&gt;&lt;strong&gt;aura-configuration-api&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; must have the following format:
&lt;code&gt;https://{{aura-services-domain}}.auracognitive.com/aura-services/v2/configuration&lt;/code&gt;
where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;{{aura-services-domain}}&lt;/code&gt; should be &lt;code&gt;svc-[country]-[environment]&lt;/code&gt;, for instance &lt;code&gt;svc-es-pre&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Recommended:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;kubectl&lt;/code&gt; installed in your local host.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;curl&lt;/code&gt; installed in your local host.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;jq&lt;/code&gt; installed in your local host.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;access-aura-configuration-api&#34;&gt;Access Aura Configuration API&lt;/h2&gt;
&lt;h3 id=&#34;get-the-apikey&#34;&gt;Get the APIKey&lt;/h3&gt;
&lt;p&gt;First, we must get the APIKey, &lt;code&gt;AURA_AUTHORIZATION_HEADER&lt;/code&gt;, of &lt;em&gt;&lt;strong&gt;aura-configuration-api&lt;/strong&gt;&lt;/em&gt;. For this purpose, follow these steps:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Execute the following command:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# substitute {{aura-environment}} with the environment you&amp;#39;re configuring&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;AURA_ENVIRONMENT&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;={{&lt;/span&gt;aura-environment&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ kubectl -n &lt;span style=&#34;color:#000&#34;&gt;$AURA_ENVIRONMENT&lt;/span&gt; get secret aura-configuration-api -o json &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;|&lt;/span&gt; jq -r &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;.data.AURA_AUTHORIZATION_HEADER|@base64d
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Copy the value of APIKey.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;update-the-application-configuration&#34;&gt;Update the application configuration&lt;/h2&gt;
&lt;p&gt;To update the configuration of an application, we must make a patch to the &lt;em&gt;&lt;strong&gt;aura-configuration-api&lt;/strong&gt;&lt;/em&gt; indicating the application that we want to modify and the new value:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Execute the next curl to update configuration:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# generate a valid UUID as correlator&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# substitute {{correlator}} with the generated UUID&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# substitute aura-services-domain with the specific information for environment, svc-[country]-[environment].&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# substitute {{applicationId}} with the value of application to change&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# substitute {{apikey}} with the value of APIKey get in the previous step&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ curl --location --request PATCH &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;https://{{aura-services-domain}}.auracognitive.com/aura-services/v2/configuration/applications/{{applicationId}}&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;--header &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;correlator: {{correlator}}&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;--header &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;Content-Type: application/json&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;--header &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;Accept: application/json&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;--header &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;Authorization: {{apikey}}&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;--data-raw &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;    &amp;#34;id&amp;#34;: &amp;#34;{{applicationId}}&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;     // Send the object to update
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Check the change through the following request:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# generate a valid UUID as correlator&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# substitute {{correlator}} with the generated UUID&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# substitute aura-services-domain with the specific information for environment svc-[country]-[environment].&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# substitute {{applicationId}} with the value of application to change&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# substitute {{apikey}} with the value of APIKey get in the previous step&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# The response will be the application configuration.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ curl --location --request GET &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;https://{{aura-services-domain}}.auracognitive.com/aura-services/v2/configuration/applications/{{applicationId}}&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;--header &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;correlator: {{correlator}}&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;--header &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;Accept: application/json&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;--header &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;Authorization: {{apikey}}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&amp;#x2139;&amp;#xfe0f; &lt;strong&gt;NOTE:&lt;/strong&gt; The &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/config-watcher&#34;&gt;&lt;em&gt;&lt;strong&gt;config-watcher&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; runs periodically (every 5 minutes) and when it detects that the application configuration has been modified, it will &lt;strong&gt;restart&lt;/strong&gt; the pods.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/developers-workspace/general-operation-system/hot-swapping/hot-swapping-processes/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/developers-workspace/general-operation-system/hot-swapping/hot-swapping-processes/</guid>
      <description>
        
        
        &lt;h1 id=&#34;hot-swapping-processes-in-aura&#34;&gt;Hot swapping processes in Aura&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Key processes that can be done over Aura without service outage&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;1-update-of-locales-hot-swapping-of-poeditor-texts&#34;&gt;1. Update of locales: Hot swapping of POEditor texts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;If locales belong to &lt;em&gt;&lt;strong&gt;aura-bot&lt;/strong&gt;&lt;/em&gt; (&lt;a href=&#34;../../docs/experiences-builder/development-use-cases/aura-response/aura-response-poeditor/&#34;&gt;Generation or update of locales through POEditor when developing a use case&lt;/a&gt;):&lt;br&gt;
Hot swapping is done through the &lt;a href=&#34;../../docs/developers-workspace/install-configure/aura-configuration-updater/&#34;&gt;&lt;em&gt;&lt;strong&gt;aura-configuration-updater&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If locales belong to &lt;em&gt;&lt;strong&gt;aura-groot&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;aura-authentication-api&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;aura-bridge&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;aura-bridge-outbound&lt;/strong&gt;&lt;/em&gt;:
Hot swapping is done through the guidelines &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/manage-locales/&#34;&gt;&lt;em&gt;&lt;strong&gt;Manage locales in Aura&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;By doing so, the update of locales will be available without the need to wait for the next Aura Platform release.&lt;/p&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt; Be aware of the impact of both processes over certain Aura components: &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/hot-swapping/#available-hot-swapping-processes-and-associated-impact&#34;&gt;Available hot swapping processes and associated impact&lt;/a&gt; - Item 1 in table.&lt;/p&gt;
&lt;h2 id=&#34;2-update-of-nlp-packages&#34;&gt;2. Update of NLP packages&lt;/h2&gt;
&lt;p&gt;When developing a use case over &lt;em&gt;&lt;strong&gt;Aura NLP&lt;/strong&gt;&lt;/em&gt;, the understanding model including the trainings and test set files &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/nlp-uc-development/uc-development-process/#10-deploy-the-new-understanding-package&#34;&gt;must be deployed&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If OBs are interested in the update of an NLP package through a &lt;strong&gt;hot swapping process&lt;/strong&gt;, the local DevOps Team can execute two different procedures, which are equivalent in terms of outcome and impact on the system. Therefore, OBs have the freedom to choose whichever process they prefer.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Through &lt;em&gt;&lt;strong&gt;aurak8s installer&lt;/strong&gt;&lt;/em&gt;: &lt;a href=&#34;../../docs/deployment/installer/#localnlp&#34;&gt;Local NLP deployment&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Through the use of &lt;em&gt;&lt;strong&gt;Aura Operator&lt;/strong&gt;&lt;/em&gt;: &lt;a href=&#34;../../docs/deployment/installer/#nlptraining&#34;&gt;NlpTraining&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;By doing so, the updated NLP package will be available without the need to wait for the next Aura Platform release.&lt;/p&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt; Be aware of the impact of both processes over certain Aura components: &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/hot-swapping/#available-hot-swapping-processes-and-associated-impact&#34;&gt;Available hot swapping processes and associated impact&lt;/a&gt; - Item 2 in table.&lt;/p&gt;
&lt;h2 id=&#34;3-modify-tv-use-cases&#34;&gt;3. Modify TV use cases&lt;/h2&gt;
&lt;p&gt;Certain modifications in TV use cases (channels mapping, specific experiences, etc.) can be executed through a hot swapping process. They correspond to experiences that are managed by the &lt;em&gt;&lt;strong&gt;User_helper&lt;/strong&gt;&lt;/em&gt; component and, specifically, by the &lt;em&gt;&lt;strong&gt;M+ Resolution&lt;/strong&gt;&lt;/em&gt; module, that resolves TV use cases calling different APIs.&lt;/p&gt;
&lt;p&gt;If OBs are interested in the update of a TV use case through a &lt;strong&gt;hot swapping process&lt;/strong&gt;, the local DevOps Team can execute two different procedures, which are equivalent in terms of outcome and impact on the system. Therefore, OBs have the freedom to choose whichever process they prefer.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Through &lt;em&gt;&lt;strong&gt;aurak8s installer&lt;/strong&gt;&lt;/em&gt;: &lt;a href=&#34;../../docs/deployment/installer/#local-resolutionresources-deployment&#34;&gt;Local ResolutionResources deployment&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Through the use of &lt;em&gt;&lt;strong&gt;Aura Operator&lt;/strong&gt;&lt;/em&gt;: &lt;a href=&#34;../../docs/deployment/installer/#resolutionresources&#34;&gt;ResolutionResources&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt; Be aware of the impact of both processes over certain Aura components: &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/hot-swapping/#available-hot-swapping-processes-and-associated-impact&#34;&gt;Available hot swapping processes and associated impact&lt;/a&gt; - Item 3 in table.&lt;/p&gt;
&lt;h2 id=&#34;4-channels-handling&#34;&gt;4. Channels handling&lt;/h2&gt;
&lt;p&gt;The execution of changes in the configuration of channels can be done through a hot swapping process using the &lt;a href=&#34;../../docs/components/aura-configuration-api/&#34;&gt;&lt;em&gt;&lt;strong&gt;aura-configuration-api&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; component.&lt;/p&gt;
&lt;p&gt;This process is fully described in the document &lt;a href=&#34;../../docs/developers-workspace/channels-management/update-channels-configuration/&#34;&gt;Update channels configuration&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt; Be aware of the impact of this process over certain Aura components: &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/hot-swapping/#available-hot-swapping-processes-and-associated-impact&#34;&gt;Available hot swapping processes and associated impact&lt;/a&gt; - Item 4 in table.&lt;/p&gt;
&lt;h2 id=&#34;5-skills-handling&#34;&gt;5. Skills handling&lt;/h2&gt;
&lt;p&gt;The hot swapping processes that can be executed in the framework of skills management are included in the document &lt;a href=&#34;https://technicaldocs.auracognitive.com/master/docs/developers-workspace/skills-management/hot-swapping/&#34;&gt;Hot swapping processes in Aura distributed architecture&lt;/a&gt; and include adding a new skill to &lt;em&gt;&lt;strong&gt;aura-root&lt;/strong&gt;&lt;/em&gt;, modifying it or deleting an existing one.&lt;/p&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt; Be aware of the impact of this process over certain Aura components: &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/hot-swapping/#available-hot-swapping-processes-and-associated-impact&#34;&gt;Available hot swapping processes and associated impact&lt;/a&gt; - Item 5 in table.&lt;/p&gt;
&lt;h2 id=&#34;6-applications-handling&#34;&gt;6. Applications handling&lt;/h2&gt;
&lt;p&gt;The execution of changes in the configuration of &lt;strong&gt;applications&lt;/strong&gt;, the components in charge of the communitation of a channel, service or skill with &lt;em&gt;&lt;strong&gt;aura-gateway-api&lt;/strong&gt;&lt;/em&gt; for the connection with an external service, can be done through a hot swapping process using the &lt;a href=&#34;../../docs/components/aura-configuration-api/&#34;&gt;&lt;em&gt;&lt;strong&gt;aura-configuration-api&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; component.
This process is fully described in the document &lt;a href=&#34;../../docs/developers-workspace/aura-gateway-api-management/hot-swapping-application/&#34;&gt;Hot swapping processes in Aura Applications Configurations&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt; Be aware of the impact of this process over certain Aura components: &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/hot-swapping/#available-hot-swapping-processes-and-associated-impact&#34;&gt;Available hot swapping processes and associated impact&lt;/a&gt; - Item 7 in table.&lt;/p&gt;
&lt;h2 id=&#34;7-add-new-local-dialog-in-aura-bot&#34;&gt;7. Add new local dialog in aura-bot&lt;/h2&gt;
&lt;p&gt;The deployment of a new local dialog over a specific Aura Platform release can be done through a hot swapping process, following the guidelines &lt;a href=&#34;../../docs/deployment/installer/#localdeployment&#34;&gt;Local modules deployment&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt; Be aware of the impact of this process over certain Aura components: &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/hot-swapping/#available-hot-swapping-processes-and-associated-impact&#34;&gt;Available hot swapping processes and associated impact&lt;/a&gt; - Item 8 in table.&lt;/p&gt;
&lt;h2 id=&#34;8-update-of-libraries-and-dialogs-configuration&#34;&gt;8. Update of libraries and dialogs configuration&lt;/h2&gt;
&lt;p&gt;Aura allows making changes in certain &lt;em&gt;&lt;strong&gt;aura-bot&lt;/strong&gt;&lt;/em&gt; configuration related to libraries, dialogs and channels through hot swapping processes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;contextFilters&lt;/code&gt; of the intents in &lt;em&gt;&lt;strong&gt;aura-bot&lt;/strong&gt;&lt;/em&gt; dialogs&lt;/li&gt;
&lt;li&gt;Scopes and purposes in &lt;em&gt;&lt;strong&gt;aura-bot&lt;/strong&gt;&lt;/em&gt; libraries and dialogs&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These processes can be done using the &lt;a href=&#34;../../docs/developers-workspace/install-configure/aura-configuration-updater/&#34;&gt;&lt;em&gt;&lt;strong&gt;aura-configuration-updater&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt; Be aware of the impact of this process over certain Aura components: &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/hot-swapping/#available-hot-swapping-processes-and-associated-impact&#34;&gt;Available hot swapping processes and associated impact&lt;/a&gt; - Item 9 in table.&lt;/p&gt;
&lt;h2 id=&#34;9-add-static-resources-in-a-use-case&#34;&gt;9. Add static resources in a use case&lt;/h2&gt;
&lt;p&gt;When developing a use cases, aura response can &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/aura-response/graphic-resources/&#34;&gt;include static resources&lt;/a&gt; such as visual components (cards), such as icons, images, diagrams, etc.&lt;/p&gt;
&lt;p&gt;If required, the update of these resources can be done through a &lt;strong&gt;hot swapping process&lt;/strong&gt;, following the guidelines included &lt;a href=&#34;../../docs/experiences-builder/development-use-cases/aura-response/graphic-resources/#hot-swapping-of-static-resources&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;These processes can also be done using the &lt;a href=&#34;../../docs/developers-workspace/install-configure/aura-configuration-updater/&#34;&gt;&lt;em&gt;&lt;strong&gt;aura-configuration-updater&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Doing that, the updated static resources will be available in the period between one release and the consecutive one.&lt;/p&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt; Be aware of the impact of this process over certain Aura components: &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/hot-swapping/#available-hot-swapping-processes-and-associated-impact&#34;&gt;Available hot swapping processes and associated impact&lt;/a&gt; - Item 10 in table.&lt;/p&gt;
&lt;h2 id=&#34;10-review-indexes-definitions&#34;&gt;10. Review indexes definitions&lt;/h2&gt;
&lt;p&gt;Due to the continuous evolution of the Aura Platform, it is possible that the indexes definitions of the different components need to be reviewed and updated. This process can be done through a &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/aura-make-up&#34;&gt;&lt;em&gt;&lt;strong&gt;make-up&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; process.&lt;/p&gt;
&lt;p&gt;If required, the update of these indexes can be done through a &lt;strong&gt;hot swapping process&lt;/strong&gt;, uploading a new index definition file to Azure Blob Storage, in the container &lt;strong&gt;aura-configuration/AURA-VERSION&lt;/strong&gt; and then executing the &lt;em&gt;&lt;strong&gt;make-up&lt;/strong&gt;&lt;/em&gt; process of the corresponding component.&lt;/p&gt;
&lt;p&gt;Follow the guidelines &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/aura-make-up/#manage-mongodb-indexes&#34;&gt;Manage MongoDB Indexes&lt;/a&gt; to understand how to define a new index file.&lt;/p&gt;
&lt;p&gt;&lt;i class=&#34;fa-solid fa-triangle-exclamation fa-xl&#34; style=&#34;color: #f45815;&#34;&gt;&lt;/i&gt; Be aware of the impact of this process over certain Aura components: &lt;a href=&#34;../../docs/developers-workspace/general-operation-system/hot-swapping/#available-hot-swapping-processes-and-associated-impact&#34;&gt;Available hot swapping processes and associated impact&lt;/a&gt; - Item 11 in table.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/developers-workspace/skills-management/hot-swapping/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/developers-workspace/skills-management/hot-swapping/</guid>
      <description>
        
        
        &lt;h1 id=&#34;hot-swapping-processes-in-aura-distributed-architecture&#34;&gt;Hot swapping processes in Aura distributed architecture&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Guidelines to execute modifications in Aura distributed architecture through a hot swapping process&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Constructors can add, delete of modify a skill through a hot swapping process, without affecting other skills, through the &lt;em&gt;&lt;strong&gt;aura-configuration-api&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Through this process, &lt;em&gt;&lt;strong&gt;aura-groot&lt;/strong&gt;&lt;/em&gt; can be modified to route to a new skill or delete from its routing tables other skills if constructors do not want to send requests to them.&lt;/p&gt;
&lt;h2 id=&#34;guidelines&#34;&gt;Guidelines&lt;/h2&gt;
&lt;h3 id=&#34;add-a-new-skill&#34;&gt;Add a new skill&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Deploy a new skill in your own deployment site.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Prepare your channel:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;(Optional) If your skill is serving a new channel, add the channel to the &lt;a href=&#34;../../docs/components/aura-configuration-api/api-definition/&#34;&gt;&lt;em&gt;&lt;strong&gt;aura-configuration-api&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;(Optional) If your skill is serving an already existing channel that is not handled by any skill, nothing is needed.&lt;/li&gt;
&lt;li&gt;(Optional) If your skill is serving an already existing channel that is handled by another skill, delete the channel from the current skill configuration &lt;a href=&#34;../../docs/components/aura-configuration-api/api-definition/&#34;&gt;&lt;em&gt;&lt;strong&gt;aura-configuration-api&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;, launching a &lt;code&gt;PATCH&lt;/code&gt; request.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Prepare the &lt;code&gt;POST&lt;/code&gt; request to the &lt;a href=&#34;../../docs/components/aura-configuration-api/api-definition/&#34;&gt;&lt;em&gt;&lt;strong&gt;aura-configuration-api&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; in order to add the skill.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Send the request to the &lt;a href=&#34;../../docs/components/aura-configuration-api/api-definition/&#34;&gt;&lt;em&gt;&lt;strong&gt;aura-configuration-api&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; to add the skill.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;After the request is processed, &lt;em&gt;&lt;strong&gt;aura-groot&lt;/strong&gt;&lt;/em&gt; automatically loads the new skill and starts routing requests to it.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;delete-an-existing-skill&#34;&gt;Delete an existing skill&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Prepare the &lt;code&gt;DELETE&lt;/code&gt; request to the &lt;a href=&#34;../../docs/components/aura-configuration-api/api-definition/&#34;&gt;&lt;em&gt;&lt;strong&gt;aura-configuration-api&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; to delete the skill.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Send the request to the &lt;a href=&#34;../../docs/components/aura-configuration-api/api-definition/&#34;&gt;&lt;em&gt;&lt;strong&gt;aura-configuration-api&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; to delete the skill.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;After the request is processed, &lt;em&gt;&lt;strong&gt;aura-groot&lt;/strong&gt;&lt;/em&gt; automatically removes the deleted skill and no longer routes requests to it.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;(Optional) If your skill is serving a dedicated channel that is no longer needed, remove the channel from the &lt;a href=&#34;../../docs/components/aura-configuration-api/api-definition/&#34;&gt;&lt;em&gt;&lt;strong&gt;aura-configuration-api&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;At this point, the skill can be undeployed from your deployment site.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
  </channel>
</rss>
