<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>How Do I Migrate My Existing File Storage to Azure?</title><link>https://community.telligent.com/community/11/w/user-documentation/63010/how-do-i-migrate-my-existing-file-storage-to-azure</link><description /><dc:language>en-US</dc:language><generator>14.0.0.586 14</generator><item><title>How Do I Migrate My Existing File Storage to Azure?</title><link>https://community.telligent.com/community/11/w/user-documentation/63010/how-do-i-migrate-my-existing-file-storage-to-azure</link><pubDate>Wed, 29 Apr 2020 19:09:40 GMT</pubDate><guid isPermaLink="false">12cd1ba2-82de-4491-adb1-0e3e3996d8bb</guid><dc:creator>Kevin Cunningham</dc:creator><comments>https://community.telligent.com/community/11/w/user-documentation/63010/how-do-i-migrate-my-existing-file-storage-to-azure#comments</comments><description>Current Revision posted to User Documentation by Kevin Cunningham on 04/29/2020 19:09:40&lt;br /&gt;
&lt;p&gt;[toc]&lt;/p&gt;
&lt;p&gt;This article is for existing Community owners who are looking to do one (or more) of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Looking to migrate their existing file system storage to Azure file storage.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Optionally looking to eventually move to use &lt;a href="https://azure.microsoft.com/en-us/services/app-service/web/"&gt;Azure Web Apps&lt;/a&gt;. You must complete this migration process prior to moving the community to Azure as an Azure Web App.&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;&lt;a id="Overview" name="Overview"&gt;&lt;/a&gt;Overview&lt;/h2&gt;
&lt;p&gt;The file migration process was written to minimize downtime and allow your users to still use the community while files are being migrated. This is done by&amp;nbsp;replacing the existing storage provider with the Azure&amp;nbsp;storage provider and using the current file system provider as a fallback option when files are not located in Azure yet. For example, a page is rendered that contains &lt;code&gt;CommunityHighlights.png&lt;/code&gt;&amp;nbsp;and the following check occurs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Request file&amp;nbsp;from Azure file storage:
&lt;ul&gt;
&lt;li&gt;If exists, send file contents from Azure.&lt;/li&gt;
&lt;li&gt;If does not exist, fallback to the previous filestore.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The fallback ensures users can continue to get the same experience while the migration is in process.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;When the migration is complete, administrators are notified.&lt;/p&gt;
&lt;h3&gt;&lt;a id="Preparing_for_Migration" name="Preparing_for_Migration"&gt;&lt;/a&gt;Preparing for Migration&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Backup the file storage, database, and web files before you begin.&lt;/li&gt;
&lt;li&gt;It is also recommended that you try this in a non-production environment if at all possible.&lt;/li&gt;
&lt;li&gt;&lt;a href="/cfs-filesystemfile/__key/communityserver-components-sitefiles/downloads/TelligentAzure_2D00_1.0.55.zip?_=637237840653960833"&gt;Download the Azure components&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Be familiar with running applications in Azure. The instructions&amp;nbsp;assume you have experience working in and running applications in Azure.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;&lt;a id="Installation_and_Configuration" name="Installation_and_Configuration"&gt;&lt;/a&gt;Installation and Configuration&lt;/h2&gt;
&lt;p&gt;Going forward your site will be configured to communicate to Azure as its primary file storage and your current, existing file storage becomes the fallback file storage. You need to refer to the following sections of [[How Do I Deploy my Site to Microsoft Azure?]] to set up Azure as your storage provider:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;Storage Account&lt;/strong&gt; &lt;/em&gt;- This will provide guidance on how to configure your Azure storage account&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;Preparation/Prepare Web and Job Files For Deployment -&lt;/em&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;This will help you install the Azure components.&amp;nbsp; &amp;nbsp;The only difference is where this article refers to the &amp;quot;&lt;em&gt;Telligent Community Installation Package&amp;quot;&lt;/em&gt; as the place to copy files to, you will be using your existing web installation directory.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You must stop all web and job servers when installing the Azure components.&lt;/p&gt;
&lt;h3&gt;&lt;a id="Connection_Strings" name="Connection_Strings"&gt;&lt;/a&gt;Connection Strings&lt;/h3&gt;
&lt;p&gt;Update your existing file&amp;nbsp;&lt;code&gt;connectionstrings.config&lt;/code&gt; in the web installation &lt;strong&gt;and&lt;/strong&gt; job server installation to point to your storage account. &lt;br /&gt;Note: The value for connectionString is provided in the Azure portal under the keys area of the storage account properties:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="xml"&gt; &amp;lt;add name=&amp;quot;AzureFilestorageContainer&amp;quot; connectionString=&amp;quot;[Obtain from the Portal]&amp;quot; /&amp;gt;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a id="Configuration" name="Configuration"&gt;&lt;/a&gt;Configuration&lt;/h3&gt;
&lt;p&gt;Once you complete the setup from&amp;nbsp;&lt;span&gt;[[How Do I Deploy my Site to Microsoft Azure?]] as described above, your web installation &lt;strong&gt;and&lt;/strong&gt; job installation now has (or had) a &lt;code&gt;communityserver_override_config&lt;/code&gt; file with the appropriate configuration settings in it:&lt;br /&gt;&lt;br /&gt;Note: This is&amp;nbsp;an&amp;nbsp;example, your section may have different values and or additional fields not shown here&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/CentralizedFileStorage&amp;quot; mode=&amp;quot;add&amp;quot; where=&amp;quot;end&amp;quot;&amp;gt;
  &amp;lt;fileStoreGroup name=&amp;quot;Azure&amp;quot;
      default=&amp;quot;true&amp;quot; 
      type=&amp;quot;Telligent.Evolution.Azure.Filestorage.AzureBlobFilestorageProvider, Telligent.Evolution.Azure.Filestorage&amp;quot;
	  cdnUrl=&amp;quot;https://yourcdn.azureedge.net&amp;quot;
      /&amp;gt;
 &amp;lt;/Override&amp;gt;&lt;/pre&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Modify that section by&amp;nbsp;adding the node&amp;nbsp;&lt;code&gt;migrationSource&lt;/code&gt; as a child node of &lt;code&gt;filestoreGroup&lt;/code&gt; as shown below in both the web &lt;strong&gt;and&lt;/strong&gt;&amp;nbsp;job versions of this file.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/CentralizedFileStorage&amp;quot; mode=&amp;quot;add&amp;quot; where=&amp;quot;end&amp;quot;&amp;gt;
  &amp;lt;fileStoreGroup name=&amp;quot;Azure&amp;quot;
      default=&amp;quot;true&amp;quot; 
      type=&amp;quot;Telligent.Evolution.Azure.Filestorage.AzureBlobFilestorageProvider, Telligent.Evolution.Azure.Filestorage&amp;quot;
	  cdnUrl=&amp;quot;https://yourcdn.azureedge.net&amp;quot;
      &amp;gt;
      
      &amp;lt;migrationSource name=&amp;quot;FileStorageProvider&amp;quot;   type=&amp;quot;Telligent.Evolution.Extensibility.Storage.Providers.Version1.FileSystemFileStorageProvider, Telligent.Evolution.Platform&amp;quot; connectionStringName=&amp;quot;FileStorage&amp;quot; /&amp;gt;
     
    &amp;lt;/fileStoreGroup&amp;gt;
 &amp;lt;/Override&amp;gt;&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Once you have successfully installed all the files and modified the configuration, you can start web site followed by the job server. From this moment on your site will be using Azure as its file storage, however, when it cannot locate a file there, it will fallback and load the file from its original location.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;br /&gt;&lt;a id="Enabling_the_Job" name="Enabling_the_Job"&gt;&lt;/a&gt;Enabling&amp;nbsp;the Job&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;Enable the job by going to the Administration area and locating the &lt;strong&gt;Centralized File Storage Migration&lt;/strong&gt; Job under the Jobs section. Check the &amp;quot;Enabled&amp;quot; options and save.&amp;nbsp;&lt;/span&gt;&lt;span&gt;When this job&amp;nbsp;begins it will&amp;nbsp;start copying files to the Azure filestore. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Upon successful completion, administrators will receive a system notification stating the job has completed successfully&amp;nbsp;and&amp;nbsp;the steps to disable the job and remove the configuration added previously (see &amp;quot;Success&amp;quot; section below). &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;If&amp;nbsp;the job encounters errors, administrators will receive a system notification with links to log files.&amp;nbsp;Review these error log files for any errors that you may be able to correct. If the issue is not immediately apparent or correctable, allow the job to run again at its scheduled time where it will try and rectify any issues from subsequent runs. If you continue to experience&amp;nbsp;errors contact Support with the error log files provided in the notification.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a id="Success" name="Success"&gt;&lt;/a&gt;&lt;span&gt;Success&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;When migration ends successfully&amp;nbsp;and you receive the system notification do the following:&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Disable the Centralized File Storage Migration Job in Administration&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Stop your&amp;nbsp;web and job servers.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Modify &lt;code&gt;communityserver_override.config&lt;/code&gt;&amp;nbsp;in both web and job servers and remove the &lt;code&gt;&amp;lt;migrationSource/&amp;gt;&lt;/code&gt; node you previously added. Save the files.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Restart the web and job servers.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>How Do I Migrate My Existing File Storage to Azure?</title><link>https://community.telligent.com/community/11/w/user-documentation/63010/how-do-i-migrate-my-existing-file-storage-to-azure/revision/3</link><pubDate>Wed, 08 Apr 2020 14:42:35 GMT</pubDate><guid isPermaLink="false">12cd1ba2-82de-4491-adb1-0e3e3996d8bb</guid><dc:creator>Kevin Cunningham</dc:creator><comments>https://community.telligent.com/community/11/w/user-documentation/63010/how-do-i-migrate-my-existing-file-storage-to-azure#comments</comments><description>Revision 3 posted to User Documentation by Kevin Cunningham on 04/08/2020 14:42:35&lt;br /&gt;
