<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss version="2.0">
  <channel>
    <title>data universal inc. - News</title>
    <description>Latest news from Data Universal Inc.</description>
    <link>http://demo.datauniversalinc.com/sf/news.aspx</link>
    <docs>http://backend.userland.com/rss</docs>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/datauniversal-news" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="datauniversal-news" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
      <title>Marketplace 2-year Anniversary Special Pricing</title>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
"Sitefinity Marketplace 2-year Anniversary" special pricing available for a limited time:
&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://demo.datauniversalinc.com/sf/home/recurring_events/recurring_events_purchase.aspx"&gt;Save $30.00 when you buy Recurring Events Components.&lt;/a&gt; &lt;p&gt;Limited time offer, order by January 31, 2012.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;/li&gt; &lt;li&gt;&lt;a href="http://demo.datauniversalinc.com/sf/home/bundle_and_save.aspx"&gt;Bundle and Save! &lt;/a&gt; &lt;p&gt;20% off when you buy a two-module bundle. Up to $54.00 in savings.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;/li&gt; &lt;/ul&gt;</description>
      <link>http://demo.datauniversalinc.com/sf/news/11-10-31/Marketplace_2-year_Anniversary_Special_Pricing.aspx</link>
      <author>Leonard Tarteata</author>
      <comments>http://demo.datauniversalinc.com/sf/news/11-10-31/Marketplace_2-year_Anniversary_Special_Pricing.aspx</comments>
      <guid isPermaLink="false">8b4240d5-ef45-4e3d-9e69-74c67fcaeaf8</guid>
      <pubDate>Mon, 31 Oct 2011 18:30:00 GMT</pubDate>
    </item>
    <item>
      <title>Recurring Events support available for Sitefinity 3.7, 3.6</title>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;We're happy to announce the availability of Recurring Events components that enhance the standard Sitefinity Events Module with support for recurring events creation and maintenance.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;A &lt;a href="http://eval.datauniversalinc.com/signup.aspx" target="_blank"&gt;dedicated evaluation website is available&lt;/a&gt;: please sign-up to assess the new functionality against your needs.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Functional highlights:&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;• Recurrence interval: day, week, month, year.&lt;/li&gt; &lt;li&gt;• Multiple weekday support for weekly events.&lt;/li&gt; &lt;li&gt;• Relative date support for monthly, yearly events (e.g. 2nd Tuesday of the
    month every 2 months; 1st Monday of September every year).&lt;/li&gt; &lt;li&gt;• Easy maintenance: update / delete all events in a series, update only the
    current instance, reset a recurring instance to single event.&lt;/li&gt; &lt;li&gt;• Existent and future custom meta-fields are automatically included in the recurring event creation / updates.&lt;/li&gt; &lt;li&gt;• Events List View includes additional fields: "Event Start", "Event End" dates with sorting enabled; "Recurrence" field displays the type of recurring event (parent, instance, or blank for standard events); links are available for each recurring item that allow for recurrence pattern display, and series filtering.&lt;/li&gt; &lt;li&gt;• Events Calendar View displays the recurring events with a different colour vs. the standard events, and a "recurring event icon" in the top-left corner. Date-picker is enabled to easily navigate to any date. Also, the response time of the calendar view is improved with about 70%
    &lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;
To learn more, please follow these links:
&lt;ul&gt; &lt;li&gt;&lt;a href="http://demo.datauniversalinc.com/sf/home/recurring_events.aspx"&gt;Recurring Events product page&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://eval.datauniversalinc.com/signup.aspx"&gt;Evaluation website&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;</description>
      <link>http://demo.datauniversalinc.com/sf/news/10-10-07/Recurring_Events_support_available_for_Sitefinity_3_7_3_6.aspx</link>
      <author>Leonard Tarteata</author>
      <comments>http://demo.datauniversalinc.com/sf/news/10-10-07/Recurring_Events_support_available_for_Sitefinity_3_7_3_6.aspx</comments>
      <guid isPermaLink="false">7229ad12-73e1-4f02-a180-37e645472fbe</guid>
      <pubDate>Thu, 07 Oct 2010 18:59:00 GMT</pubDate>
    </item>
    <item>
      <title>Tabbed Content control updated to support News, Blogs, Events</title>
      <description>Version 3.0 introduces dedicated tabs for News, Blog Posts, Events, that can be displayed in addition to the tabs generated dynamically based on tagged content.&lt;br /&gt; &lt;br /&gt;
Each dedicated tab can be individually controlled through a set of specific properties, such as:&lt;br /&gt; &lt;ul&gt; &lt;li&gt;&amp;gt; Tab text / title&lt;/li&gt; &lt;li&gt;&amp;gt; Visibility&lt;/li&gt; &lt;li&gt;&amp;gt; Position: before or after the dynamically generated tabs&lt;/li&gt; &lt;li&gt;&amp;gt; Relative sequence: 1st, 2nd, or 3rd&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The update also includes external “item list” templates for News, Blog Posts, and Events that are tabbed-view friendly and help enable the new functionality right away, without additional effort.&lt;/p&gt; &lt;br /&gt; &lt;p&gt;To view the new version in action using your desktop browser, please visit:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a runat="server" href="/sf/home/TabbedContent.aspx"&gt;Static and dynamic tabs, slide-show enabled&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a runat="server" href="/sf/"&gt;Static tabs only&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;</description>
      <link>http://demo.datauniversalinc.com/sf/news/10-06-08/Tabbed_Content_control_updated_to_support_News_Blogs_Events.aspx</link>
      <author>Leonard Tarteata</author>
      <comments>http://demo.datauniversalinc.com/sf/news/10-06-08/Tabbed_Content_control_updated_to_support_News_Blogs_Events.aspx</comments>
      <guid isPermaLink="false">93db5abf-245c-4d47-a4c3-35814a1d07fe</guid>
      <pubDate>Tue, 08 Jun 2010 08:49:35 GMT</pubDate>
    </item>
    <item>
      <title>Just Released: Mapped Content module</title>
      <description>&lt;p&gt;The &lt;strong&gt;Mapped Content &lt;/strong&gt;module can be used to maintain location-specific attributes for generic content and display eligible items on an interactive Google map, with a synchronized sidebar.&lt;/p&gt; &lt;p&gt;The location-enabled items can be related to each other, resulting in drill-down, multiple-level navigation. The map markers can use custom or Google standard icons. Labeled icons are supported as well.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The location specific item information - such as location name, address, description, thumbnail image, directions link - is displayed on both the sidebar and marker info-window. The full item content is displayed in a maximized map info-window.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Sitefinity compatibility&lt;/strong&gt;: versions 3.6,
    3.7 with support for both Standard and Community editions&lt;/li&gt; &lt;li&gt;&lt;strong&gt;.NET Framework&lt;/strong&gt;: 2.0, 3.5&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Browser compatibility&lt;/strong&gt;: Firefox, IE (6.x and up), Chrome,
    Safari, Opera.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://demo.datauniversalinc.com/sf/home/mapped_content.aspx"&gt;Read More ...&lt;/a&gt;&lt;/p&gt;
</description>
      <link>http://demo.datauniversalinc.com/sf/news/10-03-16/Just_Released_Mapped_Content_module.aspx</link>
      <author>Leonard Tarteata</author>
      <comments>http://demo.datauniversalinc.com/sf/news/10-03-16/Just_Released_Mapped_Content_module.aspx</comments>
      <guid isPermaLink="false">4cb94585-499f-4ba7-b647-1efdf3ada957</guid>
      <pubDate>Tue, 16 Mar 2010 14:12:00 GMT</pubDate>
    </item>
    <item>
      <title>Google Static Map control - simple, fast, efficient</title>
      <description>&lt;p&gt;We've just released a new control for Sitefinity CMS - &lt;strong&gt;Google Static Map&lt;/strong&gt;.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The control generates a map image
using the latest Google Static Maps API. The map is centered on the
address provided, with or without a marker.&amp;nbsp; A "click map for
directions" link can be enabled as appropriate. &lt;/p&gt; &lt;p&gt;Use this control
on all cases when an interactive map is not needed or supported, such as
multiple single-address maps on the same page, and maps on pages
designed for mobile browsers. No Google API key required.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;&lt;strong&gt;Map&lt;/strong&gt; properties&lt;/strong&gt;: size (up to 640 x 640 px.),
    type (road map, satellite, terrain), zoom level, map center as an
    address or geo-coordinates, image type (png, gif, jpeg), flag for mobile
    optimization, "click map for directions" flag, CSS class.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;strong&gt;Marker &lt;/strong&gt;properties&lt;/strong&gt;: visibility, color (black, brown, blue, gray, green, orange, purple, red, yellow, white), size
    (regular, medium, small, tiny), label (A-Z, 1-9)&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;To view multiple control instances on a page please &lt;a href="http://demo.datauniversalinc.com/sf/home/StaticMap.aspx" title="Static Map on desktop page"&gt;click here&lt;/a&gt;.&amp;nbsp; To preview the control on a mobile page in Opera Mini please &lt;a target="_blank" href="http://www.opera.com/mini/demo/?ver=4&amp;amp;url=http://demo.datauniversalinc.com/Mobile/Mobile-Static-Map.aspx" title="Static Map on mobile page in Opera Mini"&gt;click here&lt;/a&gt;, or navigate with your mobile browser to the &lt;a href="http://demo.datauniversalinc.com/sf/mobile/mobile-static-map.aspx"&gt;mobile page&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Sitefinity compatibility: &lt;strong&gt;all versions.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The control doesn't have any CMS dependencies and can be used on any ASP.NET (version 2.0 and up) page. &lt;/p&gt;</description>
      <link>http://demo.datauniversalinc.com/sf/news/10-03-08/Google_Static_Map_control_-_simple_fast_efficient.aspx</link>
      <author>Leonard Tarteata</author>
      <comments>http://demo.datauniversalinc.com/sf/news/10-03-08/Google_Static_Map_control_-_simple_fast_efficient.aspx</comments>
      <guid isPermaLink="false">2c2e8f6b-73e6-4b79-a00d-51b5793529ab</guid>
      <pubDate>Mon, 08 Mar 2010 15:26:53 GMT</pubDate>
    </item>
    <item>
      <title>Tabbed Content View version 2.0 released</title>
      <description>&lt;p&gt; &lt;/p&gt; &lt;p&gt;New functionality available in the newly released version 2.0: "Slide-show mode".&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;When slideshow mode is enabled, the selected tab changes automatically to the next
one, with a configurable frequency. Slide-show featured content with no additional effort, and without using
Flash or Silverlight!&lt;/p&gt; &lt;br /&gt; &lt;a href="http://demo.datauniversalinc.com/sf/home/TabbedContent.aspx"&gt;Read more...&lt;/a&gt;
</description>
      <link>http://demo.datauniversalinc.com/sf/news/10-01-17/Tabbed_Content_View_version_2_0_released.aspx</link>
      <author>Leonard Tarteata</author>
      <comments>http://demo.datauniversalinc.com/sf/news/10-01-17/Tabbed_Content_View_version_2_0_released.aspx</comments>
      <guid isPermaLink="false">8be111e6-d57f-442b-8f6d-beed1407f2a8</guid>
      <pubDate>Mon, 18 Jan 2010 01:39:03 GMT</pubDate>
    </item>
    <item>
      <title>Just released: Tabbed Content View control </title>
      <description>&lt;p&gt;&lt;strong&gt;Tabbed Content View&lt;/strong&gt; is a Sitefinity CMS user
control that can be used to display Generic Content items in a tabbed
view.&amp;nbsp; The items selected for display in the tabbed view are filtered
using a tag name - allowing for selection across your existent content
categories, and item reuse by tagging it as appropriate.&amp;nbsp; In short, a
content item can be displayed in as many different tabbed views as tags
assigned.&lt;/p&gt; &lt;p&gt;The tab name and sequence are maintained using custom
meta-fields available on the item creation / update forms, allowing for
consistent, user-friendly tab name reuse.
&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The control
was implemented using standard Telerik RadTabstrip and RadMultipage
controls. As a result there's full support for all built-in properties
and resources (such as skins, tabstrip orientations).&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Sitefinity version compatibility:&lt;strong&gt; 3.6, 3.7 &lt;/strong&gt;&lt;/p&gt; &lt;br /&gt; &lt;p&gt;&lt;img style="border: 1px solid #bfbfbf;" alt="Screenshot - Tabbed Content View" src="http://demo.datauniversalinc.com/sf/Libraries/Screenshots/Tabbed_Content_View.sflb.ashx" /&gt;&lt;/p&gt;
</description>
      <link>http://demo.datauniversalinc.com/sf/news/09-11-24/Just_released_Tabbed_Content_View_control.aspx</link>
      <author>Leonard Tarteata</author>
      <comments>http://demo.datauniversalinc.com/sf/news/09-11-24/Just_released_Tabbed_Content_View_control.aspx</comments>
      <guid isPermaLink="false">6be65478-6ebc-428c-a7da-e2767672b28d</guid>
      <pubDate>Wed, 25 Nov 2009 03:24:25 GMT</pubDate>
    </item>
    <item>
      <title>How to build a Sitefinity mobile website</title>
      <description>&lt;p&gt;Use our Sitefinity Mobile Starter Theme, Response-Redirect Control, and the recently published Quick Start Guide to establish your mobile web presence in about 1 hour.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The Quick Start Guide - available on the theme download page - provides step-by-step instructions on how to build your Sitefinity mobile website side-by-side with your existent, desktop browser-oriented site.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;To download the theme, read the deployment instructions and the Quick Start Guide - please navigate with your desktop browser to the &lt;a href="http://demo.datauniversalinc.com/sf/home/MobileStarter/MobileStarterInfo.aspx"&gt;Mobile Starter Theme Download Page&lt;/a&gt;.&lt;/p&gt;
</description>
      <link>http://demo.datauniversalinc.com/sf/news/09-11-15/How_to_build_a_Sitefinity_mobile_website.aspx</link>
      <author>Leonard Tarteata</author>
      <comments>http://demo.datauniversalinc.com/sf/news/09-11-15/How_to_build_a_Sitefinity_mobile_website.aspx</comments>
      <guid isPermaLink="false">b2572d83-ba38-4444-9869-58effc94e363</guid>
      <pubDate>Sun, 15 Nov 2009 16:28:00 GMT</pubDate>
    </item>
    <item>
      <title>Mobile Starter Theme now available</title>
      <description>&lt;p&gt;The "Mobile Starter" theme is a Sitefinity theme designed for browsers running on mobile devices such as BlackBerry, iPhone, Android, Windows Mobile smartphones.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The starter theme complements the standard theme(s) already in use, and allows a Sitefinity-based website to have a mobile-friendly version as well. The automatic redirection to the mobile website can be performed using our "Response-Redirect Control".&lt;/p&gt;
</description>
      <link>http://demo.datauniversalinc.com/sf/news/09-10-31/Mobile_Starter_Theme_now_available.aspx</link>
      <author>Leonard Tarteata</author>
      <comments>http://demo.datauniversalinc.com/sf/news/09-10-31/Mobile_Starter_Theme_now_available.aspx</comments>
      <guid isPermaLink="false">160b4123-082d-42e8-892b-93d6aaa7b3c7</guid>
      <pubDate>Sat, 31 Oct 2009 13:52:36 GMT</pubDate>
    </item>
    <item>
      <title>Response-Redirect Control</title>
      <description>&lt;p&gt;We've just submitted this control to Sitefinity Marketplace. It allows a page to redirect the response to a request based on user-agent filtering.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The primary use case for this control is when multiple versions of the same page exist and they are browser specific, such as a mobile browser.&lt;/p&gt;
