U4-3710 - Mixed case name causes url name to by hyphenated

Created by Phill Hodgkinson 25 Nov 2013, 22:11:07 Updated by Stephan 15 Jan 2014, 08:43:12

If you have a page node that is named with mixed case (i.e. a product called BoB) the url generated has a dash inserted before the next capital. It becomes /products/bo-b/ when it should be /products/bob/. This wouldn't be a big deal if umbraco let you edit the link (which I'm going to add or vote up as a requested feature, but that's another story).

Tested in Chrome and IE10. Create a new document and use a name that has mixed case.


Shannon Deminick 26 Nov 2013, 01:31:38

@Stephen do you know if this is part of the new string helper? or is it something else?

Stephan 26 Nov 2013, 07:29:01

No, must be the new string helper splitting things on "terms" ie on uppercase letters. Can be fixed easily. Will look at it.

Per Ploug 09 Dec 2013, 13:33:32

what is the status on this?

Stephan 11 Dec 2013, 08:04:56

Currently working on that one.

Cause was: for urls, we break terms on upper case, so "thisIs AnotherDocument" is first converted into [ "this", "Is", "Another", "Document" ] and then we concatenate all the terms with a separator, giving "this-is-another-document".

Fix: I'm changing the default config so that we don't break terms on uppercase, so the terms would be [ "thisIs", "AnotherDocument" ] giving "thisis-anotherdocument".

Shannon Deminick 12 Dec 2013, 07:53:44

Would be amazing to get these out of the way for the 7.0.1 release today, not sure whether you'll have time or not ?

Stephan 12 Dec 2013, 07:56:05

@Shan just email to Pier & Seb. Been working on it yesterday but I'm running late for today because I want to do it right. I'm almost there, really, but won't make it for noon. Feeling really sorry about it.

Shannon Deminick 12 Dec 2013, 07:59:45

ah no worries, didn't realize you had chatted with them :)

Stephan 14 Dec 2013, 19:46:40

Pushed 5aec753 in 6.2.0 and merged into 7.0.2, ready for testing.

Shannon Deminick 16 Dec 2013, 07:07:30

Hey @Stephan, I'm just getting some stuff done for 6.2 - first issue I've found is that the code:


results in "child"

surely "child1" is a valid alias?

Stephan 16 Dec 2013, 14:55:29

"child1" is a valid alias, but "1child" is not. So a digit is valid anywhere but in the first position. Obviously... something's wrong and I'm going to check right now.

Stephan 16 Dec 2013, 15:08:43

Found it. Stupid me. Will commit soon.

Stephan 16 Dec 2013, 16:11:52

Both 6.2 and 7.0.2 should be fine now.

Shannon Deminick 08 Jan 2014, 06:30:05

@Stephen, should we close this?

Stephan 10 Jan 2014, 07:27:06

Guess yes.

Shannon Deminick 15 Jan 2014, 06:50:55

@Stephen so you will close it? I assume this fix is in 6.2 as well?

Stephan 15 Jan 2014, 08:42:42

Yes. Ah -- want me to close it! OK.

Priority: Normal

Type: Bug

State: Fixed


Difficulty: Normal


Backwards Compatible: True

Fix Submitted:

Affected versions: 7.0.0, 6.1.6

Due in version: 6.2.0, 7.0.2


Story Points: