November Happy Hour will be moved to Thursday December 5th.
November Happy Hour will be moved to Thursday December 5th.
Product version: |
EPiServer CMS 5 SP2 |
---|---|
Document version: |
1.1 |
Document last saved: |
27-02-2009 |
EPiServer CMS 5 Enterprise is a solution that shares the same file structure and can store different types of information on the Web site in the same database. This tech note describes the configuration and the technology behind EPiServer CMS 5 Enterprise.
EPiServer CMS 5 Enterprise is intended for environments that have several similar Web sites set up that want to share information. It is possible to link information from one Web site to another and edit every Web site in Edit mode.
To enable Enterprise functions, an EPiServer CMS 5 Enterprise license is required. There are two different types of licenses:
The Enterprise license can be used to run a number of different Web sites on the same server without sharing information between the sites, for example, the Enterprise license is used to purchase multiple EPiServer CMS 5 licenses. This does not require extra administration and will not be mentioned in this document.
This is the actual Enterprise configuration. Its purpose is to allow files and information to be shared between Web sites. This means that the Web sites will share the same database and set of files. In the Internet Information Server each site's home directory will be mapped to the same directory on the local hard drive.
EPiServer CMS 5 SP2 also has support for the following scenarios:
This configuration has the following restrictions:
To install EPiServer CMS 5 Enterprise a few extra steps need to be performed when compared to the EPiServer Professional installation.
This is a regular EPiServer CMS 5 installation using an Enterprise license file. For installation instructions, see the technical note "EPiServer CMS 5 Installation Instructions".
To set up multiple Web sites follow the instructions below:
<site siteId="ExampleSite1" description="Example Site 1">
<siteSettings
enableEvents="true"
enableRemoteEvents="true"
pageStartId="3"
siteUrl=http://enterprise1/
uiUrl=http://enterprise1/yourUI/
utilUrl=http://enterprise1/Util/
pageWastebasketId="2"
pageRootId="1"
categoryId="1"
siteDisplayName="Example Site 1" />
</site>
<site siteId="ExampleSite2" description="Example Site 2">
<siteSettings
enableEvents="true"
enableRemoteEvents="true"
pageStartId="0"
siteUrl=http://enterprise2/
uiUrl=http://enterprise2/yourUI/
utilUrl=http://enterprise2/Util/
pageWastebasketId="2"
pageRootId="1"
categoryId="1"
siteDisplayName="Example Site 2" />
</site>
Add a <siteHosts> section in each <site> section. This is used to determine which <site> section to use based on the host name of the incoming request.
NOTE: One site must have a name="*". This is used to indicate the default site which will receive requests not mapped to any other host names. Also a host name may only appear once.
The <siteHosts> section is also used to control default language mapping for a host. See the EPiServer CMS Globalization tech note for more information on language mapping.
<site siteId="EampleSite1" description="Example Site 1">
<siteHosts>
<add name="www.company.com" />
<add name="www.company.net" />
</siteHosts>
<siteSettings ... />
</site>
<site siteId="ExampleSite2" description="Example Site 2">
<siteHosts>
<add name="*" />
</siteHosts>
<siteSettings ... />
</site>
Open the start page on the new Web site and you will see the Install Basic Content page. Templates can be installed on the new Web site. There are two options:
If you want to use a different page template for the start page of a new Enterprise Web site, this is not supported through configuration. It can be addressed by overriding the method GetDefaultDocuments in your global.asax.cs file. You need to return a different set of default documents based on the current settings section.
The unique site configuration information for each site will be stored in a section in the web.config file under <Sites>. For example, the site running under IIS instance 1 could have a section similar to the one below:
<episerver>
<sites>
<site
siteId="ExampleSite"
description="Example Site">
<siteSettings
enableEvents="true"
enableRemoteEvents="true"
siteUrl="http://enterprise/"
uiUrl="http://enterprise/yourui/"
utilUrl="http://enterprise/Util/"
siteDisplayName="Enterprise Site
pageFolderVirtualPathProvider="EPiServerPageVPP"
uiTheme=""
pageWastebasketId="2"
pageOfficeStartId="0"
uiMaxVersions="0"
uiVersionMerging="true"
pageValidateTemplate="false"
uiKeepUserLoggedOn="true"
...=""
/>
</site>
</sites>
</episerver>
NOTE: Each Web site specifies all of it’s parameters independently of others.
A feature that the Enterprise edition has introduced is intelligent cache updates. From a .NET viewpoint, all your enterprise Web sites are completely separate applications, running in their own appDomains. Since all sites share the same database and may be affected by page updates on other sites, the system needs to be able to update page information between all the enterprise Web sites.
As from EPiServer CMS 5 SP2, the cache update between sites, regardless of whether they are running on the same machine or not, is done via UDP network traffic. The only configuration that is needed is to make sure that enableEvents and enableRemoteEvents are both set to true as per the examples above.
When a site starts, it registers its siteId in the database (if it's not already there). It then reads all siteId's back from the database and registers an interest in receiving cache notifications for each one.
If the cache update mechanism does not appear to work, the cause is most likely that you have network devices between your servers that prevent UDP broadcasts from being relayed. Software-based firewalls (i.e. the Windows Firewall) may also need to be configured to allow the UDP traffic to reach the machine.
A possible misconception regarding authentication in Enterprise solutions is that logging out on one site while being logged in on other sites would log you out from these Web sites as well. This is not the case. When logging out from an Enterprise site, for example, to leave the computer, make sure to log out from other Web sites.