</description>
      <link>http://demo.datauniversalinc.com/sf/news/09-10-31/Response-Redirect_Control.aspx</link>
      <author>Leonard Tarteata</author>
      <comments>http://demo.datauniversalinc.com/sf/news/09-10-31/Response-Redirect_Control.aspx</comments>
      <guid isPermaLink="false">036ab070-af80-43ca-a511-7b429d75dae0</guid>
      <pubDate>Sat, 31 Oct 2009 13:42:06 GMT</pubDate>
    </item>
    <item>
      <title>Cached, up-to-date stylesheets on the client-side </title>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="du_HighlightArea"&gt; &lt;p&gt;In this post we describe a step-by-step procedure that enables client-side caching for static content files, with the ability to force a refresh of the client cache before its expiry, as needed.&lt;/p&gt; &lt;p&gt;We'll apply the procedure to the ~/App_Themes folder as all Sitefinity installations make use of themes, and the majority of requests are for stylesheets, and related images located in the theme folder(s).&lt;/p&gt; &lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Caching static content files on the client-side is a sure way to improve the load time of a webpage, &lt;strong&gt;as experienced by the end-user&lt;/strong&gt;, however often overlooked.&amp;nbsp; More than 80% of the time it takes the client browser to render a webpage is spent requesting and eventually downloading external resources: stylesheets, images, javascript.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Below are the statistics for this page, as reported by YSlow, before and after enabling the functionality described in this article:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Before: 15 HTTP requests with a primed cache&lt;br /&gt; &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;img alt="Client Caching - Before" src="http://demo.datauniversalinc.com/sf/Libraries/Screenshots/Client_Caching_-_Before.sflb.ashx" /&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;strong&gt;After: 3 HTTP requests with a primed cache&lt;br /&gt; &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;img alt="Client Caching - After" src="http://demo.datauniversalinc.com/sf/Libraries/Screenshots/Client_Caching_-_After.sflb.ashx" /&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;By default, the request for a static file is handled by IIS in the following manner:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Content expiration is not enabled&lt;/strong&gt;: IIS writes to the response header a "last-modified" value that corresponds to the date-time the resource was last written to, and no cache-control headers. As a result, the client browser will always issue a request for this resource even though it's already available in the browser cache, and, if the resource hasn't changed, receive from IIS a response status 304 (Not Modified) that tells the browser it's okay to use the cached version. If the resource has changed it will be included in the response from IIS with an updated "last-modified" header value. This ensures the client browser uses the latest version of the resource file. However, for static content files that are part of the website design and rarely change - such as theme files - the overhead of all this HTTP request/response chatter for static content is not justified. All browsers limit the number of parallel requests (8 - 12 total, and fewer for the same hostname) so it's important to minimize the number of requests needed to load a page.&lt;/li&gt; &lt;/ul&gt; &lt;ul&gt; &lt;li&gt;&amp;nbsp;&lt;strong&gt;Content expiration is enabled&lt;/strong&gt;, with a future expiration date: in this case IIS maintains the response cache-control headers such as "max-age" that tells the client browser to use the cached version of the resource and not issue a new request until the cached version expires. As a result, no subsequent HTTP requests will be issued by the browser for all repeat visits (until the cached resource expires), resulting in a dramatic decrease in the number of HTTP requests needed to load a page that uses resources cached on the client-side. The major disadvantage in this case is the client browser will use the cached version of the resource until it expires event though an updated version might be available on the server. Also, there's no way to "notify" the client browser a cached resource should be refreshed before its expiry. This is the reason why many website admins will either avoid using client-side caching, or use a small expiration interval (hours). Others would modify the build / production promotion process to use different file names for different versions - not feasible for a standard implementation using Sitefinity CMS.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;What's Needed:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Access to the IIS server hosting your website;&lt;/li&gt; &lt;li&gt;Access to the DNS record of your domain name.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Procedure Summary:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;DNS record&lt;/strong&gt;: create a new A record for the subdomain used to access the static content files and point it to the same IP address as your domain, e.g. "themes", so that the hostname used to access the theme files is "themes.yourdomain.com";&lt;/li&gt; &lt;li&gt;&lt;strong&gt;IIS server&lt;/strong&gt;: create a new website, set host header values to the newly created subdomain (themes.yourdomain.com), and enable content expiration (use a far-future expiration date);&lt;/li&gt; &lt;li&gt;&lt;strong&gt;IIS Server&lt;/strong&gt;: create one or more virtual directories under the newly created website and point them to the same physical location: App_Themes folder. The virtual folder names should have a numeric part that can be easily increased as soon as a new version of the theme files needs to be pushed to the client, e.g "v001", "v002", etc.;&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Sitefinity CMS&lt;/strong&gt;: add the "CSS Link Update" user control (created as described below) to all page templates and set its configuration values in your website configuration file. The user control, when enabled, updates the source URL for all links in the page header that point to a stylesheet located in ~/App_Themes directory by replacing the ~/App_Themes/ with the control configuration value maintained in "web.config" file, e.g "http://themes.yourdomain.com/v001".&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h3&gt;"CSS Link Update" user control&lt;/h3&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Create a new user control named "CssLinkUpdate.ascx" in your user controls folder, e.g. "~/UserControls/Data_Universal/":&lt;/p&gt; &lt;ul&gt; &lt;li&gt;CssLinkUpdate.ascx file:&lt;/li&gt; &lt;/ul&gt; &lt;div class="reCodeBlock" style="border: 1px solid #7f9db9; overflow-y: auto;"&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;%@ Control Language=&lt;/code&gt;&lt;code style="color: blue;"&gt;"C#"&lt;/code&gt; &lt;code style="color: #000000;"&gt;AutoEventWireup=&lt;/code&gt;&lt;code style="color: blue;"&gt;"true"&lt;/code&gt; &lt;code style="color: #000000;"&gt;CodeFile=&lt;/code&gt;&lt;code style="color: blue;"&gt;"CssLinkUpdate.ascx.cs"&lt;/code&gt; &lt;code style="color: #000000;"&gt;Inherits=&lt;/code&gt;&lt;code style="color: blue;"&gt;"UserControls_Data_Universal_CssLinkUpdate"&lt;/code&gt; &lt;code style="color: #000000;"&gt;%&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&amp;nbsp;CssLinkUpdate.ascx.cs file:&lt;/li&gt; &lt;/ul&gt; &lt;div class="reCodeBlock" style="border: 1px solid #7f9db9; overflow-y: auto;"&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;using&lt;/code&gt; &lt;code style="color: #000000;"&gt;System;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;using&lt;/code&gt; &lt;code style="color: #000000;"&gt;System.Web.UI;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;using&lt;/code&gt; &lt;code style="color: #000000;"&gt;System.Configuration;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;using&lt;/code&gt; &lt;code style="color: #000000;"&gt;System.Web.UI.HtmlControls;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;public&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;partial&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;class&lt;/code&gt; &lt;code style="color: #000000;"&gt;UserControls_Data_Universal_CssLinkUpdate : System.Web.UI.UserControl&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;protected&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;void&lt;/code&gt; &lt;code style="color: #000000;"&gt;Page_Load(&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;object&lt;/code&gt; &lt;code style="color: #000000;"&gt;sender, EventArgs e)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;try&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt; &lt;code style="color: #000000;"&gt;(Convert.ToBoolean(ConfigurationManager.AppSettings[&lt;/code&gt;&lt;code style="color: blue;"&gt;"CssLinkUpdate_Enabled"&lt;/code&gt;&lt;code style="color: #000000;"&gt;]))&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 48px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;string&lt;/code&gt; &lt;code style="color: #000000;"&gt;updateFrom = ConfigurationManager.AppSettings[&lt;/code&gt;&lt;code style="color: blue;"&gt;"CssLinkUpdate_From"&lt;/code&gt;&lt;code style="color: #000000;"&gt;];&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 48px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt;&lt;code style="color: #000000;"&gt;(!updateFrom.EndsWith(&lt;/code&gt;&lt;code style="color: blue;"&gt;"/"&lt;/code&gt;&lt;code style="color: #000000;"&gt;))&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 60px ! important;"&gt;&lt;code style="color: #000000;"&gt;updateFrom += &lt;/code&gt;&lt;code style="color: blue;"&gt;"/"&lt;/code&gt;&lt;code style="color: #000000;"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 48px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt;&lt;code style="color: #000000;"&gt;(!updateFrom.StartsWith(&lt;/code&gt;&lt;code style="color: blue;"&gt;"/"&lt;/code&gt;&lt;code style="color: #000000;"&gt;))&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 60px ! important;"&gt;&lt;code style="color: #000000;"&gt;updateFrom = &lt;/code&gt;&lt;code style="color: blue;"&gt;"/"&lt;/code&gt; &lt;code style="color: #000000;"&gt;+ updateFrom;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 48px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;string&lt;/code&gt; &lt;code style="color: #000000;"&gt;updateTo = ConfigurationManager.AppSettings[&lt;/code&gt;&lt;code style="color: blue;"&gt;"CssLinkUpdate_To"&lt;/code&gt;&lt;code style="color: #000000;"&gt;];&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 48px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt;&lt;code style="color: #000000;"&gt;(!updateTo.EndsWith(&lt;/code&gt;&lt;code style="color: blue;"&gt;"/"&lt;/code&gt;&lt;code style="color: #000000;"&gt;))&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 60px ! important;"&gt;&lt;code style="color: #000000;"&gt;updateTo += &lt;/code&gt;&lt;code style="color: blue;"&gt;"/"&lt;/code&gt;&lt;code style="color: #000000;"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 48px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;foreach&lt;/code&gt; &lt;code style="color: #000000;"&gt;(Control headerControl &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;in&lt;/code&gt; &lt;code style="color: #000000;"&gt;Page.Header.Controls)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 48px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 60px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt; &lt;code style="color: #000000;"&gt;(headerControl.GetType() == &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;typeof&lt;/code&gt;&lt;code style="color: #000000;"&gt;(HtmlLink))&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 60px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 72px ! important;"&gt;&lt;code style="color: #000000;"&gt;HtmlLink headerLink = (HtmlLink)headerControl;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 72px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt; &lt;code style="color: #000000;"&gt;(!String.IsNullOrEmpty(headerLink.Attributes[&lt;/code&gt;&lt;code style="color: blue;"&gt;"rel"&lt;/code&gt;&lt;code style="color: #000000;"&gt;]) &amp;amp;&amp;amp; headerLink.Attributes[&lt;/code&gt;&lt;code style="color: blue;"&gt;"rel"&lt;/code&gt;&lt;code style="color: #000000;"&gt;].ToLower() == &lt;/code&gt;&lt;code style="color: blue;"&gt;"stylesheet"&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 84px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;amp;&amp;amp; !String.IsNullOrEmpty(headerLink.Attributes[&lt;/code&gt;&lt;code style="color: blue;"&gt;"href"&lt;/code&gt;&lt;code style="color: #000000;"&gt;]))&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 72px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 84px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;string&lt;/code&gt; &lt;code style="color: #000000;"&gt;origHref = &lt;/code&gt;&lt;code style="color: blue;"&gt;"/"&lt;/code&gt; &lt;code style="color: #000000;"&gt;+ headerLink.Attributes[&lt;/code&gt;&lt;code style="color: blue;"&gt;"href"&lt;/code&gt;&lt;code style="color: #000000;"&gt;];&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 84px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;int&lt;/code&gt; &lt;code style="color: #000000;"&gt;origIndex = origHref.IndexOf(updateFrom);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 84px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt;&lt;code style="color: #000000;"&gt;(origIndex &amp;gt;= 0)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;&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;/code&gt;&lt;span style="margin-left: 96px ! important;"&gt;&lt;code style="color: #000000;"&gt;headerLink.Attributes[&lt;/code&gt;&lt;code style="color: blue;"&gt;"href"&lt;/code&gt;&lt;code style="color: #000000;"&gt;] = updateTo + origHref.Substring(origIndex + updateFrom.Length);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 72px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 60px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 48px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;catch&lt;/code&gt; &lt;code style="color: #000000;"&gt;(Exception ex)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #000000;"&gt;Response.Write(ex.Message);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Add configuration values in "web.config", section "appSettings":&lt;/li&gt; &lt;/ul&gt; &lt;div class="reCodeBlock" style="border: 1px solid #7f9db9; overflow-y: auto;"&gt; &lt;div style="background-color: #ffffff;"&gt; &lt;p&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;add&lt;/code&gt; &lt;code style="color: #808080;"&gt;key&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"CssLinkUpdate_Enabled"&lt;/code&gt; &lt;code style="color: #808080;"&gt;value&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"false"&lt;/code&gt; &lt;code style="color: #000000;"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;add&lt;/code&gt; &lt;code style="color: #808080;"&gt;key&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"CssLinkUpdate_From"&lt;/code&gt; &lt;code style="color: #808080;"&gt;value&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"App_Themes/"&lt;/code&gt; &lt;code style="color: #000000;"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;add&lt;/code&gt; &lt;code style="color: #808080;"&gt;key&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"CssLinkUpdate_To"&lt;/code&gt; &lt;code style="color: #808080;"&gt;value&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"http://themes.yourdomain.com/v001"&lt;/code&gt; &lt;code style="color: #000000;"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;where "CssLinkUpdate_Enabled" enables / disables the functionality described in this article by setting a value of true / false. Update the value of the "CssLinkUpdate_To" key to your theme-dedicated subdomain name.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;/p&gt; &lt;/blockquote&gt; &lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt;&amp;nbsp;Add the "CSS Link Update" user control to the toolbox by adding the following element to "web.config", section "toolboxControls":&lt;/li&gt; &lt;/ul&gt; &lt;div class="reCodeBlock" style="border: 1px solid #7f9db9; overflow-y: auto;"&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;add name=&lt;/code&gt;&lt;code style="color: blue;"&gt;"CSS Link Update"&lt;/code&gt; &lt;code style="color: #000000;"&gt;section=&lt;/code&gt;&lt;code style="color: blue;"&gt;"Data Universal"&lt;/code&gt; &lt;code style="color: #000000;"&gt;url=&lt;/code&gt;&lt;code style="color: blue;"&gt;"~/UserControls/Data_Universal/CssLinkUpdate.ascx"&lt;/code&gt; &lt;code style="color: #000000;"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The user control is now available for use from the control toolbox (displayed when a page / template is in edit mode), section "Data Universal". Add the control to all page templates, no configuration needed, just drag-and-drop it in a content placeholder.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h3&gt;How to initiate an update &lt;/h3&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;Here's how an updated version of a stylesheet located in App_Themes folder (or related images) can be pushed to all clients, including those that already have a cached version locally:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Promote your updates to the ~/App_Themes folder as you'd normally do it;&lt;/li&gt; &lt;li&gt;Update the virtual content URL in "web.config" file so that it points to a new virtual folder (e.g. from "http://themes.yourdomain.com/v001" to "http://themes.yourdomain.com/v002") and make sure the new virtual folder exists (if not, create one and point it to the same physical App_Themes directory);&lt;/li&gt; &lt;li&gt;Save the "web.config" file (this will cause an application restart and clear any pages cached in the application memory; they will be replaced with a new version that uses the most recent stylesheet links, as configured).&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;/p&gt;</description>
      <link>http://demo.datauniversalinc.com/sf/blogs/eai-blog/10-12-01/Cached_up-to-date_stylesheets_on_the_client-side.aspx</link>
      <author>Leonard Tarteata</author>
      <comments>http://demo.datauniversalinc.com/sf/blogs/eai-blog/10-12-01/Cached_up-to-date_stylesheets_on_the_client-side.aspx</comments>
      <guid isPermaLink="false">bd83bab7-93e1-4255-b677-33b8db9d0fd3</guid>
      <pubDate>Thu, 02 Dec 2010 00:20:00 GMT</pubDate>
    </item>
    <item>
      <title>One Blog, Multiple Authors - Part 2</title>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;This is the second part of a 2-part set of blog posts where we
