<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">Blog posts by Edenström EPiServer</title><link href="https://world.optimizely.com/blogs/Edenstrom-EPiServer/" /><updated>2011-09-22T14:01:06.8330000Z</updated><id>https://world.optimizely.com/blogs/Edenstrom-EPiServer/</id><generator uri="https://world.optimizely.com/blogs/Edenstrom-EPiServer/" version="2.0">Optimizely World</generator><entry><title>Fixing EPiServer's context menu bug in Google Chrome</title><link href="http://blog.nansen.se/2011/09/fixing-episervers-context-menu-bug-in.html" /><id>http://blog.nansen.se/2011/09/fixing-episervers-context-menu-bug-in.html</id><published>2011-09-22T08:30:00.0000000Z</published><updated>2011-09-22T11:01:07.1900000Z</updated><author><name>martin.edenstrom@cybercomgroup.com</name></author><category term="Blog post" /><summary type="html">As all of you using Google Chrome on an EPiServer website, know that the right click menu isn't opening correctly in your browser. The problem appears when you have scrolled down on a page and try to open the context menu - the menu will open at the top of the page as if you had not scrolled the page.&lt;br /&gt;&lt;br /&gt;After having to endure this bug for a long time and knowing it would take a while for EPiServer to release a new version that fixes it - I chose to try and fix it myself, figuring it would only be a small fix.&lt;br /&gt;&lt;br /&gt;Later, after a bit of investigation, I landed in the &lt;code&gt;contextmenu.js&lt;/code&gt; file located in &lt;code&gt;C:\Program Files (x86)\EPiServer\CMS\6.1.379.0\Application\Util\javascript.&lt;/code&gt; The problem lied in the &lt;code&gt;_ScrollPosition&lt;/code&gt; method where it is calling&amp;nbsp;&lt;code&gt;win.document.documentElement.scrollLeft.&lt;/code&gt;&amp;nbsp;This property always returns zero in Google Chrome. To solve this we can use the&amp;nbsp;&lt;code&gt;win.document.body.scrollLeft&lt;/code&gt;&amp;nbsp;property instead which returns the correct value. Using the OR ( || ) operator we can make the browser choose the property that returns a value other than zero.&lt;br /&gt;&lt;br /&gt;The final method will look like this after fixing the bug (green is the changed code):&lt;br /&gt;&lt;div style="color: black; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;"&gt;&lt;div style="background-attachment: initial; background-clip: initial; background-color: #f4f4f4; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; overflow-x: auto; overflow-y: auto;"&gt;&lt;ol start="555" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; margin-bottom: 0px; margin-left: 3em; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 5px; padding-right: 0px; padding-top: 0px; white-space: nowrap;"&gt;&lt;li style="background-color: white;"&gt;ContextMenu.prototype._ScrollPosition = &lt;span style="color: blue;"&gt;function&lt;/span&gt;(win)&lt;/li&gt;&lt;li style="background-color: white;"&gt;{&lt;/li&gt;&lt;li style="background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;var&lt;/span&gt; scrollX = 0;&lt;/li&gt;&lt;li style="background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;var&lt;/span&gt; scrollY = 0;&lt;/li&gt;&lt;li style="background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (!&lt;span style="color: blue;"&gt;this&lt;/span&gt;._IsCrossSite(win.top) &amp;amp;&amp;amp; win.top.document.documentElement.scrollTop != &lt;span style="color: blue;"&gt;null&lt;/span&gt;)&lt;/li&gt;&lt;li style="background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/li&gt;&lt;li&gt;&lt;span style="background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;scrollX = win.document.documentElement.scrollLeft &lt;/span&gt;&lt;span style="background-color: #d9ead3;"&gt;|| win.document.body.scrollLeft;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;scrollY = win.document.documentElement.scrollTop &lt;/span&gt;&lt;span style="background-color: #d9ead3;"&gt;|| win.document.body.scrollTop;&lt;/span&gt;&lt;/li&gt;&lt;li style="background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/li&gt;&lt;li style="background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;else&lt;/span&gt; &lt;span style="color: blue;"&gt;if&lt;/span&gt; (win.pageYOffset != &lt;span style="color: blue;"&gt;null&lt;/span&gt;)&lt;/li&gt;&lt;li style="background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/li&gt;&lt;li style="background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;scrollX = win.pageXOffset;&lt;/li&gt;&lt;li style="background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;scrollY = win.pageYOffset;&lt;/li&gt;&lt;li style="background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li style="background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li style="background-color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;return&lt;/span&gt; [scrollX, scrollY];&lt;/li&gt;&lt;li style="background-color: white;"&gt;}&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Modifiying EPiServer's files might break the support and is at your own risk. I have however not found any problems with it so far.&lt;br /&gt;&lt;br /&gt;If you want to include this for all editors of your site you can add the following code in your MasterPage which will replace the EPiServer-method with the bug-fixed one:&lt;br /&gt;&lt;br /&gt;&lt;div style="color: black; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;"&gt;&lt;div style="background-color: white; overflow: auto; padding: 2px 5px; white-space: nowrap;"&gt;&lt;span style="color: blue;"&gt;protected&lt;/span&gt; &lt;span style="color: blue;"&gt;override&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; OnLoad(&lt;span style="color: #2b91af;"&gt;EventArgs&lt;/span&gt; e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;base&lt;/span&gt;.OnLoad(e);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (Request.IsAuthenticated &amp;amp;&amp;amp; CurrentPage.QueryDistinctAccess(&lt;span style="color: #2b91af;"&gt;AccessLevel&lt;/span&gt;.Publish))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #2b91af;"&gt;ScriptManager&lt;/span&gt;.Current.AddEventListener(&lt;span style="color: #a31515;"&gt;"window"&lt;/span&gt;, &lt;span style="color: #a31515;"&gt;"load"&lt;/span&gt;, &lt;span style="color: #a31515;"&gt;"function(){ContextMenu.prototype._ScrollPosition=function(win){var scrollX=0;var scrollY=0;if(!this._IsCrossSite(win.top)&amp;amp;&amp;amp;win.top.document.documentElement.scrollTop!=null){scrollX=win.document.documentElement.scrollLeft||win.document.body.scrollLeft;scrollY=win.document.documentElement.scrollTop||win.document.body.scrollTop}else if(win.pageYOffset!=null){scrollX=win.pageXOffset;scrollY=win.pageYOffset}return[scrollX,scrollY]}}"&lt;/span&gt;);&lt;br /&gt;}&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Let me know if you find any problems with it!&lt;div class="blogger-post-footer"&gt;&lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/6619606000431090378-6792522588379418340?l=blog.nansen.se" alt="" /&gt;&lt;/div&gt;</summary></entry><entry><title>Customize EPi Commerce Order listing</title><link href="http://blog.nansen.se/2011/09/customize-epi-commerce-order-listing.html" /><id>http://blog.nansen.se/2011/09/customize-epi-commerce-order-listing.html</id><published>2011-09-20T15:19:00.0000000Z</published><updated>2011-09-22T14:01:06.8330000Z</updated><author><name>martin.edenstrom@cybercomgroup.com</name></author><category term="Blog post" /><summary type="html">&lt;p&gt;In a current project using EPi Commerce we ran into an issue in Commerce Admin. It was very hard to get a good overview of placed orders. This due to the ID column in commerce manager displaying OrderGroupId instead of the generated TrackingNumber communicated to the customers. &lt;/p&gt;  &lt;p&gt;This is updated with EPi Commerce R2 / EFC 5.2 but we haven't had the possibility to upgrade yet.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;View in EPi Commerce / EFC 5.1&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-qNfLVmySFNk/TniS2MomN9I/AAAAAAAAAcs/Mimt1ke-1p0/s1600-h/5_1%25255B1%25255D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="5_1" border="0" alt="5_1" src="http://lh6.ggpht.com/-2vxSo6QroZc/TniS2qqz7ZI/AAAAAAAAAcw/hP-O0G93c1I/5_1_thumb.png?imgmax=800" width="488" height="107" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;View in EPi Commerce R2 / EFC 5.2&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-EUadihGq1Y8/TniS26DbLII/AAAAAAAAAc0/KmKUJjVRL04/s1600-h/5_2%25255B1%25255D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="5_2" border="0" alt="5_2" src="http://lh4.ggpht.com/-jIv8FOIKxUU/TniS3V7aq3I/AAAAAAAAAc4/NfmpxJRpfX8/5_2_thumb.png?imgmax=800" width="480" height="132" /&gt;&lt;/a&gt; &lt;/p&gt;    &lt;p&gt;If a customer contacts the merchant with a query about a specific order, the Order listing in the first release of EPi Commerce / EFC 5.1 don’t display the Order no. given to the customer.&lt;/p&gt;  &lt;p&gt;And the search don’t allow search on the property called “TrackingNumber” either. We needed to solve this issue quickly, waiting for all that comes with upgrading to a new version wasn’t an option.&lt;/p&gt;  &lt;p&gt;Commerce manager keeps it’s controls and configurations related to the manager UI in a folder located by default in: &lt;/p&gt;  &lt;p&gt;&lt;b&gt;C:\Program Files (x86)\Mediachase\eCommerceFramework\5.1\[YourSiteName]&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Configuration for the Order lists are kept in the following file.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;C:\Program Files (x86)\Mediachase\eCommerceFramework\5.1\[YourSiteName]\Shared\Apps\Order\Order.config&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;In this file you can add columns you wish to list, as long as they are on the PurchaseOrder Object.&lt;/p&gt;  &lt;p&gt;The view tag in the config file contains the columns listed in the view&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="language-csharp"&gt;&lt;code&gt;&lt;span class="lnum"&gt;   89:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;View id="Orders-List" … &amp;gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To add a new column just insert. The line below adds a new column displaying Order Creation date. (Property “Created”)&lt;/p&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px; white-space: pre; "&gt;&lt;span class="lnum"&gt;   &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Column&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;="200"&lt;/span&gt; &lt;span class="attr"&gt;AllowSorting&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt; &lt;span class="attr"&gt;DataField&lt;/span&gt;&lt;span class="kwrd"&gt;="Created"&lt;/span&gt; &lt;span class="attr"&gt;HeadingText&lt;/span&gt;&lt;span class="kwrd"&gt;="Order Created"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;p&gt;The Order Id is displayed using a link template control which is located in&lt;/p&gt;&lt;p&gt;&lt;b&gt;C:\Program Files (x86)\Mediachase\eCommerceFramework\5.1\AvalancheCMS\Shared\Apps\Order\GridTemplates\OrderLinkTemplate.ascx&lt;/b&gt;&lt;/p&gt;&lt;p&gt;To stop using the internal object Id of the order and instead display the generated order number for the purchase order we just need to update the following in the OrderLinkTemplate.ascx:&lt;/p&gt;&lt;p&gt;From:&lt;/p&gt;&lt;div class="csharpcode" style="font-family: monospace; font-size: 13px; white-space: pre; "&gt;&lt;pre class="language-csharp"&gt;&lt;code&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;    Text='&lt;span class="asp"&gt;&amp;lt;%&lt;/span&gt;# EcfListView.GetDataCellValue(DataBinder.Eval(DataBinder.GetDataItem(Container),&lt;span class="str"&gt;"OrderGroupId"&lt;/span&gt;)) &lt;span class="asp"&gt;%&amp;gt;&lt;/span&gt;'&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To:&lt;/p&gt;&lt;div class="csharpcode" style="font-family: monospace; font-size: 13px; white-space: pre; "&gt;&lt;pre class="language-csharp"&gt;&lt;code&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;Text='&lt;span class="asp"&gt;&amp;lt;%&lt;/span&gt;# GetViewName().Equals("PurchaseOrder") ? EcfListView.GetDataCellValue(DataBinder.Eval(DataBinder.GetDataItem(Container),&lt;span class="str"&gt;"TrackingNumber"&lt;/span&gt;)) : EcfListView.GetDataCellValue(DataBinder.Eval(DataBinder.GetDataItem(Container),"OrderGroupId")) &lt;span class="asp"&gt;%&amp;gt;&lt;/span&gt;'&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="csharpcode"&gt;Adding the Creation date and modifying the LinkTemplate to show TrackingNumber instead of OrderGroupId will make the listing look like this:&lt;/div&gt;&lt;br /&gt;&lt;a href="http://lh4.ggpht.com/-PUJFopAc4OY/TniS3-D8TtI/AAAAAAAAAc8/XmcjkfGswqU/s1600-h/5_1_mod%25255B3%25255D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="5_1_mod" border="0" alt="5_1_mod" src="http://lh5.ggpht.com/-gH3RlBP1MMQ/TniS4YQv2gI/AAAAAAAAAdA/0FKmBcgpL9k/5_1_mod_thumb%25255B1%25255D.png?imgmax=800" width="487" height="80" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;So if you are not running your site on EPi Commerce R2 yet this might ease the process of identifying orders in Commerce Manager until you upgrade. &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/6619606000431090378-2373526969759930994?l=blog.nansen.se" alt="" /&gt;&lt;/div&gt;</summary></entry><entry><title>Implement a SettingsPageType in EPiServer</title><link href="http://blog.nansen.se/2011/09/implement-settingspagetype-in-episerver.html" /><id>http://blog.nansen.se/2011/09/implement-settingspagetype-in-episerver.html</id><published>2011-09-15T11:05:00.0000000Z</published><updated>2011-09-22T11:01:12.6130000Z</updated><author><name>martin.edenstrom@cybercomgroup.com</name></author><category term="Blog post" /><summary type="html">There are loads of different opinions about this matter. Even here at Nansen we haven't reached consensus. This is strictly my personal opinion.&lt;br /&gt;&lt;br /&gt;Here's why I think you should use a separate page type for global site settings.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Do not bloat the start page with non start page related properties.&lt;/li&gt;&lt;li&gt;DO NOT BLOAT THE START PAGE WITH NON START PAGE RELATED PROPERTIES.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The only downside is I have to contradict myself to implement this. You still need to add one property to your start page. A page reference property for pointing out the settings page, so you can easily reach it from code.&lt;br /&gt;&lt;br /&gt;For easy code access to your settings I suggest that you add this code snippet in your page template base class, page type base class or your master page base class:&lt;br /&gt;&lt;br /&gt;&lt;div style="border: #000080 1px solid; color: black; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;"&gt;&lt;div style="background-color: black; max-height: 500px; overflow: auto; padding: 2px 5px;"&gt;&lt;span style="color: #cc7832;"&gt;private&lt;/span&gt;&lt;span style="color: white;"&gt; &lt;/span&gt;&lt;span style="color: #ffc66d;"&gt;SettingsPageType&lt;/span&gt;&lt;span style="color: white;"&gt; _settings;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #cc7832;"&gt;public&lt;/span&gt;&lt;span style="color: white;"&gt; &lt;/span&gt;&lt;span style="color: #ffc66d;"&gt;SettingsPageType&lt;/span&gt;&lt;span style="color: white;"&gt; Settings&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc7832;"&gt;get&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: white;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc7832;"&gt;if&lt;/span&gt;&lt;span style="color: white;"&gt; (_settings == &lt;/span&gt;&lt;span style="color: #cc7832;"&gt;null&lt;/span&gt;&lt;span style="color: white;"&gt;)&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: white;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc7832;"&gt;var&lt;/span&gt;&lt;span style="color: white;"&gt; startPage = &lt;/span&gt;&lt;span style="color: #ffc66d;"&gt;DataFactory&lt;/span&gt;&lt;span style="color: white;"&gt;.Instance.GetPage(&lt;/span&gt;&lt;span style="color: #ffc66d;"&gt;PageReference&lt;/span&gt;&lt;span style="color: white;"&gt;.StartPage) &lt;/span&gt;&lt;span style="color: #cc7832;"&gt;as&lt;/span&gt;&lt;span style="color: white;"&gt; &lt;/span&gt;&lt;span style="color: #ffc66d;"&gt;StartPageType&lt;/span&gt;&lt;span style="color: white;"&gt;;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc7832;"&gt;if&lt;/span&gt;&lt;span style="color: white;"&gt; (startPage == &lt;/span&gt;&lt;span style="color: #cc7832;"&gt;null&lt;/span&gt;&lt;span style="color: white;"&gt; || startPage.SettingsPage == &lt;/span&gt;&lt;span style="color: #cc7832;"&gt;null&lt;/span&gt;&lt;span style="color: white;"&gt;)&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: white;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc7832;"&gt;throw&lt;/span&gt;&lt;span style="color: white;"&gt; &lt;/span&gt;&lt;span style="color: #cc7832;"&gt;new&lt;/span&gt;&lt;span style="color: white;"&gt; &lt;/span&gt;&lt;span style="color: #ffc66d;"&gt;ApplicationException&lt;/span&gt;&lt;span style="color: white;"&gt;(&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #a5c25c;"&gt;"Settings page not configured. The website will not work until it has been configured."&lt;/span&gt;&lt;span style="color: white;"&gt;);&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: white;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: white;"&gt;_settings = startPage.SettingsPage;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: white;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #cc7832;"&gt;return&lt;/span&gt;&lt;span style="color: white;"&gt; _settings;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: white;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;A small downside is that there will be an extra request to the EPiServer page cache. But I'm convinced it will not affect the performance of your website.&lt;br /&gt;&lt;br /&gt;A typical example of using site settings is that the editor wants the website logo to be replaceable. So in my SettingsPageType I add a property for this purpose:&lt;br /&gt;&lt;div style="border: #000080 1px solid; color: black; font-family: 'Courier New', Courier, Monospace; font-size: 10pt;"&gt;&lt;div style="background-color: black; max-height: 300px; overflow: auto; padding: 2px 5px;"&gt;&lt;span style="color: white;"&gt;[&lt;/span&gt;&lt;span style="color: #ffc66d;"&gt;PageTypeProperty&lt;/span&gt;&lt;span style="color: white;"&gt;(Type = &lt;/span&gt;&lt;span style="color: #cc7832;"&gt;typeof&lt;/span&gt;&lt;span style="color: white;"&gt;(&lt;/span&gt;&lt;span style="color: #ffc66d;"&gt;PropertyImageUrl&lt;/span&gt;&lt;span style="color: white;"&gt;),&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: white;"&gt;EditCaption = &lt;/span&gt;&lt;span style="color: #a5c25c;"&gt;"Website logo"&lt;/span&gt;&lt;span style="color: white;"&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: white;"&gt;HelpText = &lt;/span&gt;&lt;span style="color: #a5c25c;"&gt;"The website logo, visible on all pages on the website."&lt;/span&gt;&lt;span style="color: white;"&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: white;"&gt;UniqueValuePerLanguage = &lt;/span&gt;&lt;span style="color: #cc7832;"&gt;false&lt;/span&gt;&lt;span style="color: white;"&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: white;"&gt;SortOrder = 10)]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #cc7832;"&gt;public&lt;/span&gt;&lt;span style="color: white;"&gt; &lt;/span&gt;&lt;span style="color: #cc7832;"&gt;virtual&lt;/span&gt;&lt;span style="color: white;"&gt; &lt;/span&gt;&lt;span style="color: #cc7832;"&gt;string&lt;/span&gt;&lt;span style="color: white;"&gt; SiteLogo { &lt;/span&gt;&lt;span style="color: #cc7832;"&gt;get&lt;/span&gt;&lt;span style="color: white;"&gt;; &lt;/span&gt;&lt;span style="color: #cc7832;"&gt;set&lt;/span&gt;&lt;span style="color: white;"&gt;; }&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Then in your master page you set the image source to &amp;lt;%= Settings.SiteLogo %&amp;gt; or manage it in code behind.&lt;br /&gt;&lt;br /&gt;From an editors point of view it's confusing to see global site settings mixed with the content of the start page. There's a risk that they'll be confused and that they might change something unintentionally.&lt;br /&gt;&lt;br /&gt;The coolest and most convincing argument is that you can add this neat page type icon to your SettingsPageType:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-vH6GhF_9x74/TnG7K3XGQxI/AAAAAAAAADY/M59idePE9zI/s1600/sitesettings-icon.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-vH6GhF_9x74/TnG7K3XGQxI/AAAAAAAAADY/M59idePE9zI/s1600/sitesettings-icon.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/6619606000431090378-5590375768237977700?l=blog.nansen.se" alt="" /&gt;&lt;/div&gt;</summary></entry><entry><title>EPiServer releases in December 2010 + CMS news Sweden</title><link href="https://world.optimizely.com/blogs/Edenstrom-EPiServer/Dates/2009/2/MKSE-om-EPiServer-i-februari/" /><id>https://world.optimizely.com/blogs/Edenstrom-EPiServer/Dates/2009/2/MKSE-om-EPiServer-i-februari/</id><published>2009-02-15T14:27:18.8270000Z</published><updated>2009-02-15T14:27:18.9200000Z</updated><author><name>martin.edenstrom@cybercomgroup.com</name></author><category term="Blog post" /><summary type="html">MKSE.com CMS EPiServer Polopoly Drupal &lt;br /&gt;&lt;br /&gt; Spiro Kommunikation är 1 av 14 Silverstripe Certified Partner 12/30/2010 &lt;br /&gt;&lt;br /&gt; Visst finns det redan Silverstripe open source fokuserade konsulter i Sverige. Den lilla hype bolaget haft i USA under… WebTranslateIt.com förenklar översättningar i CMS-projektet 12/30/2010 &lt;br /&gt;&lt;br /&gt; WebTranslateIt.com är ett smidigt, webbaserat CAT (computer-aided translation tool) för översättningsarbete som siktar på att bli bäst på att… Polopoly 10, Polopoly går i graven, Atex är äntligen här 12/29/2010 &lt;br /&gt;&lt;br /&gt; Precis innan årsskiftet berättar Peter Antman på Atex Polopoly att de är stolta över att äntligen släppt Polopoly 10.… Semic släppt på EPiServer CMS av Limetta 12/28/2010 &lt;br /&gt;&lt;br /&gt; Semic.se har fått en ny webbplats byggd på den EPiServer CMS-platta (EPiServer CMS 5?) som förlagsfokuserade Limetta tagit fram… Bravida släpper EPiServer Relate+ intranät av Cloud Nine 12/28/2010 &lt;br /&gt;&lt;br /&gt; Tjejen på Cloud Nine har inte hört av sig på sistone och jag har missat deras yearly-round-up releaser. Där… Nya Skanova.se släppt av Tieto 12/28/2010 &lt;br /&gt;&lt;br /&gt; Tieto har i december släppt Skanovas nya Skanova.se på en Oracle-lösning (!) med Cufon-stöd samt… inte så mycket mer.… Liferay från EdgeGuide och Castrix 12/27/2010 &lt;br /&gt;&lt;br /&gt; Efter att SBS och Kanal 5 samt Kanal 9 valde plattformen för mer än 3 år sedan har det… Clipsource.se vill ha betalt för videoklippen på er sajt 12/27/2010 &lt;br /&gt;&lt;br /&gt; Clipsource.se är en tjänst snarlik amerikanska BrightCove av Kamera.com-Dan Willstrand. Tjänsten vill bli ”ett svenskt alternativ till Youtube”. Men… SiteVision satsar på tjänstetörstande offentlig sektor 12/27/2010 &lt;br /&gt;&lt;br /&gt; De kommuner och landsting som gillar java, har javakunnig personal och troligtvis tidigare haft det som SOE kommer få… BraScandinavia.com släppt av Traffic Light WordPress 12/27/2010 &lt;br /&gt;&lt;br /&gt; Traffic Light med WordPress Developer Martin Peterffy berättar att de släppt Brascandinavia.com på WordPress CMS. Bra Scandinavia representerar, tex… Fritidsresor väljer WordPress CMS för nya sajten 12/23/2010 &lt;br /&gt;&lt;br /&gt; Ännu mer CMS-nytt från TUI Fritidsresor. De valde WordPress CMS när nya sajten Fritidsresor.nu/mads-mikkelsen på Fritidsresor.nu-domänen släpptes berättar David… ICA e-handelssatsar på Microsoft Commerce 12/23/2010 &lt;br /&gt;&lt;br /&gt; Senaste företaget som också väljer 2010 års .NET-succé Microsoft Commerce?  ICA. Matjätten har valt installera en Commerce Server från… Tyresö går från EPiServer 4 till EPiServer CMS 6 12/23/2010 &lt;br /&gt;&lt;br /&gt; Avantime har redesignat och uppgraderat Tyresö kommuns intranät (min hemkommun). I uppdraget ingick att återimplementera externwebbfunktioner som nyhetslistningar och… Sogeti EPiServer Competence Center i Norrland dör? 12/22/2010 &lt;br /&gt;&lt;br /&gt; Svårt att få det bekräftat nu när alla är på julledighet, men får höra branschskvaller från norr att hela… Traffic Light bakom nya Keybroker.com på WordPress 12/22/2010 &lt;br /&gt;&lt;br /&gt; Webbyrån Traffic Light med WordPress Developer Martin Peterffy har släppt nya Keybroker.com hemsidan på WordPress CMS. Keybroker kallar sig… </summary></entry><entry><title>EPiServer nyheter</title><link href="https://world.optimizely.com/blogs/Edenstrom-EPiServer/Dates/2008/9/EPiServer-nyheter-september/" /><id>https://world.optimizely.com/blogs/Edenstrom-EPiServer/Dates/2008/9/EPiServer-nyheter-september/</id><published>2008-11-03T09:12:44.0000000Z</published><updated>2008-11-03T09:12:44.0000000Z</updated><author><name>martin.edenstrom@cybercomgroup.com</name></author><category term="Blog post" /><summary type="html">EPiServer&lt;script src="http://feeds.feedburner.com/EpiserverPolopolyReddotSharepointDrupalWordpressEcmCmsWcmPortal?format=sigpro" type="text/javascript"&gt;&lt;/script&gt;</summary></entry><entry><title>EPiServer - det händer i oktober</title><link href="https://world.optimizely.com/blogs/Edenstrom-EPiServer/Dates/2008/10/EPiServer---det-hander-i-oktober/" /><id>https://world.optimizely.com/blogs/Edenstrom-EPiServer/Dates/2008/10/EPiServer---det-hander-i-oktober/</id><published>2008-10-16T16:29:25.1030000Z</published><updated>2008-10-16T16:29:25.1330000Z</updated><author><name>martin.edenstrom@cybercomgroup.com</name></author><category term="Blog post" /><summary type="html">EPiServer &lt;script src="http://feeds.feedburner.com/EpiserverPolopolyReddotSharepointDrupalWordpressEcmCmsWcmPortal?format=sigpro" type="text/javascript"&gt;&lt;/script&gt;</summary></entry><entry><title>EPiServer nyheter 2008</title><link href="https://world.optimizely.com/blogs/Edenstrom-EPiServer/Dates/2008/4/EPiServer-nyheter-2008/" /><id>https://world.optimizely.com/blogs/Edenstrom-EPiServer/Dates/2008/4/EPiServer-nyheter-2008/</id><published>2008-04-21T11:00:02.0470000Z</published><updated>2008-04-21T11:00:02.1230000Z</updated><author><name>martin.edenstrom@cybercomgroup.com</name></author><category term="Blog post" /><summary type="html">&lt;script src="http://feeds.feedburner.com/EpiserverPolopolyReddotSharepointDrupalWordpressEcmCmsWcmPortal?format=sigpro" type="text/javascript"&gt;&lt;/script&gt;  &lt;div class="feedburnerFeedBlock" id="EpiserverPolopolyReddotSharepointDrupalWordpressEcmCmsWcmPortal1419628"&gt; &lt;p class="feedTitle"&gt;&lt;a href="http://edenstrom.wordpress.com"&gt;EPiServer nyheter&lt;/a&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;span class="headline"&gt;&lt;a href="http://edenstrom.wordpress.com/2008/04/21/sharepoint-projektportal-till-skanska/" target="_blank"&gt;Sharepoint projektportal till Skanska&lt;/a&gt;&lt;/span&gt; &lt;p class="feedItemAuthor"&gt;edenstrom&lt;/p&gt; &lt;p class="date"&gt;Apr 21, 2008&lt;/p&gt; &lt;div&gt;Microsoft Consulting Services, Microsoft “inhouse”, har släppt en portal för bättre projektkontroll för Skanska. Portalen, baserad på SharePoint Server…&lt;/div&gt; &lt;/li&gt;&lt;li&gt;&lt;span class="headline"&gt;&lt;a href="http://edenstrom.wordpress.com/2008/04/19/hogre-acceptans-for-tredjepartsprodukter-i-cms/" target="_blank"&gt;Högre acceptans för tredjepartsprodukter i CMS&lt;/a&gt;&lt;/span&gt; &lt;p class="feedItemAuthor"&gt;edenstrom&lt;/p&gt; &lt;p class="date"&gt;Apr 19, 2008&lt;/p&gt; &lt;div&gt;Svenska nyhetssajter vågar ge tillverkare av tredjepartsprodukter (se t ex EPiMore) allt mer extern yta. Deras varumärken exponeras utåt…&lt;/div&gt; &lt;/li&gt;&lt;li&gt;&lt;span class="headline"&gt;&lt;a href="http://edenstrom.wordpress.com/2008/04/18/affarsvarldense-live-pa-escenic/" target="_blank"&gt;Affarsvarlden.se live på Escenic&lt;/a&gt;&lt;/span&gt; &lt;p class="feedItemAuthor"&gt;edenstrom&lt;/p&gt; &lt;p class="date"&gt;Apr 18, 2008&lt;/p&gt; &lt;div&gt;Affärsvärlden var medvetna om sin “90-talssajt”. Både jag och nylanserade Va.se får svar på tar när Jon Åsbergs Afv.se…&lt;/div&gt; &lt;/li&gt;&lt;li&gt;&lt;span class="headline"&gt;&lt;a href="http://edenstrom.wordpress.com/2008/04/18/resumese-community-flopp-reklambloggar-engagerar-mer/" target="_blank"&gt;Resume.se community flopp - reklambloggar engagerar mer&lt;/a&gt;&lt;/span&gt; &lt;p class="feedItemAuthor"&gt;edenstrom&lt;/p&gt; &lt;p class="date"&gt;Apr 18, 2008&lt;/p&gt; &lt;div&gt;Noggrant följde jag vinterns nylansering av Resume.se. Av andra anledningar än den nya designen. Viggo Cavlings gäng valde att…&lt;/div&gt; &lt;/li&gt;&lt;li&gt;&lt;span class="headline"&gt;&lt;a href="http://edenstrom.wordpress.com/2008/04/18/josh-utvecklar-for-iphone/" target="_blank"&gt;Josh utvecklar för iPhone&lt;/a&gt;&lt;/span&gt; &lt;p class="feedItemAuthor"&gt;edenstrom&lt;/p&gt; &lt;p class="date"&gt;Apr 18, 2008&lt;/p&gt; &lt;div&gt;Communityutvecklarna Josh har tagit del av Apples iPhone SDK och har utvecklat XCAP MINI för iPhone. Via iphone.josh.se finns…&lt;/div&gt; &lt;/li&gt;&lt;li&gt;&lt;span class="headline"&gt;&lt;a href="http://edenstrom.wordpress.com/2008/04/17/inwarehousese-relanseras/" target="_blank"&gt;inWarehouse.se relanseras&lt;/a&gt;&lt;/span&gt; &lt;p class="feedItemAuthor"&gt;edenstrom&lt;/p&gt; &lt;p class="date"&gt;Apr 17, 2008&lt;/p&gt; &lt;div&gt;inWarehouse.se, numera en del av norska Komplett, har lanserats på ny e-handelsplattform. Webbplatsen ska ha blivit snabbare och enklare med…&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt; &lt;div id="creditfooter"&gt;&lt;a href="http://www.feedburner.com" target="_blank"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" alt="Headlines by FeedBurner" src="http://www.feedburner.com/fb/images/buzzboost-pwrd.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;</summary></entry><entry><title>EPiServer CMS nyheter</title><link href="https://world.optimizely.com/blogs/Edenstrom-EPiServer/Dates/2008/4/sdfsdfsd/" /><id>https://world.optimizely.com/blogs/Edenstrom-EPiServer/Dates/2008/4/sdfsdfsd/</id><published>2008-04-02T12:18:50.6270000Z</published><updated>2008-04-02T12:18:50.6400000Z</updated><author><name>martin.edenstrom@cybercomgroup.com</name></author><category term="Blog post" /><summary type="html">&lt;p&gt; &lt;script src="http://feeds.feedburner.com/EpiserverPolopolyReddotSharepointDrupalWordpressEcmCmsWcmPortal?format=sigpro" type="text/javascript"&gt;&lt;/script&gt;  &lt;/p&gt;&lt;div class="feedburnerFeedBlock" id="EpiserverPolopolyReddotSharepointDrupalWordpressEcmCmsWcmPortal1419628"&gt; &lt;p class="feedTitle"&gt;&lt;a href="http://edenstrom.wordpress.com"&gt;EPiServer nyheter&lt;/a&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;span class="headline"&gt;&lt;a href="http://edenstrom.wordpress.com/2008/04/02/vad-gor-episerver-framgangsrikt/" target="_blank"&gt;Vad gör EPiServer framgångsrikt?&lt;/a&gt;&lt;/span&gt; &lt;p class="feedItemAuthor"&gt;edenstrom&lt;/p&gt; &lt;p class="date"&gt;Apr 2, 2008&lt;/p&gt; &lt;div&gt;Någon gång kring julen 2004 var jag på Finlandsgatan 38 för säljutbildning i EPiServer 4. Efter kursen pratade vi…&lt;/div&gt; &lt;/li&gt;&lt;li&gt;&lt;span class="headline"&gt;&lt;a href="http://edenstrom.wordpress.com/2008/04/02/nacka-valjer-sharepoint-moss/" target="_blank"&gt;Nacka väljer Sharepoint MOSS&lt;/a&gt;&lt;/span&gt; &lt;p class="feedItemAuthor"&gt;edenstrom&lt;/p&gt; &lt;p class="date"&gt;Apr 2, 2008&lt;/p&gt; &lt;div&gt;Det verkar lossna för Microsoft Sharepoint. Införsäljningscykeln är lång. Men IT-offensiva Nacka kommun (vinnare årets årets IT-kommun 2003) har…&lt;/div&gt; &lt;/li&gt;&lt;li&gt;&lt;span class="headline"&gt;&lt;a href="http://edenstrom.wordpress.com/2008/04/02/riksbanken-pa-episerver/" target="_blank"&gt;Riksbanken på EPiServer&lt;/a&gt;&lt;/span&gt; &lt;p class="feedItemAuthor"&gt;edenstrom&lt;/p&gt; &lt;p class="date"&gt;Apr 2, 2008&lt;/p&gt; &lt;div&gt;Duktiga Valtech har lanserat ännu ett stort statligt projekt på EPiServer. Denna gång är det nya Riksbanken.se. Sajten har,…&lt;/div&gt; &lt;/li&gt;&lt;li&gt;&lt;span class="headline"&gt;&lt;a href="http://edenstrom.wordpress.com/2008/03/31/massan-pa-natet/" target="_blank"&gt;Mässan på nätet&lt;/a&gt;&lt;/span&gt; &lt;p class="feedItemAuthor"&gt;edenstrom&lt;/p&gt; &lt;p class="date"&gt;Mar 31, 2008&lt;/p&gt; &lt;div&gt;Idén om mässan på internet är tillbaka. Amerikanska Unisfair försöker lansera 365-dagars IT-mässan ExpoIT24 för svenska företag. Kortfattat handlar…&lt;/div&gt; &lt;/li&gt;&lt;li&gt;&lt;span class="headline"&gt;&lt;a href="http://edenstrom.wordpress.com/2008/03/31/cms-leverantoren-ansvarar-for-fungerande-seo/" target="_blank"&gt;CMS-leverantören ansvarar för fungerande SEO&lt;/a&gt;&lt;/span&gt; &lt;p class="feedItemAuthor"&gt;edenstrom&lt;/p&gt; &lt;p class="date"&gt;Mar 31, 2008&lt;/p&gt; &lt;div&gt;Får extremt mycket frågor från CMS-kunder om SEO just nu. Och det är helt rätt! Bland konsulterna är det…&lt;/div&gt; &lt;/li&gt;&lt;li&gt;&lt;span class="headline"&gt;&lt;a href="http://edenstrom.wordpress.com/2008/03/31/basta-statliga-webbplatserna-med-cms/" target="_blank"&gt;Bästa statliga webbplatserna med CMS&lt;/a&gt;&lt;/span&gt; &lt;p class="feedItemAuthor"&gt;edenstrom&lt;/p&gt; &lt;p class="date"&gt;Mar 31, 2008&lt;/p&gt; &lt;div&gt;Halvarsson &amp;amp; Halvarsson har utsett årets statliga företagswebbplats. En ganska smal tävling inom främst CSR. Jag kan fylla i…&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt; &lt;div id="creditfooter"&gt;&lt;a href="http://www.feedburner.com" target="_blank"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" alt="Headlines by FeedBurner" src="http://www.feedburner.com/fb/images/buzzboost-pwrd.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;noscript&gt;&lt;/noscript&gt; Där har ni dem. Direkt från http://edenstrom.wordpress.com </summary></entry></feed>