How to Use the Sitecore Media Upload Watcher on Azure

Because it's not enabled by default

Overview

The Media Upload Watcher is functionality in which Sitecore automatically detects changes within the server file system and creates media library items with the files automatically attached and sorted into the corresponding directories within the upload folder.

This method of uploading is often faster than the other methods of uploading media; especially if you're uploading a large amount of files.

Setup

Verify in your Sitecore.config that the following exists:

<sc.variable name="mediaFolder" value="/upload" />

Update the Web.config in the webroot directory by adding the following inside of the <system.webServer><modules> node. This enables the upload watcher.

<add type="Sitecore.Resources.Media.UploadWatcher, Sitecore.Kernel" name="SitecoreUploadWatcher" /> <!-- NOTE: Added temporarily -->

More information can be found here

  • Create the /upload directory in your website root. Azure instances do not appear to have this created by default.
  • Once you have added the above, try adding files to the folder. If they don't show up in the media library, you may need to restart the app service. Check the logs if necessary.
  • Media items that are created will be created in the media library root by default, so to upload to a specific directory, create the required directories underneath the upload folder. Double check your media library to ensure duplicate items / folders have not been created if they already existed.
  • Go to the app service in Azure --> Deployment Center --> Select FTP and get the FTP credentials
  • Upload all of the media library files you want in the directories that you want.
  • Remember to remove the added line in the web.config when finished.
  • Once you're sure all of the Sitecore items have been created, delete the /uploads directory when you're sure that all of the Sitecore items have been created.
  • If you're uploading a lot of files under one directory (more than 100) it's recommended that you configure a bucket to store those items.

All the best,

Marcel

Fish