describe a possible implementation for "single blog - multiple authors"
functionality:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;&lt;a href="/sf/Blogs/dev-blog/10-05-15/One_Blog_Multiple_Authors.aspx" runat="server"&gt;Part 1&lt;/a&gt;&lt;/strong&gt; - Admin view: enable author
    maintenance on the blog post level; &lt;/li&gt; &lt;li&gt;&lt;strong&gt;Part 2&lt;/strong&gt; - Public view: new
    controls that allow filtering by
    author of the blog post.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h3&gt;Part 2 - Public View: Controls that Allow Filtering by Post-level Author&lt;/h3&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="du_HighlightArea"&gt;All files and source code discussed in this post are available for &lt;a href="http://dl.dropbox.com/u/3107913/One Blog Multiple Authors - Part 2.zip"&gt;download&lt;/a&gt;.&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;
We'll create two controls that allow post filtering by the author of the blog post maintained as described in &lt;a href="/sf/Blogs/dev-blog/10-05-15/One_Blog_Multiple_Authors.aspx" runat="server"&gt;Part 1&lt;/a&gt;:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Blog Posts with Author Filter&lt;/strong&gt;: custom control that enhances the built-in Blog Posts control by implementing an extra filter for the post author;&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Blog Authors&lt;/strong&gt;: user control that lists contributors for selected blogs, and allows for post filtering by author.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h4&gt;2.1&amp;nbsp; Custom Control: Blog Posts with Author Filter&lt;/h4&gt; &lt;br /&gt; &lt;p&gt;Functional description:&lt;/p&gt; &lt;ul&gt; &lt;li&gt; Preserves all functionality implemented by the built-in BlogPosts control;&lt;/li&gt; &lt;li&gt;Implements a new filter based on the blog post author. The author name is passed as a Query String parameter (named PostAuthor) when the user clicks on the Author link;&lt;/li&gt; &lt;li&gt;When the new filter by author is applied, "Go Back" link is visible&lt;/li&gt; &lt;/ul&gt; &lt;br /&gt; &lt;p&gt;Here are the steps required to implement the functional needs described above:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Create a custom class&lt;/strong&gt; "BlogPostsAuthorFilter.cs" that inherits from BlogPosts. We chose to create it in ~/App_Code folder rather than as an external library in order to avoid compile time dependencies and ensure compatibility with all Sitefinity versions 3.6, 3.7 (including future Service Packs for 3.7).
    &lt;p&gt;&amp;nbsp;&lt;/p&gt;
    If your website is running in medium-trust - which is the case with most shared hosting plans (offered by DiscountASP, GoDaddy, etc.) - the custom control should be compiled as an external class library and deployed in the ~/bin folder in order to avoid security-related exceptions when the control is added to the toolbox:&lt;/li&gt; &lt;/ul&gt; &lt;div style="border: 1px solid #7f9db9; overflow-y: auto;" class="reCodeBlock"&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;namespace&lt;/code&gt; &lt;code style="color: #000000;"&gt;DataUniversal.Blogs&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;public&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;class&lt;/code&gt; &lt;code style="color: #000000;"&gt;BlogPostsAuthorFilter : BlogPosts&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;public&lt;/code&gt; &lt;code style="color: #000000;"&gt;BlogPostsAuthorFilter() &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #000000;"&gt;{ &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;br /&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Override&lt;/strong&gt; the following properties and methods&lt;/li&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Properties&lt;/strong&gt;: ItemListTemplatePath, SingleItemTemplatePath - needed to provide the default templates. The external templates are available from Sitefinity, and have been included in the archive attached to this post (ContentViewItemList.ascx, ContentViewSingleItem.ascx)&lt;/li&gt; &lt;/ul&gt; &lt;/ul&gt; &lt;div style="border: 1px solid #7f9db9; overflow-y: auto;" class="reCodeBlock"&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;public&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;override&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;string&lt;/code&gt; &lt;code style="color: #000000;"&gt;ItemListTemplatePath&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;get&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;object&lt;/code&gt; &lt;code style="color: #000000;"&gt;oPath = &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;this&lt;/code&gt;&lt;code style="color: #000000;"&gt;.ViewState[&lt;/code&gt;&lt;code style="color: blue;"&gt;"ItemListTemplatePath"&lt;/code&gt;&lt;code style="color: #000000;"&gt;];&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt; &lt;code style="color: #000000;"&gt;(oPath != &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;null&lt;/code&gt;&lt;code style="color: #000000;"&gt;)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;return&lt;/code&gt; &lt;code style="color: #000000;"&gt;oPath.ToString();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;return&lt;/code&gt; &lt;code style="color: blue;"&gt;"~/Sitefinity/ControlTemplates/Blogs/ContentViewItemList.ascx"&lt;/code&gt;&lt;code style="color: #000000;"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;set&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;this&lt;/code&gt;&lt;code style="color: #000000;"&gt;.ViewState[&lt;/code&gt;&lt;code style="color: blue;"&gt;"ItemListTemplatePath"&lt;/code&gt;&lt;code style="color: #000000;"&gt;] = value;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;public&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;override&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;string&lt;/code&gt; &lt;code style="color: #000000;"&gt;SingleItemTemplatePath&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;get&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;object&lt;/code&gt; &lt;code style="color: #000000;"&gt;oPath = &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;this&lt;/code&gt;&lt;code style="color: #000000;"&gt;.ViewState[&lt;/code&gt;&lt;code style="color: blue;"&gt;"SingleItemTemplatePath"&lt;/code&gt;&lt;code style="color: #000000;"&gt;];&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt; &lt;code style="color: #000000;"&gt;(oPath != &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;null&lt;/code&gt;&lt;code style="color: #000000;"&gt;)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;return&lt;/code&gt; &lt;code style="color: #000000;"&gt;oPath.ToString();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;return&lt;/code&gt; &lt;code style="color: blue;"&gt;"~/Sitefinity/ControlTemplates/Blogs/ContentViewSingleItem.ascx"&lt;/code&gt;&lt;code style="color: #000000;"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;set&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;this&lt;/code&gt;&lt;code style="color: #000000;"&gt;.ViewState[&lt;/code&gt;&lt;code style="color: blue;"&gt;"SingleItemTemplatePath"&lt;/code&gt;&lt;code style="color: #000000;"&gt;] = value;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;br /&gt; &lt;ul&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Methods&lt;/strong&gt;: CreateChildControls, SelectContentCount, SetItemMetadata - needed to apply the additional filter before creating the child controls, synchronize the content count used by the pager, and set the proper URL for the author link&lt;/li&gt; &lt;/ul&gt; &lt;/ul&gt; &lt;div style="border: 1px solid #7f9db9; overflow-y: auto;" class="reCodeBlock"&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;protected&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;override&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;void&lt;/code&gt; &lt;code style="color: #000000;"&gt;CreateChildControls()&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;bool&lt;/code&gt; &lt;code style="color: #000000;"&gt;applyAuthorFilter = &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;false&lt;/code&gt;&lt;code style="color: #000000;"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt; &lt;code style="color: #000000;"&gt;(Page != &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;null&lt;/code&gt;&amp;nbsp; &lt;code style="color: #000000;"&gt;&amp;amp;&amp;amp; !String.IsNullOrEmpty(Page.Request.QueryString[&lt;/code&gt;&lt;code style="color: blue;"&gt;"PostAuthor"&lt;/code&gt;&lt;code style="color: #000000;"&gt;]))&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;string&lt;/code&gt; &lt;code style="color: #000000;"&gt;postAuthor = HttpUtility.UrlDecode(Page.Request.QueryString[&lt;/code&gt;&lt;code style="color: blue;"&gt;"PostAuthor"&lt;/code&gt;&lt;code style="color: #000000;"&gt;]);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #000000;"&gt;ContentFilterBuilder filterBuilder = &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;new&lt;/code&gt; &lt;code style="color: #000000;"&gt;ContentFilterBuilder(&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;this&lt;/code&gt;&lt;code style="color: #000000;"&gt;);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #000000;"&gt;filterBuilder.AddFilter(&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;new&lt;/code&gt; &lt;code style="color: #000000;"&gt;MetaSearchInfo(MetaValueTypes.ShortText, &lt;/code&gt;&lt;code style="color: blue;"&gt;"Author"&lt;/code&gt;&lt;code style="color: #000000;"&gt;, postAuthor, SearchCondition.Equal, JoinType.And));&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #000000;"&gt;applyAuthorFilter = &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;true&lt;/code&gt;&lt;code style="color: #000000;"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;base&lt;/code&gt;&lt;code style="color: #000000;"&gt;.CreateChildControls();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt; &lt;code style="color: #000000;"&gt;(applyAuthorFilter)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #000000;"&gt;ListContainer.BackLink.NavigateUrl = Page.Request.Url.AbsolutePath.ToLower();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #000000;"&gt;ListContainer.BackLink.Visible = &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;true&lt;/code&gt;&lt;code style="color: #000000;"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;protected&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;override&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;int&lt;/code&gt; &lt;code style="color: #000000;"&gt;SelectContentCount()&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt; &lt;code style="color: #000000;"&gt;(&lt;/code&gt;&lt;code style="color: #000000;"&gt;Page != &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;null&lt;/code&gt; &lt;code style="color: #000000;"&gt;&amp;amp;&amp;amp; !String.IsNullOrEmpty(Page.Request.QueryString[&lt;/code&gt;&lt;code style="color: blue;"&gt;"PostAuthor"&lt;/code&gt;&lt;code style="color: #000000;"&gt;]))&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;string&lt;/code&gt; &lt;code style="color: #000000;"&gt;postAuthor = HttpUtility.UrlDecode(&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;this&lt;/code&gt;&lt;code style="color: #000000;"&gt;.Page.Request.QueryString[&lt;/code&gt;&lt;code style="color: blue;"&gt;"PostAuthor"&lt;/code&gt;&lt;code style="color: #000000;"&gt;]);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #000000;"&gt;ContentFilterBuilder filterBuilder = &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;this&lt;/code&gt;&lt;code style="color: #000000;"&gt;.GetFilterBuilder();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #000000;"&gt;filterBuilder.AddFilter(&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;new&lt;/code&gt; &lt;code style="color: #000000;"&gt;MetaSearchInfo(MetaValueTypes.ShortText, &lt;/code&gt;&lt;code style="color: blue;"&gt;"Author"&lt;/code&gt;&lt;code style="color: #000000;"&gt;, postAuthor, SearchCondition.Equal, JoinType.And));&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;int&lt;/code&gt; &lt;code style="color: #000000;"&gt;contentCount = Manager.GetContent(0, 0, SortExpression, filterBuilder.ParseTagFilter(), ContentStatus.Published, &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;null&lt;/code&gt;&lt;code style="color: #000000;"&gt;, filterBuilder.ParseParentsFilter(), filterBuilder.ParseMetaFieldsFilter()).Count;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt; &lt;code style="color: #000000;"&gt;(LimitListCount &amp;amp;&amp;amp; contentCount &amp;gt; MaximumListCount)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #000000;"&gt;contentCount = MaximumListCount;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;return&lt;/code&gt; &lt;code style="color: #000000;"&gt;contentCount;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;return&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;base&lt;/code&gt;&lt;code style="color: #000000;"&gt;.SelectContentCount();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;protected&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;override&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;void&lt;/code&gt; &lt;code style="color: #000000;"&gt;SetItemMetadata(Control itemContainer, IContent contentItem)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;base&lt;/code&gt;&lt;code style="color: #000000;"&gt;.SetItemMetadata(itemContainer, contentItem);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;HyperLink linkPostedBy = (HyperLink)FindContentViewControl(&lt;/code&gt;&lt;code style="color: blue;"&gt;"postedBy"&lt;/code&gt;&lt;code style="color: #000000;"&gt;, itemContainer);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt; &lt;code style="color: #000000;"&gt;(linkPostedBy != &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;null&lt;/code&gt;&lt;code style="color: #000000;"&gt;)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;object&lt;/code&gt; &lt;code style="color: #000000;"&gt;oMetaAuthor = contentItem.GetMetaData(&lt;/code&gt;&lt;code style="color: blue;"&gt;"Author"&lt;/code&gt;&lt;code style="color: #000000;"&gt;);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;string&lt;/code&gt; &lt;code style="color: #000000;"&gt;sMetaAuthor = String.Empty;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt; &lt;code style="color: #000000;"&gt;(oMetaAuthor != &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;null&lt;/code&gt;&lt;code style="color: #000000;"&gt;)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #000000;"&gt;sMetaAuthor = oMetaAuthor.ToString();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;string&lt;/code&gt; &lt;code style="color: #000000;"&gt;baseURL = String.Empty;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt; &lt;code style="color: #000000;"&gt;(SingleContainer.BackLinks.Length &amp;gt; 0)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #000000;"&gt;baseURL = SingleContainer.BackLinks[0].NavigateUrl;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt; &lt;code style="color: #000000;"&gt;(String.IsNullOrEmpty(baseURL) &amp;amp;&amp;amp; Page != &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;null&lt;/code&gt;&lt;code style="color: #000000;"&gt;)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #000000;"&gt;baseURL = Page.Request.Url.AbsolutePath.ToLower();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt; &lt;code style="color: #000000;"&gt;(!String.IsNullOrEmpty(sMetaAuthor) &amp;amp;&amp;amp; !String.IsNullOrEmpty(baseURL))&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #000000;"&gt;linkPostedBy.NavigateUrl = baseURL + &lt;/code&gt;&lt;code style="color: blue;"&gt;"?PostAuthor="&lt;/code&gt; &lt;code style="color: #000000;"&gt;+ HttpUtility.UrlEncode(sMetaAuthor);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #000000;"&gt;linkPostedBy.Text = sMetaAuthor;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;br /&gt; &lt;ul&gt; &lt;li&gt;Register the new custom control in web.config in order to make it available in the toolbox:&lt;/li&gt; &lt;/ul&gt; &lt;div style="border: 1px solid #7f9db9; overflow-y: auto;" class="reCodeBlock"&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&lt;/code&gt;&lt;span style="margin-left: 9px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;toolboxControls&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp; &lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;clear&lt;/code&gt; &lt;code style="color: #000000;"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;...&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp; &lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;add&lt;/code&gt; &lt;code style="color: #808080;"&gt;name&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"Blog Posts with Author Filter"&lt;/code&gt; &lt;code style="color: #808080;"&gt;section&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"Data Universal"&lt;/code&gt; &lt;code style="color: #808080;"&gt;type&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"DataUniversal.Blogs.BlogPostsAuthorFilter,App_Code"&lt;/code&gt; &lt;code style="color: #000000;"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;code style="color: #000000;"&gt;...&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The control can be seen in action on all blog pages on this website.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h4&gt;2.2  User Control: Blog Authors&lt;/h4&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Functional description:&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Displays a list of distinct post-level Author names, for each of the selected blogs; an author name is displayed as a link pointing to its parent blog page, and implements the query string parameter required for post filtering by author.&lt;/li&gt; &lt;li&gt;One or more blogs can be selected from the list of available blogs; out of the selected blogs, only those with at least 1 post published in the past (compared to the current server date-time) will be included.&lt;/li&gt; &lt;li&gt;The blog name visibility can be controlled, and whether to display it as a hyperlink pointing to the blog page.&lt;/li&gt; &lt;li&gt;Visibility of the number of posts created by each author can be controlled. When visible, the number of posts is displayed after the author name, enclosed in parenthesis.&lt;/li&gt; &lt;li&gt;The list of authors is sorted by (blog name, author name), in ascending order.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The user control is available (see ZIP archive attached to this post) in the following location: \UserControls\Data_Universal&lt;/p&gt; &lt;ul&gt; &lt;li&gt;BlogAuthors.ascx &lt;/li&gt; &lt;li&gt;BlogAuthors.ascx.cs&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Upload the user control "BlogAuthors.ascx" using the built-in functionality available while in page edit mode; when prompted whether a code-behind file will be uploaded - choose 'yes' and point to the "BlogAuthors.ascx.cs" file.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Here's a screenshot of the control properties:&lt;/p&gt; &lt;p&gt;&lt;img src="http://demo.datauniversalinc.com/sf/Libraries/Screenshots/Blog_Authors_-_Properties.sflb.ashx" alt="Blog Authors - Properties" /&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;
