Per Nergård (MVP)
+2
Jun 26, 2011
visibility 4828
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
Composition Over Inheritance: Why Your Content Contract Is Not a Base Class

Inside the structural conformance pattern in SaaS CMS — from server-side inheritance to pipeline governance. A contract in Optimizely SaaS CMS is...

Vipin Banka | Sep 19, 2026

Optimizely Opti ID Integration: Why the API Key Was Missing from the DXP Management Portal

While working on an Optimizely CMS 12 Opti ID integration recently, we ran into an issue that initially appeared to be related to SSO authenticatio...

Madhu | Sep 18, 2026 |

Extending a Contract: What You Can Override

Contracts share fields across content types — but not every field setting can be overridden. Push the same contract onto several components, and CM...

Chirag Khanna | Sep 18, 2026 |

Building a Blazor Server UI Inside the Optimizely CMS 13 Admin Shell

What I learned shipping a Blazor Server UI inside Optimizely CMS 13 — Razor components in a NuGet package, the Blazor hub next to MapContent(),...

Stanisław Szołkowski | Sep 17, 2026 |