Multi-domain, multi-language/country combo URL question

Vote:
 

I have an episerver installation I'm developing to server 30+ websites across multiple countries and in multiple languages. Each country/language combination has its own specific content, this is not just a translation but its own content edited by the local market.

Several of these countries have specific content for the two main languages the country supports. 

The current sites use the following format. 

www.mysite.be/fr/ - serves the content specifically for French speaking Belgians

www.mysite.be/nl/ - serves the content specifically for Dutch speaking Belgians

As I understand it, the default behaviour of EPiServer would serve the standard French content to www.mysite.be/fr/

So I have two questions:

1. How can I configure EPiServer to serve the Belgian-French content on www.mysite.be/fr/ and the Belgian-Dutch content on www.mysite.be/nl/

2. How can I prevent EPiServer from serving content other than the content the specific market is allow, e.g. preventing www.mysite.co.uk/fr/ from serving French content. www.mysite.co.uk should only serve the content for en-GB.

 

Cheers!

#44779
Oct 14, 2010 17:37
Vote:
 

Is anyone able to help with this? It's crucial to our implementation.

#44870
Oct 19, 2010 11:27
Vote:
 

Not sure if I understand the problem here.

Isn't what you describing the default behaiver of EPiServer?

 

#44873
Oct 19, 2010 13:26
Vote:
 

As I understand it, the default behaviour of episerver is to essentially serve one domain, e.g. www.mysite.be, with translations of that sites in various languages, e.g. www.mysite.be/fr/ (French) or www.mysite.be/nl/ (Dutch)