The control can be seen in action on all blog pages, right-hand sidebar.
&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="du_HighlightArea"&gt;All files and source code discussed in this post are available for &lt;a href="http://dl.dropbox.com/u/3107913/One Blog Multiple Authors - Part 2.zip"&gt;download&lt;/a&gt;.&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://demo.datauniversalinc.com/sf/blogs/dev-blog/10-05-22/One_Blog_Multiple_Authors_-_Part_2.aspx</link>
      <author>Leonard &amp; Co.</author>
      <comments>http://demo.datauniversalinc.com/sf/blogs/dev-blog/10-05-22/One_Blog_Multiple_Authors_-_Part_2.aspx</comments>
      <guid isPermaLink="false">52253a4a-e6a6-44a0-921e-3a75b92843c6</guid>
      <pubDate>Sat, 22 May 2010 13:06:00 GMT</pubDate>
    </item>
    <item>
      <title>One Blog, Multiple Authors</title>
      <description>&lt;p&gt;&amp;nbsp; &lt;/p&gt; &lt;p&gt;The standard behaviour of the Blogs module that ships with Sitefinity (versions 3.6, 3.7) when it comes to blog authors is 1-to-1, the author being an optional attribute of the blog definition. While this is fine for a personal blog, where one expects to have a single author for all blog posts, there are cases when a blog is topic-oriented, with multiple authors. In such cases, the author cannot be specified on a blog post level, and the only way to persist the name of the author is to create a dedicated blog for that author with its own "blog page". As a result, if there are 20 contributors / authors we'll end up creating 20 blogs in the administration area, and 20 blog pages for the public side that act as presentation layer for all blog posts by the related author.&lt;/p&gt; &lt;p&gt;Of course there's the option to have a single blog page for all blogs (each having its own author) in order to avoid changing the site structure / map for every new author. In this case, however, the author link will point to the same blog page URL for all authors and there's no filtering based on the author name.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;This is the first part of a 2-part set of blog posts where we'll describe a possible implementation for "single blog - multiple authors" functionality:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Part 1&lt;/strong&gt; - Admin view: enable author maintenance on the blog post level; &lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;a href="/sf/Blogs/dev-blog/10-05-22/One_Blog_Multiple_Authors_-_Part_2.aspx" runat="server"&gt;Part 2&lt;/a&gt;&lt;/strong&gt; - Public view: new controls for Blog Posts, and Bloggers List that allow filtering by author.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h3&gt;Part 1 - Admin View: Enable Author Maintenance on the Post Level&lt;/h3&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="du_HighlightArea"&gt;All files and source code discussed in this post are available for &lt;a href="http://dl.dropbox.com/u/3107913/One Blog Multiple Authors - Part 1.zip"&gt;download&lt;/a&gt;.&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The author name will be persisted as a mandatory meta-field with a "ShortText" type. The Blogs module already has an Author meta-field defined in the configuration file (web.config), however it's not maintained through the built-in add / edit post templates:&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;div class="reCodeBlock" style="border: 1px solid #7f9db9; overflow-y: auto;"&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;metaFields&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;...&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;add&lt;/code&gt; &lt;code style="color: #808080;"&gt;key&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"Blogs.Author"&lt;/code&gt; &lt;code style="color: #808080;"&gt;valueType&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"ShortText"&lt;/code&gt; &lt;code style="color: #808080;"&gt;visible&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"True"&lt;/code&gt; &lt;code style="color: #808080;"&gt;searchable&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"True"&lt;/code&gt; &lt;code style="color: #808080;"&gt;sortable&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"True"&lt;/code&gt; &lt;code style="color: #808080;"&gt;defaultValue&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;""&lt;/code&gt;&lt;code style="color: #000000;"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;...&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;/&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;metaFields&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;In order to allow for the Author meta-field maintenance we'll enable the external templates for blog post creation / update, and modify these templates by adding a new section for Author maintenance.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;h4&gt;1.1&amp;nbsp; Enable Add / Edit External Templates for Blog Post &lt;/h4&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The external templates for blog post creation and update are available in a separate download (that contains all external templates and controls configuration file) from your client area downloads on &lt;a target="_blank" href="http://www.sitefinity.com"&gt;sitefinity.com&lt;/a&gt;. We'll need the following external templates, and their resource files:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;/Sitefinity/Admin/ControlTemplates/Blogs/PostNew.ascx&lt;/li&gt; &lt;li&gt;/Sitefinity/Admin/ControlTemplates/Blogs/PostEdit.ascx&lt;/li&gt; &lt;li&gt;/Sitefinity/Admin/ControlTemplates/Blogs/App_LocalResources/PostNew.ascx.resx&lt;/li&gt; &lt;li&gt;/Sitefinity/Admin/ControlTemplates/Blogs/App_LocalResources/PostEdit.ascx.resx &lt;/li&gt; &lt;/ul&gt; &lt;p&gt;Copy these files in the corresponding location on your website, e.g.:&lt;/p&gt; &lt;ul&gt; &lt;li&gt; ~/Sitefinity/Admin/ControlTemplates/Blogs/&lt;/li&gt; &lt;li&gt;~/Sitefinity/Admin/ControlTemplates/Blogs/App_LocalResources/ &lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The external templates are enabled through the controls configuration file (full template also available in the external templates download):&lt;/p&gt; &lt;ul&gt; &lt;li&gt;~/App_Data/Configuration/Telerik.Sitefinity.Configuration.ControlsConfig.xml&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The following view settings are needed in the controls configuration file:&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;div style="border: 1px solid #7f9db9; overflow-y: auto;" class="reCodeBlock"&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #008200;"&gt;&amp;lt;!--Provides user interface for creating a new blog post in the blogs module.--&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;viewSettings&lt;/code&gt; &lt;code style="color: #808080;"&gt;hostType&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"Telerik.Blogs.WebControls.Admin.PostNewView"&lt;/code&gt; &lt;code style="color: #808080;"&gt;layoutTemplatePath&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"~/Sitefinity/Admin/ControlTemplates/Blogs/PostNew.ascx"&lt;/code&gt; &lt;code style="color: #000000;"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #008200;"&gt;&amp;lt;!--Provides user interface for editing a blog post in the blogs module.--&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;viewSettings&lt;/code&gt; &lt;code style="color: #808080;"&gt;hostType&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"Telerik.Blogs.WebControls.Admin.PostEditView"&lt;/code&gt; &lt;code style="color: #808080;"&gt;layoutTemplatePath&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"~/Sitefinity/Admin/ControlTemplates/Blogs/PostEdit.ascx"&lt;/code&gt; &lt;code style="color: #000000;"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Save the configuration file and restart the website. The external templates for blog post creation / update are now in use.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h4&gt;1.2&amp;nbsp; Modify the External Templates to Allow for Author Maintenance&lt;/h4&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;We'll edit the external templates using Visual Studio. If you don't have a licensed version of Visual Studio, a free version of Visual Web Developer (Express) is available from Microsoft.&lt;/p&gt; &lt;p&gt;Apply the following changes to both external templates we enabled at step (1.1):&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;~/Sitefinity/Admin/ControlTemplates/Blogs/PostNew.ascx&lt;/li&gt; &lt;li&gt;~/Sitefinity/Admin/ControlTemplates/Blogs/PostEdit.ascx&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Locate:
&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;div style="border: 1px solid #7f9db9; overflow-y: auto;" class="reCodeBlock"&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;sf:ContentMetaFields&lt;/code&gt; &lt;code style="color: #808080;"&gt;ID&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"MetaFields"&lt;/code&gt; &lt;code style="color: #808080;"&gt;runat&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"server"&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;and just below the &amp;lt;ItemTemplate&amp;gt; node add the following:&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;div class="reCodeBlock" style="border: 1px solid #7f9db9; overflow-y: auto;"&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #008200;"&gt;&amp;lt;!-- Author: START --&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;h3&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;asp:Literal&lt;/code&gt; &lt;code style="color: #808080;"&gt;ID&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"LiteralAuthorSet"&lt;/code&gt; &lt;code style="color: #808080;"&gt;runat&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"server"&lt;/code&gt; &lt;code style="color: #000000;"&gt;Text="&amp;lt;%$Resources:AuthorSet %&amp;gt;"&amp;gt;&amp;lt;/&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;asp:Literal&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt; *&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;/&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;h3&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;fieldset&lt;/code&gt; &lt;code style="color: #808080;"&gt;class&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"set"&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;ol&lt;/code&gt; &lt;code style="color: #808080;"&gt;class&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"setIn clearfix"&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;li&lt;/code&gt; &lt;code style="color: #808080;"&gt;class&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"catSel"&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;asp:Label&lt;/code&gt; &lt;code style="color: #808080;"&gt;ID&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"Label_Author"&lt;/code&gt; &lt;code style="color: #808080;"&gt;AssociatedControlID&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"Author"&lt;/code&gt; &lt;code style="color: #808080;"&gt;runat&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"server"&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 48px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;asp:Literal&lt;/code&gt; &lt;code style="color: #808080;"&gt;ID&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"Literal_Author"&lt;/code&gt; &lt;code style="color: #808080;"&gt;runat&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"server"&lt;/code&gt; &lt;code style="color: #000000;"&gt;Text="&amp;lt;%$Resources:Author %&amp;gt;"&amp;gt;&amp;lt;/&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;asp:Literal&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;/&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;asp:Label&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;asp:TextBox&lt;/code&gt; &lt;code style="color: #808080;"&gt;ID&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"Author"&lt;/code&gt; &lt;code style="color: #808080;"&gt;runat&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"server"&lt;/code&gt; &lt;code style="color: #808080;"&gt;MaxLength&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"250"&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&amp;lt;/&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;asp:TextBox&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;asp:RequiredFieldValidator&lt;/code&gt; &lt;code style="color: #808080;"&gt;ID&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"validator_Author"&lt;/code&gt; &lt;code style="color: #808080;"&gt;runat&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"server"&lt;/code&gt; &lt;code style="color: #808080;"&gt;ControlToValidate&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"Author"&lt;/code&gt; &lt;code style="color: #808080;"&gt;Display&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"Dynamic"&lt;/code&gt; &lt;code style="color: #808080;"&gt;EnableViewState&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"False"&lt;/code&gt; &lt;code style="color: #808080;"&gt;CssClass&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"validMessage"&lt;/code&gt; &lt;code style="color: #808080;"&gt;SetFocusOnError&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"True"&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 48px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;strong&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;asp:Literal&lt;/code&gt; &lt;code style="color: #808080;"&gt;ID&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"Literal_AuthorEmpty"&lt;/code&gt; &lt;code style="color: #808080;"&gt;runat&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"server"&lt;/code&gt; &lt;code style="color: #000000;"&gt;Text="&amp;lt;%$Resources:AuthorEmpty %&amp;gt;" /&amp;gt;&amp;lt;/&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;strong&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;/&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;asp:RequiredFieldValidator&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;/&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;li&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;/&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;ol&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;/&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;fieldset&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;div&lt;/code&gt; &lt;code style="color: #808080;"&gt;class&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"bottom"&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;div&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&lt;/code&gt;&lt;code style="color: #008200;"&gt;&amp;lt;!-- --&amp;gt;&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;lt;/&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;div&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&amp;lt;/&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;div&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #008200;"&gt;&amp;lt;!-- Author: END --&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt;
&amp;nbsp;
&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Save and close the external templates. Add the following (name, value) pairs to each of the resource files (PostNew.ascx.resx, PostEdit.ascx.resx):&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Author, Author Name&lt;/li&gt; &lt;li&gt;AuthorSet, Post Author&lt;/li&gt; &lt;li&gt;AuthorEmpty, Author Name cannot be empty! &lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Save and close the resource files.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The external templates are ready to be used. We can now maintain the Author on the blog post level:&lt;/p&gt; &lt;p&gt;&lt;img src="http://demo.datauniversalinc.com/sf/Libraries/Screenshots/Blogs_PostAuthor_Edit.sflb.ashx" alt="Edit Blog Post Author" /&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The post author name can be seen on the right-hand sidebar of the blog post preview:&lt;/p&gt; &lt;p&gt;&lt;img src="http://demo.datauniversalinc.com/sf/Libraries/Screenshots/Blogs_PostAuthor_Preview.sflb.ashx" alt="Preview Blog Post Author" /&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h4&gt;1.3&amp;nbsp;Populate the Author Name Using the Current User Profile&lt;/h4&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;
To ensure Author Name consistency and, at the same time, improve the user experience we can set a default value for the Author Name in case there isn't a value already set, and disable the text box if the user is not part of the "administrators" role. We'll implement the following functionality:
&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Create New Post&lt;/strong&gt;: set default value for Author Name to First Name / Last Name as set in the profile of the current user. These profile properties are not mandatory, as a result we'll only disable the field if the profile First Name / Last Name are non-empty. The author name will always be available for editing (enabled) if the current user is part of the "administrators" role.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Edit Existing Post&lt;/strong&gt;: if a value is already set for Author Name, we'll just disable / enable the field if the user is not / is part of the "administrators" role. If the Author Name is not set (this would be the case with blog posts created before implementing the functionality described in this article), the behaviour will be identical with new post creation described above.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h4&gt;1.3.1 Enable Author Default Value for New Post Creation&lt;/h4&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Open the "~/Sitefinity/Admin/ControlTemplates/Blogs/PostNew.ascx" file using you're favourite editor, and replace:&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;div class="reCodeBlock" style="border: 1px solid #7f9db9; overflow-y: auto;"&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;%@ Control Language=&lt;/code&gt;&lt;code style="color: blue;"&gt;"C#"&lt;/code&gt; &lt;code style="color: #000000;"&gt;%&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt;
&amp;nbsp;
&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;with:&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;div class="reCodeBlock" style="border: 1px solid #7f9db9; overflow-y: auto;"&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;%@ Control Language=&lt;/code&gt;&lt;code style="color: blue;"&gt;"C#"&lt;/code&gt; &lt;code style="color: #000000;"&gt;AutoEventWireup=&lt;/code&gt;&lt;code style="color: blue;"&gt;"true"&lt;/code&gt; &lt;code style="color: #000000;"&gt;CodeFile=&lt;/code&gt;&lt;code style="color: blue;"&gt;"PostNew.ascx.cs"&lt;/code&gt; &lt;code style="color: #000000;"&gt;Inherits=&lt;/code&gt;&lt;code style="color: blue;"&gt;"Sitefinity_Admin_ControlTemplates_Blogs_PostNew"&lt;/code&gt; &lt;code style="color: #000000;"&gt;%&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt;
&amp;nbsp;
&lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;Create a file named "PostNew.ascx.cs" in the same directory as the user control template "~/Sitefinity/Admin/ControlTemplates/Blogs/". Copy the following code in the newly created file, save it and close it:&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;div class="reCodeBlock" style="border: 1px solid #7f9db9; overflow-y: auto;"&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;using&lt;/code&gt; &lt;code style="color: #000000;"&gt;System;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;using&lt;/code&gt; &lt;code style="color: #000000;"&gt;System.Web.UI;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;using&lt;/code&gt; &lt;code style="color: #000000;"&gt;System.Web.UI.WebControls;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;using&lt;/code&gt; &lt;code style="color: #000000;"&gt;System.Web.Profile;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;using&lt;/code&gt; &lt;code style="color: #000000;"&gt;Telerik.Security;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;public&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;partial&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;class&lt;/code&gt; &lt;code style="color: #000000;"&gt;Sitefinity_Admin_ControlTemplates_Blogs_PostNew : UserControl&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;protected&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;void&lt;/code&gt; &lt;code style="color: #000000;"&gt;Page_Load(&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;object&lt;/code&gt; &lt;code style="color: #000000;"&gt;sender, EventArgs e)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt; &lt;code style="color: #000000;"&gt;(!Page.IsPostBack)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #000000;"&gt;TextBox textboxAuthor = MetaFields.Controls[0].FindControl(&lt;/code&gt;&lt;code style="color: blue;"&gt;"Author"&lt;/code&gt;&lt;code style="color: #000000;"&gt;) &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;as&lt;/code&gt; &lt;code style="color: #000000;"&gt;TextBox;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt; &lt;code style="color: #000000;"&gt;(textboxAuthor != &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;null&lt;/code&gt;&lt;code style="color: #000000;"&gt;)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 48px ! important;"&gt;&lt;code style="color: #000000;"&gt;ProfileBase userProfile = &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;new&lt;/code&gt; &lt;code style="color: #000000;"&gt;ProfileBase();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 48px ! important;"&gt;&lt;code style="color: #000000;"&gt;userProfile.Initialize(UserManager.GetCurrentUserName(), &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;true&lt;/code&gt;&lt;code style="color: #000000;"&gt;);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 48px ! important;"&gt;&lt;code style="color: #000000;"&gt;textboxAuthor.Text = (userProfile.GetPropertyValue(&lt;/code&gt;&lt;code style="color: blue;"&gt;"FirstName"&lt;/code&gt;&lt;code style="color: #000000;"&gt;).ToString().Trim() + &lt;/code&gt;&lt;code style="color: blue;"&gt;" "&lt;/code&gt; &lt;code style="color: #000000;"&gt;+ userProfile.GetPropertyValue(&lt;/code&gt;&lt;code style="color: blue;"&gt;"LastName"&lt;/code&gt;&lt;code style="color: #000000;"&gt;).ToString().Trim()).Trim();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 48px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt;&lt;code style="color: #000000;"&gt;(!String.IsNullOrEmpty(textboxAuthor.Text))&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 60px ! important;"&gt;&lt;code style="color: #000000;"&gt;textboxAuthor.Enabled = UserManager.IsCurrentUserInRole(&lt;/code&gt;&lt;code style="color: blue;"&gt;"administrators"&lt;/code&gt;&lt;code style="color: #000000;"&gt;);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;p&gt;&lt;/p&gt; &lt;br /&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;blockquote&gt; &lt;h4&gt;1.3.2 Enable Author Default Value for Existing Blog Post&lt;/h4&gt; &lt;/blockquote&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Open the "~/Sitefinity/Admin/ControlTemplates/Blogs/PostEdit.ascx" file using you're favourite editor, and replace:&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;div class="reCodeBlock" style="border: 1px solid #7f9db9; overflow-y: auto;"&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;%@ Control Language=&lt;/code&gt;&lt;code style="color: blue;"&gt;"C#"&lt;/code&gt; &lt;code style="color: #000000;"&gt;%&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt;
&amp;nbsp;
&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;with:&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;div class="reCodeBlock" style="border: 1px solid #7f9db9; overflow-y: auto;"&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;%@ Control Language=&lt;/code&gt;&lt;code style="color: blue;"&gt;"C#"&lt;/code&gt; &lt;code style="color: #000000;"&gt;AutoEventWireup=&lt;/code&gt;&lt;code style="color: blue;"&gt;"true"&lt;/code&gt; &lt;code style="color: #000000;"&gt;CodeFile=&lt;/code&gt;&lt;code style="color: blue;"&gt;"PostEdit.ascx.cs"&lt;/code&gt; &lt;code style="color: #000000;"&gt;Inherits=&lt;/code&gt;&lt;code style="color: blue;"&gt;"Sitefinity_Admin_ControlTemplates_Blogs_PostEdit"&lt;/code&gt; &lt;code style="color: #000000;"&gt;%&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;Create
a file named "PostEdit.ascx.cs" in the same directory as the user
control template "~/Sitefinity/Admin/ControlTemplates/Blogs/". Copy the
following code in the newly created file, save it and close it:&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;div class="reCodeBlock" style="border: 1px solid #7f9db9; overflow-y: auto;"&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;using&lt;/code&gt; &lt;code style="color: #000000;"&gt;System;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;using&lt;/code&gt; &lt;code style="color: #000000;"&gt;System.Web.UI;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;using&lt;/code&gt; &lt;code style="color: #000000;"&gt;System.Web.UI.WebControls;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;using&lt;/code&gt; &lt;code style="color: #000000;"&gt;System.Web.Profile;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;using&lt;/code&gt; &lt;code style="color: #000000;"&gt;Telerik.Cms.Engine;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;using&lt;/code&gt; &lt;code style="color: #000000;"&gt;Telerik.Blogs;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;using&lt;/code&gt; &lt;code style="color: #000000;"&gt;Telerik.Security;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;public&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;partial&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;class&lt;/code&gt; &lt;code style="color: #000000;"&gt;Sitefinity_Admin_ControlTemplates_Blogs_PostEdit : UserControl&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;protected&lt;/code&gt; &lt;code style="color: #006699; font-weight: bold;"&gt;void&lt;/code&gt; &lt;code style="color: #000000;"&gt;Page_Load(&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;object&lt;/code&gt; &lt;code style="color: #000000;"&gt;sender, EventArgs e)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt; &lt;code style="color: #000000;"&gt;(!Page.IsPostBack)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #000000;"&gt;TextBox textboxAuthor = MetaFields.Controls[0].FindControl(&lt;/code&gt;&lt;code style="color: blue;"&gt;"Author"&lt;/code&gt;&lt;code style="color: #000000;"&gt;) &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;as&lt;/code&gt; &lt;code style="color: #000000;"&gt;TextBox;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt; &lt;code style="color: #000000;"&gt;(textboxAuthor != &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;null&lt;/code&gt;&lt;code style="color: #000000;"&gt;)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 48px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;object&lt;/code&gt; &lt;code style="color: #000000;"&gt;oMetaAuthor;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 48px ! important;"&gt;&lt;code style="color: #000000;"&gt;Guid blogId = &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;new&lt;/code&gt; &lt;code style="color: #000000;"&gt;Guid(Request.QueryString[&lt;/code&gt;&lt;code style="color: blue;"&gt;"ParentId"&lt;/code&gt;&lt;code style="color: #000000;"&gt;]);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 48px ! important;"&gt;&lt;code style="color: #000000;"&gt;Guid postId = &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;new&lt;/code&gt; &lt;code style="color: #000000;"&gt;Guid(Request.QueryString[&lt;/code&gt;&lt;code style="color: blue;"&gt;"Param"&lt;/code&gt;&lt;code style="color: #000000;"&gt;]);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 48px ! important;"&gt;&lt;code style="color: #000000;"&gt;BlogManager blogManager = &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;new&lt;/code&gt; &lt;code style="color: #000000;"&gt;BlogManager();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 48px ! important;"&gt;&lt;code style="color: #000000;"&gt;IBlog theBlog = blogManager.GetBlog(blogId);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 48px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;foreach&lt;/code&gt; &lt;code style="color: #000000;"&gt;(IContent blogPost &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;in&lt;/code&gt; &lt;code style="color: #000000;"&gt;theBlog.Posts)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 48px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 60px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt; &lt;code style="color: #000000;"&gt;(blogPost.ID == postId)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 60px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 72px ! important;"&gt;&lt;code style="color: #000000;"&gt;oMetaAuthor = blogPost.GetMetaData(&lt;/code&gt;&lt;code style="color: blue;"&gt;"Author"&lt;/code&gt;&lt;code style="color: #000000;"&gt;);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 72px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt; &lt;code style="color: #000000;"&gt;(oMetaAuthor == &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;null&lt;/code&gt; &lt;code style="color: #000000;"&gt;|| String.IsNullOrEmpty(oMetaAuthor.ToString()))&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 72px ! important;"&gt;&lt;code style="color: #000000;"&gt;{&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 84px ! important;"&gt;&lt;code style="color: #000000;"&gt;ProfileBase userProfile = &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;new&lt;/code&gt; &lt;code style="color: #000000;"&gt;ProfileBase();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 84px ! important;"&gt;&lt;code style="color: #000000;"&gt;userProfile.Initialize(UserManager.GetCurrentUserName(), &lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;true&lt;/code&gt;&lt;code style="color: #000000;"&gt;);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 84px ! important;"&gt;&lt;code style="color: #000000;"&gt;textboxAuthor.Text = (userProfile.GetPropertyValue(&lt;/code&gt;&lt;code style="color: blue;"&gt;"FirstName"&lt;/code&gt;&lt;code style="color: #000000;"&gt;).ToString().Trim() + &lt;/code&gt;&lt;code style="color: blue;"&gt;" "&lt;/code&gt; &lt;code style="color: #000000;"&gt;+ userProfile.GetPropertyValue(&lt;/code&gt;&lt;code style="color: blue;"&gt;"LastName"&lt;/code&gt;&lt;code style="color: #000000;"&gt;).ToString().Trim()).Trim();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 72px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 72px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;if&lt;/code&gt; &lt;code style="color: #000000;"&gt;(!String.IsNullOrEmpty(textboxAuthor.Text))&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 84px ! important;"&gt;&lt;code style="color: #000000;"&gt;textboxAuthor.Enabled = UserManager.IsCurrentUserInRole(&lt;/code&gt;&lt;code style="color: blue;"&gt;"administrators"&lt;/code&gt;&lt;code style="color: #000000;"&gt;);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 72px ! important;"&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;break&lt;/code&gt;&lt;code style="color: #000000;"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 60px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 48px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&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;/code&gt;&lt;span style="margin-left: 36px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 24px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #f8f8f8;"&gt;&lt;span&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span style="margin-left: 12px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt;
&amp;nbsp;
&lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;All done. Please review all user profiles and maintain First Name / Last Name as appropriate to ensure the correct default value for a blog post author.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;div class="du_HighlightArea"&gt;All files and source code discussed in this post are available for &lt;a href="http://dl.dropbox.com/u/3107913/One Blog Multiple Authors - Part 1.zip"&gt;download&lt;/a&gt;.&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://demo.datauniversalinc.com/sf/blogs/dev-blog/10-05-15/One_Blog_Multiple_Authors.aspx</link>
      <author>Leonard Tarteata</author>
      <comments>http://demo.datauniversalinc.com/sf/blogs/dev-blog/10-05-15/One_Blog_Multiple_Authors.aspx</comments>
      <guid isPermaLink="false">66cad20f-d77b-489b-8280-6c911bd08a0c</guid>
      <pubDate>Sat, 15 May 2010 12:57:00 GMT</pubDate>
    </item>
    <item>
      <title>Event View: Custom Date-Time Formats</title>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;A common issue when using the built-in view templates for Events is the inability to apply a custom display format for the event start and end date-times.&lt;/p&gt; &lt;p&gt;There are a few predefined formats available on the "Settings" page of the control designer, however, the time of the event is "lost" when using one of these formats as reported by several users, more recently in this &lt;a target="_blank" href="http://www.sitefinity.com/support/forums/sitefinity-3-x/developing-with-sitefinity/display-times-in-eventview.aspx"&gt;forum thread&lt;/a&gt;. The suggested solution was to add additional formats to the list of built-in formats by modifying the external template that drives the&amp;nbsp; "Settings" page of the control designer.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Here's another possible solution for implementing custom&amp;nbsp; date-time formats:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Use external templates for "Single Item View" (ContentViewSingleItemView.ascx) and "List View" (ContentViewItemView.ascx);&lt;/li&gt; &lt;li&gt;Replace in those external templates the ASP Literal controls for "Event_Start" and "Event_End" with Telerik's DateTimeLiteral controls, and use the same ID values for the new controls as the corresponding literals they replace (e.g. "Event_Start", "Event_End");&lt;/li&gt; &lt;li&gt;Specify the desired date-time format using the "DateFormatString" property. &lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Example&lt;br /&gt; &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;We'll format the event start date so that a date of "2010-04-19 02:00:00 PM" will be displayed as "April 19, 2010 at 2:00 PM"&lt;/p&gt; &lt;p&gt;Replace:&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;div class="reCodeBlock" style="border: 1px solid #7f9db9; overflow-y: auto;"&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;&lt;/code&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;asp:Literal&lt;/code&gt; &lt;code style="color: #808080;"&gt;ID&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"Event_Start"&lt;/code&gt; &lt;code style="color: #808080;"&gt;runat&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"server"&lt;/code&gt; &lt;code style="color: #000000;"&gt;/&amp;gt;&lt;/code&gt;&lt;code style="color: #000000;"&gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;With:
