Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more
Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more
Product version: |
EPiServer CMS 5 Enterprise |
---|---|
Document version: |
1.1 |
Document creation date: |
27-06-2007 |
Document last saved: |
11-09-2007 |
EPiServer CMS 5 Enterprise is a solution that, among other things, shares the same files and stores all information in the same database. This technical note describes the configuration of, and the technology behind EPiServer CMS 5 Enterprise.
EPiServer CMS 5 Enterprise is a solution that, among other things, shares the same files and stores all information in the same database. EPiServer CMS 5 Enterprise is mainly intended for environments where several similar Web sites are set up and want to have the possibility to share information. All Web sites can be edited from the same Edit mode and it is possible to link information between the different Web sites.
You need an EPiServer CMS 5 Enterprise license to enable the Enterprise functions. All sites for a single Enterprise license must run on a single server. With the purchase of an EPiServer CMS 5 Enterprise license you can also request up to three load-balancing licenses. Each site running on the "master" Enterprise license can be deployed on up to three additional load-balancing servers.
Note: The load-balancing licenses are only valid for sites running on a "master" Enterprise license.
The Enterprise license can be used to simply run a number of sites on the same server, without sharing information between the sites, i.e. the Enterprise license is used as a way to purchase multiple EPiServer CMS 5 licenses. This requres no special handling and will not be discussed further in this document.
This is the actual Enterprise configuration. Its purpose is to allow the sharing of information and files between multiple sites. This means that the sites will share the same database and also share the same set of files, i.e. in Internet Information Server each site's home directory will be mapped to the same directory on the local drive.
The following restrictions apply to this configuration:
To install EPiServer CMS 5 Enterprise you need to perform a few extra actions compared to the EPiServer Professional installation.
This is a regular EPiServer CMS 5 installation using an Enterprise license file. See the technical note, "EPiServer CMS 5 Installation Instructions" for installation instructions.
Follow the instructions below to set up multiple Web sites.
<site applicationId="/LM/W3SVC/123/ROOT" description="Example Site 1">
<siteSettings
siteShortName="ExampleSite1"
enableScheduler="true"
enableEvents="true"
enableRemoteEvents="true"
eventSubscriberUrl="net.pipe://PublicContentMaster1/EventSubscriber"
pageStartId="0"
siteUrl="http://enterprise1/"
uiUrl="http://enterprise1/yourUI/"
utilUrl="http://enterprise1/Util/"
...="" />
</site>
<site applicationId="" description="Example Site 2">
<siteSettings
siteShortName="ExampleSite2"
enableScheduler="true"
enableEvents="true"
enableRemoteEvents="true"
eventSubscriberUrl="net.pipe://PublicContentMaster2/EventSubscriber"
pageStartId="0"
siteUrl="http://enterprise2/"
uiUrl="http://enterprise2/yourUI/"
utilUrl="http://enterprise2/Util/"
...="" />
</site>
<site applicationId="/LM/W3SVC/123/ROOT" description="Example Site 1">
</site>
<site applicationId="" description="Example Site 2">
</site>
If you want to use a different page template for the start page of a new enterprise Web site, this is not supported thru configuration. It can be addressed by overriding the method GetDefaultDocuments in your global.asax.cs file. You would then 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 web.config under <Sites>. For example, the site running under IIS instance 1 could have a section like the following:
<episerver>
<sites>
<site
applicationId="/LM/W3SVC/1097029768/Root"
description="Example Site">
<siteSettings
siteShortName="ExampleSite"
siteUrl="http://enterprise2/"
uiUrl="http://enterprise2/yourui/"
utilUrl="http://enterprise2/Util/"
siteDisplayName="Enterprise2"
uploadDir="~/upload/"
pageFolderVirtualPathProvider="EPiServerPageVPP"
uiTheme=""
pageWastebasketId="2"
pageOfficeStartId="0"
uiMaxVersions="0"
uiVersionMerging="true"
pageValidateTemplate="false"
uiKeepUserLoggedOn="true"
...=""
/>
</site>
</sites>
</episerver>
Note that each site specifies all it’s parameters independently of all others.
If you are running in a load-balanced scenario, you need to make sure that the load-balanced sites receive the same application ID and site short name (applicationID and siteShortName attributes as shown above) as the master Web site. If you are running Windows Server 2003, the easiest way to accomplish this is to use the Save Configuration to a File menu option in IIS Manager from the master site, and then create the slave site with the function New > Web Site (from file).
If you are running Windows 2000, you may need to use MetaEdit or a similar tool. MetaEdit can be downloaded from www.microsoft.com.
A feature that the Enterprise edition has introduced is intelligent local 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 therefore 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.
Prior to EPiServer 4.40, you needed to configure remote web sites in EPiServer to let these Web sites update cache information between sites. This process is still needed if you need to communicate with Web sites running on another server, but for local updates, the new local cache update feature takes care of this without requiring any further configuration.
This update process is handled by EPiServer Scheduler Service. The main purpose of this service is to handle jobs that are scheduled to run at a specific time without manual intervention. Now it is also used to notify sites of cache updates.
When a site starts, it registers its site short name in the database (if it's not already there). It then reads all site short names back from the database and registers an interest with the Scheduler Service in receiving cache notifications for each one.
If the cache update mechanism does not appear to work, the cause is most likely that the EPiServer Scheduler Service is not started or that the enableEvents or enableRemoteEvents attributes are set to false in the web.config in one or more of the sites.
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 those as well. This is not the case. When logging out from an Enterprise site to, for example, leave the computer, make sure to log out from any other sites as well.