November Happy Hour will be moved to Thursday December 5th.
November Happy Hour will be moved to Thursday December 5th.
Hi, I'm not 100% that I understood your explanation correctly but are you looking for to have simple address without the language part? If so then have a look at this old post https://world.episerver.com/blogs/Johan-Bjornfot/Dates1/2014/9/Changes-in-simple-address-routing/ which explains the simple address language routing changes. I've posted there how to make it work with 10.x+ versions.
Your first problem is definetily about the simple address routing and the language segment in the url, and dependant on your host language configuration.
Thank you for your response Antti. I think what our real problem is that end users of the CMS, the content creators and editors, will not know how the site has been configured and it is not reasonable for them to understand and remember these many scenarios. So, what would be a setup to make it an easy system for content editors.
For example, if we have 1 page with 2 lanaguage versions, and the simple address is ONLY set on the master English page
In England the user types http://sitehost/about the content editor would expect the user to be taken to http://sitehost/en-UK/about-us.
In Sweden the user types http://sitehost/about the content editor would expect the user to be taken to http://sitehost/en-SV/about-us.
What should content editors need to know and what rules do they use? What configuration model makes it easiest for them?
Hi Annabel, the sample you have doesn't quite make sense because you have the same sitehost in the expected behavior samples (http://sitehost/about) it cannot point to different language versions with the same address, how on earthh the system could decide which language version to use (without you adding custom code that would change the language for example based on IP-address but you don't mention anything like that, so I must assume you are using the defaults).
(offtopic, en-SV would mean english in sweden so are all you pages in english buf using language code to tell region, like targeting swedish people but using english as the language?)
Lets also clarify what Episerver version are you using? So that we know what language routing rules will apply by default.
Then on the usage of simple address - I would only use it for marketing purposes/needs where there is a need for a short URL. You should instruct the editors not to use simple address on every page - only when it is truly needed. In prior version of Episerver the simple address was routed first so if every page would have a simple address in older versions it meant it could actually have a real performance downgradin effect because all simple addresses would need to be scanned for a match. Nowdays the simple address matching is done last (so the normal routing takes priority).
Also note that when using simple addresses the browser is not redirected anywhere (just mentioning this as you are referring in your comment 'taken to' http://sitehost/en-SV/about-us/ )
So lets assume the following:
So now if we add simple address for english language version of 'About us' page and use your sample 'about'
So with the default setup of Episerver and no language configured for the site host address, if you want to use simple address for the languages you should then set the simple address unique per language like in the previous sample: about and om
Besides what would be the point to use word about for the swedish language, it is not swedish ;P
The functionality changes if you for example map english language to the sitehost. Meaning that you have configured in admin -> config -> manage web sites -> select your site
And then set localhost:xxxx Culture to 'en' and save the settings (set en culture also for the wildcard host (*)).
In this case you need to look at the rules defined under "Host "sitehost" mapped to language "en", strictLanguageRouting=true"
Now all the english urls are without the language segment 'en' for example and the previous sample addresses produce different results.
But now lets get back to your requirement, does the above examples cover the requirement for simple address or do you need to be able to use simple address for all languages without the language segment?
I hope this clarified the configuration part.
Then you last question "What should content editors need to know and what rules do they use? What configuration model makes it easiest for them?" - simple answer is:"It depends".
Content editors don't need to understand the configuration but they need to be instructed how the simple addresses work with their Episerver solution (how you the partner has configured the solution).
Personally I like to setup sites with host mapped to a language so the master branch doesn't have the language segment inthe urls, I think it is cleaner that way. I also like the strict language routing, so by default I use the rules under "Host "sitehost" mapped to language "en", strictLanguageRouting=true" (naturally language depends what is the solutions master language). I think if you set the strictLanguageRouting=false when you have host mapped to a language would result in weird urls mainly the possibility to use /sv/about/ == swedish language version but using the simple address of english language version - No thank you. I like the real simple address without language segment in the url so I usually use the code to relax the strictlanguagerouting only for the simple addresses.
Hi Antti, thank you for the thorough response. I am a content manager for several languages and not the site developer so I am not sure about the routing setup. You are correct in 2 important facets;
Other details
As an editor I was expecting that simple address would be a short cut to the overall page in the tree. Then once the overall page marker was located, the relevant language version would be displayed using the normal fallback rules.
Currently the site does not do that. So for example:
I want to understand whether the use of lanaguage we have to control geographic content is normal/recommended. And how simple address works in that configuration.
Hi Annabel, I was a bit afraid that it is the case that you are not one of the developers of the site ;)
I'm pretty sure I guessed correctly the website we are talking about.
The site I had a look at has www.some-host.com/about/# (region UK & Ireland). If I now try to switch to the Australia & NZ region I get a light box with title "Region choice" and message "This page does not exist in the selected language. You can remain in the current language or be taken to the region homepage of the selected language" and options to "Region homepage" or "Remain" - Are we talking about the same site perhaps?
If yes, when switching region an Ajax call is made to the server with current page guid and region info where to switch. The response from server is: {"PageExists":false,"RegionHomepageUrl":"/en-AU/"}
So the point being there is some custom implementation check done if the page the user is exist in some other region (language) and the logic there doesn't find a match.
This is the point where I have to raise my hands and say sorry, can't help you further with this as only the developers and people who have access to the solution source codes can check what it does and maybe change it to work the way you would like to.
To answer to your last question about is your current setup the normal/recommended way of doing it - its one way to do it - use language to target a region. Anyways how it has been implemented on your site is totally up to the developing partner. One option would have been to use top-level domain (TLD) for region like your-domain.co.uk, your-domain.au and your-domain.sg and then use language per TLD - as is, no difference in the inner workings how it is now. Visible difference would be that there wouldn't be any language parameter in the URLs.
I would say that you have really outdated version of Episerver (over 18 months old version). I can just assume you've had a web site project and no continuous development for the site. I would say it is time to call your partner perhaps.
Couple of other things, the site is setup with the default UI URL, meaning edit mode is accessed with www.some-host.com/episerver/cms/ - I would say this is bad practice from your partner as they have not chnaged the default url + relocate also the login/logout pages.
Also when navigating to the site root www.some-host.com does a redirect to /en-GB/ using http status code 302 which then does a redirect to /en-gb/ using http status code 301 so at least one redirect too much.
Hi Antti, thank you so very much for your comments. This will help us in future planning. The management of geographic/region content (all in the same language in the true sense of the word) is complicated and difficult for editors to understand and to train them. I have been unable to find much in the Episerver documentation to understand the recommended and most editor/visitor friendly ways of setting up a multi national site. So discussions on this forum help me get a better understanding. I have a seperate post asking for advice about the best ways to manage out situation (Loading content for a new language). Thanks once more for your discussion.
How does simple address work in a multi language site?
Example 1. There is only 1 Master page. It is shown in ALL languages.
Normal URL: www/en/aboutus
Simple address: www/aboutus
This is what happens without the simple URL:
Go to www/en-uk
Type in www/en-uk/aboutus
Page displayed is www/en-uk/aboutus
Using content defined in www/en/aboutus
Using the simple address does this:
Go to www/en-uk
Type in www/aboutus
Page displayed is www/en/aboutus
PROBLEM: To correct this we need to create a copy of the page in each language and set the simple address on each of them. That is really awkward and it's unreasonable to expect editors across countries to learn and remember such a quirk.
Example 2. There are 2 pages: 1 master UK and 1 local AU. They both have the same simple address set.
Master page: www/en-UK/careers
Simple address: careers
Language version page: www/en-ZZ/careers
Simple address: careers
Tests:
For a visitor located in country ZZ, if they enter www what actually displays is www/en-ZZ
If they load www/careers they are taken to www/en-UK/careers NOT www/en-ZZ/careers even though there is a simple URL defined for the local ZZ page.
PROBLEM: To correct this we need to create a unique simple address for each language (e.g. careers and careers-ZZ). That is really awkward and it's unreasonable to expect editors across countries to learn and remember such a quirk.
Are these normal and expected behaviours and requirements?
How can we make it easy for editors to set simple addresses?