&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;div class="reCodeBlock" style="border: 1px solid #7f9db9; overflow-y: auto;"&gt; &lt;div style="background-color: #ffffff;"&gt;&lt;span&gt;&lt;span style="margin-left: 0px ! important;"&gt;&lt;code style="color: #000000;"&gt;&amp;lt;&lt;/code&gt;&lt;code style="color: #006699; font-weight: bold;"&gt;telerik:DateTimeLiteral&lt;/code&gt; &lt;code style="color: #808080;"&gt;ID&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"Event_Start"&lt;/code&gt; &lt;code style="color: #808080;"&gt;runat&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"server"&lt;/code&gt; &lt;code style="color: #808080;"&gt;DateFormatString&lt;/code&gt;&lt;code style="color: #000000;"&gt;=&lt;/code&gt;&lt;code style="color: blue;"&gt;"MMMM dd, yyyy 'at' h:mm tt"&lt;/code&gt; &lt;code style="color: #000000;"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Replace the format used above with your own, as needed.
&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Please note this workaround will not work if any custom settings were
specified in the "Basic -&amp;gt; Settings" view of the "Events View" control; these settings can be reverted to the default values by switching to the "Advanced" view and removing the values for MasterSettings and DetailSettings:&lt;/p&gt; &lt;img src="http://demo.datauniversalinc.com/sf/Libraries/Screenshots/EventsView_ClearSettings.sflb.ashx" alt="Events View Settings" /&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;To use the external templates customized as described above, set the following properties found on the "Advanced" tab, "Appearance" section -&amp;nbsp; ItemListTemplatePath, SingleItemTemplatePath:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;img alt="Events View Template Path" src="http://demo.datauniversalinc.com/sf/Libraries/Screenshots/EventsView_TemplatePath.sflb.ashx" /&gt;&lt;/p&gt;
</description>
      <link>http://demo.datauniversalinc.com/sf/blogs/dev-blog/10-05-02/Event_View_Custom_Date-Time_Formats.aspx</link>
      <author>Leonard Tarteata</author>
      <comments>http://demo.datauniversalinc.com/sf/blogs/dev-blog/10-05-02/Event_View_Custom_Date-Time_Formats.aspx</comments>
      <guid isPermaLink="false">20052a30-bab3-422e-9346-9abef5560772</guid>
      <pubDate>Sun, 02 May 2010 12:36:00 GMT</pubDate>
    </item>
  </channel>
</rss>