&lt;p&gt;[toc]&lt;/p&gt;
&lt;p&gt;This article is for existing Community owners who are looking to do one (or more) of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Looking to migrate their existing file system storage to Azure file storage.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Optionally looking to eventually move to use &lt;a href="https://azure.microsoft.com/en-us/services/app-service/web/"&gt;Azure Web Apps&lt;/a&gt;. You must complete this migration process prior to moving the community to Azure as an Azure Web App.&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;&lt;a id="Overview" name="Overview"&gt;&lt;/a&gt;Overview&lt;/h2&gt;
&lt;p&gt;The file migration process was written to minimize downtime and allow your users to still use the community while files are being migrated. This is done by&amp;nbsp;replacing the existing storage provider with the Azure&amp;nbsp;storage provider and using the current file system provider as a fallback option when files are not located in Azure yet. For example, a page is rendered that contains &lt;code&gt;CommunityHighlights.png&lt;/code&gt;&amp;nbsp;and the following check occurs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Request file&amp;nbsp;from Azure file storage:
&lt;ul&gt;
&lt;li&gt;If exists, send file contents from Azure.&lt;/li&gt;
&lt;li&gt;If does not exist, fallback to the previous filestore.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The fallback ensures users can continue to get the same experience while the migration is in process.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;When the migration is complete, administrators are notified.&lt;/p&gt;
&lt;h3&gt;&lt;a id="Preparing_for_Migration" name="Preparing_for_Migration"&gt;&lt;/a&gt;Preparing for Migration&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Backup the file storage, database, and web files before you begin.&lt;/li&gt;
&lt;li&gt;It is also recommended that you try this in a non-production environment if at all possible.&lt;/li&gt;
&lt;li&gt;&lt;a href="/cfs-filesystemfile/__key/communityserver-components-sitefiles/downloads/TelligentAzure_2D00_1.0.54.zip?_=637219514315336654"&gt;Download the Azure components&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Be familiar with running applications in Azure. The instructions&amp;nbsp;assume you have experience working in and running applications in Azure.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;&lt;a id="Installation_and_Configuration" name="Installation_and_Configuration"&gt;&lt;/a&gt;Installation and Configuration&lt;/h2&gt;
&lt;p&gt;Going forward your site will be configured to communicate to Azure as its primary file storage and your current, existing file storage becomes the fallback file storage. You need to refer to the following sections of [[How Do I Deploy my Site to Microsoft Azure?]] to set up Azure as your storage provider:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;Storage Account&lt;/strong&gt; &lt;/em&gt;- This will provide guidance on how to configure your Azure storage account&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;Preparation/Prepare Web and Job Files For Deployment -&lt;/em&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;This will help you install the Azure components.&amp;nbsp; &amp;nbsp;The only difference is where this article refers to the &amp;quot;&lt;em&gt;Telligent Community Installation Package&amp;quot;&lt;/em&gt; as the place to copy files to, you will be using your existing web installation directory.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You must stop all web and job servers when installing the Azure components.&lt;/p&gt;
&lt;h3&gt;&lt;a id="Connection_Strings" name="Connection_Strings"&gt;&lt;/a&gt;Connection Strings&lt;/h3&gt;
&lt;p&gt;Update your existing file&amp;nbsp;&lt;code&gt;connectionstrings.config&lt;/code&gt; in the web installation &lt;strong&gt;and&lt;/strong&gt; job server installation to point to your storage account. &lt;br /&gt;Note: The value for connectionString is provided in the Azure portal under the keys area of the storage account properties:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="xml"&gt; &amp;lt;add name=&amp;quot;AzureFilestorageContainer&amp;quot; connectionString=&amp;quot;[Obtain from the Portal]&amp;quot; /&amp;gt;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a id="Configuration" name="Configuration"&gt;&lt;/a&gt;Configuration&lt;/h3&gt;
&lt;p&gt;Once you complete the setup from&amp;nbsp;&lt;span&gt;[[How Do I Deploy my Site to Microsoft Azure?]] as described above, your web installation &lt;strong&gt;and&lt;/strong&gt; job installation now has (or had) a &lt;code&gt;communityserver_override_config&lt;/code&gt; file with the appropriate configuration settings in it:&lt;br /&gt;&lt;br /&gt;Note: This is&amp;nbsp;an&amp;nbsp;example, your section may have different values and or additional fields not shown here&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/CentralizedFileStorage&amp;quot; mode=&amp;quot;add&amp;quot; where=&amp;quot;end&amp;quot;&amp;gt;
  &amp;lt;fileStoreGroup name=&amp;quot;Azure&amp;quot;
      default=&amp;quot;true&amp;quot; 
      type=&amp;quot;Telligent.Evolution.Azure.Filestorage.AzureBlobFilestorageProvider, Telligent.Evolution.Azure.Filestorage&amp;quot;
	  cdnUrl=&amp;quot;https://yourcdn.azureedge.net&amp;quot;
      /&amp;gt;
 &amp;lt;/Override&amp;gt;&lt;/pre&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Modify that section by&amp;nbsp;adding the node&amp;nbsp;&lt;code&gt;migrationSource&lt;/code&gt; as a child node of &lt;code&gt;filestoreGroup&lt;/code&gt; as shown below in both the web &lt;strong&gt;and&lt;/strong&gt;&amp;nbsp;job versions of this file.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/CentralizedFileStorage&amp;quot; mode=&amp;quot;add&amp;quot; where=&amp;quot;end&amp;quot;&amp;gt;
  &amp;lt;fileStoreGroup name=&amp;quot;Azure&amp;quot;
      default=&amp;quot;true&amp;quot; 
      type=&amp;quot;Telligent.Evolution.Azure.Filestorage.AzureBlobFilestorageProvider, Telligent.Evolution.Azure.Filestorage&amp;quot;
	  cdnUrl=&amp;quot;https://yourcdn.azureedge.net&amp;quot;
      &amp;gt;
      
      &amp;lt;migrationSource name=&amp;quot;FileStorageProvider&amp;quot;   type=&amp;quot;Telligent.Evolution.Extensibility.Storage.Providers.Version1.FileSystemFileStorageProvider, Telligent.Evolution.Platform&amp;quot; connectionStringName=&amp;quot;FileStorage&amp;quot; /&amp;gt;
     
    &amp;lt;/fileStoreGroup&amp;gt;
 &amp;lt;/Override&amp;gt;&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Once you have successfully installed all the files and modified the configuration, you can start web site followed by the job server. From this moment on your site will be using Azure as its file storage, however, when it cannot locate a file there, it will fallback and load the file from its original location.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;br /&gt;&lt;a id="Enabling_the_Job" name="Enabling_the_Job"&gt;&lt;/a&gt;Enabling&amp;nbsp;the Job&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;Enable the job by going to the Administration area and locating the &lt;strong&gt;Centralized File Storage Migration&lt;/strong&gt; Job under the Jobs section. Check the &amp;quot;Enabled&amp;quot; options and save.&amp;nbsp;&lt;/span&gt;&lt;span&gt;When this job&amp;nbsp;begins it will&amp;nbsp;start copying files to the Azure filestore. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Upon successful completion, administrators will receive a system notification stating the job has completed successfully&amp;nbsp;and&amp;nbsp;the steps to disable the job and remove the configuration added previously (see &amp;quot;Success&amp;quot; section below). &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;If&amp;nbsp;the job encounters errors, administrators will receive a system notification with links to log files.&amp;nbsp;Review these error log files for any errors that you may be able to correct. If the issue is not immediately apparent or correctable, allow the job to run again at its scheduled time where it will try and rectify any issues from subsequent runs. If you continue to experience&amp;nbsp;errors contact Support with the error log files provided in the notification.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a id="Success" name="Success"&gt;&lt;/a&gt;&lt;span&gt;Success&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;When migration ends successfully&amp;nbsp;and you receive the system notification do the following:&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Disable the Centralized File Storage Migration Job in Administration&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Stop your&amp;nbsp;web and job servers.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Modify &lt;code&gt;communityserver_override.config&lt;/code&gt;&amp;nbsp;in both web and job servers and remove the &lt;code&gt;&amp;lt;migrationSource/&amp;gt;&lt;/code&gt; node you previously added. Save the files.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Restart the web and job servers.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>How Do I Migrate My Existing File Storage to Azure?</title><link>https://community.telligent.com/community/11/w/user-documentation/63010/how-do-i-migrate-my-existing-file-storage-to-azure/revision/2</link><pubDate>Thu, 18 Jul 2019 17:49:51 GMT</pubDate><guid isPermaLink="false">12cd1ba2-82de-4491-adb1-0e3e3996d8bb</guid><dc:creator>Grant Pankonien</dc:creator><comments>https://community.telligent.com/community/11/w/user-documentation/63010/how-do-i-migrate-my-existing-file-storage-to-azure#comments</comments><description>Revision 2 posted to User Documentation by Grant Pankonien on 07/18/2019 17:49:51&lt;br /&gt;
