<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><language>en</language><title>Blog posts by Joe Bianco</title> <link>https://world.optimizely.com/blogs/Joe-Bianco/</link><description></description><ttl>60</ttl><generator>Optimizely World</generator><item> <title>Building EPiServer Templates with MVC Razor Part 2: Block Templates</title>            <link>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2013/7/Building-EPiServer-Templates-with-MVC-Razor-Part-2-Block-Templates/</link>            <description>&lt;p&gt;EPiServer 7 CMS provides full support for creating templates with MVC using the Razor and Web Forms view engines. Part 1 of this series describes how to create Page Templates.&amp;#160; This post describes how to build Block Templates.&lt;/p&gt;  &lt;h2&gt;Prerequisites&lt;/h2&gt;  &lt;p&gt;This blog entry assumes you have completed “&lt;a href=&quot;http://world.episerver.com/Blogs/Joe-Bianco/Dates/2013/1/Building-EPiServer-Templates-with-MVC-Razor-Part-1-Page-Templates/&quot; target=&quot;_blank&quot;&gt;Building EPiServer Templates with MVC Razor - Part 1: Page Templates&lt;/a&gt;” and the prerequisites listed in that post.&lt;/p&gt;  &lt;h2&gt;Create the Block Type&lt;/h2&gt;  &lt;p&gt;Now we are going to create a Block Type to enable editors to create navigation blocks, place them on pages, and configure which pages to display within the block.&lt;/p&gt;  &lt;p&gt;A Block Type is similar to a Page Type in that it defines properties for a content item. Like pages, blocks can be reused across pages, sites, and channels, but blocks are not addressable via an explicit URL in the browser.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;b&gt;Models&lt;/b&gt; &amp;gt; &lt;b&gt;Blocks&lt;/b&gt; &amp;gt; Add &amp;gt; New Item… &amp;gt; Installed &amp;gt; Visual C# &amp;gt; EPiServer &amp;gt; Block Type &amp;gt; &lt;b&gt;TopNavBlock.cs&lt;/b&gt; &lt;/li&gt;    &lt;li&gt;Uncomment the &lt;b&gt;Name&lt;/b&gt; property &lt;/li&gt;    &lt;li&gt;Change property type and name to &lt;b&gt;PageReference ParentPage&lt;/b&gt; &lt;/li&gt;    &lt;li&gt;Update Display parameters - Name: &lt;b&gt;Parent Page, &lt;/b&gt;Description: &lt;b&gt;Select the parent of the pages you want to display&lt;/b&gt; &lt;/li&gt; &lt;/ol&gt;  &lt;div id=&quot;codeSnippetWrapper&quot; style=&quot;overflow: auto; cursor: text; font-size: 8pt; border-top: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right: silver 1px solid; border-bottom: silver 1px solid; padding-bottom: 4px; direction: ltr; text-align: left; padding-top: 4px; padding-left: 4px; margin: 20px 0px 10px; border-left: silver 1px solid; line-height: 12pt; padding-right: 4px; max-height: 200px; width: 97.5%; background-color: #f4f4f4&quot;&gt;   &lt;pre id=&quot;codeSnippet&quot; style=&quot;border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4&quot;&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; System;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; System.ComponentModel.DataAnnotations;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; EPiServer.Core;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; EPiServer.DataAbstraction;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; EPiServer.DataAnnotations;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;namespace&lt;/span&gt; BasicMvcSite.Models.Blocks&lt;br /&gt;{&lt;br /&gt;    [ContentType(DisplayName = &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;TopNavBlock&amp;quot;&lt;/span&gt;, GUID = &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;4cf7c1b5-3ae8-42a6-8fa1-078e3471bfb5&amp;quot;&lt;/span&gt;, Description = &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;)]&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;class&lt;/span&gt; TopNavBlock : BlockData&lt;br /&gt;    {&lt;br /&gt;        [CultureSpecific]&lt;br /&gt;        [Editable(&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;)]&lt;br /&gt;        [Display(&lt;br /&gt;            Name = &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;Parent Page&amp;quot;&lt;/span&gt;,&lt;br /&gt;            Description = &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;Select the parent of the pages you want to display.&amp;quot;&lt;/span&gt;,&lt;br /&gt;            GroupName = SystemTabNames.Content,&lt;br /&gt;            Order = 1)]&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;virtual&lt;/span&gt; PageReference ParentPage { get; set; }&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;h2&gt;Create the Model&lt;/h2&gt;

&lt;p&gt;Now we are going to create a Model to hold a collection of pages to render in the navigation. The Model is passed by the Controller to the View for rendering.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;b&gt;Models&lt;/b&gt; &amp;gt; &lt;b&gt;Blocks&lt;/b&gt; &amp;gt; Add &amp;gt; Class… &amp;gt; &lt;b&gt;TopNavViewModel.cs&lt;/b&gt; &lt;/li&gt;

  &lt;li&gt;Replace the contents of the &lt;b&gt;TopNavViewModel&lt;/b&gt; class as in the code snippet below &lt;/li&gt;

  &lt;li&gt;Resolve &lt;b&gt;PageData&lt;/b&gt; &lt;b&gt;using EPiServer.Core&lt;/b&gt; &lt;/li&gt;
&lt;/ol&gt;

