If you already have a community that uses the file system to store its files you can migrate those files Azure while your site is running(after the initial setup) in the background. This however requires you be running Telligent Community 10.3 or later. It also means that if you also plan to migrate your site to use Azure web sites, you must complete this migration process prior to moving the web site to Azure.
Preparing for Migration
As with any operation that involves manipulation of the community data or its installation, you should take a full backup of the file storage, database and web files before you begin. It is also recommended that you try this in a non-production environment if at all possible.
Installation and Configuration
You will need to install the Azure components(obtainable from support for your version) as going forward your site will actually be fully configured to communicate to Azure as its primary file storage, and your existing filestorage becomes the fallback file storage. Do you you will need to refer to the following sections of How Do I Deploy my Site to Microsoft Azure?:
- Storage Account - This will provide guidance on how to configure your Azure storage account
- Preparation/Prepare Web and Job Files For Deployment - This will help you install the Azure components. The only difference is where this article refers to the "Telligent Community Installation Package" as the place to copy files to, you will be using your existing web installation directory.
Connection Strings
You will need update your existing connectionstrings.config file in your web installation to point to your storage account. You do so by adding the following connection string to that file and the value for connectionString should be the connectionString provided in the keys area of the storage account properties in the Azure portal:
<add name="AzureFilestorageContainer" connectionString="[Obtain from the Portal]" />
Configuration
If you completed the setup from [How Do I Deploy my Site to Microsoft Azure?]] as described above, your web installation now has or had a file titled communityserver_override.config with the appropriate configuration settings in it:
Note: This is for example only, your section may have different values and or additional fields not shown here
<Override xpath="/CommunityServer/CentralizedFileStorage" mode="add" where="end">
<fileStoreGroup name="Azure"
default="true"
type="Telligent.Evolution.Azure.Filestorage.AzureBlobFilestorageProvider, Telligent.Evolution.Azure.Filestorage"
cdnUrl="https://yourcdn.azureedge.net"
/>
</Override>
Modify that section by adding the migrationSource node as a child node of filestoreGroup as shown below.
<Override xpath="/CommunityServer/CentralizedFileStorage" mode="add" where="end">
<fileStoreGroup name="Azure"
default="true"
type="Telligent.Evolution.Azure.Filestorage.AzureBlobFilestorageProvider, Telligent.Evolution.Azure.Filestorage"
cdnUrl="https://yourcdn.azureedge.net"
>
<migrationSource name="FileStorageProvider" type="Telligent.Evolution.Extensibility.Storage.Providers.Version1.FileSystemFileStorageProvider, Telligent.Evolution.Platform" connectionStringName="FileStorage" />
</fileStoreGroup>
</Override>