&lt;p&gt;[toc]&lt;/p&gt;
&lt;p&gt;This article is for existing Community owners who are looking to do one (or more) of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Looking to migrate their existing file system storage to Azure file storage.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Optionally looking to eventually move to use &lt;a href="https://azure.microsoft.com/en-us/services/app-service/web/"&gt;Azure Web Apps&lt;/a&gt;. You must complete this migration process prior to moving the community to Azure as an Azure Web App.&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;&lt;a id="Overview" name="Overview"&gt;&lt;/a&gt;Overview&lt;/h2&gt;
&lt;p&gt;The file migration process was written to minimize downtime and allow your users to still use the community while files are being migrated. This is done by&amp;nbsp;replacing the existing storage provider with the Azure&amp;nbsp;storage provider and using the current file system provider as a fallback option when files are not located in Azure yet. For example, a page is rendered that contains &lt;code&gt;CommunityHighlights.png&lt;/code&gt;&amp;nbsp;and the following check occurs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Request file&amp;nbsp;from Azure file storage:
&lt;ul&gt;
&lt;li&gt;If exists, send file contents from Azure.&lt;/li&gt;
&lt;li&gt;If does not exist, fallback to the previous filestore.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The fallback ensures users can continue to get the same experience while the migration is in process.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;When the migration is complete, administrators are notified.&lt;/p&gt;
&lt;h3&gt;&lt;a id="Preparing_for_Migration" name="Preparing_for_Migration"&gt;&lt;/a&gt;Preparing for Migration&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Backup the file storage, database, and web files before you begin.&lt;/li&gt;
&lt;li&gt;It is also recommended that you try this in a non-production environment if at all possible.&lt;/li&gt;
&lt;li&gt;Contact Telligent Support and get the Azure components. Let them know the version of Community you are running.&lt;/li&gt;
&lt;li&gt;Be familiar with running applications in Azure. The instructions&amp;nbsp;assume you have experience working in and running applications in Azure.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;&lt;a id="Installation_and_Configuration" name="Installation_and_Configuration"&gt;&lt;/a&gt;Installation and Configuration&lt;/h2&gt;
&lt;p&gt;Going forward your site will be configured to communicate to Azure as its primary file storage and your current, existing file storage becomes the fallback file storage. You need to refer to the following sections of [[How Do I Deploy my Site to Microsoft Azure?]] to set up Azure as your storage provider:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;Storage Account&lt;/strong&gt; &lt;/em&gt;- This will provide guidance on how to configure your Azure storage account&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;Preparation/Prepare Web and Job Files For Deployment -&lt;/em&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;This will help you install the Azure components.&amp;nbsp; &amp;nbsp;The only difference is where this article refers to the &amp;quot;&lt;em&gt;Telligent Community Installation Package&amp;quot;&lt;/em&gt; as the place to copy files to, you will be using your existing web installation directory.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You must stop all web and job servers when installing the Azure components.&lt;/p&gt;
&lt;h3&gt;&lt;a id="Connection_Strings" name="Connection_Strings"&gt;&lt;/a&gt;Connection Strings&lt;/h3&gt;
&lt;p&gt;Update your existing file&amp;nbsp;&lt;code&gt;connectionstrings.config&lt;/code&gt; in the web installation &lt;strong&gt;and&lt;/strong&gt; job server installation to point to your storage account. &lt;br /&gt;Note: The value for connectionString is provided in the Azure portal under the keys area of the storage account properties:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="xml"&gt; &amp;lt;add name=&amp;quot;AzureFilestorageContainer&amp;quot; connectionString=&amp;quot;[Obtain from the Portal]&amp;quot; /&amp;gt;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a id="Configuration" name="Configuration"&gt;&lt;/a&gt;Configuration&lt;/h3&gt;
&lt;p&gt;Once you complete the setup from&amp;nbsp;&lt;span&gt;[[How Do I Deploy my Site to Microsoft Azure?]] as described above, your web installation &lt;strong&gt;and&lt;/strong&gt; job installation now has (or had) a &lt;code&gt;communityserver_override_config&lt;/code&gt; file with the appropriate configuration settings in it:&lt;br /&gt;&lt;br /&gt;Note: This is&amp;nbsp;an&amp;nbsp;example, your section may have different values and or additional fields not shown here&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/CentralizedFileStorage&amp;quot; mode=&amp;quot;add&amp;quot; where=&amp;quot;end&amp;quot;&amp;gt;
  &amp;lt;fileStoreGroup name=&amp;quot;Azure&amp;quot;
      default=&amp;quot;true&amp;quot; 
      type=&amp;quot;Telligent.Evolution.Azure.Filestorage.AzureBlobFilestorageProvider, Telligent.Evolution.Azure.Filestorage&amp;quot;
	  cdnUrl=&amp;quot;https://yourcdn.azureedge.net&amp;quot;
      /&amp;gt;
 &amp;lt;/Override&amp;gt;&lt;/pre&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Modify that section by&amp;nbsp;adding the node&amp;nbsp;&lt;code&gt;migrationSource&lt;/code&gt; as a child node of &lt;code&gt;filestoreGroup&lt;/code&gt; as shown below in both the web &lt;strong&gt;and&lt;/strong&gt;&amp;nbsp;job versions of this file.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/CentralizedFileStorage&amp;quot; mode=&amp;quot;add&amp;quot; where=&amp;quot;end&amp;quot;&amp;gt;
  &amp;lt;fileStoreGroup name=&amp;quot;Azure&amp;quot;
      default=&amp;quot;true&amp;quot; 
      type=&amp;quot;Telligent.Evolution.Azure.Filestorage.AzureBlobFilestorageProvider, Telligent.Evolution.Azure.Filestorage&amp;quot;
	  cdnUrl=&amp;quot;https://yourcdn.azureedge.net&amp;quot;
      &amp;gt;
      
      &amp;lt;migrationSource name=&amp;quot;FileStorageProvider&amp;quot;   type=&amp;quot;Telligent.Evolution.Extensibility.Storage.Providers.Version1.FileSystemFileStorageProvider, Telligent.Evolution.Platform&amp;quot; connectionStringName=&amp;quot;FileStorage&amp;quot; /&amp;gt;
     
    &amp;lt;/fileStoreGroup&amp;gt;
 &amp;lt;/Override&amp;gt;&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Once you have successfully installed all the files and modified the configuration, you can start web site followed by the job server. From this moment on your site will be using Azure as its file storage, however, when it cannot locate a file there, it will fallback and load the file from its original location.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;br /&gt;&lt;a id="Enabling_the_Job" name="Enabling_the_Job"&gt;&lt;/a&gt;Enabling&amp;nbsp;the Job&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;Enable the job by going to the Administration area and locating the &lt;strong&gt;Centralized File Storage Migration&lt;/strong&gt; Job under the Jobs section. Check the &amp;quot;Enabled&amp;quot; options and save.&amp;nbsp;&lt;/span&gt;&lt;span&gt;When this job&amp;nbsp;begins it will&amp;nbsp;start copying files to the Azure filestore. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Upon successful completion, administrators will receive a system notification stating the job has completed successfully&amp;nbsp;and&amp;nbsp;the steps to disable the job and remove the configuration added previously (see &amp;quot;Success&amp;quot; section below). &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;If&amp;nbsp;the job encounters errors, administrators will receive a system notification with links to log files.&amp;nbsp;Review these error log files for any errors that you may be able to correct. If the issue is not immediately apparent or correctable, allow the job to run again at its scheduled time where it will try and rectify any issues from subsequent runs. If you continue to experience&amp;nbsp;errors contact Support with the error log files provided in the notification.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a id="Success" name="Success"&gt;&lt;/a&gt;&lt;span&gt;Success&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;When migration ends successfully&amp;nbsp;and you receive the system notification do the following:&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Disable the Centralized File Storage Migration Job in Administration&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Stop your&amp;nbsp;web and job servers.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Modify &lt;code&gt;communityserver_override.config&lt;/code&gt;&amp;nbsp;in both web and job servers and remove the &lt;code&gt;&amp;lt;migrationSource/&amp;gt;&lt;/code&gt; node you previously added. Save the files.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Restart the web and job servers.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>How Do I Migrate My Existing File Storage to Azure?</title><link>https://community.telligent.com/community/11/w/user-documentation/63010/how-do-i-migrate-my-existing-file-storage-to-azure/revision/1</link><pubDate>Tue, 04 Jun 2019 20:18:32 GMT</pubDate><guid isPermaLink="false">12cd1ba2-82de-4491-adb1-0e3e3996d8bb</guid><dc:creator>Ben Tiedt</dc:creator><comments>https://community.telligent.com/community/11/w/user-documentation/63010/how-do-i-migrate-my-existing-file-storage-to-azure#comments</comments><description>Revision 1 posted to User Documentation by Ben Tiedt on 06/04/2019 20:18:32&lt;br /&gt;
