Per Nergård (MVP)
OMVPSaaS CMS Developer CertificationCommerce Connect 13 Developer Certification +2
Jun 26, 2011
visibility 4861
star star star star star
(0 votes)

Hot to add validation of folder names in CMS5 filemanager

After migration of a CMS4 site we started to get a lot of reports of links that had stopped working.

I remembered that we had trouble with non allowed characters in an other site some time ago.

A quick check and sure enough we had a problem with “&” characters in some of the folder names.

In CMS 6 a validation has been added to avoid these problems but not in a default CMS 5 R2site.

Luckily there is an easy fix. Replacing the standard

<virtualPath customFileSummary="~/FileSummary.config" /> row in web.config with the below adds the validation.

<virtualPath customFileSummary="~/FileSummary.config"  illegalCharactersRegex="%|&amp;|\+|/COM[0-9]([/\.]|$)|/LPT[0-9]([/\.]|$)|/PRN([/\.]|$)|/CLOCK\$([/\.]|$)|/AUX([/\.]|$)|/NUL([/\.]|$)|/CON([/\.]|$)|/.+\.$" illegalCharactersDisplayString="%,&amp;,+,COM,LPT,PRN,CLOCK$,AUX,CON,NUL,*.">

I don’t understand why this functionality isn’t activated by default in  CMS5 and a recommendation to anyone upgrading a pre CMS5 site is to go through all the folders and correct any incorrect folder names.

Jun 26, 2011

Comments

Linus Ekström
Linus Ekström Jun 27, 2011 07:12 AM

@Per: The & character became restricted in one of the later IIS versions that has a default setting to not allow characters that can be decoded several times. That why we added the & character to the list of unwanted characters first in the CMS 6 version. There is even the posibility to allow the "&"-character. See the original form thread about the issue here: http://world.episerver.com/Modules/Forum/Pages/thread.aspx?id=34240

error Please login to comment.
Latest blogs
Surviving a Dirty Feed. Part 3: Error Handling and Event Batching

Committing a 250,000-row Optimizely catalog import row by row, returning a per-row failure report, and coalescing catalog events into one per batch.

Stanisław Szołkowski | Oct 16, 2026 |

Building UI Extensions for Optimizely SaaS CMS

Introduction Developers have been extending the functionality of Optimizely PaaS CMS for years using addons built in C# and deployed as NuGet...

Mark Stott | Oct 15, 2026

Cheapskate AI Translator: Because Translation Should Not Require a Second Mortgage

There is a particular kind of software project that begins with a detailed architecture document, a product roadmap, and a carefully assembled...

Linh Doan Cuu | Oct 15, 2026

Computed Fields in CMS 13 Content Contracts with Optimizely Graph

Content Contracts in Optimizely CMS 13 allow different content types to share a common structure when querying Optimizely Graph. But what if the...

Mardy | Oct 14, 2026