Configuring media libraries
Using the Media libraries application, users can store various files, for example, photos, pictures, sound files, videos, package files, presentations or document files. This means that media libraries are able to store non-media types of files as well. You can set the site up to allow visitors to view and add content to media libraries. Media libraries can also be associated with certain groups.
This page covers some of the more general Media library settings:
- Adjusting general media library settings
- Configuring maximum file upload size in media libraries
- Format of media library files on the disk
- Configuring custom storage for media libraries
- Media library limitations when storing files in an external storage
See the subpages for additional configuration scenarios.
Adjusting general media library settings
- Navigate to Settings -> Content -> Media.
- Adjust the relevant settings.
- Save the changes.
Configuring maximum file upload size in media libraries
The default maximum size for files uploaded into media libraries is approximately 28.6MB (limited by the IIS Request Limits configuration). To enable uploads of larger files:
Edit your project’s web.config file.
If necessary, modify the value of the <httpRuntime> element’s maxRequestLength attribute. Enter the value in kiloBytes.
Important: Modify the <httpRuntime> element directly under the web.config’s main <system.web> section, NOT within a specific <location> element.
Do not edit the maxRequestLength value inside the <location> element marked by the WebDav location comments, which the web.config contains by default.
<httpRuntime maxRequestLength="2000000" ... />
Add the following <security> element into the web.config’s main <system.WebServer> section. Enter the value of the <requestLimits> element’s maxAllowedContentLength attribute in Bytes.
Important: Do NOT modify the <security> element inside the <location> element marked by the WebDav location comments, which the web.config contains by default.
... <system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="2147483648"/> </requestFiltering> </security> <modules> <remove name="WebDAVModule" /> <remove name="XHtmlModule" /> <remove name="CMSApplicationModule" /> ...
Save the web.config file.
Users can now upload files in the size that you specified in the maxRequestLength and maxAllowedContentLength attributes into Media libraries.
Format of media library files on the disk
When the thumbnail image or the image itself is larger than the required thumbnail image size, the system creates a copy in the required size. Both thumbnails and resized copies are stored in a hidden folder in the root of the media library folder. You can set the name of the folder in Settings -> Content -> Media -> Media file hidden folder.
- File - <file name>.<file extension>.
- Resized file - <hidden folder>/<file name><file extension><width>_<height>.<extension>.
- Thumbnail - <hidden folder>/<file name>_<file extension><thumbnail suffix>.<thumbnail extension>.
- Resized thumbnail - <hidden folder>/<file name><file extension><thumbnail suffix><width>_<height>.<thumbnail extension>.
Example
If you upload the following files:
- Uploaded file - MyImage.jpg.
- Uploaded thumbnail - MyPhoto.bmp.
with the following settings defined in Settings -> Content -> Media:
- Media file hidden folder - __thumbnails.
- Media file thumbnail suffix - _thumbnail.
the system stores the uploaded files in the media library folder with the following names:
- File - MyImage.jpg.
- Resized file - __thumbnails/MyImage_jpg_100_200.jpg.
- Thumbnail - __thumbnails/MyImage_jpg_thumbnail.bmp.
- Resized thumbnail - __thumbnails/MyImage_jpg_thumbnail_20_30.bmp.
Configuring custom storage for media libraries
The default location of all libraries of a particular site is ~/<sitename>/media. To customize the location:
- Navigate to Settings -> Content -> Media -> Media libraries folder .
- Enter the folder location you want the system to store the files in. The location needs to be in one of the following formats:
- physical path - for example, c:\Libraries.
- root-relative path - for example, ~/Libraries.
- UNC path - for example, \\<server name>\Libraries.
- Note that if you want to use a UNC path while hosting your media library on a different server, you need to use the CMSAllowCheckIOPermissions web.config key set to false.
- (Optional) Enable the Use site-specific subfolders for custom media libraries folder option. The system then stores media library files in a sub-folder named as the site code name under the custom files folder. That is, <custom media libraries folder>/<site code name>.
- Save the changes.
Notes:
- When you change the location of the media library folders, the system does NOT automatically move existing media files and sub-folders to the new location. To ensure that your media content is accessible and works correctly, you need to manually move the files from the old location to the new one in the file system.
- The system always generates only permanent URLs for media files stored in custom media library folders located outside your project.
If you are running the system on a web farm and have the same UNC root defined on all servers, it is necessary to add the following key into your web.config file. The files stored in the libraries are then not transferred when synchronizing the web farm content:
<add key="CMSWebFarmSynchronizeMediaFiles" value="false"/>
Media library limitations when storing files in an external storage
If your project is configured to store files in an external storage, for example Azure Blob Storage or Amazon S3, make sure that you structure the media files into a hierarchy of folders. Storing a large number of media files in a single folder can significantly affect the performance of your project when editing the files in the Media library application.
We recommend storing at most 100 files in a single media library folder. Once you reach the limit, make sure you create a structure that allows you to divide the files into multiple folders. The number of files in one folder directly affects the performance of the Media library user interface.
Additionally, the system’s automatic clearing of files from the server-side cache does not work for files stored in an external storage. If you modify a media file, the website may still display the old version until the cache expires (unless you manually clear the application’s cache). See also: Caching files and resources