&lt;div id=&quot;codeSnippetWrapper&quot; style=&quot;overflow: auto; cursor: text; font-size: 8pt; border-top: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right: silver 1px solid; border-bottom: silver 1px solid; padding-bottom: 4px; direction: ltr; text-align: left; padding-top: 4px; padding-left: 4px; margin: 20px 0px 10px; border-left: silver 1px solid; line-height: 12pt; padding-right: 4px; max-height: 200px; width: 97.5%; background-color: #f4f4f4&quot;&gt;
  &lt;pre id=&quot;codeSnippet&quot; style=&quot;border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4&quot;&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; EPiServer.Core;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; System;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; System.Linq;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; System.Web;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;namespace&lt;/span&gt; EPiServerMvcSite2.Models.Blocks&lt;br /&gt;{&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;class&lt;/span&gt; TopNavViewModel&lt;br /&gt;    {&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;// The TopNavBlock&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; TopNavBlock TopNavBlock { get; &lt;span style=&quot;color: #0000ff&quot;&gt;private&lt;/span&gt; set; }&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;// The children of the ParentPage specifed in the TopNavBlock &lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; IEnumerable&amp;lt;PageData&amp;gt; PageChildren { get; set; }&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color: #008000&quot;&gt;// Constructor&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; TopNavViewModel(TopNavBlock topNavBlock, IEnumerable&amp;lt;PageData&amp;gt; pageChildren)&lt;br /&gt;        {&lt;br /&gt;            TopNavBlock = topNavBlock;&lt;br /&gt;            PageChildren = pageChildren;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;h2&gt;Create the Controller&lt;/h2&gt;

&lt;p&gt;Now we are going to create a Controller that will be invoked when blocks of the &lt;b&gt;TopNavBlock&lt;/b&gt; Block Type are referenced. The controller gets the children of the page specified in the &lt;b&gt;ParentPage&lt;/b&gt; property of the block. The Controller then populates the Model with this data and passes it to the View for rendering.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;b&gt;Controllers&lt;/b&gt; &amp;gt; Add &amp;gt; New Item… &amp;gt; Installed &amp;gt; Visual C# &amp;gt; EPiServer &amp;gt; Block Controller (MVC) &amp;gt; &lt;b&gt;TopNavController.cs&lt;/b&gt; &lt;/li&gt;

  &lt;li&gt;Resolve &lt;b&gt;TopNavBlock&lt;/b&gt; using &amp;lt;ProjectName&amp;gt;.Models.Blocks; &lt;/li&gt;

  &lt;li&gt;Replace the contents of the Index() method as in the snippet below &lt;/li&gt;
&lt;/ol&gt;

&lt;div id=&quot;codeSnippetWrapper&quot; style=&quot;overflow: auto; cursor: text; font-size: 8pt; border-top: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right: silver 1px solid; border-bottom: silver 1px solid; padding-bottom: 4px; direction: ltr; text-align: left; padding-top: 4px; padding-left: 4px; margin: 20px 0px 10px; border-left: silver 1px solid; line-height: 12pt; padding-right: 4px; max-height: 200px; width: 97.5%; background-color: #f4f4f4&quot;&gt;
  &lt;pre id=&quot;codeSnippet&quot; style=&quot;border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4&quot;&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; System;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; System.Linq;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; System.Web;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; System.Web.Mvc;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; EPiServer;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; EPiServer.Core;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; EPiServer.Web;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; EPiServer.Web.Mvc;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; EPiServerMvcSite2.Models.Blocks;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;namespace&lt;/span&gt; EPiServerMvcSite2.Controllers&lt;br /&gt;{&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;class&lt;/span&gt; TopNavController : BlockController&amp;lt;TopNavBlock&amp;gt;&lt;br /&gt;    {&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;override&lt;/span&gt; ActionResult Index(TopNavBlock currentBlock)&lt;br /&gt;        {&lt;br /&gt;            var pageChildren = Enumerable.Empty&amp;lt;PageData&amp;gt;();&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color: #008000&quot;&gt;// Get the content repository&lt;/span&gt;&lt;br /&gt;            IContentRepository contentRepository = EPiServer.ServiceLocation.ServiceLocator.Current.GetInstance&amp;lt;IContentRepository&amp;gt;();&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color: #008000&quot;&gt;// Get the children of the page specified in the ParentPage property of the block&lt;/span&gt;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt; (!PageReference.IsNullOrEmpty(currentBlock.ParentPage))&lt;br /&gt;            {&lt;br /&gt;                pageChildren = contentRepository.GetChildren&amp;lt;PageData&amp;gt;(currentBlock.ParentPage);&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; PartialView(&lt;span style=&quot;color: #0000ff&quot;&gt;new&lt;/span&gt; TopNavViewModel(currentBlock, pageChildren));&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;h2&gt;Create the View&lt;/h2&gt;

&lt;p&gt;Now we will create the view which renders the navigation menu with the pages in the Model.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Create a &lt;b&gt;TopNav&lt;/b&gt; folder in &lt;b&gt;Views&lt;/b&gt; &lt;/li&gt;

  &lt;li&gt;&lt;b&gt;Views&lt;/b&gt; &amp;gt; &lt;b&gt;TopNav&lt;/b&gt; &amp;gt; Add &amp;gt; New Item… &amp;gt; Installed &amp;gt; Visual C# &amp;gt; EPiServer &amp;gt; Block Partial View (MVC Razor) &amp;gt; &lt;b&gt;Index.cshtml&lt;/b&gt; &lt;/li&gt;

  &lt;li&gt;Update the @model statement to &amp;lt;ProjectName&amp;gt;.Models.Blocks.TopNavViewModel &lt;/li&gt;

  &lt;li&gt;Replace contents of the &amp;lt;div&amp;gt;&amp;lt;/div&amp;gt; as in the snippet below &lt;/li&gt;

  &lt;li&gt;Build and run &lt;/li&gt;
&lt;/ol&gt;

&lt;div id=&quot;codeSnippetWrapper&quot; style=&quot;overflow: auto; cursor: text; font-size: 8pt; border-top: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right: silver 1px solid; border-bottom: silver 1px solid; padding-bottom: 4px; direction: ltr; text-align: left; padding-top: 4px; padding-left: 4px; margin: 20px 0px 10px; border-left: silver 1px solid; line-height: 12pt; padding-right: 4px; max-height: 200px; width: 97.5%; background-color: #f4f4f4&quot;&gt;
  &lt;pre id=&quot;codeSnippet&quot; style=&quot;border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4&quot;&gt;@&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; EPiServer.Core&lt;br /&gt;@&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; EPiServer.Web.Mvc.Html&lt;br /&gt;&lt;br /&gt;@model EPiServerMvcSite2.Models.Blocks.TopNavViewModel  &lt;br /&gt;&lt;br /&gt;&amp;lt;div&amp;gt;&lt;br /&gt;@&lt;span style=&quot;color: #0000ff&quot;&gt;if&lt;/span&gt; (Model.PageChildren.Any()) {&lt;br /&gt;    @* Render nav menu items *@&lt;br /&gt;    &amp;lt;ul&amp;gt;&lt;br /&gt;        @&lt;span style=&quot;color: #0000ff&quot;&gt;foreach&lt;/span&gt; (var page &lt;span style=&quot;color: #0000ff&quot;&gt;in&lt;/span&gt; Model.PageChildren) {&lt;br /&gt;            &amp;lt;li&amp;gt;@Html.ContentLink(page)&amp;lt;/li&amp;gt;&lt;br /&gt;        }&lt;br /&gt;    &amp;lt;/ul&amp;gt;&lt;br /&gt;}&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;h2&gt;Create the Top Navigation Block&lt;/h2&gt;

&lt;p&gt;Now that we have created the Block Type, Model, View, and Controller, we can create a Top Navigation block.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Build and run the project &lt;/li&gt;

  &lt;li&gt;Navigate to &lt;a href=&quot;http://localhost:%3cPort%3e/EPiServer/CMS&quot;&gt;http://localhost:&amp;lt;Port&amp;gt;/EPiServer/CMS&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;Login with a Local Administrator account &lt;/li&gt;

  &lt;li&gt;Assets Pane &amp;gt; Blocks &amp;gt; Global Library &amp;gt; New Block - Name: &lt;b&gt;Top Navigation, &lt;/b&gt;Block Type: &lt;b&gt;TopNavBlock, &lt;/b&gt;Parent Page: &lt;b&gt;Home&lt;/b&gt; &lt;/li&gt;

  &lt;li&gt;Publish the block &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href=&quot;/link/d19ebec10f3e4a8ab2168953743f315b.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/aeb70d497a6942e182587a20c2d2b2e5.png&quot; width=&quot;533&quot; height=&quot;302&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Create About and Contact Pages&lt;/h2&gt;

&lt;p&gt;Now we will create and publish the About and Contact pages as children of the Home page so we have something to render in the Top Navigation block.&lt;/p&gt;

&lt;h2&gt;Add a Content Area Property to the Page Type&lt;/h2&gt;

&lt;p&gt;Now we need to add a Content Area property to the Page Type so that the Top Navigation block can be dragged into it by editorial users. A Content Area is simply a property that contains the blocks that editorial users drag into it.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Add the following snippet to the &lt;b&gt;StandardPage&lt;/b&gt; Page Type &lt;/li&gt;
&lt;/ol&gt;

&lt;div id=&quot;codeSnippetWrapper&quot; style=&quot;overflow: auto; cursor: text; font-size: 8pt; border-top: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right: silver 1px solid; border-bottom: silver 1px solid; padding-bottom: 4px; direction: ltr; text-align: left; padding-top: 4px; padding-left: 4px; margin: 20px 0px 10px; border-left: silver 1px solid; line-height: 12pt; padding-right: 4px; max-height: 200px; width: 97.5%; background-color: #f4f4f4&quot;&gt;
  &lt;pre id=&quot;codeSnippet&quot; style=&quot;border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4&quot;&gt;&lt;span style=&quot;color: #008000&quot;&gt;// Define a Content Area to enable the editor to drop a navigation block into&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;virtual&lt;/span&gt; ContentArea TopNavContentArea { get; set; }&lt;br /&gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;h2&gt;Add a Section Override to the Standard View&lt;/h2&gt;

&lt;p&gt;Now we will put a section override block in the &lt;b&gt;Standard&lt;/b&gt; View that injects the menu in to the appropriate place in the layout. A section override is analogous to an asp:Content control in web forms. In this case we will render the TopNavContent area in the TopNav section of the layout. &lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Add a section override to &lt;b&gt;Views/Standard/Index.cshtml&lt;/b&gt; after the &lt;b&gt;@model&lt;/b&gt; statement as in the snippet below &lt;/li&gt;
&lt;/ol&gt;

&lt;div id=&quot;codeSnippetWrapper&quot; style=&quot;overflow: auto; cursor: text; font-size: 8pt; border-top: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right: silver 1px solid; border-bottom: silver 1px solid; padding-bottom: 4px; direction: ltr; text-align: left; padding-top: 4px; padding-left: 4px; margin: 20px 0px 10px; border-left: silver 1px solid; line-height: 12pt; padding-right: 4px; max-height: 200px; width: 97.5%; background-color: #f4f4f4&quot;&gt;
  &lt;pre id=&quot;codeSnippet&quot; style=&quot;border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4&quot;&gt;@&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; EPiServer.Core&lt;br /&gt;@&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; EPiServer.Web.Mvc.Html&lt;br /&gt;&lt;br /&gt;@model EPiServerMvcSite2.Models.Pages.StandardPage&lt;br /&gt;&lt;br /&gt;@* Render the TopNavContentArea property &lt;span style=&quot;color: #0000ff&quot;&gt;in&lt;/span&gt; the TopNav section defined &lt;span style=&quot;color: #0000ff&quot;&gt;in&lt;/span&gt; the layout *@&lt;br /&gt;@section TopNav {&lt;br /&gt;&lt;br /&gt;    @Html.PropertyFor(m =&amp;gt; m.TopNavContentArea)  &lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div&amp;gt;&lt;br /&gt;  @Html.PropertyFor(m =&amp;gt; m.MainBody)&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;h2&gt;Add the Top Navigation Block to Desired Pages&lt;/h2&gt;

&lt;p&gt;Now we can add the Top Navigation block to the desired pages via the following steps.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Build and run the project &lt;/li&gt;

  &lt;li&gt;Navigate to http://localhost:&amp;lt;Port&amp;gt;/EPiServer/CMS &lt;/li&gt;

  &lt;li&gt;Open the Assets pane &lt;/li&gt;

  &lt;li&gt;Drag the Top Navigation block to the &lt;strong&gt;TopNavContentArea&lt;/strong&gt; &lt;/li&gt;

  &lt;li&gt;Publish the page &lt;/li&gt;
&lt;/ol&gt;





&lt;p&gt;&lt;a href=&quot;/link/d34e6791f7de45908616df6cb65037df.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/d3469b4ad71b46caa92524d6130967b8.png&quot; width=&quot;536&quot; height=&quot;303&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2013/7/Building-EPiServer-Templates-with-MVC-Razor-Part-2-Block-Templates/</guid>            <pubDate>Wed, 17 Jul 2013 21:16:07 GMT</pubDate>           <category>Blog post</category></item><item> <title>Building EPiServer Templates with MVC Razor Part 1: Page Templates</title>            <link>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2013/1/Building-EPiServer-Templates-with-MVC-Razor-Part-1-Page-Templates/</link>            <description>&lt;p&gt;EPiServer 7 CMS provides full support for creating templates with MVC using the Razor and Web Forms view engines.&amp;#160; This is a step by step how-to guide to help you get started creating EPiServer Page Templates and Block Templates using MVC with the Razor view engine.&amp;#160; Part 1 of this series describes how to create Page Templates and Part 2 describes how to build Block Templates.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Prerequisites&lt;/h2&gt;  &lt;p&gt;This blog entry assumes you have a basic understanding of&amp;#160; EPiServer 7 CMS from a user and developer point of view and are familiar the Microsoft MVC Razor implementation. For more details on using EPiServer, see &lt;a href=&quot;http://webhelp.episerver.com/&quot; target=&quot;_blank&quot;&gt;EPiServer WebHelp&lt;/a&gt;.&amp;#160; For more details on Microsoft MVC, see the following articles:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://www.asp.net/mvc&quot; target=&quot;_blank&quot;&gt;Microsoft ASP.NET MVC Home&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/intro-to-aspnet-mvc-4&quot; target=&quot;_blank&quot;&gt;Intro to ASP.NET MVC Tutorial&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx&quot; target=&quot;_blank&quot;&gt;Introducing Razor&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;To complete this example, you will need to install EPiServer 7 CMS, prerequisites, and a supported version of Visual Studio with the EPiServer 7 CMS Visual Studio Integration Extension as described in the &lt;a href=&quot;http://world.episerver.com/Documentation/&quot; target=&quot;_blank&quot;&gt;documentation section of EPiServer World&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Create a New EPiServer Project&lt;/h2&gt;  &lt;p&gt;The first step is to create a new EPiServer web site project in Visual Studio using the EPiServer project template.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;File &amp;gt; New Project… &amp;gt; Installed &amp;gt; Templates &amp;gt; Visual C# &amp;gt; EPiServer &amp;gt; EPiServer Web Site (MVC) &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/912f350202ad44afb0f632046afc2cbb.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/f971920cf79743b881084ba1f21a1e60.png&quot; width=&quot;367&quot; height=&quot;263&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The EPiServer Deployment Center executes Windows PowerShell Scripts that perform the following:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Creates the Visual Studio project &lt;/li&gt;    &lt;li&gt;Copies in the necessary EPiServer binaries &lt;/li&gt;    &lt;li&gt;Sets up the configuration files &lt;/li&gt;    &lt;li&gt;Creates the EPiServer content database &lt;/li&gt;    &lt;li&gt;Sets up IIS Express to host the web site &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/4453ec7e0c9743a980dc49343774ee90.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/43a15a1b32dc48d6a164ce3642eabc74.png&quot; width=&quot;205&quot; height=&quot;330&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;Create the Standard Page Model / Page Type&lt;/h2&gt;  &lt;p&gt;Next, we need to create a Model which defines the properties and contains content for pages of the &lt;strong&gt;StandardPage&lt;/strong&gt; Page Type.&amp;#160; In EPiServer, a Page Type defines the properties for a specific type of page. In this case, the Page Type is assuming the role of the Model. &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;Models&lt;/strong&gt; &amp;gt; &lt;strong&gt;Pages&lt;/strong&gt; &amp;gt; Add &amp;gt; New Item... &amp;gt; Installed &amp;gt; Visual C# &amp;gt; EPiServer &amp;gt; Page Type &amp;gt; &lt;strong&gt;StandardPage.cs&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;Uncomment the &lt;strong&gt;MainBody&lt;/strong&gt; property &lt;/li&gt; &lt;/ol&gt;  &lt;div style=&quot;border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px&quot; id=&quot;codeSnippetWrapper&quot;&gt;   &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px&quot; id=&quot;codeSnippet&quot;&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; System;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; System.ComponentModel.DataAnnotations;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; EPiServer.Core;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; EPiServer.DataAbstraction;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; EPiServer.DataAnnotations;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; EPiServer.SpecializedProperties;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;namespace&lt;/span&gt; EPiServerMvcSite1.Models.Pages&lt;br /&gt;{&lt;br /&gt;    [ContentType(DisplayName = &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;StandardPage&amp;quot;&lt;/span&gt;, GUID = &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;36186065-ebac-404b-96b7-6db10849a98a&amp;quot;&lt;/span&gt;, Description = &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;)]&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;class&lt;/span&gt; StandardPage : PageData&lt;br /&gt;    {&lt;br /&gt;        [CultureSpecific]&lt;br /&gt;        [Editable(&lt;span style=&quot;color: #0000ff&quot;&gt;true&lt;/span&gt;)]&lt;br /&gt;        [Display(&lt;br /&gt;            Name = &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;Main body&amp;quot;&lt;/span&gt;,&lt;br /&gt;            Description = &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;The main body will be shown in the main content area of the page, using the XHTML-editor you can insert for example text, images and tables.&amp;quot;&lt;/span&gt;,&lt;br /&gt;            GroupName = SystemTabNames.Content,&lt;br /&gt;            Order = 1)]&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;virtual&lt;/span&gt; XhtmlString MainBody { get; set; }&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;div id=&quot;codeSnippetWrapper&quot;&gt;
  &lt;div&gt;Note that the class inherits from EPiServer.Core.PageData which is an object representation of the content.&amp;#160; The ContentType class attribute registers the Page Type in EPiServer so no additional configuration is required for deployment.&amp;#160; Properties are defined in code using the EPiServer property types in EPiServer.Core.&amp;#160; The Display property attribute enables you to specify metadata for the property including the display name, sort order, and which tab the property appears in the EPiServer editorial interface.&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h2&gt;Create the Standard Page Controller&lt;/h2&gt;

&lt;p&gt;The Controller receives the request for a page from the browser, retrieves the Model (content) for the requested page and passes the Model to the View via an action method for rendering to the browser.&amp;#160; EPiServer invokes different controller classes (and different action methods within them) depending on the Page Type of the requested page and the incoming URL.&amp;#160; &lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Controllers&lt;/strong&gt; &amp;gt; Add &amp;gt; New Item… &amp;gt; Installed &amp;gt; Visual C# &amp;gt; EPiServer &amp;gt; Page Controller (MVC) &amp;gt; &lt;strong&gt;StandardContoller.cs&lt;/strong&gt; &lt;/li&gt;

  &lt;li&gt;Resolve &lt;strong&gt;StandardPage&lt;/strong&gt; using &lt;strong&gt;&amp;lt;ProjectName&amp;gt;.Models.Pages&lt;/strong&gt;&amp;#160; &lt;/li&gt;
&lt;/ol&gt;

&lt;div style=&quot;border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px&quot; id=&quot;codeSnippetWrapper&quot;&gt;
  &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px&quot; id=&quot;codeSnippet&quot;&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; System.Linq;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; System.Web.Mvc;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; EPiServer;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; EPiServer.Core;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; EPiServer.Framework.DataAnnotations;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; EPiServer.Web.Mvc;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;using&lt;/span&gt; EPiServerMvcSite1.Models.Pages;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;namespace&lt;/span&gt; EPiServerMvcSite1.Controllers&lt;br /&gt;{&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;class&lt;/span&gt; StandardController : PageController&amp;lt;StandardPage&amp;gt;&lt;br /&gt;    {&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;public&lt;/span&gt; ActionResult Index(StandardPage currentPage)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style=&quot;color: #008000&quot;&gt;/* Implementation of action. You can create your own view model class that you pass to the view or&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #008000&quot;&gt;             * you can pass the page type for simpler templates */&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;            &lt;span style=&quot;color: #0000ff&quot;&gt;return&lt;/span&gt; View(currentPage);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;Note that &lt;strong&gt;PageController&amp;lt;StandardPage&amp;gt;&lt;/strong&gt; instructs EPiServer to invoke this controller for pages of the &lt;strong&gt;StandardPage&lt;/strong&gt; Page Type.&amp;#160; &lt;/p&gt;

&lt;h2&gt;&amp;#160;&lt;/h2&gt;

&lt;h2&gt;Create the Standard Page View&lt;/h2&gt;

&lt;p&gt;A View renders the content in the Model that is passed to it by the Controller.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Create a &lt;strong&gt;Standard&lt;/strong&gt; folder in &lt;strong&gt;Views&lt;/strong&gt; &lt;/li&gt;

  &lt;li&gt;&lt;strong&gt;Views&lt;/strong&gt; &amp;gt; &lt;strong&gt;Standard&lt;/strong&gt; &amp;gt; Add &amp;gt; New Item… &amp;gt; Installed &amp;gt; Visual C# &amp;gt; EPiServer &amp;gt; Page Partial View (MVC Razor) &amp;gt; &lt;strong&gt;Index.cshtml&lt;/strong&gt; &lt;/li&gt;

  &lt;li&gt;Update the @model statement to: &lt;strong&gt;&amp;lt;ProjectName&amp;gt;.Models.Pages.StandardPage.&lt;/strong&gt; &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Note that the @model statement gives you strongly typed access to the Model.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Helper Methods&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Html.PropertyFor() helper method renders a property and is analogous to the EPiServer:Property control in Web Forms.&amp;#160; EPiServer provides a number of helper methods for rendering content which are described in the &lt;a href=&quot;http://sdk.episerver.com/&quot; target=&quot;_blank&quot;&gt;EPiServer SDK&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h2&gt;Create the Home Page&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;Build &amp;amp; run the project &lt;/li&gt;

  &lt;li&gt;Navigate to http://localhost:&amp;lt;port&amp;gt;/EPiServer/CMS &lt;/li&gt;

  &lt;li&gt;Login with an account that is a local Administrator &lt;/li&gt;

  &lt;li&gt;Create the &lt;b&gt;Home&lt;/b&gt; page using the &lt;b&gt;StandardPage &lt;/b&gt;Page Type &lt;/li&gt;

  &lt;li&gt;Add text to the Main Body property &lt;/li&gt;

  &lt;li&gt;Publish and view the page &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/link/86bf26ccf9774c7d8f30f355bb108d46.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/9d69f5e90373450e89dfa5f2b540bf30.png&quot; width=&quot;365&quot; height=&quot;261&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h2&gt;Wire Up the Sample Layout&lt;/h2&gt;

&lt;p&gt;A layout in MVC is analogous to a Master Page in web forms. A layout can contain Sections that are analogous to ContentPlaceHolders and a View can have Section Overrides that are analogous to Content controls.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Copy the &lt;strong&gt;Content&lt;/strong&gt; folder(contains &lt;strong&gt;Site.css&lt;/strong&gt;) from the supporting files to the root of project &lt;/li&gt;

  &lt;li&gt;Copy &lt;strong&gt;Views/Shared/_Layout.cshtml&lt;/strong&gt; to &lt;strong&gt;Views/Shared&lt;/strong&gt; &lt;/li&gt;

  &lt;li&gt;Copy &lt;strong&gt;Views/_ViewStart.cshtml&lt;/strong&gt; to &lt;strong&gt;Views&lt;/strong&gt; &lt;/li&gt;

  &lt;li&gt;Refresh the browser &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/link/2c6498ce7be6468191743b7bc1dae414.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/c3b1a1095d5341f2909b31f794327021.png&quot; width=&quot;371&quot; height=&quot;265&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;_Layout.cshtml&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;div style=&quot;border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px&quot; id=&quot;codeSnippetWrapper&quot;&gt;
  &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px&quot; id=&quot;codeSnippet&quot;&gt;@using EPiServer.Web.Mvc.Html&lt;br /&gt;@using EPiServer.Core&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;!&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;DOCTYPE&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;html&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;html&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;lang&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;=&amp;quot;@Html.ViewContext.RequestContext.RouteData.Values[&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;lang&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;quot;]&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;meta&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;http-equiv&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;=&amp;quot;Content-Type&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;content&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;=&amp;quot;text/html; charset=UTF-8&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;meta&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;=&amp;quot;generator&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;content&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;=&amp;quot;EPiServer CMS Falcon&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;meta&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;=&amp;quot;description&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;content&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;=&amp;quot;&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #0000ff&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;meta&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;=&amp;quot;keywords&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;content&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;=&amp;quot;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;EPiServer MVC Razor Example&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;link&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;rel&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;=&amp;quot;stylesheet&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;href&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;=&amp;quot;@Href(Url.Content(&amp;quot;&lt;/span&gt;~/&lt;span style=&quot;color: #ff0000&quot;&gt;Content&lt;/span&gt;/&lt;span style=&quot;color: #ff0000&quot;&gt;Site&lt;/span&gt;.&lt;span style=&quot;color: #ff0000&quot;&gt;css&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;quot;))&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;media&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;=&amp;quot;all&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;header&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;h1&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;EPiServer MVC Razor Example&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;h1&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;section&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;section&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;nav&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;=&amp;quot;topnavigation&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            @RenderSection(&amp;quot;TopNav&amp;quot;, required:false)&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;nav&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;header&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;section&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;=&amp;quot;main&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;nav&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;=&amp;quot;subnavigation&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;nav&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;section&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;=&amp;quot;content&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            @RenderBody()&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;section&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;section&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;footer&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;=&amp;quot;mainfooter&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;&amp;amp;copy;&lt;/span&gt; Copyright @DateTime.Now.Year - EPiServer, Inc.&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;footer&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #800000&quot;&gt;html&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;_ViewStart.cshtml&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This file is used to declare common properties that your Views use. It instructs which layout to use to render the page.&lt;/p&gt;

&lt;div style=&quot;border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px&quot; id=&quot;codeSnippetWrapper&quot;&gt;
  &lt;pre style=&quot;border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px&quot; id=&quot;codeSnippet&quot;&gt;@{&lt;br /&gt;    Layout = &lt;span style=&quot;color: #006080&quot;&gt;&amp;quot;~/Views/Shared/_Layout.cshtml&amp;quot;&lt;/span&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h2&gt;Supporting Files&lt;/h2&gt;

&lt;p&gt;The file below includes the CSS and layout files referenced in this guide.&lt;/p&gt;



&lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px&quot; id=&quot;scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:495910c0-468b-43fe-954a-00fcb84bf34c&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt;&lt;p&gt; &lt;a href=&quot;/link/77218d8289c6430baf5bf7e02c2c415b.zip&quot; target=&quot;_blank&quot;&gt;EPiServerMvcRazorTemplates.zip&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;



&lt;p&gt;Stay tuned for Part 2 of this series where we will build a Block Template to enable editors to create blocks of content that can be reused across pages, sites, and channels.&lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2013/1/Building-EPiServer-Templates-with-MVC-Razor-Part-1-Page-Templates/</guid>            <pubDate>Wed, 09 Jan 2013 17:51:07 GMT</pubDate>           <category>Blog post</category></item><item> <title>The EPiServer Relate Video Gallery Service</title>            <link>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2011/12/The-EPiServer-Relate-Video-Gallery-Service/</link>            <description>&lt;p&gt;The EPiServer Relate Video Gallery Service is one of the lesser known features of EPiServer Relate.&amp;#160; It provides a simple, cost effective, elastic, reliable, and global solution for the encoding and delivery of videos uploaded to EPiServer Relate video galleries by members of your EPiServer Relate community.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;h2&gt;High Level Architecture&lt;/h2&gt;  &lt;p&gt;The Video Gallery Service consists of the following major components:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Video Conversion and Thumbnail Service -&lt;/strong&gt; Encodes uploaded videos into the Flash video format.&amp;#160; Creates thumbnails of the videos to enable moderators to quickly preview the content without the need to watch the entire video. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Content Delivery Network (CDN)&lt;/b&gt; – Hosts and delivers static and streaming content using a global network of edge locations. Requests for videos are automatically routed to the nearest edge location, so content is delivered with the best possible performance. The CDN runs on Amazon CloudFront. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;CDN&amp;#160; Provider&lt;/b&gt; –&amp;#160; Receives and processes events from the CDN, and relays the information to EPiServer Relate (e.g&amp;#160; upload complete, encoding complete, etc.).&amp;#160; The CDN Provider runs on your web servers. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Origin Server &lt;/b&gt;- An origin server is the location of the definitive versions of your videos that are replicated throughout the content delivery network.&amp;#160; The Origin Server runs in the EPiServer cloud. &lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;Performance &amp;amp; Scalability&lt;/h2&gt;  &lt;p&gt;Because the CDN is based on Amazon CloudFront, you don’t need to worry about maintaining expensive web-server capacity to meet the demand from potential traffic spikes for popular content. The service automatically responds as demand increases or decreases without any intervention from you.&lt;/p&gt;  &lt;h2&gt;Video Encoding Formats&lt;/h2&gt;  &lt;p&gt;When using the default CDN provided with EPiServer Relate, uploaded videos are encoded to the Flash video format. A custom CDN provider can be implemented if you need to encode to other formats.&amp;#160; The following file types can be converted using the default CDN:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Container Files&lt;/strong&gt; - AVI, MOV, MKV, ASF, MP4, 3GP &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Video Codecs&lt;/strong&gt; - DivX, Xvid, H.264, WMV, MPEG2, MSMPEG4, Sorensen &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Audio Codecs&lt;/strong&gt; - MP3, AAC, WMA, AC3 &lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;Using other Video Services and Content Delivery Networks&lt;/h2&gt;  &lt;p&gt;Because the Video Service is provider based, you can either use the default CDN provider or build your own to utilize another service (e.g. Akamai, Limelight, etc.).&lt;/p&gt;  &lt;h2&gt;Pricing Model&lt;/h2&gt;  &lt;p&gt;Monthly pricing is based on bandwidth usage per month.&lt;/p&gt;  &lt;h2&gt;Technical Details&lt;/h2&gt;  &lt;p&gt;See &lt;a href=&quot;http://sdk.episerver.com/community/4.1/index.aspx&quot; target=&quot;_blank&quot;&gt;EPiServer Relate/Community SDK&lt;/a&gt; &amp;gt; Additional Content &amp;gt; Developers Guide &amp;gt; How To &amp;gt; VideoGallery for more technical details.&lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2011/12/The-EPiServer-Relate-Video-Gallery-Service/</guid>            <pubDate>Tue, 27 Dec 2011 23:41:59 GMT</pubDate>           <category>Blog post</category></item><item> <title>Content Migration with EPiServer CMS</title>            <link>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2011/12/Content-Migration-with-EPiServer-CMS/</link>            <description>&lt;p&gt;EPiServer provides many features to help you with content migration enabling any combination of the following approaches.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Automation with EPiServer&lt;/b&gt; &lt;b&gt;Tools&lt;/b&gt; – Automated via EPiServer tools such as the API and web services.&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Automation with 3&lt;sup&gt;rd&lt;/sup&gt; Party Tools&lt;/b&gt; – Automated via 3&lt;sup&gt;rd&lt;/sup&gt; party tools such as Kapow.&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Phased &lt;/b&gt;– Some content remains in external repositories that are integrated with EPiServer.&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Manual&lt;/b&gt; – Content is manually migrated into EPiServer.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The optimal approach depends on the type and quantity of content being migrated. For example, automating the migration with custom code typically makes sense when there is a large volume of structured data and it would require less effort to build tools to automate the process than it would to manually migrate or use a 3rd party tool. 3rd party tools are typically used for extremely large volumes of unstructured content. Your implementation partner will work with you to determine which approach makes the most sense for your scenario.&lt;/p&gt;  &lt;h2&gt;Content Channels&lt;/h2&gt;  &lt;p&gt;EPiServer Content Channels are facilitated by a configurable web service interface that enables you to push data from other systems into EPiServer CMS. The content channel web service exposes functionality for external systems to add, edit, delete, and organize content within EPiServer CMS. There is a built-in mapping administration interface which makes it easy to map incoming fields to page fields in EPiServer CMS. The web service also fires events on incoming requests, making it easy to add for example business logic to the data.&lt;/p&gt;  &lt;h2&gt;Web Service API&lt;/h2&gt;  &lt;p&gt;EPiServer CMS provides a comprehensive web service API for reading and writing content from and to EPiServer.&lt;/p&gt;  &lt;h2&gt;.NET API&lt;/h2&gt;  &lt;p&gt;The EPiServer .NET API can also be used to automate the migration process.&lt;/p&gt;  &lt;h2&gt;Bulk File Upload&lt;/h2&gt;  &lt;p&gt;EPiServer CMS provides integration with Windows explorer that enables authorized users to perform bulk uploads of files by dragging from Windows Explorer and dropping into the EPiServer File Manager.&lt;/p&gt;  &lt;h2&gt;Phased Migration&lt;/h2&gt;  &lt;p&gt;Content stored in external systems can be exposed as pages in EPiServer CMS by implementing custom page providers. This enables you to implement a phased migration where some content is migrated and some content in integrated.&lt;/p&gt;  &lt;h2&gt;Manual Migration&lt;/h2&gt;  &lt;p&gt;The EPiServer rich text editor simplifies manual migration by providing clean cut and paste from external applications, removing unwanted proprietary markup, and respecting your predefined styles. It also converts headings from the source document to the appropriate “&amp;lt;h*&amp;gt;” tags eliminating the need for extra cleanup to be performed by the content contributor.&lt;/p&gt;  &lt;h2&gt;Import/Export&lt;/h2&gt;  &lt;p&gt;The EPiServer administrative interface enables authorized users to easily import/export EPiServer content and settings from one EPiServer instance to another. The following object types can be exported and imported from one EPiServer CMS instance to another.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Pages&lt;/li&gt;    &lt;li&gt;Page Types&lt;/li&gt;    &lt;li&gt;Frames&lt;/li&gt;    &lt;li&gt;Dynamic Property definitions&lt;/li&gt;    &lt;li&gt;Tabs&lt;/li&gt;    &lt;li&gt;Categories&lt;/li&gt;    &lt;li&gt;Files&lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;3rd Party Migration Tools&lt;/h2&gt;  &lt;p&gt;There are several 3rd party vendors that have specialized in &#39;screen-scraping&#39; as part of content migration and some of them integrate with EPiServer CMS. Kapow provides migration tools that are ideal for large volumes of content but in some cases a simple script that pushes data from existing systems into EPiServer’s Content Channels can be the quickest solution.&lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2011/12/Content-Migration-with-EPiServer-CMS/</guid>            <pubDate>Tue, 27 Dec 2011 21:50:56 GMT</pubDate>           <category>Blog post</category></item><item> <title>An Overview of EPiServer Multilingual Capabilities</title>            <link>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2011/12/An-Overview-of-EPiServer-Multilingual-Capabilities/</link>            <description>&lt;p&gt;EPiServer CMS provides robust multilingual support that facilitates automatically rendering pages based on the URL, the language specified by the user, or the language detected from the user&#39;s browser settings.&lt;/p&gt;  &lt;p&gt;With EPiServer CMS, multiple sites do not need to be created as multiple language variations can easily be managed on a single site. Authors can easily create or access all of the language variations of a page from any variation of the page.&lt;/p&gt;  &lt;h2&gt;&amp;#160;&lt;/h2&gt;  &lt;h2&gt;Supported Languages for Web Site Visitors&lt;/h2&gt;  &lt;p&gt;The language support for your web site visitors is virtually unlimited. Any language can be supported as long as the language packs are installed on the web servers as part of the operating system. Language packs are included as part of the Windows operating system so there is no additional cost to add additional language support. EPiServer CMS is fully Unicode compliant.&lt;/p&gt;  &lt;h2&gt;&amp;#160;&lt;/h2&gt;  &lt;h2&gt;Supported Languages for CMS Users&lt;/h2&gt;  &lt;p&gt;The EPiServer CMS interface (for content contributors and administrators) supports the following 12 languages out of the box: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;English&lt;/li&gt;    &lt;li&gt;Swedish&lt;/li&gt;    &lt;li&gt;Danish&lt;/li&gt;    &lt;li&gt;German&lt;/li&gt;    &lt;li&gt;Spanish&lt;/li&gt;    &lt;li&gt;French&lt;/li&gt;    &lt;li&gt;Dutch&lt;/li&gt;    &lt;li&gt;Norwegian&lt;/li&gt;    &lt;li&gt;Portuguese&lt;/li&gt;    &lt;li&gt;Finish&lt;/li&gt;    &lt;li&gt;Chinese &lt;/li&gt;    &lt;li&gt;Japanese&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Additional language files can be created to support more languages. The text elements of the EPiServer CMS user interface are stored in XML language files.&lt;/p&gt;  &lt;p&gt;Language support for your sites can be configured by administrators in “Manage Website Languages” and each CMS user can select their language in the “My Settings” section of EPiServer CMS as pictured below.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/1021d7b8f9ab45ce9eb933c41c47ffb5.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;Figure1&quot; border=&quot;0&quot; alt=&quot;Figure1&quot; src=&quot;/link/834892ad4cd145099238ee5436f5f957.png&quot; width=&quot;244&quot; height=&quot;179&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure 1 – Language Support for Visitors and CMS Users&lt;/strong&gt;&lt;/p&gt;  &lt;h2&gt;&amp;#160;&lt;/h2&gt;  &lt;h2&gt;Language Settings&lt;/h2&gt;  &lt;p&gt;Administrators can specify which language variations can be created by content contributors, fallback languages that are to be displayed if the requested language variation does not exist, and replacement languages that are to override a specific language variation.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/7bd7e7fd1ace4b2598b7ff3d38ef8d36.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;Figure2&quot; border=&quot;0&quot; alt=&quot;Figure2&quot; src=&quot;/link/31b1ccb43a6340f584f5907b78dcd6db.png&quot; width=&quot;244&quot; height=&quot;191&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure 2 - Language Settings&lt;/strong&gt;&lt;/p&gt;  &lt;h2&gt;&amp;#160;&lt;/h2&gt;  &lt;h2&gt;Side by Side Viewing and Editing&lt;/h2&gt;  &lt;p&gt;Content contributors can view and edit language variations of page side-by-side.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/f7082a3479254d6893033a4facc32756.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;Figure3&quot; border=&quot;0&quot; alt=&quot;Figure3&quot; src=&quot;/link/db3ebf811a5b421aa4b3c0bfa1a2b08f.png&quot; width=&quot;244&quot; height=&quot;162&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure 3 - Editing Language Variations Side by Side&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Notifications and Workflow&lt;/h2&gt;  &lt;p&gt;The &amp;quot;Ready for Translation&amp;quot; workflow reminds workflow participants to perform translations after a configurable interval and sends a final alert after a configurable interval to inform persons/groups if a page was not fully translated. This workflow can be configured to automatically start when the default language variation is changed and to assign translation activities to a unique translator for each variation.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/6903ef95407444b285dc6df01825ff5f.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;Figure4&quot; border=&quot;0&quot; alt=&quot;Figure4&quot; src=&quot;/link/f5bb9b9864044f1d8b92d5d4ac86e07b.png&quot; width=&quot;244&quot; height=&quot;176&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure 4 - Translation Workflow Configuration&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Working with Translation Services&lt;/h2&gt;  &lt;p&gt;EPiServer TranslateX is an open source a module which enables you to export your entire site or a subset of pages to the XLIFF format, send it to a translation agency, and import the translations back EPiServer. TranslateX has two parts:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;A core module that exports/imports pages from/to EPiServer CMS and activates the proper connector to start communication with the translation agency. &lt;/li&gt;    &lt;li&gt;A connector module that handles communication between EPiServer CMS and the translation agency service. The default connector is XLIFF, where the translation tasks are created as XLIFF files&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;/link/07fb7784597c4437b7f5e097b762d455.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;Figure5&quot; border=&quot;0&quot; alt=&quot;Figure5&quot; src=&quot;/link/51fafdf3d4bd42628ab4c074f0312cd3.png&quot; width=&quot;244&quot; height=&quot;193&quot; /&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure 5 - Creating a New Translation Project with TranslateX&lt;/strong&gt;&lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2011/12/An-Overview-of-EPiServer-Multilingual-Capabilities/</guid>            <pubDate>Tue, 27 Dec 2011 21:45:36 GMT</pubDate>           <category>Blog post</category></item><item> <title>EPiServer Integration &amp; Extensibility</title>            <link>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2011/12/EPiServer-Integration--Extensibility/</link>            <description>&lt;h2&gt;Proven Architecture&lt;/h2&gt;  &lt;p&gt;EPiServer CMS is built upon a proven architecture that has been deployed to 10,000 commercial sites across the globe since 1994 and is built on the widely accepted .NET platform. EPiServer CMS is a pure .NET system based on numerous open standards making it extremely transparent and easy to extend. The EPiServer CMS architecture enables developers to get up to speed on the platform quickly enabling you to get to market quickly and minimize your total cost of ownership. EPiServer also provides Visual Studio integration tools that enable developers to use the development tools they are familiar with to quickly develop EPiServer sites.&lt;/p&gt;  &lt;h2&gt;Built for Extensibility&lt;/h2&gt;  &lt;p&gt;EPiServer CMS is designed and built for extensibility. The EPiServer API enables developers to create robust page templates, modules, and plug-ins that enhance the user experience for your site visitors and CMS users. Developers can create tools for content contributors and administrators that plug-into the EPiServer editorial and administrative interfaces. &lt;/p&gt;  &lt;h2&gt;Standards, Standards, Standards&lt;/h2&gt;  &lt;p&gt;EPiServer implements and re-uses many standards including but not limited to: ASP.NET Master Pages, MVC, Windows Workflow Foundation, Membership and Role Providers, Virtual Path Providers, Windows Communication Foundation, Web Forms, Web Controls, User Controls, Web Parts, XForms, etc.&lt;/p&gt;  &lt;h2&gt;Extending and Integrating EPiServer&lt;/h2&gt;  &lt;p&gt;The possibilities for integrating EPiServer with other systems are virtually unlimited.&amp;#160; EPiServer provides a number of features to facilitate these integrations which are described below.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;.NET API&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;EPiServer provides a comprehensive .NET API enabling developers to create robust page templates, modules, and plug-ins that enhance the user experience for your site visitors and CMS users.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Web Service API&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;EPiServer CMS provides a web service API for creating, reading, updating, deleting, querying, and organizing content within EPiServer CMS.&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Pushing Data into EPiServer CMS&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;EPiServer Content Channels provide a configurable XML/SOAP web service interface that enables you to push data from other systems into EPiServer CMS.&amp;#160; The Content Channel web service exposes functionality for external systems to add, edit, delete, and organize content within EPiServer CMS. There is a built-in mapping administration interface which makes it easy to map incoming fields to page properties in EPiServer CMS. The web service also fires events on incoming requests making it possible to add custom business logic to process the data as it is pushed into EPiServer.&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;Integrating with External CRM Systems and User Profile Stores&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;With EPiServer CMS, user profiles and roles can be stored and managed in virtually any external profile store because EPiServer CMS implements standard ASP.NET membership, role, and profile providers.&amp;#160; Multiple profile stores can be used simultaneously.&amp;#160; For example, internal users could be managed in Active Directory and external users could be managed in a CRM system.&amp;#160; EPiServer CMS supports the Windows, Active Directory, SQL Server, and Oracle Role &amp;amp; Membership Providers out of the box.&amp;#160; The EPiServer Connect for Salesforce.com and Connect for Microsoft Dynamics CRM modules provide integration with Salesforce.com and Microsoft Dynamics CRM for profiles, membership, and roles. The connector modules automate the process of capturing new users on your site and creating new accounts and contacts in your CRM system. Your CRM system can also be used to manage roles and permissions. In addition, custom membership providers can be obtained or implemented to integrate with other profile stores (e.g. a custom solution).&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Integrating with External Content Repositories&lt;/em&gt;&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;Content stored in external systems can be exposed as items in EPiServer CMS by implementing Custom Page Providers which are based on the .NET provider model.&amp;#160; Additionally, you can enable content contributors to update the content in the external system using the EPiServer editorial interface.&amp;#160;&amp;#160; For example, you could expose news articles that reside in a legacy content management system as pages on your EPiServer site.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Widgets and Content Blocks&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;EPiServer Dynamic Content plug-ins make it possible for content contributors to add predefined modules, blocks of content, or mini applications to the regions of the page that can fetch data from other sources.&amp;#160; Those sources could be content from other pages or information from other systems, such as financial data in an ERP system.&amp;#160; For example, they can pull in information from RSS feeds, user profile properties, external map APIs, or social media applications and be placed anywhere within a rich text block on a page. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Integrating with External Analytics Providers&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;EPiServer enables you to access and aggregate data from external analytics providers (e.g. Google Analytics, Omniture, etc.) and view it within the context of the EPiServer interface and specific content items. Analytics tracking can easily be added to your templates and reports can be added to the OnlineCenter dashboard. The “Google Analytics API Module” is an EPiServer open source module that integrates Google Analytics reports with this data into the EPiServer CMS user interface. Additional modules can be created to integrate other analytics solutions such as Omniture.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Integrating with External Media Repositories&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;EPiServer can be seamlessly integrated with 3rd party media repositories, digital asset management systems, and content delivery networks. This is because the EPiServer File Manager implements the Virtual Path Provider standard.&amp;#160; For example, a Virtual Path Provider has been implemented in the EPiServer Connect for SharePoint module that enables content contributors to work with content that resides in SharePoint using the EPiServer File Manager interface.&amp;#160; Content contributors can create, delete, check-out, edit, save, and check in SharePoint content using the EPiServer authoring interface.&amp;#160; Similarly, additional Virtual Path Providers could be implemented to integrate with other repositories (e.g. content delivery networks such as Limelight an Akamai).&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Customizing the Editorial and Administrative Interface&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Developers can create tools for content contributors and administrators that plug-into many different areas of the EPiServer editorial and administrative interfaces.&amp;#160; Examples of such plug-ins include but are not limited to:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Integration with 3&lt;sup&gt;rd&lt;/sup&gt; party analytics tools such as Google Analytics &lt;/li&gt;    &lt;li&gt;Integration with Microsoft Commerce server management tools&lt;/li&gt;    &lt;li&gt;Language tools for exporting content to the XLIFF format for translation by an external agency&lt;/li&gt;    &lt;li&gt;Custom workflows&lt;/li&gt;    &lt;li&gt;Integration with external digital asset management systems or repositories&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Dynamic Data Store&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The Dynamic Data Store gives you a simple way to store strongly typed data when building your applications, without the need to deploy new database tables or build object relational mappings. Data is retrieved from the Dynamic Data Store using LINQ.&lt;/p&gt;  &lt;h2&gt;Additional Information&lt;/h2&gt;  &lt;p&gt;This post highlights some of the key extensibility and integration points of EPiServer.&amp;#160; Discover more of the endless possibilities with EPiServer at &lt;a href=&quot;http://world.episerver.com/&quot; target=&quot;_blank&quot;&gt;world.EPiServer.com&lt;/a&gt;.&lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2011/12/EPiServer-Integration--Extensibility/</guid>            <pubDate>Tue, 27 Dec 2011 21:30:52 GMT</pubDate>           <category>Blog post</category></item><item> <title>Increasing Conversion Rates &amp; ROI with EPiServer CMO</title>            <link>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2011/12/Increasing-Conversion-Rates--ROI-with-EPiServer-CMO/</link>            <description>&lt;p&gt;EPiServer CMO (Campaign Monitor and Optimization) provides the tools that marketers need to optimize their online campaigns to increase conversion rates and return on investment (ROI) in real-time. In contrast to competing products, EPiServer CMO provides a focused set of tools and reports that help you understand how your campaigns are performing while they are running, not after the fact when it’s already too late. Instead of analyzing a mountain of data and theorizing about how you might make it better the next time, EPiServer CMO shows you what you need to know now in order to increase conversion rates this time, while the campaign is running.&lt;/p&gt;  &lt;h2&gt;Key Capabilities&lt;/h2&gt;  &lt;ul&gt;   &lt;li&gt;Easily set up campaigns to monitor statistics for content related to a specific initiative without intervention from IT&lt;/li&gt;    &lt;li&gt;Run A/B Tests on multiple variations of a page to see which one generates the most conversions&lt;/li&gt;    &lt;li&gt;Create Key Performance Indicators to track progress towards your goals&lt;/li&gt;    &lt;li&gt;Create and view conversion funnels to determine which content needs to be optimized to drive the most conversions&lt;/li&gt;    &lt;li&gt;Monitor traffic in real time to get a new perspective on your visitors’ behavior&lt;/li&gt;    &lt;li&gt;Export and share statistics and reports&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href=&quot;/link/a014a9d2ed464f399c50ee96adeed17d.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;Figure1&quot; border=&quot;0&quot; alt=&quot;Figure1&quot; src=&quot;/link/8e98ebcd1274442e82f2db6c758f2fe4.png&quot; width=&quot;244&quot; height=&quot;123&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure 1 - Personalized OnlineCenter Dashboard with EPiServer CMO Gadgets&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Campaign Analytics and Reports&lt;/h2&gt;  &lt;p&gt;EPiServer CMO includes page and campaign level reports that such as; page views, unique visitors, browser statistics, key performance indicators, conversion paths, user behavior, and statistics.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/e1e08a7c897545589749fc447e30799a.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;Figure2&quot; border=&quot;0&quot; alt=&quot;Figure2&quot; src=&quot;/link/68e1da1938c54c1c8eb8d22df798326a.png&quot; width=&quot;165&quot; height=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure 2 – EPiServer CMO Campaign Overview Report&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;A/B Testing&lt;/h2&gt;  &lt;p&gt;EPiServer CMO enables you to quickly set up A/B Tests on multiple variations of a page to see which one generates the most conversions. Visitors are routed to the different variations while the test is running. You can view the A/B test report to see which variation has the highest conversion rate and declare that page as a winner so that all users will be routed to that page.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/00a564905d27438e99e6150e097fa2e2.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;Figure3&quot; border=&quot;0&quot; alt=&quot;Figure3&quot; src=&quot;/link/7c399a9bc75f44548b9764dbe6edebcb.png&quot; width=&quot;244&quot; height=&quot;166&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure 3 - EPiServer CMO Landing Page Optimization Report (A/B Test)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Conversion Funnels&lt;/h2&gt;  &lt;p&gt;EPiServer CMO also enables you to set up conversion funnels to monitor user navigation including the entry page and exit page for each page in the conversion path. You can also track form posts and set up KPIs for forms.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/c107869757cb4b4d88e440e1fd813a04.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;Figure4&quot; border=&quot;0&quot; alt=&quot;Figure4&quot; src=&quot;/link/fa8e4a6ffc6c41c79346f8429b2a1314.png&quot; width=&quot;209&quot; height=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure 4 - EPiServer CMO Conversion Path Report&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Live Monitor&lt;/h2&gt;  &lt;p&gt;EPiServer Live Monitor gives you a real-time view of visitors to your campaign pages including originating source information.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/43d4b3fe69bb40f2ae95ab24aeadb70b.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;Figure5&quot; border=&quot;0&quot; alt=&quot;Figure5&quot; src=&quot;/link/0e55a040dbcc40b9ab144d5440f6dae7.png&quot; width=&quot;244&quot; height=&quot;134&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure 5 - EPiServer Live Monitor Showing Real-time Site Activity&lt;/strong&gt;&lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2011/12/Increasing-Conversion-Rates--ROI-with-EPiServer-CMO/</guid>            <pubDate>Tue, 27 Dec 2011 21:10:22 GMT</pubDate>           <category>Blog post</category></item><item> <title>Driving ROI with EPiServer Personalization &amp; Content Targeting</title>            <link>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2011/12/Personalization--Content-Targeting-with-EPiServer/</link>            <description>&lt;p&gt;The marketing tools shipped with EPiServer CMS (personalization) and EPiServer CMO (campaign monitoring and optimization) provide insight into your visitors’ behavior on the so that you can gain an understanding of the user segments that are interacting with your site with the ultimate purpose of increasing conversion rates and driving return on investment (ROI).&amp;#160; This post provides an overview of some of the personalization and content targeting capabilities within EPiServer then enable you to increase your ROI.&lt;/p&gt;  &lt;h2&gt;The EPiServer Approach to Personalization&lt;/h2&gt;  &lt;p&gt;EPiServer places emphasis on empowering marketers to quickly setup Visitor Groups that define user segments using drag and drop to configure various business rules for each segment. It’s about harnessing the benefits of personalization without investing a fortune or dedicating an entire team to the challenge. This enables you to start small, realize results immediately, learn more about your segments, and refine your approach iteratively.&lt;/p&gt;  &lt;p&gt;EPiServer’s philosophy around personalization is that your target segments should mostly be defined by the market itself and setup by the marketer as opposed to being defined by your visitors’ response to how your content is structured and presented. Your information architecture can have a significant impact on users’ behavior. And if there are flaws with your information architecture, there will be flaws with the target segments defined by the users’ behavior in response to that information architecture. &lt;/p&gt;  &lt;p&gt;For more details on personalization strategy, see the “&lt;a href=&quot;http://www.episerver.com/Best-practices-on-the-web/How-can-I-personalize-my-content-to-our-visitors-on-the-website/&quot; target=&quot;_blank&quot;&gt;The Web Personalization Workbook&lt;/a&gt;” white paper. This EPiServer white paper describes 14 real-world principles for delivering engaged web experiences with personalization.&lt;/p&gt;  &lt;h2&gt;EPiServer Personalization Features Overview&lt;/h2&gt;  &lt;p&gt;Almost every organization with a web presence has begun to consider personalization. The potential benefits of precisely aligning web and multi-channel communications to your marketing segmentation strategy are enormous. Yet few organizations have actually taken steps to implement effective personalization. &lt;/p&gt;  &lt;p&gt;Personalization in EPiServer CMS enables you to target content to specific audiences based on criteria such as geographic location, visited pages, profile properties, referrer, search keywords, and more. You can create rules with the EPiServer interface that define your target audiences so that you can target the most relevant content to them. As a result, you web site visitors have a more compelling experience and are more likely to engage.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;EPiServer CMS enables you to target content to visitors based on…&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&#183; What you know about them&lt;/p&gt;  &lt;p&gt;&#183; What they are doing / have done&lt;/p&gt;  &lt;p&gt;&#183; How they found you&lt;/p&gt;  &lt;p&gt;&#183; Where they are from&lt;/p&gt;  &lt;p&gt;&#183; What’s happening now&lt;/p&gt;  &lt;p&gt;&#183; More…&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Examples of the types of personalization criteria that are available include but are not limited to:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&#183; Geographic location and coordinates&lt;/p&gt;  &lt;p&gt;&#183; Visited pages&lt;/p&gt;  &lt;p&gt;&#183; Visited categories&lt;/p&gt;  &lt;p&gt;&#183; Search keywords&lt;/p&gt;  &lt;p&gt;&#183; Landing URL &lt;/p&gt;  &lt;p&gt;&#183; Referrer&lt;/p&gt;  &lt;p&gt;&#183; Number of visits within the past X days&lt;/p&gt;  &lt;p&gt;&#183; User profile properties&lt;/p&gt;  &lt;p&gt;&#183; Time of day&lt;/p&gt;  &lt;p&gt;&#183; What site the visitor came from&lt;/p&gt;  &lt;p&gt;&#183; Visitor Group membership&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Once you have defined rules for your target audiences, you can preview the content as each audience would see it as pictured below.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/2fa400982c4a4967a20273f7c223684a.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;Figure1&quot; border=&quot;0&quot; alt=&quot;Figure1&quot; src=&quot;/link/e4b33aa0195b4f9ca3d4468ad0dbd6f2.png&quot; width=&quot;244&quot; height=&quot;177&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure 1 - The “Account Manager” position call out displayed to Job Seekers&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The image below depicts the Edit Visitor Group page where you define the business rules for each target audience. Multiple criteria can be configured to define a target audience. Logical rules can be applied to the criteria so that any or all criteria must be met for a visitor to be considered a member of the target audience.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/84586f86ff234f3f925e82136c64b6a8.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;Figure2&quot; border=&quot;0&quot; alt=&quot;Figure2&quot; src=&quot;/link/af2347089e584b2fb96aaf1c36b5db3e.png&quot; width=&quot;244&quot; height=&quot;176&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure 2 - Defining the Criteria for a Visitor Group&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Additionally, a score can be assigned to each criterion so that the visitor is considered to be in the target audience when a specified threshold has been met as pictured below.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/9bddc547383f47cbb776da321da21115.png&quot;&gt;&lt;img style=&quot;background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px&quot; title=&quot;Figure3&quot; border=&quot;0&quot; alt=&quot;Figure3&quot; src=&quot;/link/5bc910a2c73b413a8834c79bd17d36cc.png&quot; width=&quot;244&quot; height=&quot;190&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure 3 - Visitor Group Criteria Scoring&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Developers can also create custom criteria that model complex business rules that align with your business.&lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2011/12/Personalization--Content-Targeting-with-EPiServer/</guid>            <pubDate>Tue, 27 Dec 2011 20:56:07 GMT</pubDate>           <category>Blog post</category></item><item> <title>How to Upgrade an EPiServer CMS 5 Site to CMS 6</title>            <link>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2010/3/How-to-Upgrade-an-EPiServer-CMS-5-Site-to-CMS-6/</link>            <description>&lt;p&gt;The EPiServer Deployment Center can be used to upgrade an EPiServer CMS 5 R2 SP2 site to CMS 6.&amp;#160; The upgrade process is quite simple and converts the site content, settings, and form data, in place, from the old format to the new.&amp;#160; The upgrade process upgrades the EPiServer user interface, assemblies, and converts database objects and data as needed.&amp;#160; &lt;/p&gt;  &lt;p&gt;If you have multiple sites, each site can be upgraded one at a time as long as they are in separate CMS instances / databases.&amp;#160; If you are running an enterprise configuration where multiple sites are managed from the same CMS instance / database, all of the sites will be upgraded at the same time.&lt;/p&gt;  &lt;p&gt;The EPiServer Deployment Center will take care of upgrading the content and the EPiServer components, but it is strongly recommended that you thoroughly test your Page Templates, Dynamic Content, Plug-ins, and any other modules that reference the EPiServer API or web services to ensure that there are no compatibility issues with the latest version.&lt;/p&gt;  &lt;p&gt;For more details on what the upgrade process does, check out Per Bjurstr&#246;m’s blog entry, &lt;a href=&quot;http://world.episerver.com/Blogs/Per-Bjurstrom/Archive/2009/12/Upgrading-to-CMS-6-RC1/&quot; target=&quot;_blank&quot;&gt;Upgrading to CMS 6 RC1&lt;/a&gt;.&lt;/p&gt;  &lt;h1&gt;Upgrading an EPiServer CMS 5 R2 SP2 site to CMS 6.0&lt;/h1&gt;  &lt;p&gt;The image below depicts the CMS 5 R2 SP2 site prior to the upgrade.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/fe7da51f158d4df58b7a8fe4bc877794.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/c07685ee1ac8411f859c3c48d97f2a40.png&quot; width=&quot;244&quot; height=&quot;185&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;1. Launch the &lt;strong&gt;EPiServer Deployment Center.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;2. Navigate the tree to &lt;strong&gt;Installed Products &amp;gt; EPiServer CMS &amp;gt; Version 6.0.530.0.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;3. Select &lt;strong&gt;Upgrade Site with SQL Server database.&lt;/strong&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;4. Click the &lt;strong&gt;Run&lt;/strong&gt; button.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/575884433495499f8c175fc74190232d.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/816f84e6112e428089daabfd5bd5a457.png&quot; width=&quot;244&quot; height=&quot;186&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;5. On the &lt;strong&gt;Upgrade an existing EPiServer web site – Step 1 of 2&lt;/strong&gt; dialog, select the CMS 5 site that you wish to upgrade.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/cf0c6ea079094005a684afa0bcf69984.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/03a67d2aa7bb4fdf83306613f4974c1f.png&quot; width=&quot;244&quot; height=&quot;231&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;6. Click the &lt;strong&gt;Next&lt;/strong&gt; button.&lt;/p&gt;  &lt;p&gt;7. Verify your settings on the &lt;strong&gt;Upgrade an existing EPiServer web site – Step 2 of 2&lt;/strong&gt; dialog, and click the &lt;strong&gt;Upgrade&lt;/strong&gt; button.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/37cf97bd9d8c4054915aed3b6908bbf8.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/3d6b3fee4c3b4ba8be90786754c63926.png&quot; width=&quot;244&quot; height=&quot;231&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;8.&amp;#160; The &lt;strong&gt;EPiServer Deployment Center progress&lt;/strong&gt; dialog will be displayed showing the progress of the upgrade. Click the &lt;strong&gt;Close&lt;/strong&gt; button when it has finished.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/ca9ca2ec7c1c491c8cf6e6f46a043121.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/2ff49359bc5c4731bb0598772f8bf671.png&quot; width=&quot;244&quot; height=&quot;93&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;9.&amp;#160; Close the &lt;strong&gt;EPiServer Deployment Center&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;10. Clear your temporary internet files as many of the Edit and Admin Mode images from CMS 5 will be cached in Internet Explorer.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/cc13136b1af5417cb9c3481899b051e3.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/cbe8771bb0e94455a8a8680338c378ec.png&quot; width=&quot;203&quot; height=&quot;244&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;11. Navigate to the upgraded site to verify the upgrade.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/74441ad6b84a42d0b5c81501b49ccf1d.png&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/fd54693c656649528f4abd53c6ec465e.png&quot; width=&quot;244&quot; height=&quot;211&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2010/3/How-to-Upgrade-an-EPiServer-CMS-5-Site-to-CMS-6/</guid>            <pubDate>Tue, 23 Mar 2010 22:06:32 GMT</pubDate>           <category>Blog post</category></item><item> <title>Setting Up Multiple Sites in EPiServer CMS 5 Enterprise</title>            <link>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2009/12/Setting-Up-Multiple-Sites-in-EPiServer-CMS-5-Enterprise/</link>            <description>&lt;p&gt;Multiple sites can be managed from the &lt;strong&gt;Structure&lt;/strong&gt; pane in &lt;strong&gt;Edit Mode&lt;/strong&gt; with EPiServer CMS 5 Enterprise.&amp;#160; This enables Editors to conveniently manage multiple sites from one interface and share content, Page Types, Page Templates, and other settings between them.&amp;#160; &lt;/p&gt;  &lt;p&gt;To add additional sites to the &lt;strong&gt;Structure&lt;/strong&gt; pane, a home page needs to be created in &lt;strong&gt;Edit Mode&lt;/strong&gt; for each additional site as a sibling of the home page of the first site.&amp;#160; In addition, &lt;strong&gt;site&lt;/strong&gt; elements need to be created and configured for each additional site in web.config.&amp;#160; &lt;/p&gt;  &lt;p&gt;Note that the multiple site configuration requires an EPiServer CMS 5 Enterprise license.&amp;#160; When multiple sites are configured, the content for all of the sites is stored in a single database. &lt;/p&gt;  &lt;h2&gt;Example - Setting Up Multiple Sites in EPiServer CMS&lt;/h2&gt;  &lt;p&gt;The following example describes how to set up multiple sites in EPiServer CMS 5 R2 SP2.&amp;#160; This example uses the EPiServer Public Templates and IIS 7 so steps may vary slightly depending on your environment.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;table border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; width=&quot;594&quot;&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign=&quot;top&quot; width=&quot;24&quot; align=&quot;right&quot;&gt;1.&lt;/td&gt;        &lt;td valign=&quot;top&quot; width=&quot;277&quot;&gt;Using the EPiServer Deployment Center, create the first site and database.&amp;#160; You will need an Enterprise license file for this site.&amp;#160; The Deployment Center will create the necessary &lt;strong&gt;site&lt;/strong&gt; element for the first site in web.config. &lt;/td&gt;        &lt;td valign=&quot;top&quot; width=&quot;298&quot; align=&quot;center&quot;&gt;&lt;a href=&quot;/link/48f18584ba0a4222bbdcfc14fbd8163f.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/24d0db01ef184c3c9154647aff0f1a83.png&quot; width=&quot;244&quot; height=&quot;186&quot; /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign=&quot;top&quot; width=&quot;24&quot; align=&quot;right&quot;&gt;2.&lt;/td&gt;        &lt;td valign=&quot;top&quot; width=&quot;277&quot;&gt;In IIS Manger, edit the site binding for the first site and add a &lt;strong&gt;Host name&lt;/strong&gt; (e.g. – &lt;a href=&quot;http://www.multisitedemo1.com&quot;&gt;www.multisitedemo1.com&lt;/a&gt;).           &lt;br /&gt;          &lt;br /&gt;&lt;strong&gt;Note:&lt;/strong&gt; If you plan to open up the template project for this site with Visual Studio, you will need to update the &lt;strong&gt;IISUrl&lt;/strong&gt; element in the .csproj file to match the host name entered above.&amp;#160; For example, &amp;lt;IISUrl&amp;gt;&lt;a href=&quot;http://www.multisitedemo1.com&quot;&gt;http://www.multisitedemo1.com&lt;/a&gt;&amp;lt;/IISUrl&amp;gt;&lt;/td&gt;        &lt;td valign=&quot;top&quot; width=&quot;296&quot; align=&quot;center&quot;&gt;&lt;a href=&quot;/link/cdd50c3ddfff4270bbdc76e4dcae342f.png&quot;&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/bd1815b145f34ca59013e0fa9f0e4774.png&quot; width=&quot;244&quot; height=&quot;233&quot; /&gt;&lt;/a&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign=&quot;top&quot; width=&quot;24&quot; align=&quot;right&quot;&gt;3.&lt;/td&gt;        &lt;td valign=&quot;top&quot; width=&quot;277&quot;&gt;In IIS Manager, create the second site,&amp;#160; point the &lt;strong&gt;Physical path&lt;/strong&gt; to the same directory as the first site, and specify a &lt;strong&gt;Host name&lt;/strong&gt;.&amp;#160; &lt;br /&gt;          &lt;br /&gt;&lt;strong&gt;Note:&lt;/strong&gt; If you are using IIS 6 or IIS 7 in Classic Pipeline Mode, you will need to configure a wildcard mapping.&amp;#160; Integrated Pipeline Mode is the default for IIS 7, so you will probably not need to do this.&amp;#160; If you do, see the “&lt;a href=&quot;http://world.episerver.com/en/Documentation/Items/Tech-Notes/EPiServer-CMS-5/EPiServer-CMS-5-R2-SP1/Configuring-EPiServer-CMS-5-Enterprise/&quot; target=&quot;_blank&quot;&gt;Configuring EPiServer CMS 5 R2 SP1 Enterprise&lt;/a&gt;” article for instructions.&lt;/td&gt;        &lt;td valign=&quot;top&quot; width=&quot;296&quot; align=&quot;center&quot;&gt;&lt;a href=&quot;/link/cd9c99a657fe4e2ca844299a96dc2413.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/58085db94a49464f86ae324909679c80.png&quot; width=&quot;206&quot; height=&quot;244&quot; /&gt;&lt;/a&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign=&quot;top&quot; width=&quot;24&quot; align=&quot;right&quot;&gt;4.&lt;/td&gt;        &lt;td valign=&quot;top&quot; width=&quot;277&quot;&gt;If you do not have DNS entries set up for your sites, create host entries for the site in the hosts file on the machine from where you will be browsing to the sites (C:\Windows\System32\drivers\etc\hosts).&lt;/td&gt;        &lt;td valign=&quot;top&quot; width=&quot;295&quot; align=&quot;center&quot;&gt;&lt;a href=&quot;/link/1722459bc4bb4399a80c371b5ddb6203.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/f35fd3e1de8746bfb501bcff202741ce.png&quot; width=&quot;244&quot; height=&quot;147&quot; /&gt;&lt;/a&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign=&quot;top&quot; width=&quot;24&quot; align=&quot;right&quot;&gt;5.&lt;/td&gt;        &lt;td valign=&quot;top&quot; width=&quot;277&quot;&gt;In &lt;strong&gt;Admin Mode&lt;/strong&gt;, make the &lt;strong&gt;[Public] Start page&lt;/strong&gt; Page Type “&lt;strong&gt;Available in Edit Mode&lt;/strong&gt;” so that you can create a new home page based on this Page Type.&lt;/td&gt;        &lt;td valign=&quot;top&quot; width=&quot;294&quot; align=&quot;center&quot;&gt;&amp;#160;&lt;a href=&quot;/link/120b75d8a4564b17a94b5cd7b5bcd59f.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/d6684234c6e14820958d72e38650dda6.png&quot; width=&quot;244&quot; height=&quot;206&quot; /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign=&quot;top&quot; width=&quot;24&quot; align=&quot;right&quot;&gt;6.&lt;/td&gt;        &lt;td valign=&quot;top&quot; width=&quot;277&quot;&gt;In &lt;strong&gt;Edit Mode&lt;/strong&gt;, create the home page for the second site, using the &lt;strong&gt;[Public] Start page&lt;/strong&gt; Page Template, as a child page of the &lt;strong&gt;Root folder&lt;/strong&gt;. Take note of the &lt;strong&gt;Page ID&lt;/strong&gt;.&lt;/td&gt;        &lt;td valign=&quot;top&quot; width=&quot;294&quot; align=&quot;center&quot;&gt;&lt;a href=&quot;/link/76ddf0435d9e4c369eb1b195fe9fa2ba.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/80c8c6be11ff478d968255bd82c54239.png&quot; width=&quot;244&quot; height=&quot;206&quot; /&gt;&lt;/a&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign=&quot;top&quot; width=&quot;24&quot; align=&quot;right&quot;&gt;7.&lt;/td&gt;        &lt;td valign=&quot;top&quot; width=&quot;277&quot;&gt;In web.config…         &lt;br /&gt;          &lt;br /&gt;          &lt;ul&gt;           &lt;li&gt;Create a new &lt;strong&gt;site&lt;/strong&gt; element for the second site by copying and pasting the &lt;strong&gt;site&lt;/strong&gt; element of the first site. &lt;/li&gt;            &lt;li&gt;Set the &lt;strong&gt;siteId&lt;/strong&gt; and &lt;strong&gt;description&lt;/strong&gt; attributes on the &lt;strong&gt;site&lt;/strong&gt; elements for both sites.&amp;#160; The &lt;strong&gt;siteId&lt;/strong&gt; must be unique. &lt;/li&gt;            &lt;li&gt;Set the &lt;strong&gt;pageStartId&lt;/strong&gt; attribute of the &lt;strong&gt;siteSettings&lt;/strong&gt; element for the second site to the &lt;strong&gt;Page ID&lt;/strong&gt; of the home page that you created above. &lt;/li&gt;            &lt;li&gt;Set the &lt;strong&gt;siteUrl&lt;/strong&gt; attributes of the &lt;strong&gt;siteSettings&lt;/strong&gt; elements for both sites.&amp;#160; The &lt;strong&gt;siteUrl&lt;/strong&gt; must be the fully qualified domain name including protocol (see screen shot). &lt;/li&gt;            &lt;li&gt;Add a &lt;strong&gt;siteHosts&lt;/strong&gt; element to both &lt;strong&gt;site&lt;/strong&gt; elements containing &lt;strong&gt;add &lt;/strong&gt;elements for each host name that will be used to reference each site.&amp;#160; Note that one of the &lt;strong&gt;siteHosts&lt;/strong&gt; elements must contain exactly one &lt;strong&gt;add&lt;/strong&gt; element with a wildcard “*” host name to handle requests that do not map to any of the other host names.&amp;#160; Each host name must be unique within the scope of the &lt;strong&gt;sites&lt;/strong&gt; element. &lt;/li&gt;         &lt;/ul&gt;                 &lt;/td&gt;        &lt;td valign=&quot;top&quot; width=&quot;294&quot; align=&quot;center&quot;&gt;&lt;a href=&quot;/link/fc3cc41aecca453e89cbf874d47eadb2.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/9efadab05c9946e7a8c3f99740b4b34f.png&quot; width=&quot;244&quot; height=&quot;216&quot; /&gt;&lt;/a&gt; &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Additional Considerations&lt;/h2&gt;  &lt;p&gt;To ensure that each site maintains a unique and consistent look and feel, a unique Page Type can be created for each site’s home page enabling Administrators to restrict which Page Types and Page Templates can be used within each site.&amp;#160; This also simplifies the “Create New Page” page by only displaying the available Page Types to Editors when creating new pages.&lt;/p&gt;  &lt;h2&gt;Troubleshooting&lt;/h2&gt;  &lt;p&gt;If you run into an issue where the children of secondary site will disappear in the &lt;strong&gt;Structure&lt;/strong&gt; pane when selecting primary site or vice versa, this is probably because the &lt;strong&gt;uiUrl&lt;/strong&gt; attribute of the &lt;strong&gt;siteSettings&lt;/strong&gt; element in web.config was modified and is not root relative.&amp;#160; If you need to modify the &lt;strong&gt;uiUrl&lt;/strong&gt; attribute, make sure it is a root relative path.&amp;#160; For example, uiUrl=&amp;quot;~/cms/&amp;quot;. &lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2009/12/Setting-Up-Multiple-Sites-in-EPiServer-CMS-5-Enterprise/</guid>            <pubDate>Mon, 21 Dec 2009 21:44:34 GMT</pubDate>           <category>Blog post</category></item><item> <title>Enabling the EPiServer CMS Workflows</title>            <link>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2009/10/Enabling-the-EPiServer-CMS-Workflows/</link>            <description>&lt;p&gt;EPiServer CMS 5 ships with four out of the box workflows; Parallel Approval, Sequential Approval, Ready for Translation, and Request for Feedback.&lt;/p&gt;  &lt;p&gt;The workflows are disabled by default and can easily be enabled for a CMS site by un-commenting their definitions in web.config.&lt;/p&gt;  &lt;p&gt;If the workflows have not been enabled yet, you will see a “There are no instances or tasks related to this page available” message on the “Workflow” tab and a “There are no workflow definitions available” message in the Action Window in Edit Mode. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/70cb8f51d3614d2bb8834a47fdaefd91.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/1b535a62c3d44726a78c64777e0e4398.png&quot; width=&quot;244&quot; height=&quot;77&quot; /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;To enable the workflows…&lt;/h2&gt;  &lt;p&gt;Open web.config and uncomment the following snippet under configuration/episerver/workflowSettings/definitions:&lt;/p&gt;  &lt;blockquote&gt;       &lt;p&gt;     &lt;/p&gt;&lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px&quot; id=&quot;scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:eb6826bd-569a-44f8-b1bf-8fe23cc1b801&quot; class=&quot;wlWriterEditableSmartContent&quot;&gt; &lt;div style=&quot;border: #000080 1px solid; color: #000; font-family: &#39;Courier New&#39;, Courier, Monospace; font-size: 10pt&quot;&gt; &lt;div style=&quot;background-color: #ffffff; max-height: 300px; overflow: auto; padding: 2px 5px; white-space: nowrap&quot;&gt; &lt;span style=&quot;color:#0000ff&quot;&gt;&amp;lt;!--&lt;/span&gt;&lt;span style=&quot;color:#008000&quot;&gt; &lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#008000&quot;&gt;&amp;lt;definition&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#008000&quot;&gt;&amp;nbsp;&amp;nbsp;name=&quot;Sequential Approval&quot;&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#008000&quot;&gt;&amp;nbsp;&amp;nbsp;description=&quot;A sequential approval workflow for pages&quot;&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#008000&quot;&gt;&amp;nbsp;&amp;nbsp;type=&quot;EPiServer.WorkflowFoundation.Workflows.SequentialApproval,EPiServer.WorkflowFoundation&quot;/&amp;gt;&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#008000&quot;&gt;&amp;lt;definition&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#008000&quot;&gt;&amp;nbsp;&amp;nbsp;name=&quot;Parallel Approval&quot;&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#008000&quot;&gt;&amp;nbsp;&amp;nbsp;description=&quot;A paralell approval workflow for pages&quot;&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#008000&quot;&gt;&amp;nbsp;&amp;nbsp;type=&quot;EPiServer.WorkflowFoundation.Workflows.ParallelApproval,EPiServer.WorkflowFoundation&quot;/&amp;gt;&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#008000&quot;&gt;&amp;lt;definition&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#008000&quot;&gt;&amp;nbsp;&amp;nbsp;name=&quot;Request for feedback&quot;&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#008000&quot;&gt;&amp;nbsp;&amp;nbsp;description=&quot;Assigns request for feedback tasks to users/roles&quot;&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#008000&quot;&gt;&amp;nbsp;&amp;nbsp;type=&quot;EPiServer.WorkflowFoundation.Workflows.RequestForFeedback,EPiServer.WorkflowFoundation&quot;/&amp;gt;&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#008000&quot;&gt;&amp;lt;definition&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#008000&quot;&gt;&amp;nbsp;&amp;nbsp;name=&quot;Ready for translation&quot;&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#008000&quot;&gt;&amp;nbsp;&amp;nbsp;description=&quot;Assigns translation tasks to users/roles&quot;&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#008000&quot;&gt;&amp;nbsp;&amp;nbsp;type=&quot;EPiServer.WorkflowFoundation.Workflows.ReadyForTranslation,EPiServer.WorkflowFoundation&quot;/&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color:#0000ff&quot;&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;    &lt;/blockquote&gt;  &lt;p&gt;Once enabled, the EPiServer workflows can be started from the “Workflow” tab or the “Action Window” in Edit Mode.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;/link/00bd5cc778194a9ead8515beb59d6114.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/1fb1685c3f9e424cb09aff781cf15d58.png&quot; width=&quot;244&quot; height=&quot;98&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2009/10/Enabling-the-EPiServer-CMS-Workflows/</guid>            <pubDate>Wed, 07 Oct 2009 22:35:53 GMT</pubDate>           <category>Blog post</category></item><item> <title>Utilizing the Microsoft Office Add-In and Client Components with EPiServer CMS</title>            <link>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2009/10/Utilizing-the-Microsoft-Office-Add-In-and-Client-Components-with-EPiServer-CMS/</link>            <description>&lt;p&gt;EPiServer CMS provides tools for integrating with Microsoft Office client applications which include the Microsoft Office Add-In and the EPiServer CMS Client Components. This post describes the process for enabling, installing, and activating Microsoft Office integration and client components for EPiServer CMS.&amp;#160; &lt;/p&gt;  &lt;p&gt;The Microsoft Office Add-In enables Editors to publish files to an EPiServer site directly from Microsoft Word, Excel, and PowerPoint.&lt;/p&gt;  &lt;p&gt;The EPiServer CMS Client Components provide the following capabilities:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Integrated spell checker &lt;/li&gt;    &lt;li&gt;Export form data to Excel &lt;/li&gt;    &lt;li&gt;Drag and drop and multiple file upload into the EPiServer File Manager &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;To utilize these features, Office integration must be enabled and activated on each CMS site and the Microsoft Office Add-In and EPiServer CMS Client Components must be installed on each client machine that is to utilize the components. &lt;/p&gt;  &lt;h2&gt;Enabling Office Integration&lt;/h2&gt;  &lt;p&gt;Office integration must first be enabled in the web.config file for each CMS site on which you wish to utilize it.&lt;/p&gt;  &lt;p&gt;To enable Office Integration on your CMS site…&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;1. Open the web.config file from the root of the site on which you wish to enable the Office Add-In and Components and uncomment the following text. Note that the portion of the path preceding “/OfficeIntegration” will vary depending on what was configured when the site was created (e.g. the “Relative Path”&amp;#160; setting on the “Create new EPiServer CMS site” dialog of the EPiServer Deployment Center).&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;     &lt;/p&gt;&lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px&quot; id=&quot;scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:b98c87b6-10c4-4fa0-828e-6eb288965c2d&quot; class=&quot;wlWriterSmartContent&quot;&gt;       &lt;div style=&quot;border-bottom: #000080 1px solid; border-left: #000080 1px solid; font-family: &#39;Courier New&#39;, courier, monospace; color: #000; font-size: 10pt; border-top: #000080 1px solid; border-right: #000080 1px solid&quot;&gt;         &lt;div style=&quot;padding-bottom: 2px; background-color: #ffffff; padding-left: 5px; padding-right: 5px; white-space: nowrap; max-height: 300px; overflow: auto; padding-top: 2px&quot;&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;!--&lt;/span&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;lt;location path=&amp;quot;UI/OfficeIntegration&amp;quot;&amp;gt;&lt;/span&gt;             &lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #008000&quot;&gt;&amp;lt;system.web&amp;gt;&lt;/span&gt;             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style=&quot;color: #008000&quot;&gt;&amp;lt;authorization&amp;gt;&lt;/span&gt;             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style=&quot;color: #008000&quot;&gt;&amp;#160; &amp;lt;allow users=&amp;quot;*&amp;quot; /&amp;gt;&lt;/span&gt;             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style=&quot;color: #008000&quot;&gt;&amp;lt;/authorization&amp;gt;&lt;/span&gt;             &lt;br /&gt;&amp;#160; &lt;span style=&quot;color: #008000&quot;&gt;&amp;lt;/system.web&amp;gt;&lt;/span&gt;             &lt;br /&gt;&lt;span style=&quot;color: #008000&quot;&gt;&amp;lt;/location&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;--&amp;gt;&lt;/span&gt;&lt;/div&gt;       &lt;/div&gt;     &lt;/div&gt;    &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;2. Change the “UI” portion of the “path” attribute to the “Relative Path” that was set for the “EPiServer User Interface” on the “Create new EPiServer CMS Site” dialog when the site was created with the EPiServer Deployment Center. For example…&lt;/p&gt;        &lt;div style=&quot;padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px&quot; id=&quot;scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:78014485-74e5-4544-b9ad-e17a1daff1eb&quot; class=&quot;wlWriterSmartContent&quot;&gt;     &lt;div style=&quot;border-bottom: #000080 1px solid; border-left: #000080 1px solid; font-family: &#39;Courier New&#39;, courier, monospace; color: #000; font-size: 10pt; border-top: #000080 1px solid; border-right: #000080 1px solid&quot;&gt;       &lt;div style=&quot;padding-bottom: 2px; background-color: #ffffff; padding-left: 5px; padding-right: 5px; white-space: nowrap; max-height: 300px; overflow: auto; padding-top: 2px&quot;&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #a31515&quot;&gt;location&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;=&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: #0000ff&quot;&gt;Cms/OfficeIntegration&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;           &lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #a31515&quot;&gt;system.web&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;           &lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #a31515&quot;&gt;authorization&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;           &lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #a31515&quot;&gt;allow&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;users&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;=&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: #0000ff&quot;&gt;*&lt;/span&gt;&amp;quot;&lt;span style=&quot;color: #0000ff&quot;&gt; /&amp;gt;&lt;/span&gt;           &lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #a31515&quot;&gt;authorization&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;           &lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;#160; &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #a31515&quot;&gt;system.web&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;           &lt;br /&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #a31515&quot;&gt;location&lt;/span&gt;&lt;span style=&quot;color: #0000ff&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;     &lt;/div&gt;   &lt;/div&gt;     &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Troubleshooting&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;If you receive the following error it is likely because you did not enable Office integration as described above.&lt;/p&gt;    &lt;p&gt;&lt;em&gt;“Failed to contact EPiServer CMS, make sure the URL is valid and you are authorized to perform this action.[200]”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href=&quot;/link/f07b6ed800424148a8ce32d7f9ff8441.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/72f83d2b963e4051b455eec321d28976.png&quot; width=&quot;244&quot; height=&quot;208&quot; /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;Installing the Microsoft Office Add-In&lt;/h2&gt;  &lt;p&gt;The Microsoft Office Add-In must be installed on each client computer that is to utilize it. This can be done from Edit Mode in CMS.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;1.&amp;#160; From the client machine, in CMS Edit Mode, select the “Root folder” in the “Structure” pane and select the “Microsoft Office Add-In” tab.&lt;/p&gt;    &lt;p&gt;&lt;a href=&quot;/link/d069a42fbaf54dbab5d0ecc389c89b1f.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/2ae35d1eb76542a5a14c7bcf3fe77a24.png&quot; width=&quot;244&quot; height=&quot;75&quot; /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;2. Click the “Install version x.x” button and follow the instructions in the EPiServer CMS Office Add-In Wizard.&lt;/p&gt;    &lt;p&gt;&lt;a href=&quot;/link/bb47b335b7974ac1bb27d89b5ec0de4c.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/fbec8393c5294a96822381afda1e8214.png&quot; width=&quot;244&quot; height=&quot;201&quot; /&gt;&lt;/a&gt; &lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;Activating the Microsoft Office Add-In&lt;/h2&gt;  &lt;p&gt;The Microsoft Office Add-In must be activated for each CMS site on which you wish to utilize it.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;1. In CMS Edit Mode, select the “Root folder” in the “Structure” pane and select the “Microsoft Office Add-In” tab.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;2. Select the “2. Activate” tab and click the “Activate” button.&lt;/p&gt;    &lt;p&gt;&lt;a href=&quot;/link/a851d6008cdc40c1a3024c47afc35ae2.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/1eb2d2d2e6234d99b71a4fbcc4d37581.png&quot; width=&quot;244&quot; height=&quot;74&quot; /&gt;&lt;/a&gt; &lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Troubleshooting&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;If the client machine is running Windows Vista, Windows Server 2008, or Windows 7, the activation may fail silently but appear that it succeeded because of Internet Explorer security settings.&amp;#160; An easy workaround for this is to to add the CMS site to the Trusted Sites in Internet Explorer on the client machine.&amp;#160; &lt;/p&gt;    &lt;p&gt;Make sure the siteUrl attribute of the siteSettings element in web.config is correct (e.g. the machine or domain name in web.config matches the name in the URL you are accessing to activate the add-in).&amp;#160; The activation will fail silently if the siteUrl is incorrect because the add-in is activated for this URL.&amp;#160; A colleague of mine ran into this issue when setting up CMS on an Amazon EC2 instance because the machine gets renamed every time the instance is brought up. &lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;Installing the Client Components&lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;1. From the client machine, in CMS Edit Mode, select the “Root folder” in the “Structure” pane and select the “Components” tab.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;2. Click the “Install version x.x” button.&lt;/p&gt;    &lt;p&gt;&lt;a href=&quot;/link/4f8d679d35074b9a81e33dd41e1e5a31.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/1ae976618a634efcad0d9ea52a9e15d5.png&quot; width=&quot;244&quot; height=&quot;94&quot; /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;3. The Components tab should look like the following when the components have been successfully installed.&lt;/p&gt;    &lt;p&gt;&lt;a href=&quot;/link/7524467ba2724d49a5dd4d5b7ea0dd49.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/24623f7eb858412ebd47a80dc5d1f9ea.png&quot; width=&quot;244&quot; height=&quot;111&quot; /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Troubleshooting&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;You may not be able to install the client components via the browser on Windows Vista or Windows Server 2008 depending on your Internet Explorer security settings. In this scenario, the “Client components installation” window below will be displayed after clicking the “Install version x.x” button, but the client components will not be installed.&lt;/p&gt;    &lt;p&gt;&lt;a href=&quot;/link/f5ae10be1f1f47e28afe435b42bed254.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/1b28df91b4494aa9b96fc0b454f2d398.png&quot; width=&quot;244&quot; height=&quot;135&quot; /&gt;&lt;/a&gt; &lt;/p&gt;    &lt;p&gt;You can work around this by manually extracting the client component DLLs from… &lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;&lt;strong&gt;CMS 5&lt;/strong&gt; - C:\Program Files\EPiServer\CMS\&amp;lt;CMS version&amp;gt;\Application\UI\ActiveX\EPiServerClientComponents &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;CMS 6&lt;/strong&gt; - C:\Program Files\EPiServer\CMS\&amp;lt;CMS version&amp;gt;\Application\UI\CMS\ActiveX &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;…CAB on the server and registering them manually on the client machine using the following commands:&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;regsvr32.exe EPiFileUpload.dll      &lt;br /&gt;regsvr32.exe EPiOfficeIntegration.dll&lt;/p&gt;&lt;/blockquote&gt;</description>            <guid>https://world.optimizely.com/blogs/Joe-Bianco/Dates/2009/10/Utilizing-the-Microsoft-Office-Add-In-and-Client-Components-with-EPiServer-CMS/</guid>            <pubDate>Wed, 07 Oct 2009 00:09:32 GMT</pubDate>           <category>Blog post</category></item></channel>
</rss>