&lt;p&gt;[toc]&lt;/p&gt;
&lt;p&gt;This article is for existing Community owners who are looking to do one (or more) of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Looking to migrate their existing file system storage to Azure file storage.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Optionally looking to eventually move to use &lt;a href="https://azure.microsoft.com/en-us/services/app-service/web/"&gt;Azure Web Apps&lt;/a&gt;. You must complete this migration process prior to moving the community to Azure as an Azure Web App.&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;&lt;a id="Overview" name="Overview"&gt;&lt;/a&gt;Overview&lt;/h2&gt;
&lt;p&gt;The file migration process was written to minimize downtime and allow your users to still use the community while files are being migrated. This is done by&amp;nbsp;replacing the existing storage provider with the Azure&amp;nbsp;storage provider and using the current file system provider as a fallback option when files are not located in Azure yet. For example, a page is rendered that contains &lt;code&gt;CommunityHighlights.png&lt;/code&gt;&amp;nbsp;and the following check occurs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Request file&amp;nbsp;from Azure file storage:
&lt;ul&gt;
&lt;li&gt;If exists, send file contents from Azure.&lt;/li&gt;
&lt;li&gt;If does not exist, fallback to the previous filestore.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The fallback ensures users can continue to get the same experience while the migration is in process.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;When the migration is complete, administrators are notified.&lt;/p&gt;
&lt;h3&gt;&lt;a id="Preparing_for_Migration" name="Preparing_for_Migration"&gt;&lt;/a&gt;Preparing for Migration&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Backup the file storage, database, and web files before you begin.&lt;/li&gt;
&lt;li&gt;It is also recommended that you try this in a non-production environment if at all possible.&lt;/li&gt;
&lt;li&gt;Contact Telligent Support and get the Azure components. Let them know the version of Community you are running.&lt;/li&gt;
&lt;li&gt;Be familiar with running applications in Azure. The instructions&amp;nbsp;assume you have experience working in and running applications in Azure.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;&lt;a id="Installation_and_Configuration" name="Installation_and_Configuration"&gt;&lt;/a&gt;Installation and Configuration&lt;/h2&gt;
&lt;p&gt;Going forward your site will be configured to communicate to Azure as its primary file storage and your current, existing file storage becomes the fallback file storage. You need to refer to the following sections of [[How Do I Deploy my Site to Microsoft Azure?]] to set up Azure as your storage provider:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;Storage Account&lt;/strong&gt; &lt;/em&gt;- This will provide guidance on how to configure your Azure storage account&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;Preparation/Prepare Web and Job Files For Deployment -&lt;/em&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;This will help you install the Azure components.&amp;nbsp; &amp;nbsp;The only difference is where this article refers to the &amp;quot;&lt;em&gt;Telligent Community Installation Package&amp;quot;&lt;/em&gt; as the place to copy files to, you will be using your existing web installation directory.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You must stop all web and job servers when installing the Azure components.&lt;/p&gt;
&lt;h3&gt;&lt;a id="Connection_Strings" name="Connection_Strings"&gt;&lt;/a&gt;Connection Strings&lt;/h3&gt;
&lt;p&gt;Update your existing file&amp;nbsp;&lt;code&gt;connectionstrings.config&lt;/code&gt; in the web installation &lt;strong&gt;and&lt;/strong&gt; job server installation to point to your storage account. &lt;br /&gt;Note: The value for connectionString is provided in the Azure portal under the keys area of the storage account properties:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="xml"&gt; &amp;lt;add name=&amp;quot;AzureFilestorageContainer&amp;quot; connectionString=&amp;quot;[Obtain from the Portal]&amp;quot; /&amp;gt;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a id="Configuration" name="Configuration"&gt;&lt;/a&gt;Configuration&lt;/h3&gt;
&lt;p&gt;Once you complete the setup from&amp;nbsp;&lt;span&gt;[[How Do I Deploy my Site to Microsoft Azure?]] as described above, your web installation &lt;strong&gt;and&lt;/strong&gt; job installation now has (or had) a &lt;code&gt;communityserver_override_config&lt;/code&gt; file with the appropriate configuration settings in it:&lt;br /&gt;&lt;br /&gt;Note: This is&amp;nbsp;an&amp;nbsp;example, your section may have different values and or additional fields not shown here&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/CentralizedFileStorage&amp;quot; mode=&amp;quot;add&amp;quot; where=&amp;quot;end&amp;quot;&amp;gt;
  &amp;lt;fileStoreGroup name=&amp;quot;Azure&amp;quot;
      default=&amp;quot;true&amp;quot; 
      type=&amp;quot;Telligent.Evolution.Azure.Filestorage.AzureBlobFilestorageProvider, Telligent.Evolution.Azure.Filestorage&amp;quot;
	  cdnUrl=&amp;quot;https://yourcdn.azureedge.net&amp;quot;
      /&amp;gt;
 &amp;lt;/Override&amp;gt;&lt;/pre&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Modify that section by&amp;nbsp;adding the node&amp;nbsp;&lt;code&gt;migrationSource&lt;/code&gt; as a child node of &lt;code&gt;filestoreGroup&lt;/code&gt; as shown below in both the web &lt;strong&gt;and&lt;/strong&gt;&amp;nbsp;job versions of this file.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="xml"&gt;&amp;lt;Override xpath=&amp;quot;/CommunityServer/CentralizedFileStorage&amp;quot; mode=&amp;quot;add&amp;quot; where=&amp;quot;end&amp;quot;&amp;gt;
  &amp;lt;fileStoreGroup name=&amp;quot;Azure&amp;quot;
      default=&amp;quot;true&amp;quot; 
      type=&amp;quot;Telligent.Evolution.Azure.Filestorage.AzureBlobFilestorageProvider, Telligent.Evolution.Azure.Filestorage&amp;quot;
	  cdnUrl=&amp;quot;https://yourcdn.azureedge.net&amp;quot;
      &amp;gt;
      
      &amp;lt;migrationSource name=&amp;quot;FileStorageProvider&amp;quot;   type=&amp;quot;Telligent.Evolution.Extensibility.Storage.Providers.Version1.FileSystemFileStorageProvider, Telligent.Evolution.Platform&amp;quot; connectionStringName=&amp;quot;FileStorage&amp;quot; /&amp;gt;
     
    &amp;lt;/fileStoreGroup&amp;gt;
 &amp;lt;/Override&amp;gt;&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Once you have successfully installed all the files and modified the configuration, you can start web site followed by the job server. From this moment on your site will be using Azure as its file storage, however, when it cannot locate a file there, it will fallback and load the file from its original location.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;br /&gt;&lt;a id="Enabling_the_Job" name="Enabling_the_Job"&gt;&lt;/a&gt;Enabling&amp;nbsp;the Job&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;Enable the job by going to the Administration area and locating the &lt;strong&gt;Centralized File Storage Migration&lt;/strong&gt; Job under the Jobs section. Check the &amp;quot;Enabled&amp;quot; options and save.&amp;nbsp;&lt;/span&gt;&lt;span&gt;When this job&amp;nbsp;begins it will&amp;nbsp;start copying files to the Azure filestore. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Upon successful completion, administrators will receive a system notification stating the job has completed successfully&amp;nbsp;and&amp;nbsp;the steps to disable the job and remove the configuration added previously (see &amp;quot;Success&amp;quot; section below). &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;If&amp;nbsp;the job encounters errors, administrators will receive a system notification with links to log files.&amp;nbsp;Review these error log files for any errors that you may be able to correct. If the issue is not immediately apparent or correctable, allow the job to run again at its scheduled time where it will try and rectify any issues from subsequent runs. If you continue to experience&amp;nbsp;errors contact Support with the error log files provided in the notification.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a id="Success" name="Success"&gt;&lt;/a&gt;&lt;span&gt;Success&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;When migration ends successfully&amp;nbsp;and you receive the system notification do the following:&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Disable the Centralized File Storage Migration Job in Administration&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Stop your&amp;nbsp;web and job servers.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Modify &lt;code&gt;communityserver_override.config&lt;/code&gt;&amp;nbsp;in both web and job servers and remove the &lt;code&gt;&amp;lt;migrationSource/&amp;gt;&lt;/code&gt; node you previously added. Save the files.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Restart the web and job servers.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item></channel></rss>