Firstly, I need to prevent, say, www.mysite.be/en/ from serving any content whatsoever. Likewise, www.mysite.co.uk, for example, should serve UK English by default (we've set this in the "site hosts" section) and not serve any other language at any time. 

I'd also like to be able to configure www.mysite.be/fr/ to serve the Belgian French content, not the French content. Is this possible? 

#44874
Edited, Oct 19, 2010 13:41
Vote:
 

When you say "Each country/language combination has its own specific content, this is not just a translation but its own content edited by the local market" - do you mean that the pagetypes, site structure and everything related may be different between languages? If so, then you probably need separate EPiServer installations for each language.

As Anders says, serving "translated" pages to the languages configured in the Web Site Languages section in AdminMode, is default behaviour in CMS6.

 

#44875
Edited, Oct 19, 2010 13:43
Vote:
 

This can easy be "fixed" by making your own FriendlyUrlRewriteProvider
override ConvertToInternalInternal and check after if the epslanguage is defiend and what the host is

#44876
Oct 19, 2010 13:45
Vote:
 

The sites share the same masterpages/templates/dynamic content controls, etc, but the content does vary. 

I think the writing our own FriendlyUrlRewriteProvider does make the most sense. 

 

#44877
Oct 19, 2010 13:47
Vote:
 

One key note is to reflect on the base code in FriendlyUrlRewriteProvider. It dosn't cache based on host....

One other key note. Doing stuff with host and start page needs a lisense pr site

#44878
Oct 19, 2010 13:50
Vote:
 

What about the default Globalization behaviour described in Scenario 1 here?

http://world.episerver.com/Documentation/Items/Tech-Notes/EPiServer-CMS-6/EPiServer-CMS-60/Globalization/

#44879
Oct 19, 2010 13:56
Vote:
 

Peter,

If each market has diffrent content I would recomment that you have one separate page tree for each market. For each market's start page you define allowed languages in that branch. With this setup it will be possible to have diffrent english or french content per market.

You can run EPiServer in multi-site mode and define how host names are mapped to diffrent startpages and you can also set a default language per host name. This setup requires one site-tag per market with its own siteSettings and siteHosts-tag. You will also need a license per start page and it will add som complexity to your IIS setup.

  • Root
    • Begium - Start (Enabled languages: fr, nl)
      • Page 1a
      • Page 2a
    • French - Start (Enabled languages: fr)
      • Page 1b
      • Page 2b
    • UK - Staer (Enabled languages: en)
      • More pages...

Another common approach is that you have an international start page where you select market and have child pages for each market. This will give you a simpler approach since you do not have to duplicate IIS sites and have serveral siteSettings-tags to maintain.

  • Root
    • International Start page (with market selector)
      •  
        • Begium - Start (Enabled languages: fr, nl)
          • Page 1a
          • Page 2a
        • French - Start (Enabled languages: fr)
          • Page 1b
          • Page 2b
        • UK - Staer (Enabled languages: en)
          • More pages...

NB! If you implement redirect or url rewrite so you server diffrent start pages depending on URL you still need to have additional licences for each start page!

In the second scenario you can use the friendly url rewriter to modify the beginning of the url depending on the host name.

#44881
Oct 19, 2010 14:37
Vote:
 

How do you specify the language per host name in your first scenario?
We have created a second <site .... entry in the episerver.config file, and then copied the current start page name, and pasted this under the root, thus creating a "cloned" version.

Previously we were setting the host and language in EPiServerFramework.config (this was when we showed multi language content of the same, single start page scenario).

This issue we have now having is that we can’t seem to set the “default” language to something other than the original default language.

We’ve gone into “Language Settings”, and turned off all but the required language in the “Available languages”.

The strange thing that happens now is when we click on the new “start node” in the tree, instead of taking us to the preview mode, giving us options to edit, it takes us to the front-end view.  (outside EPiServer CMS mode)(The second start page has the “Globe” symbol,  so EPiserver is correctly getting the start ID for that site from the config file.

 

Example of <sites... section below:

 

<sites>

    <site siteId="OurSite" description="Example Site" licenseFilePath="C:\sites\OurSite\OurSite.WebUI\Licenses\License.config">

      <siteSettings enableScheduler="true" enableEvents="true" enableRemoteEvents="true" errorMailHandler="~/util/SendErrorReport.aspx" globalErrorHandling="Off" globalErrorMail="" httpCacheExpiration="0:0:0" httpCacheability="Public" httpCacheVaryByCustom="path" httpCacheVaryByParams="id,epslanguage" indexingDelayAfterPublish="0:0:20" indexingTextRegExp="[\p{N}\p{L}]{1}[\p{N}\p{L}-\._]*[\p{N}\p{L}]{1}" logServiceUrl="soap.tcp://localhost/TimeSpanAnalyzerView" mirroringFileWriteRetryDelay="0:0:5" mirroringHtmlTextEncoding="" mirroringRetries="5" mirroringRetryDelay="0:0:1" pageCacheSlidingExpiration="12:0:0" pageFolderVirtualPathProvider="SitePageFiles" pageOfficeStartId="0" pageRootId="1" pageStartId="3" pageUseBrowserLanguagePreferences="false" pageValidateTemplate="false" pageWastebasketId="2" remoteCacheListenerShortNames="" remotePageCacheSlidingExpiration="2:0:0" remoteWebServiceCulture="0" sgmlParserDecodeCharEntities="false" stringCompressionThreshold="0" stringDelayedLoadThreshold="0" subscriptionHandler="EPiServer.Personalization.SubscriptionMail,EPiServer" uiDefaultPanelTab="0" uiEditorColors="" uiEditorCssPaths="" uiEditorHeight="250" uiEditorValueOptions="0" uiEditorWidth="500" uiImageTransparencyReplacement="White" uiKeepUserLoggedOn="true" uiMaxVersions="0" uiOptimizeTreeForSpeed="false" uiSafeHtmlTags="b,i,u,br" uiShowGlobalizationUserInterface="true" uiTheme="" uiVersionMerging="true" urlRewriteExtension="" urlRebaseKind="ToRootRelative" operationCompatibility="None" siteDisplayName="OurSite" siteUrl="http://OurSite.local/" uiUrl="~/OurSiteCMS/CMS/" utilUrl="~/util/" />

    </site>

    <site siteId="OurSiteSweeden" description="Example Site" licenseFilePath="C:\sites\OurSite\OurSite.WebUI\Licenses\sweden\License.config">

      <siteSettings enableScheduler="true" enableEvents="true" enableRemoteEvents="true" errorMailHandler="~/util/SendErrorReport.aspx" globalErrorHandling="Off" globalErrorMail="" httpCacheExpiration="0:0:0" httpCacheability="Public" httpCacheVaryByCustom="path" httpCacheVaryByParams="id,epslanguage" indexingDelayAfterPublish="0:0:20" indexingTextRegExp="[\p{N}\p{L}]{1}[\p{N}\p{L}-\._]*[\p{N}\p{L}]{1}" logServiceUrl="soap.tcp://localhost/TimeSpanAnalyzerView" mirroringFileWriteRetryDelay="0:0:5" mirroringHtmlTextEncoding="" mirroringRetries="5" mirroringRetryDelay="0:0:1" pageCacheSlidingExpiration="12:0:0" pageFolderVirtualPathProvider="SitePageFiles" pageOfficeStartId="0" pageRootId="1" pageStartId="662" pageUseBrowserLanguagePreferences="false" pageValidateTemplate="false" pageWastebasketId="2" remoteCacheListenerShortNames="" remotePageCacheSlidingExpiration="2:0:0" remoteWebServiceCulture="0" sgmlParserDecodeCharEntities="false" stringCompressionThreshold="0" stringDelayedLoadThreshold="0" subscriptionHandler="EPiServer.Personalization.SubscriptionMail,EPiServer" uiDefaultPanelTab="0" uiEditorColors="" uiEditorCssPaths="" uiEditorHeight="250" uiEditorValueOptions="0" uiEditorWidth="500" uiImageTransparencyReplacement="White" uiKeepUserLoggedOn="true" uiMaxVersions="0" uiOptimizeTreeForSpeed="false" uiSafeHtmlTags="b,i,u,br" uiShowGlobalizationUserInterface="true" uiTheme="" uiVersionMerging="true" urlRewriteExtension="" urlRebaseKind="ToRootRelative" operationCompatibility="None" siteDisplayName="OurSite" siteUrl="http://OurSitesv.local/" uiUrl="~/OurSiteCMS/CMS/" utilUrl="~/util/" />

    </site>

  </sites>
    
    

 

 

And example of <sitehosts... section below:

 

<siteHosts siteId="OurSite">

      <add />

      <add name="OurSite.local"/>

      <add />

    </siteHosts>
    

 

#44887
Oct 19, 2010 16:35
This thread is locked and should be used for reference only. Please use the Episerver CMS 7 and earlier versions forum to open new discussions.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.