DEV Community

Martin Soderlund Ek
Martin Soderlund Ek

Posted on

Setting up External File Storage in Optimizely CMS 12 (preview)

Optimizely (formerly Episerver) CMS 12 comes with lots of exciting new stuff, including .NET 5 support (thank you finally!).

Setting up a new website in a development environment is easy (Clone the .NET 5 preview repo here), however when you want a shared file share for the blobs (instead of the local App_Data folder), it's a little bit hard to find the accurate documentation for it.

To configure an Optimizely CSM 12 (preview) website to use a file share, you need to edit the appSettings.json file to include BlogProviderOptions, like this:

{
  "EPiServer":{
     "Cms":{
            "BlobProvidersOptions": {
                "DefaultProvider": "fileShare",
                "Providers": {
                    "fileShare": "EPiServer.Framework.Blobs.FileBlobProvider, EPiServer.Framework"
                },
             } 
             "FileBlobProvider":{
                 "Path": "\\dbserver\blobs"
             }
     }
  }
}
Enter fullscreen mode Exit fullscreen mode

Until you do so, the App_Data folder will be used for your CMS content files.

The documentation for this can be found under the Deploying to Windows Servers section.

Top comments (2)

Collapse
 
jonasboman profile image
Jonas Boman

Thanks for this!
What would the default settings be and how would I just apply this in production and not in dev/Test/Stage? By conditional config (e g _environment.IsProduction() in Startup.cs?

Collapse
 
dileno profile image
Martin Soderlund Ek

You normally have different appSettings.json files for each environment, like appSettings.development.json, appSettings.preproduction.json and appSettings.production.json.