<?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 xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Four Roads</title><link>http://www.4-roads.com/blogs/</link><description>Welcome to Four Roads, a software development provider specializing in Community Server.  </description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/FourRoads" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>CS Publisher 1.1 now available</title><link>http://feedproxy.google.com/~r/FourRoads/~3/4gV8ZeNSuiU/cs-publisher-1-1-now-available.aspx</link><pubDate>Thu, 23 Apr 2009 12:03:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:789</guid><dc:creator>GaryMcPherson</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;A new release of &lt;a href="http://www.4-roads.com/pages/CSPublisher.aspx"&gt;CS Publisher&lt;/a&gt; providing compatibility with CS 2008.5 SP2 is now available for immediate download. Updates for Nexus and Commerce will be added shortly.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=789" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/4gV8ZeNSuiU" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/news/archive/tags/CS+Publisher/default.aspx">CS Publisher</category><category domain="http://www.4-roads.com/blogs/news/archive/tags/CS+2008.5+SP2/default.aspx">CS 2008.5 SP2</category><feedburner:origLink>http://www.4-roads.com/blogs/news/archive/2009/04/23/cs-publisher-1-1-now-available.aspx</feedburner:origLink></item><item><title>CS2008.5 SP2 support</title><link>http://feedproxy.google.com/~r/FourRoads/~3/eRc27mF8dCE/cs2008-5-sp2-support.aspx</link><pubDate>Sat, 11 Apr 2009 03:11:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:765</guid><dc:creator>GaryMcPherson</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Following the release of &lt;a target="_blank" href="http://dev.communityserver.com/blogs/announcements/archive/2009/04/08/sp2-for-cs-2008-5-and-evolution-1-0-now-available.aspx"&gt;SP2 for CS2008.5 and Evolution&lt;/a&gt;, all Four Roads applications are being tested and updated to ensure ongoing compatibility. Individual product announcements will be made in the coming days as each one is verified and released. We&amp;#39;d like to thank all customers for their patience while we complete this process.&lt;/p&gt;
&lt;p&gt;Happy Easter!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=765" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/eRc27mF8dCE" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/news/archive/tags/news/default.aspx">news</category><category domain="http://www.4-roads.com/blogs/news/archive/tags/Announcements/default.aspx">Announcements</category><feedburner:origLink>http://www.4-roads.com/blogs/news/archive/2009/04/11/cs2008-5-sp2-support.aspx</feedburner:origLink></item><item><title>Announcing Facebook Connect and CMS for Community Server</title><link>http://feedproxy.google.com/~r/FourRoads/~3/aXVUcrex4GQ/annoucing-facebook-connect-and-cms-for-community-server.aspx</link><pubDate>Thu, 02 Apr 2009 05:47:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:717</guid><dc:creator>Mark Courtney</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;The past couple of months have been, well for lack of a better term, simply awesome.&amp;nbsp; With a fresh new look and feel for our site we&amp;#39;re proud to annouce the release of two new offerings that enhance our product portfolio and more importantly, deliver immense value to the Community Server ecosystem.&amp;nbsp; Fellow Telligent partners and CS adopters will truly appreciate what we&amp;#39;ve brought to market. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;We&amp;#39;re excited to announce the release of &lt;a target="_blank" href="http://www.4-roads.com/pages/Nexus.aspx"&gt;Nexus&lt;/a&gt;, our extensible social network publishing provider and &lt;a target="_blank" href="http://www.4-roads.com/pages/CSPublisher.aspx"&gt;CS Publisher&lt;/a&gt;, a lean but very mean CMS for Community Server.&lt;/b&gt;&amp;nbsp; As we continue commit to Telligents&amp;#39; community platform, our focus is honed on building high quality products that:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Boost ROI&lt;/li&gt;
&lt;li&gt;Increase productivity&lt;/li&gt;
&lt;li&gt;Reduce total cost of ownership (TCO)&lt;/li&gt;
&lt;li&gt;Promote and facilitate membership growth&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Both products are now available for purchase and download via our site for Personal and Business (SMB) editions.&amp;nbsp; For all Enterprise licensing questions, please feel free to &lt;a target="_blank" href="http://www.4-roads.com/contactus.aspx" title="Inquire About our Products and Services"&gt;contact us&lt;/a&gt; as I will be happy to assist.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;We&amp;#39;re extremely excited about the evolution of our products in 2009 as our business and visibility continues to grow.&amp;nbsp; As a 1.0 release Nexus currently supports Facebook integration and will soon support publishing for Twitter and LinkedIn.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;As for Publisher, we are now looking at incorporating Newsletter creation with the ability distribute to specific roles/groups within the community.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;As for Commerce, we are focusing on a rewards system to futher promote member activity and contribution within the community. &lt;/p&gt;
&lt;p&gt;And finally, be on the lookout for our official CS Calendar release as we&amp;#39;ve incorporated some great features and AJAX controls that siginificantly enhance the user experience.&lt;/p&gt;
&lt;p&gt;Our road map is set and will undoubtedly evolve as we continue to listen and respond to our customers&amp;#39; needs.&amp;nbsp; After all, isn&amp;#39;t that how all great products are built? &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=717" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/aXVUcrex4GQ" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/news/archive/tags/Commerce/default.aspx">Commerce</category><category domain="http://www.4-roads.com/blogs/news/archive/tags/news/default.aspx">news</category><category domain="http://www.4-roads.com/blogs/news/archive/tags/Calendar/default.aspx">Calendar</category><category domain="http://www.4-roads.com/blogs/news/archive/tags/Nexus/default.aspx">Nexus</category><category domain="http://www.4-roads.com/blogs/news/archive/tags/Products/default.aspx">Products</category><category domain="http://www.4-roads.com/blogs/news/archive/tags/Facebook/default.aspx">Facebook</category><category domain="http://www.4-roads.com/blogs/news/archive/tags/Announcements/default.aspx">Announcements</category><category domain="http://www.4-roads.com/blogs/news/archive/tags/CMS/default.aspx">CMS</category><category domain="http://www.4-roads.com/blogs/news/archive/tags/CS+Publisher/default.aspx">CS Publisher</category><feedburner:origLink>http://www.4-roads.com/blogs/news/archive/2009/04/02/annoucing-facebook-connect-and-cms-for-community-server.aspx</feedburner:origLink></item><item><title>Commerce 2.5.5 for Community Server 2008.5 SP1</title><link>http://feedproxy.google.com/~r/FourRoads/~3/G9yRCMmHDp4/commerce-2-5-5-for-community-server-2008-5-sp1.aspx</link><pubDate>Wed, 04 Mar 2009 15:05:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:474</guid><dc:creator>SeanWinstead</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;We&amp;#39;ve released another update to Commerce for Community Server 2008.5. In this&amp;nbsp;new release, our&amp;nbsp;primary&amp;nbsp;focus is the user&amp;#39;s experience with the check out process. We&amp;#39;ve&amp;nbsp;improved the usability of the check out pages and have reduced the number of steps required to complete a purchase.&amp;nbsp;Once you see it,&amp;nbsp;you&amp;#39;ll agree it&amp;#39;s a very&amp;nbsp;strong improvement.&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://www.4-roads.com/files/folders/cs20085/entry465.aspx"&gt;Download the new release&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;Features Added&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;Simplified Check Out Process&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;As&amp;nbsp;just mentioned, the check out process has been streamlined&amp;nbsp;and&amp;nbsp;provides a better experience for your customers. Architecturally,&amp;nbsp;payment gateways now share a common set of check out&amp;nbsp;pages.&amp;nbsp;PayPal Express Checkout is an exception&amp;nbsp;to this rule as it&amp;#39;s process&amp;nbsp;requires an additional screen. What this means for you is that switching from one payment gateway to another will take much less work in the theming department, because you do the work only once.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4"&gt;&lt;strong&gt;Improvements Made&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2"&gt;The layout for browsing items has been improved.&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;The theme pages for My Orders, My Addresses, and My Subscriptions are no longer shop-specific. They are now located in the Themes\Hawaii\Shops folder and will display information aggregated from all shops located on the site. Submenu items for those pages are now automatically added to Community Server navigation.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;The OrderList and SubscriptionList chameleon controls now have QueryOverride support.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;The address-related controls now work outside the context of a shop. This means that you can use them on CS pages that live outside the Themes\Shops folder.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=474" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/G9yRCMmHDp4" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/News/default.aspx">News</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/Commerce+2008/default.aspx">Commerce 2008</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/2008.5/default.aspx">2008.5</category><feedburner:origLink>http://www.4-roads.com/blogs/commerce/archive/2009/03/04/commerce-2-5-5-for-community-server-2008-5-sp1.aspx</feedburner:origLink></item><item><title>Group Mirror Feeds</title><link>http://feedproxy.google.com/~r/FourRoads/~3/37qcCt4wLtQ/group-mirror-feeds.aspx</link><pubDate>Mon, 19 Jan 2009 17:49:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:439</guid><dc:creator>Robert Nash</dc:creator><slash:comments>1</slash:comments><description>&lt;font face="Verdana, sans-serif"&gt;&lt;img height="1" alt="" src="https://www.4-roads.com/blogs/team_blog/feeds.png" width="1" border="0" /&gt;One of the projects I have been involved in recently had a requirement to allow a group blog to have content obtained from an external feed. This as it turns out was a simple task of Community Server customization and I thought I&amp;#39;d write a short article on the thought process behind achieving the task as well as sharing the code. &lt;/font&gt;
&lt;h2 class="western"&gt;&lt;img alt="sample feed pciture" src="https://www.4-roads.com/blogs/team_blog/Feed.png" align="baseline" border="0" /&gt;&lt;br /&gt;Initial Analysis&lt;/h2&gt;
&lt;p&gt;&lt;img alt="" src="https://www.4-roads.com/blogs/team_blog/BlogMirror_html_52af1400.gif" align="left" border="0" /&gt;&lt;font face="Verdana, sans-serif"&gt;The first stage in producing this customization was to ascertain how much of the existing CS functionality I could easily re-use. I started at the database and had a look at the cs_RollerBlogFeeds table. From the table design I could see that apart from a SectionID and SettingsID there were no other linkages to other tables in CS. Because the feed was tied to a SectionID I could immediately make a guess that if it worked for a standard blog section then it should work for a group blog. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana, sans-serif"&gt;My next stage of analysis was to perform an experiment. The blog feeds are created by a CS job, I needed to know if this job would work correctly when using a group blog. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana, sans-serif"&gt;To prove that the CS job would work I created a group with a blog and looked up the group blog section ID in the database. I then created an entry in the cs_RollerBlogFeeds using the standard Blog admin page and edited the database entry to update the sectionID to be that of my group blog. After the CS job had completed I checked the group blog to find that the mirrored blog had been created in my group blog.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana, sans-serif"&gt;Now that I had confirmed that the blog feed architecture would support what I was after I needed to actually start writing some code.&lt;/font&gt;&lt;/p&gt;
&lt;h2 class="western"&gt;Development&lt;/h2&gt;
&lt;p&gt;&lt;font face="Verdana, sans-serif"&gt;From the information I had gathered during analysis I figured that development would need the following:&lt;/font&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;font face="Verdana, sans-serif"&gt;A chameleon control that lists all of the group blog mirror feeds &lt;/font&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;font face="Verdana, sans-serif"&gt;A chameleon control that displays a singular mirror feed &lt;/font&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;font face="Verdana, sans-serif"&gt;A chameleon form that allows a user to add and edit a mirror feed&lt;/font&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;font face="Verdana, sans-serif"&gt;Site urls modifications, to support new mirror feed form&lt;/font&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;font face="Verdana, sans-serif"&gt;Edit the current &lt;/font&gt;&lt;font face="Verdana, sans-serif"&gt;&lt;span style="TEXT-DECORATION:none;"&gt;editgroup&lt;/span&gt;&lt;/font&gt;&lt;font face="Verdana, sans-serif"&gt;.aspx file to include new functionality&lt;/font&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;h3 class="heading-4-western"&gt;&lt;font face="Verdana, sans-serif"&gt;1. Chameleon List &lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;&lt;font face="Verdana, sans-serif"&gt;The first control to create was a list control that would bind to a list of RollerBlogFeed objects. This class is a simple control that is inherited from PreTemplatedListBase, the standard chameleon list control. I overrode the DataBind method to get the current group blog and then using the static method in RollerBlogFeeds obtain a list of feeds for this section.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre class="csharpcode"&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;object&lt;/span&gt; DataSource&lt;br /&gt;        {&lt;br /&gt;            get&lt;br /&gt;            {&lt;br /&gt;                &lt;span class="kwrd"&gt;if&lt;/span&gt; (!HubConfiguration.Instance().IsSubApplicationDisabled(ApplicationType.Weblog))&lt;br /&gt;                {&lt;br /&gt;                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (_feeds == &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;br /&gt;                    {&lt;br /&gt;                        Hub currentHub = HubControlUtility.Instance().GetCurrentHub(&lt;span class="kwrd"&gt;this&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;                        PermissionsCheck(currentHub);&lt;br /&gt;&lt;br /&gt;                        Weblog subApplicationContainer = currentHub.GetSubApplicationContainer&lt;br /&gt;                                                                    (ApplicationType.Weblog, &lt;span class="kwrd"&gt;false&lt;/span&gt;) &lt;span class="kwrd"&gt;as&lt;/span&gt; Weblog;&lt;br /&gt;&lt;br /&gt;                        &lt;span class="kwrd"&gt;if&lt;/span&gt; (subApplicationContainer != &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;br /&gt;                        {&lt;br /&gt;                            _feeds = &lt;span class="kwrd"&gt;new&lt;/span&gt; List&amp;lt;RollerBlogFeed&amp;gt;((RollerBlogFeed[])&lt;br /&gt;                                      RollerBlogFeeds.GetEnabledFeedsBySectionID&lt;br /&gt;                                            (subApplicationContainer.SectionID).ToArray(&lt;span class="kwrd"&gt;typeof&lt;/span&gt;(RollerBlogFeed)));&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;&lt;br /&gt;                }&lt;br /&gt;                &lt;span class="kwrd"&gt;return&lt;/span&gt; _feeds;&lt;/pre&gt;&lt;br /&gt;&lt;font face="Verdana, sans-serif"&gt;Notice there is a permissions check, I have assumed that only system administrators and group owners are able to see the list of feeds.&lt;/font&gt; 
&lt;h3 class="heading-4-western"&gt;&lt;font face="Verdana, sans-serif"&gt;2. Chameleon Data &lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;&lt;font face="Verdana, sans-serif"&gt;The list control is only a repeater and I needed to create a data aware control to display the feed information. Additionally I realized that the group edit page would not support post backs and that the list, data and any actions that occurred would need to happen using AJAX. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana, sans-serif"&gt;The created control inherits from ObjectDataBase and is a straightforward implementation that data binds to its parents&amp;#39; RollerBlogFeed. It also includes a property to handle AJAX delete requests. To support the AJAX requests I added an additional property called groupWeblogMirrorFeedAjaxHandlerId which is used to identify the control that will handle AJAX requests. I then extended GetPropertyValue in the control to return a formated AJAX request for the delete action.&lt;/font&gt;&lt;/p&gt;&lt;pre class="csharpcode"&gt;   &lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;object&lt;/span&gt; GetPropertyValue(&lt;span class="kwrd"&gt;string&lt;/span&gt; property)&lt;br /&gt;   {&lt;br /&gt;       RollerBlogFeed thisFeed = DataSource &lt;span class="kwrd"&gt;as&lt;/span&gt; RollerBlogFeed;&lt;br /&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;switch&lt;/span&gt; (property.ToLower())&lt;br /&gt;        {&lt;br /&gt;           &lt;span class="kwrd"&gt;case&lt;/span&gt; &lt;span class="str"&gt;&amp;quot;ajaxdelete&amp;quot;&lt;/span&gt;:&lt;br /&gt;               &lt;span class="kwrd"&gt;if&lt;/span&gt; (thisFeed != &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;br /&gt;               {&lt;br /&gt;                   &lt;span class="kwrd"&gt;if&lt;/span&gt; (&lt;span class="kwrd"&gt;string&lt;/span&gt;.IsNullOrEmpty(HubWeblogMirrorFeedAjaxHandlerId))&lt;br /&gt;                        &lt;span class="kwrd"&gt;throw&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; ApplicationException(&lt;span class="str"&gt;&amp;quot;TO use the Ajax Functionlalty you need to specify HubWeblogMirrorFeedDataID&amp;quot;&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;                   Control ctrl = CSControlUtility.Instance().FindControl(Page, HubWeblogMirrorFeedAjaxHandlerId);&lt;br /&gt;                   &lt;span class="kwrd"&gt;if&lt;/span&gt; (ctrl != &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;br /&gt;                        &lt;span class="rem"&gt;//Return a javascript fragment that calls back into this class and deletes the selected item&lt;/span&gt;&lt;br /&gt;                          &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;&amp;quot;HubWeblogMirrorFeedData.DeleteFeed(&amp;#39;{0}&amp;#39;, {1});&amp;quot;&lt;/span&gt;, ctrl.ClientID, thisFeed.UrlId);&lt;br /&gt;               }&lt;br /&gt;               &lt;span class="kwrd"&gt;break&lt;/span&gt;;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;base&lt;/span&gt;.GetPropertyValue(property);&lt;br /&gt;    }&lt;/pre&gt;&lt;br /&gt;&lt;font face="Verdana, sans-serif"&gt;I then created a AJAX handler class to handle the requests.&lt;/font&gt; 
&lt;h3 class="heading-4-western"&gt;&lt;font face="Verdana, sans-serif"&gt;3. Chameleon Form &lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;&lt;font face="Verdana, sans-serif"&gt;When a user edits a group, they are able to enable and disable the blog. Within the blog administration section the group owner or system administrator should be able to manage the list of external blog feeds. To do this I needed to create a form that supported entering all of the data to manage a blog feed. Fortunately most of this information had already been done in the blog system administration pages and using the SDK I was able to implement the same code inside a chameleon form control. The control that I implemented used the WrappedFormBase base class and used all of the fields that had been identified from the blog system administration control panel screen. &lt;/font&gt;&lt;/p&gt;
&lt;h3 class="heading-4-western"&gt;&lt;font face="Verdana, sans-serif"&gt;4. Site Urls &lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;&lt;font face="Verdana, sans-serif"&gt;In order to add and edit the feed from the edit group page, I needed to update the site urls to include a new url that matches the edit feed page and re-writes it to the theme location. To do this I simple created a siteurls_override.config file and added the required url location.&lt;/font&gt;&lt;/p&gt;
&lt;h3 class="heading-4-western"&gt;&lt;font face="Verdana, sans-serif"&gt;4. Web Page Changes&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;&lt;font face="Verdana, sans-serif"&gt;Finally I edited the edithub.aspx page and added my new form and created a new editform.aspx page. In order to allow the feed list to update without submitting the group page I used a delayed content control and ajax to manage the list.&lt;/font&gt;&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;language&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;javascript&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;text/javascript&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span class="kwrd"&gt;function&lt;/span&gt; reloadFeedList(res)&lt;br /&gt;  {&lt;br /&gt;       &lt;span class="rem"&gt;//Tell this delayed content to reload&lt;/span&gt;&lt;br /&gt;       &amp;lt;%= CSControlUtility.Instance().FindControl( EditHubForm , &lt;span class="str"&gt;&amp;quot;DisplayHubBlogFeeds&amp;quot;&lt;/span&gt;).ClientID %&amp;gt;.Reload();&lt;br /&gt;  }&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span class="asp"&gt;&amp;lt;%&lt;/span&gt;-- This must go outside the delayed content so the ajax stuff registers correctly on the page--&lt;span class="asp"&gt;%&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;FRW:HubWeblogMirrorFeedAjaxHandler&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;HandlerAjaxHubFeed&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;FRW:HubWeblogMirrorFeedAjaxHandler&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;CSControl:DelayedContent&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;DisplayHubBlogFeeds&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;LoadImmediately&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ContentTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;CSControl:ResourceControl&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;tag&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;h4&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;ResourceFile&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;FourRoads.Hubs.BlogMirror.xml&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;ResourceName&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Hub_Feeds_Title&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;CSControl:ResourceControl&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Telligent_Modal.Open( &amp;#39;&amp;lt;%# CommunityServer.Components.SiteUrls.Instance().UrlData.FormatUrl(&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt;HubFeedsForm&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;quot; ,CSControlUtility.Instance().GetCurrentSection(this).ApplicationKey,&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt;-1&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;quot;) %&amp;gt;&amp;#39;, 600, 300, reloadFeedList);&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;button&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Add&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;FRW:HubWeblogMirrorFeedList&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;ShowHeaderFooterOnNone&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;HeaderTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 class="western"&gt;Summary&lt;/h2&gt;
&lt;p&gt;&lt;font face="Verdana, sans-serif"&gt;The implementation I have created is a very simple way of adding external feeds to group blog. I have taken some shortcuts and there is more business logic in the controls than I would have liked. &lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=439" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/37qcCt4wLtQ" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/team_blog/archive/tags/Samples/default.aspx">Samples</category><category domain="http://www.4-roads.com/blogs/team_blog/archive/tags/Group+Mirror+Feed/default.aspx">Group Mirror Feed</category><feedburner:origLink>http://www.4-roads.com/blogs/team_blog/archive/2009/01/19/group-mirror-feeds.aspx</feedburner:origLink><enclosure url="http://feedproxy.google.com/~r/FourRoads/~5/P-rjyJaqsR4/Group-Mirror.zip" length="13648" type="application/x-zip-compressed" /><feedburner:origEnclosureLink>http://www.4-roads.com/cfs-file.ashx/__key/CommunityServer.Components.PostAttachments/00.00.00.04.39/Group-Mirror.zip</feedburner:origEnclosureLink></item><item><title>Commerce Update</title><link>http://feedproxy.google.com/~r/FourRoads/~3/9OCyXtNIzbg/commerce-update.aspx</link><pubDate>Fri, 16 Jan 2009 14:06:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:436</guid><dc:creator>Robert Nash</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;&lt;span class="606484913-16012009"&gt;&lt;font face="Verdana" size="2"&gt;As most of you are&amp;nbsp;aware, Telligent discovered a security flaw in Community Server and released a patch for CS 2008.5, CS 2008, and CS 2007.&amp;nbsp;&amp;nbsp;We&amp;#39;ve tested Commerce with the new patch so that you can apply the CS patch with confidence. We&amp;nbsp;have&amp;nbsp;point version upgrades for both Commerce 2.5 (for Community Server 2008.5)&amp;nbsp;and 2.1 (for Community Server 2008)&amp;nbsp;to provide compatibility with the patch and to make some improvements in Commerce functionality.&amp;nbsp;As of today, these point releases are now available.&amp;nbsp; I am also excited to say that this point release now supports PayPal recurring subscriptions.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font face="Verdana" size="2"&gt;Features Added&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span class="606484913-16012009"&gt;&lt;font face="Verdana" size="2"&gt;PayPal Automated Recurring Subscription&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;&lt;span class="606484913-16012009"&gt;A large number of our customers use Commerce to manage customer access to subscription content&lt;/span&gt;.&lt;span class="606484913-16012009"&gt;&amp;nbsp; With this release, customers using PayPal as their payment provider will now be able to take advantage of the automated recurring billing features of PayPal.&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="606484913-16012009"&gt;&lt;/span&gt;&lt;strong&gt;&lt;font face="Verdana" size="2"&gt;Improvements Made&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="+0"&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;Subscription page now displays&amp;nbsp;the correct&amp;nbsp;renewal price&lt;span class="606484913-16012009"&gt;, when Include Tax in Price option is enabled&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font face="Verdana" size="2"&gt;Subscriptions with quantities now&amp;nbsp;bill the correct price in&amp;nbsp;&lt;span class="606484913-16012009"&gt;A&lt;/span&gt;uthorize.net&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="+0"&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;PayPal Express address details now&amp;nbsp;convert the country to three letter code&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font face="Verdana" size="2"&gt;Authorize and Capture&amp;nbsp;&lt;span class="606484913-16012009"&gt;mode&lt;/span&gt; no longer invalidates token and the user is now able to view&amp;nbsp;the order success screen&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="+0"&gt;&lt;font face="Verdana" size="2"&gt;Googlesitemap index for shop pages is now working&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="+0"&gt;&lt;font face="Verdana" size="2"&gt;Eliminated context issues when using a ShopData control&amp;nbsp;nested on a page outside the shop&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="+0"&gt;&lt;font face="Verdana" size="2"&gt;Resolved a caching Issue with variant products&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="+0"&gt;&lt;font face="Verdana" size="2"&gt;Subscription Terms and Conditions are now persisted and retrieved correctly&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="+0"&gt;&lt;font face="Verdana" size="2"&gt;User Comments in product reviews now correctly link to the user profile page&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="+0"&gt;&lt;font face="Verdana" size="2"&gt;Deleting a file in the file list of the shop control panel no longer causes an exception&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size="+0"&gt;&lt;font face="Verdana" size="2"&gt;In the Control Panel, the Order list now displays a user&amp;#39;s account name for orders placed by registered users&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="+0"&gt;&lt;font size="+0"&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;Improved the layout of the order detail screen in the Control Panel&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="+0"&gt;&lt;font size="+0"&gt;&lt;span class="606484913-16012009"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="+0"&gt;&lt;font face="Verdana" size="2"&gt;Subscription period now displayed as &amp;quot;every month&amp;quot; instead of &amp;quot;every 1 month&amp;quot; for monthly subscriptions&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="+0"&gt;&lt;font size="+0"&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;Multiple error messages are now displayed correctly&lt;span class="606484913-16012009"&gt; when using&amp;nbsp;a PayPal gateway&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="+0"&gt;&lt;font size="+0"&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;Global Item Settings and &amp;quot;Default Item Settings&amp;quot;&amp;nbsp;&lt;span class="606484913-16012009"&gt;were unclear in their meaning&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size="+0"&gt;&lt;font size="+0"&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;&lt;span class="606484913-16012009"&gt;Now able to de-select an item associated with a money off coupon&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=436" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/9OCyXtNIzbg" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/Commerce/default.aspx">Commerce</category><feedburner:origLink>http://www.4-roads.com/blogs/commerce/archive/2009/01/16/commerce-update.aspx</feedburner:origLink></item><item><title>Daily Telegraph - Networking sites face data cost crisis </title><link>http://feedproxy.google.com/~r/FourRoads/~3/To2xNBkmNIY/daily-telgraph-networking-sites-face-data-cost-crisis.aspx</link><pubDate>Thu, 01 Jan 2009 10:54:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:426</guid><dc:creator>Robert Nash</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Firstly let me start by proclaiming a happy new year!&amp;nbsp;Given the current business&amp;nbsp;climate I think we are all going to find&amp;nbsp;2009 a tough one.&amp;nbsp; Of course the up side to a downturn in any industry is that &amp;quot;it separates the wheat from the chaff&amp;quot; and the strong, dynamic&amp;nbsp;organizations that meet the expectations of their customers or membership&amp;nbsp;will survive.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;This morning I have read an article in the &lt;a title="Networking sites face data cost crisis " href="http://www.telegraph.co.uk/finance/newsbysector/mediatechnologyandtelecoms/3999570/Networking-sites-face-data-cost-crisis.html"&gt;Daily Telegraph&lt;/a&gt; that has a rather pessimistic outlook for social networking sites from analysis produced by Deloitte.&amp;nbsp; The article discusses the issues facing sites such as Facebook and&amp;nbsp;Twitter, which currently do not have a revenue stream that covers the costs for data storage and bandwidth.&amp;nbsp; The article warns that a host of social&amp;nbsp;networking sites will feel the pain as revenue streams from advertising and venture capital dry up.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;To me this article highlights the mission we have been on for the past 2 years.&amp;nbsp; We all know that social networking sites are the way forward for both business and public communities, however the opulent times of the last&amp;nbsp;5 years have masked the true cost of these sites.&amp;nbsp;&amp;nbsp;Four Roads&amp;nbsp;products and expertise provide valuable avenues to allow your social networking site to generate revenue through subscriptions, merchandise, products or any other custom sales channels.&amp;nbsp;&amp;nbsp;Let your community become the wheat and &lt;a title="Contact Us Now" href="http://www.4-roads.com/contactus.aspx"&gt;contact us&lt;/a&gt; now to see how Community Server and Four Roads Commerce can help.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=426" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/To2xNBkmNIY" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/team_blog/archive/tags/Commerce/default.aspx">Commerce</category><category domain="http://www.4-roads.com/blogs/team_blog/archive/tags/News/default.aspx">News</category><feedburner:origLink>http://www.4-roads.com/blogs/team_blog/archive/2009/01/01/daily-telgraph-networking-sites-face-data-cost-crisis.aspx</feedburner:origLink></item><item><title>Commerce 2.1.4 for Community Server 2008</title><link>http://feedproxy.google.com/~r/FourRoads/~3/oa7XOGifuTg/commerce-release-news.aspx</link><pubDate>Thu, 04 Dec 2008 14:22:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:418</guid><dc:creator>Robert Nash</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:Arial;"&gt;Our recent release of Commerce for&amp;nbsp;Community Server&amp;nbsp;2008.5 SP1 has been a great success and I want to share some news on CS 2008 support and also our road map for the next release of Commerce.&lt;/span&gt;&lt;/p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:Arial;"&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:Arial;"&gt;First, the good news, Commerce 2.1.4 for&amp;nbsp;CS 2008 has been released.&amp;nbsp; We have merged&amp;nbsp;all of the critical bug fixes identified in the 2.5.1 release along with the functionality to support AddThis and Twitter (&lt;a class="" href="http://www.4-roads.com/blogs/commerce/archive/2008/11/20/commerce-for-community-server-2008-5-sp1.aspx"&gt;Read More Here&lt;/a&gt;).&amp;nbsp; The upgrade process is straightforward.&amp;nbsp;Simply copy the installation into the add-on folder and then browse to the installation page and click upgrade.&amp;nbsp; Full instruction enclosed.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:Arial;"&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:Arial;"&gt;The second piece of good news is that we&amp;#39;ve listened to your feedback on product functionality and have decided to further enhance Commerce before the release of Community Server 2009. We will be aiming for a mid January release&amp;nbsp;that will include a versatile system for product options, integration with shipping gateways such as UPS and better subscription management pages. These improvements will further our goal of providing you with&amp;nbsp;the premier social commerce platform for Community Server.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:Arial;"&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:Arial;"&gt;Finally I&amp;#39;d also like to wrap up by saying thanks for all of your continued support, We hear your request for documentation and we will be updating our site soon to include this along with a slightly modified user experience for the web site.&lt;/span&gt; 
&lt;p&gt;&lt;span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:Arial;"&gt;Regards,&lt;br /&gt;Rob&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=418" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/oa7XOGifuTg" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/News/default.aspx">News</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/Commerce+2008/default.aspx">Commerce 2008</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/RoadMap/default.aspx">RoadMap</category><feedburner:origLink>http://www.4-roads.com/blogs/commerce/archive/2008/12/04/commerce-release-news.aspx</feedburner:origLink></item><item><title>New Commerce Feature: Social Bookmarking</title><link>http://feedproxy.google.com/~r/FourRoads/~3/M1Lh0YszWCc/new-commerce-feature-social-bookmarking.aspx</link><pubDate>Thu, 20 Nov 2008 21:14:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:393</guid><dc:creator>MikeTrefry</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;One of the new social features added to this latest release of Four Roads Commerce is social bookmarking. Over the last couple of years there have been several methods of doing this, from CS Modules to Chameleon controls, all with configuration via the CommunityServer.config.&lt;/p&gt;
&lt;p&gt;We decided to take a different approach by using the third party service &lt;a class="" title="Visit AddThis.com" href="http://www.addthis.com/" target="_blank"&gt;AddThis&lt;/a&gt;. &lt;a class="" title="Visit AddThis.com" href="http://www.addthis.com/" target="_blank"&gt;AddThis&lt;/a&gt; provides a configurable button that when added to your site allows users to share links with every conceivable social bookmarking and sharing service out there. You do have to sign up for an account with &lt;a class="" title="Visit AddThis.com" href="http://www.addthis.com/" target="_blank"&gt;AddThis&lt;/a&gt;, but there are extra benefits to that such as being able to track the number of bookmarks that are created from your site, which pages are bookmarked most, and what the most popular bookmarking services your customers are using.&lt;/p&gt;
&lt;p&gt;&lt;a class="" title="Visit AddThis.com" href="http://www.addthis.com/" target="_blank"&gt;AddThis&lt;/a&gt;&amp;nbsp;provides you with some javascript that you can add to the pages of your site, after selecting what you want your button to look like and how you want it to behave. We took this even further by creating a Chameleon control that is embedded into the pages of a Shop Item, so that you can control it&amp;#39;s placement when skinning your site. It&amp;nbsp;is completely configurable via a control panel page within the shop or via properties on the control itself.&lt;/p&gt;
&lt;p&gt;One of the benefits of wrapping the button code in a control and configuring it via properties is that we were able to automatically create a datasource for the control the way all Chameleon controls do, and make certain assumptions on what data to provide &lt;a class="" title="Visit AddThis.com" href="http://www.addthis.com/" target="_blank"&gt;AddThis&lt;/a&gt;. For instance &lt;a class="" title="Visit AddThis.com" href="http://www.addthis.com/" target="_blank"&gt;AddThis&lt;/a&gt;&amp;nbsp;needs 3 things to make it work. First, an account name. This is the account name you set up when creating your account with &lt;a class="" title="Visit AddThis.com" href="http://www.addthis.com/" target="_blank"&gt;AddThis&lt;/a&gt;. You can configure the account name via the Shop control panel. Next it needs a Title and a URL. Given that we&amp;nbsp;assume&amp;nbsp;a Post object as the datasource, we can derive the Title from the Subject of the Post, and the URL from the Post object itself. &lt;/p&gt;
&lt;p&gt;With this methodology, the control&amp;nbsp;becomes usable anywhere within Community Server, and so&amp;nbsp;what we have created is a generic social bookmarking control that can be dropped into any page of Community Server as long as there is a Post datasource in its parent heirarchy. The&amp;nbsp;Control Panel&amp;nbsp;configuration however, is only available to the control within the Shop pages, which means that anywhere else you decide to put the control, it must be configured via the control properties. Examples will follow.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Configuring the &lt;/strong&gt;&lt;a class="" title="Visit AddThis.com" href="http://www.addthis.com/" target="_blank"&gt;&lt;strong&gt;AddThis&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&amp;nbsp;control via the&amp;nbsp;Commerce Control Panel&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This configuration only applies to use of the &lt;a class="" title="Visit AddThis.com" href="http://www.addthis.com/" target="_blank"&gt;AddThis&lt;/a&gt;&amp;nbsp;control within Commerce pages, as the use of the control is slightly different in these pages.&lt;/p&gt;
&lt;p&gt;Navigate to the Shop Management page for your shop, select the Global Settings tab, and then the Shop Options tab. You will see a tab labeled AddThis Settings, select this tab.&lt;/p&gt;
&lt;p&gt;You should see&amp;nbsp;a page that looks like the following screenshot:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="https://www.4-roads.com/sitefiles/1000/AddThisConfig.gif" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;After enabling AddThis, entering your account name, selecting your button style and the button behavior (all of these are the same options available at the AddThis site), simply click Save and the AddThis control will be visible from your Shop Item pages, as shown in the following screenshot.&lt;/p&gt;
&lt;p&gt;&lt;img height="363" alt="" src="http://www.4-roads.com/sitefiles/1000/AddThisButton.jpg" width="446" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=393" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/M1Lh0YszWCc" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/Commerce/default.aspx">Commerce</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/Social+Commerce/default.aspx">Social Commerce</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/Features/default.aspx">Features</category><feedburner:origLink>http://www.4-roads.com/blogs/commerce/archive/2008/11/20/new-commerce-feature-social-bookmarking.aspx</feedburner:origLink></item><item><title>Commerce for Community Server 2008.5 SP1</title><link>http://feedproxy.google.com/~r/FourRoads/~3/ABpXbh7ox4Q/commerce-for-community-server-2008-5-sp1.aspx</link><pubDate>Wed, 19 Nov 2008 23:05:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:389</guid><dc:creator>SeanWinstead</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;We&amp;#39;re happy to announce that Four Roads Commerce 2.5.1 is available for download.&amp;nbsp;Four Roads Commerce is the first integrated&amp;nbsp;social commerce add on for&amp;nbsp;the Community Server platform.&amp;nbsp;The primary goal of this release is to support Community Server 2008.5 SP1. It also&amp;nbsp;includes&amp;nbsp;new features and improvements.&amp;nbsp;An updated Commerce for Community Server 2008 will follow in the next few days.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;Features Added&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;AddThis Support for Shop Items&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;A key part of social commerce is giving your customers the power to bookmark and share their favorite items in your online store.&amp;nbsp;&lt;a class="" href="http://www.adthis.com/"&gt;AddThis.com&lt;/a&gt; is&amp;nbsp;the leading bookmarking and sharing solution on the internet. It&amp;#39;s easy to configure. Just fill in the AddThis settings in your stores&amp;#39; Shop Options tab. When a customer looks at an item for sale, they&amp;#39;ll see the AddThis button. Once clicked, they have the ability to share the item with any and all the leading sharing sites such as Digg and Facebook.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Twitter Your Purchases&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;If your customers are addicted to &lt;a class="" href="http://www.twitter.com/"&gt;Twitter&lt;/a&gt;, give them the ability to tweet their latest discovery in your store. When you activate this feature, a Twitter About link appears on each item page. When the user clicks it, a dialog appears.The dialog is pre-populated with a message and hyperlink&amp;nbsp;to&amp;nbsp;the product.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4"&gt;&lt;strong&gt;Improvements Made&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2"&gt;The address management page is now easier to read and use.&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2"&gt;Fixed an issue where the order completion email was duplicated.&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2"&gt;The My Subscriptions page now shows the number of days remaining per subscription.&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2"&gt;The column headers on the My Subscriptions page were slightly tweaked to make the grid more readable.&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2"&gt;Authorize.NET: Fixed a problem that occured when buying a yearly subscription.&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2"&gt;Free Payment Gateway: Fixed a problem where orders were declined.&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2"&gt;Fixed an error that occurred when trying to view an item comment from the My Shops section of the Control Panel.&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;US mailing addresses are now displayed in the correct format.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;When the shopping cart in the sidebar is empty, the Check Out link is no longer displayed.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;If the products in the shipping cart do not require shipping then the shipping address is no longer required.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Extended attributes are now working correctly on items placed in the shopping cart.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;The &amp;quot;Add&amp;quot; button for billing address now adds a new address instead of editing the old one.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;The &amp;quot;Ship to Different&amp;quot; address checkbox now postbacks to the correct URL.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;In the payment gateways configuration screen, the API credentials are now trimmed of leading and trailing whitespace.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;Manufacturer addresses are now properly updated.&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;You can now select a parent category for a shop category.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Assets are now sorted alphabetically in the Select Asset dialog.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Improved layout of product boxes on shop home page.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Paging now works on shop tag browser.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Fixed problem with artificacts on resized asset images.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Assets with apostrophes in title and description&amp;nbsp;no longer cause an error.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;The News control on the shop home page now auto hides if no news is available. Note that when removing news content, you must delete *all* HTML within the news editor.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;The dynamic shop stylesheet now loads.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;New category properties are now visible by default.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Shipping priority is now working.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Coupon validation now displays error message for invalid and expired coupons.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Corrected the cache key for user&amp;#39;s list of orders.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;When a shop owner views an order in the Control Panel, she can now see the shipping method for the order.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Subscriptions that require a shipment will no longer auto complete.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=389" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/ABpXbh7ox4Q" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/Commerce/default.aspx">Commerce</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/News/default.aspx">News</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/2008.5/default.aspx">2008.5</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/Releases/default.aspx">Releases</category><feedburner:origLink>http://www.4-roads.com/blogs/commerce/archive/2008/11/20/commerce-for-community-server-2008-5-sp1.aspx</feedburner:origLink></item><item><title>Defining Social Commerce - It's only half baked, if that!</title><link>http://feedproxy.google.com/~r/FourRoads/~3/It0_PNVbBmc/social-commerce-definition-it-s-only-half-baked-if-that.aspx</link><pubDate>Mon, 17 Nov 2008 21:20:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:384</guid><dc:creator>Mark Courtney</dc:creator><slash:comments>0</slash:comments><description>Honestly, we can talk about what Social Commerce is and what it isn&amp;#39;t all day long.&amp;nbsp; The truth is though, Social Commerce is a continually evolving concept atributable to the creative and diverse business models in which it is being applied.&amp;nbsp; At it&amp;#39;s core though, when we look at it from a market and business applicability perspective, we perceive it to be driven by the following foundational tenants:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Perpetuated by the human instinct to promote best of
breed products and services through
shared experiences&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;

Continues to set new paradigms for consumer spending
behavior
&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;

Reinforces a seller beware market


&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Transcends well beyond traditional ratings, reviews and referrals&lt;br /&gt;&lt;br /&gt; &lt;/li&gt;&lt;li&gt;

Promotes organic sales and marketing through creative
incentives, social media integration and member activity based promotions&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Of course, Four Roads reserves the right to change this list at any time as it applies to the evolutionary term &amp;#39;Social Commerce&amp;#39; itself.&amp;nbsp; ;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=384" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/It0_PNVbBmc" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/Social+Commerce/default.aspx">Social Commerce</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/Discussions/default.aspx">Discussions</category><feedburner:origLink>http://www.4-roads.com/blogs/commerce/archive/2008/11/17/social-commerce-definition-it-s-only-half-baked-if-that.aspx</feedburner:origLink></item><item><title>The E-factor in Social Commerce</title><link>http://feedproxy.google.com/~r/FourRoads/~3/1zqiWiCPfPk/putting-the-e-factor-in-social-commerce.aspx</link><pubDate>Thu, 13 Nov 2008 16:53:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:379</guid><dc:creator>Mark Courtney</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;In looking at the evolution of e-Commerce and social networking over the last few years, a convergence has occured which is now being called &amp;quot;Social Commerce&amp;quot;.&amp;nbsp; Ratings, reviews, referrals, personalized recommendations...It&amp;#39;s really quite commonplace to see this functionality throughout most e-Commerce sites today.&amp;nbsp; While there are folks trying to catch up to provide this type of experience to their customers, we are looking closely at what truly drives repeat buyers and return visitors.&amp;nbsp; &lt;/p&gt;&lt;p&gt;What is it that makes people want to frequent your online storefront and contribute back to the rest of your community? &lt;/p&gt;&lt;p&gt;There&amp;#39;s no doubt that digging into this question opens up many different philosophies and concepts but one that resonates throughout is centered on what we are calling the E-Factor.&amp;nbsp; The E-Factor is pretty simple.&amp;nbsp; It represents something that we all enjoy and makes us feel special in our own unique way.&amp;nbsp; Yes folks, I&amp;#39;m talking about Entertainment!&amp;nbsp; &lt;/p&gt;&lt;p&gt;From deal seekers to impulse buyers, we all like being awarded with suprise promotions that are intelligent, thoughtful and personal.&amp;nbsp; Point systems and random event promotions within your Social Commerce storefront open creative ways to promote activity, return site visits and increased spending.&amp;nbsp; And while everyone says they don&amp;#39;t play games, everyone loves a game that benefits their pocketbook and provides some instant grat.... &lt;/p&gt;&lt;p&gt;As we continue to evolve Four Roads Commerce, we are incorporating dynamic, yet easily configurable and extendable ways to incent members based on their activity in the community and the storefront itself.&amp;nbsp; Member points are just the begining of a entirely new way to differentiate your online shopping experience.&amp;nbsp; There&amp;#39;s much more to come and we are excited about being on the forefront! &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=379" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/1zqiWiCPfPk" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/scommerce/default.aspx">scommerce</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/incentives/default.aspx">incentives</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/member+points/default.aspx">member points</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/promotions/default.aspx">promotions</category><feedburner:origLink>http://www.4-roads.com/blogs/commerce/archive/2008/11/13/putting-the-e-factor-in-social-commerce.aspx</feedburner:origLink></item><item><title>ERRM: Social Commerce Key Components </title><link>http://feedproxy.google.com/~r/FourRoads/~3/Wfq6uE2YaEQ/social-commerce-key-components.aspx</link><pubDate>Mon, 10 Nov 2008 10:35:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:378</guid><dc:creator>Robert Nash</dc:creator><slash:comments>0</slash:comments><description>&lt;div&gt;&lt;font face="Arial" size="2"&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;img height="1" alt="Review" src="http://www.4-roads.com/blogs/commerce/iStock_000001171305XSmall.jpg" width="1" border="0" /&gt;What&amp;nbsp;is&amp;nbsp;the difference between&amp;nbsp;social commerce and ecommerce applications?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;I&amp;nbsp;can summarize the difference between social commerce (scommerce) and ecommerce simply by looking at the core features that make a social commerce application.&amp;nbsp; The list below&amp;nbsp;are the topics&amp;nbsp;that I think are essential to create a full implementation&amp;nbsp;of a social commerce application.&amp;nbsp;&amp;nbsp;&lt;em&gt;&amp;nbsp; &lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p style="MARGIN-BOTTOM:0cm;"&gt;&lt;em&gt;&lt;b&gt;Empowerment&lt;/b&gt;: Your customers are a powerful force and by giving them the power to share their experiences of&amp;nbsp;the products and services you offer you&amp;nbsp;can&amp;nbsp;indirectly re-enforce marketing and sales messages.&amp;nbsp;In this process&amp;nbsp;some of your customers will be converted to fans, these individuals will help your business by answering technical questions and assisting other customers without asking for any reward.&lt;/em&gt;&lt;/p&gt;
&lt;li&gt;
&lt;p style="MARGIN-BOTTOM:0cm;"&gt;&lt;em&gt;&lt;b&gt;Rewards&lt;/b&gt;: Although your fans will help you regardless of reward, it&amp;#39;s nice to give something back. Rewarding a customers social networking habits is a way to not only grow your fan base, but also a way to retain your less active&amp;nbsp;customers and keep them interested.&lt;/em&gt;&lt;/p&gt;
&lt;li&gt;
&lt;p style="MARGIN-BOTTOM:0cm;"&gt;&lt;em&gt;&lt;b&gt;Retention&lt;/b&gt;:&amp;nbsp;Having a customer visit your site once and make a purchase&amp;nbsp;is OK, but the real goal is to keep them coming back.&amp;nbsp;Offering rewards to entice your customers to revisit is a good start but you need more. The social network&amp;nbsp;gives you the&amp;nbsp;&amp;quot;more&amp;quot;&amp;nbsp;factor by&amp;nbsp;having interesting content supplied by not only your business but also other customers.&lt;/em&gt;&lt;/p&gt;
&lt;li&gt;
&lt;p style="MARGIN-BOTTOM:0cm;"&gt;&lt;em&gt;&lt;strong&gt;Measurement&lt;/strong&gt;:&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;Your customers are important and without measuring what they do and responding to them with targeted marketing campaigns you will lose business.&amp;nbsp; The new wave of tools allowing you to understand the social dynamics of your user base are at the absolute core of measurement.&amp;nbsp;&amp;nbsp;Measurement&amp;nbsp;creates a feedback loop into&amp;nbsp;all other areas of your&amp;nbsp;social commerce community.&amp;nbsp;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p style="MARGIN-BOTTOM:0cm;"&gt;&lt;img style="FLOAT:right;" src="http://www.4-roads.com/blogs/commerce/iStock_000001171305XSmall.jpg" alt="" /&gt; You might say that some elements of the topics above&amp;nbsp;you will&amp;nbsp;find in a standard ecommerce application, for example reviews.&amp;nbsp;Indeed&amp;nbsp;reviews&amp;nbsp;have been ecommerce for a while however, the ecommerce application lacks the social network to support&amp;nbsp;authenticity of the review and is therefore only social commerce at a very basic level.&amp;nbsp; The important concept that I am trying to articulate is that social commerce is about leveraging&amp;nbsp;all aspects of&amp;nbsp;the social network to better promote&amp;nbsp;products and services, something that is&amp;nbsp;difficult to do in standard ecommerce.&amp;nbsp;&lt;/p&gt;
&lt;p style="MARGIN-BOTTOM:0cm;"&gt;&lt;em&gt;&lt;strong&gt;What businesses are using Social Commerce?&lt;/strong&gt;&lt;/em&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div style="MARGIN-BOTTOM:0cm;"&gt;&lt;a class="" href="http://www.wishpot.com/"&gt;WishPot&lt;/a&gt; is a clever interpretation of social commerce.&amp;nbsp;WishPot is an on-line wish list that you&amp;nbsp;share with&amp;nbsp;your friends and family to allow them to select presents for you&amp;nbsp;that you will truly appreciate.&amp;nbsp; The&amp;nbsp;products that are available are aggregated from various&amp;nbsp;stores such as Amazon&amp;nbsp;and can be given reviews that are backed by the users profile and interaction on the site.&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li style="MARGIN-BOTTOM:0cm;"&gt;&lt;a href="http://www.kaboodle.com/"&gt;Kaboodle&lt;/a&gt; is social commerce site that is based around interest groups, it has a community that is willing to share thoughts and reviews on products making your shopping trip more like a trip to the mall with your friends.&lt;/li&gt;
&lt;li style="MARGIN-BOTTOM:0cm;"&gt;&lt;a href="http://en.community.dell.com/"&gt;Dell&lt;/a&gt;&amp;nbsp;have launched a site based on &lt;a href="http://communityserver.com/"&gt;Community Server&lt;/a&gt; that allows their customers&amp;#39; to share experiences, advice and reviews. Dell has yet to embrace a reward system which I think is something that they will have to investigate if they truly want to embrace social commerce&lt;/li&gt;&lt;/ul&gt;
&lt;p style="MARGIN-BOTTOM:0cm;"&gt;None of the sites yet cover all of the ERRM concept and I feel there is much more discussion to be had.&amp;nbsp; If you would like to join us to discuss more please&amp;nbsp;join our&amp;nbsp;social commerce group @ &lt;a href="http://www.linkedin.com/e/gis/1168967"&gt;LinkedIn&lt;/a&gt;. We want to open the&amp;nbsp;discussion of social commerce to everyone.&lt;/p&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Arial" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=378" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/Wfq6uE2YaEQ" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/Social+Commerce/default.aspx">Social Commerce</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/scommerce/default.aspx">scommerce</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/Discussions/default.aspx">Discussions</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/ecommerce/default.aspx">ecommerce</category><feedburner:origLink>http://www.4-roads.com/blogs/commerce/archive/2008/11/10/social-commerce-key-components.aspx</feedburner:origLink></item><item><title>Social Media debate at E-commerce Expo</title><link>http://feedproxy.google.com/~r/FourRoads/~3/EjJLPZjbtco/social-media-debate-at-e-commerce-expo.aspx</link><pubDate>Fri, 31 Oct 2008 08:34:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:377</guid><dc:creator>Robert Nash</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;At the recent successful&amp;nbsp;e-commerce expo at Olympia in London there was a debate on Social Media ROI, which by all accounts was an interesting session.&amp;nbsp; I was interested to read this &lt;a href="http://connect.icrossing.co.uk/social-media-faces-tough-questions_1008"&gt;blog&lt;/a&gt; on the debate and try to relate it to where &lt;a href="http://www.communityserver.com/" target="_blank"&gt;Community Server&lt;/a&gt;, &lt;a href="http://communityserver.com/products/harvest/" target="_blank"&gt;Harvest Reporting Server&lt;/a&gt; and &lt;a href="http://www.4-roads.com/shops/products/four-roads-commerce-2008-professional-edition.aspx"&gt;Four Roads Commerce&lt;/a&gt; stand in terms of the current market place.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t think I need to rave about &lt;a href="http://www.communityserver.com/" target="_blank"&gt;Community Server&lt;/a&gt;&amp;nbsp;too much, it is well known to be the market leader in allowing companies to create vibrant communities that stand out from the crowd.&amp;nbsp; But I do think I need to talk more about &lt;a href="http://communityserver.com/products/harvest/"&gt;Harvest Reporting Server&lt;/a&gt;. &amp;nbsp; &lt;/p&gt;
&lt;p&gt;Harvest is one of the first in a new breed of reporting products&amp;nbsp;allowing business to measure not only standard analytics but also the softer objectives that Alex Burmaster pointed out in the debate. At the recent in-Telligent conference, Harvet 2.0 was&amp;nbsp;demonstrated with new features that start to analyse areas&amp;nbsp;such as user profile and habits.&amp;nbsp; So as a community owner&amp;nbsp;you can identify how to best market to your users or reward users that&amp;nbsp;are of a particular demographic.&amp;nbsp;Harvest&amp;nbsp;is reasonably priced for SMB&amp;#39;s and its utility for improving&amp;nbsp;ROI far out weighs&amp;nbsp;Harvest&amp;#39;s cost.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;I&amp;#39;d also like to talk about&amp;nbsp;our product in relation to this post.&amp;nbsp;Four Roads Commerce is the first extension to Community Server&amp;nbsp;allowing companies to fully integrate ecommerce into their social networking site.&amp;nbsp;&amp;nbsp;Commerce delivers much more than a simple ecommerce application. Sure, it does help you avoid spending the&amp;nbsp;time and money used to integrate&amp;nbsp;a&amp;nbsp;third party ecommerce application into your community website&amp;nbsp;and you do benefit from an administrative interface seamlessly integrated into the Community Server Control Panel.&amp;nbsp; But the real value of Commerce is not that it is&amp;nbsp;an ecommerce application... it&amp;#39;s an&amp;nbsp;scommerce application.&amp;nbsp;Four Roads&amp;nbsp;is taking the fluffy ideas&amp;nbsp;discussed in these debates and turning them into tangible features that can be measured using Harvest and by the bottom line of your companies profits.&lt;/p&gt;
&lt;p&gt;In conclusion I think that the combination of Community Server, Harvest and Commerce is an extremely compelling argument when next upgrading your company site.&amp;nbsp; Changing your user base from customers to fans or evangelists&amp;nbsp;is an extremely important process.&amp;nbsp;On top of that,&amp;nbsp;targeting&amp;nbsp;users&amp;nbsp;more accurately using Harvest and positioning products that are validated through the social network creates an environment that&amp;nbsp;increases the sites potential ROI.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=377" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/EjJLPZjbtco" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/Commerce/default.aspx">Commerce</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/Social+Commerce/default.aspx">Social Commerce</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/E-commerce+Expo/default.aspx">E-commerce Expo</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/scommerce/default.aspx">scommerce</category><feedburner:origLink>http://www.4-roads.com/blogs/commerce/archive/2008/10/31/social-media-debate-at-e-commerce-expo.aspx</feedburner:origLink></item><item><title>Commerce for Community Server 2008.5</title><link>http://feedproxy.google.com/~r/FourRoads/~3/bcEKrJT9J14/commerce-for-community-server-2008-5.aspx</link><pubDate>Mon, 27 Oct 2008 17:22:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:371</guid><dc:creator>Robert Nash</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Four Roads Commerce 2.5 is now available. This version of Commerce supports Community Server 2008.5. Please see below for information on upgrading from an older version of Commerce to this latest version.&lt;/p&gt;
&lt;p&gt;Improvements in this version include:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;CS 2008.5 compatibility&lt;br /&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;We&amp;#39;ve made categories more SEO-friendly. You may now&amp;nbsp;specify a meta description and meta keywords for product categories. When an item page renders, Commerce will append the meta description and keywords for the item&amp;#39;s categories to the page&amp;#39;s meta description and keywords.&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;If you&amp;#39;ve enabled the rating of items, you can now see the rating left by each person.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;What Is Social Commerce?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Social Commerce incorporates communal aspects of the social media and online community world into the online shopping experience. It provides new ways for people to interact throughout the purchasing process; stimulating organic referrals, increasing spending habits and community membership.&lt;/p&gt;
&lt;p&gt;Four Roads Commerce is the only enterprise-ready Social Commerce product specifically designed for the Community Server platform. Integrating seamlessly, it opens new revenue channels and capabilities that increase membership, return site visits and return on investment.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Product Links&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" title="Commerce 2.5" href="http://www.4-roads.com/files/folders/cs20085/entry370.aspx"&gt;Commerce for CS 2008.5&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Community Server Upgrade Notes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When upgrading between versions of Community Server it is important to use&amp;nbsp;the following procedure to ensure a smooth upgrade.&amp;nbsp; This applies to Community Server installations that have Commerce installed as well as any installations that have customizations.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;Backup the database and website&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Disable all&amp;nbsp;customizations and extensions previously applied to Community Server. For Commerce&amp;nbsp;this requires removing or renaming the &lt;strong&gt;communityserver_override.config&lt;/strong&gt; file but could also involve other elements with custom installations. The communityserver_override.config file will be re-created during the Commerce upgrade.&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Follow Telligent&amp;#39;s instructions on the upgrade process for Community Server.&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Upgrade your extensions.&amp;nbsp;For Commerce, copy the deployment package to the installation directory. Then in&amp;nbsp;a browser,&amp;nbsp;navigate to the addons control panel page and click upgrade.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=371" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/bcEKrJT9J14" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/News/default.aspx">News</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/Commerce+2008/default.aspx">Commerce 2008</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/Releases/default.aspx">Releases</category><feedburner:origLink>http://www.4-roads.com/blogs/commerce/archive/2008/10/27/commerce-for-community-server-2008-5.aspx</feedburner:origLink></item><item><title>in.Telligent 2008 revisited (again)</title><link>http://feedproxy.google.com/~r/FourRoads/~3/c3VPybxbJYg/in-telligent-2008-revisited-again.aspx</link><pubDate>Fri, 24 Oct 2008 06:18:33 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:367</guid><dc:creator>GaryMcPherson</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Following &lt;a href="http://www.4-roads.com/blogs/team_blog/archive/2008/10/23/back-from-the-in-telligent-2008-conference.aspx"&gt;Sean’s earlier round-up&lt;/a&gt; of Telligents second annual conference, I thought I’d post my own summary of the events in Dallas earlier this week.&lt;/p&gt;  &lt;p&gt;Firstly, kudos to the entire Telligent team for putting on a very productive event that I’m sure benefited them and the array of other partners and customers present as much as it did ourselves.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.4-roads.com/blogs/team_blog/DSC02658_3E8767D2.jpg"&gt;&lt;img title="Nicole Keith" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="500" alt="Nicole Keith" src="http://www.4-roads.com/blogs/team_blog/DSC02658_thumb_73B611A6.jpg" width="660" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.4-roads.com/blogs/team_blog/DSC02659_6340315C.jpg"&gt;&lt;img title="Brandi &amp;amp; Courtney, Telligent Marketing" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="500" alt="Brandi &amp;amp; Courtney, Telligent Marketing" src="http://www.4-roads.com/blogs/team_blog/DSC02659_thumb_54981628.jpg" width="660" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;While it was great to put names to faces to many Telligent staff members who have aided us over the last 12 months, along with reconnecting with other partners we met at last years conference, my main hope was to get a fuller understanding of the technical direction Telligent are taking their product range in and happily, I wasn’t disappointed. There were sessions that examined the present and future states of Community Server, Community Server Evolution and Harvest in great detail, along with some hugely insightful conversations with key members of the development team.&lt;/p&gt;  &lt;p&gt;In conversations with some of the marketing guys (and girls) I did raise the point that while the yearly conference is a great time for us as partners to network and build relationships, once everybody goes home, there is no real scope for direct online interaction between Telligent and other partners; which strikes me as somewhat ironic seeing as we are all focused on building strong, relevant communities. It was encouraging to hear that the idea is already under discussion and I hope that something solid will materialise in the foreseeable future.&lt;/p&gt;  &lt;p&gt;On the flip-side, there was plenty of time for fun and games, with a casino night providing entertainment on the first night, while a large group of partners decided to amuse themselves at some of the local establishments on the second. As you can see below, a good time was had by all!&lt;/p&gt;  &lt;p&gt;&lt;img title="Beauties and the geeks" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="500" alt="Beauties and the geeks" src="http://www.4-roads.com/blogs/team_blog/DSC02661_42E02DB0.jpg" width="660" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Here’s to a great session and roll on in.Telligent 2009!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=367" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/c3VPybxbJYg" height="1" width="1"/&gt;</description><feedburner:origLink>http://www.4-roads.com/blogs/team_blog/archive/2008/10/24/in-telligent-2008-revisited-again.aspx</feedburner:origLink></item><item><title>Back from the in.Telligent 2008 conference</title><link>http://feedproxy.google.com/~r/FourRoads/~3/Jl_3Ah1YYOQ/back-from-the-in-telligent-2008-conference.aspx</link><pubDate>Thu, 23 Oct 2008 17:33:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:364</guid><dc:creator>SeanWinstead</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;We&amp;#39;re back from the in.Telligent 2008 social computing conference. Last year&amp;#39;s event was terrific and this one was&amp;nbsp;even better! We&amp;#39;ve a lot to talk about and other members of the team will be sharing their experience in this blog.&lt;/p&gt;
&lt;p&gt;What stood out most to me is the growth in both&amp;nbsp;the partner segment and the Telligent sales and marketing team.&lt;/p&gt;
&lt;p&gt;Partners with booths&amp;nbsp;at the conference included &lt;a class="" title="Guidance home page" href="http://www.guidance.com/"&gt;Guidance&lt;/a&gt;, &lt;a class="" title="Applied Innovations home page" href="http://www.appliedi.net/"&gt;Applied Innovations&lt;/a&gt;, &lt;a class="" title="NeoSpire home page" href="http://www.neospire.com/"&gt;NeoSpire&lt;/a&gt;, and &lt;a class="" title="eConsortium home page" href="http://www.econsortium.net/"&gt;eConsortium&lt;/a&gt;. During our time there, we met several other Telligent partners who were attending the strategy and technical tracks. The overall impression I had is that Community Server is attracting an increasing number of vendors offering quality solutions in the social media and social commerce space. Here and there I was able to attend showcase sessions where partners highlighted the work they&amp;#39;ve done with Community Server and I came away impressed. Telligent partners do good work.&lt;/p&gt;
&lt;p&gt;Telligent has also invested heavily in their sales and marketing team. We were able to connect faces with voices we hear on telephone calls, and I know there are still a raft of people I didn&amp;#39;t have the chance to meet. We were able to mix business conversations with some fun (casino night was a blast). The Telligent sales team were good communicators; they welcomed us and were sincerely interested in what we were doing. With the&amp;nbsp;resources and direction&amp;nbsp;Telligent is putting into their people, partners, and platform,&amp;nbsp;I predict a strong partner ecosystem and good times ahead.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=364" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/Jl_3Ah1YYOQ" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/team_blog/archive/tags/conference/default.aspx">conference</category><category domain="http://www.4-roads.com/blogs/team_blog/archive/tags/Telligent/default.aspx">Telligent</category><category domain="http://www.4-roads.com/blogs/team_blog/archive/tags/Community+Server/default.aspx">Community Server</category><feedburner:origLink>http://www.4-roads.com/blogs/team_blog/archive/2008/10/23/back-from-the-in-telligent-2008-conference.aspx</feedburner:origLink></item><item><title>Commerce for CS 2008.5 Progress Update</title><link>http://feedproxy.google.com/~r/FourRoads/~3/aTf46ypQXgQ/commerce-for-cs-2008-5-progress-update.aspx</link><pubDate>Fri, 10 Oct 2008 07:19:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:357</guid><dc:creator>Robert Nash</dc:creator><slash:comments>0</slash:comments><description>&lt;div&gt;&lt;font face="Arial" size="2"&gt;
&lt;p&gt;Great&amp;nbsp;news! The latest release of Commerce that is compatible with Community Server 2008.5 is&amp;nbsp;in&amp;nbsp;final testing and a release will be made available some time just before the inTelligent conference.&lt;/p&gt;
&lt;p&gt;As pointed out by our well qualified associates &lt;a class="" href="http://www.opensourcec.org/blogs/csnuggets/archive/2008/09/28/3824.aspx"&gt;Bill Bosaker&lt;/a&gt; and &lt;a class="" href="http://dbvt.com/blog/post/Adding-a-CS20085-picture-to-what-Bill-said.aspx"&gt;Dave Burke&lt;/a&gt; this release was a little more than a bunch of bugs fixes and a new WIKI application.&amp;nbsp; The core&amp;nbsp;changes that I in CS 2008.5 have seen are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;To decouple the CSContext from the application type using a new&amp;nbsp;application-defined context object.&amp;nbsp;This allows for greater control over what context information is defined per application and removes the current CSContext from being a &amp;quot;Golden Hammer&amp;quot; class.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;The caching of sections is now being performed using a much smarter type of logic, which looks remarkably like a technique I used on the resource links add on a few years back.&amp;nbsp; &lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;The use of the IDataItemsContainer interface CSControlUtility has been changed and related objects are now exposed using a new interface IRelatedDataContainer.&amp;nbsp;The big change here is that originally the object relations were defined on the Chameleon controls using IDataItemsContainer&amp;nbsp;forcing you to include business logic in the UI layer.&amp;nbsp; Now&amp;nbsp;the IRelatedDataContainer is on the business objects keeping the UI layer cleaner of any business logic.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;The Control Panel&amp;nbsp;looks the same but&amp;nbsp;has been re-written to use Chameleon controls, I assume Telligent has had so many request by clients for a custom control panel that they deemed it a necessity.&amp;nbsp; &lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;There is a general tendency to start using generics (Template classes, I&amp;#39;m still&amp;nbsp;a hardcore C++ programmer at heart) in the code.&amp;nbsp; This has improved type safety and makes the code&amp;nbsp;a lot&amp;nbsp;cleaner.&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;I&amp;#39;m sure there are many other subtle changes that I have not yet listed. However, the ones that I have come across are all very sensible and only improve what is already a great piece of software.&lt;/p&gt;
&lt;p&gt;Rob&lt;/p&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=357" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/aTf46ypQXgQ" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/News/default.aspx">News</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/Commerce+2008/default.aspx">Commerce 2008</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/2008.5/default.aspx">2008.5</category><feedburner:origLink>http://www.4-roads.com/blogs/commerce/archive/2008/10/10/commerce-for-cs-2008-5-progress-update.aspx</feedburner:origLink></item><item><title>Social Commerce During Tough Financial Conditions</title><link>http://feedproxy.google.com/~r/FourRoads/~3/ZyNgSAvSHRE/social-commerce-in-tough-financial-conditions.aspx</link><pubDate>Thu, 09 Oct 2008 16:07:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:354</guid><dc:creator>Robert Nash</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;The current financial climate is, to be honest, shaky at best.&amp;nbsp; I can&amp;#39;t pass comment on the economics of what is happening or if what is being done is&amp;nbsp;the right thing.&amp;nbsp;Assuredly, businesses&amp;nbsp;will&amp;nbsp;find the next few years to be very difficult. But in tough times there are several things that tend to happen. First,&amp;nbsp;companies that do not adapt fail. Second,&amp;nbsp;investment in the business decreases.&lt;/p&gt;
&lt;p&gt;How can you adapt to achieve a more stable business? Currently the Internet is in a transition from a flat world of information to a buzzing, interacting community. At Four Roads we realize that now more than ever it is important to generate a good return on investment from the Internet and that a competitive edge may be the difference between your companies success or failure. Social commerce is all about taking the buzz of social networking and empowering your client base to allow them to share their purchase and product experiences with others. This not only benefits your company in terms of revenue but also expands your target audience organically through social interaction.&lt;/p&gt;How about investment? Four Roads understands how to best utilize Community Server and it&amp;#39;s own product, &lt;a class="" title="Four Roads Commerce" href="http://www.4-roads.com/shops/products/Commerce/0/default.aspx"&gt;Four Roads Commerce&lt;/a&gt;, to achieve the social commerce benefits that many companies are now seeking. In this tough climate, moving to social commerce will be an investment that, relative to return, will be of the most benefit in today&amp;#39;s world. 
&lt;p&gt;If you would like to talk about your ideas or discuss how Four Roads can help you translate your current Internet presence into one that encompasses social commerce then please &lt;a class="" title="Contact Us" href="http://www.4-roads.com/contactus.aspx"&gt;contact us&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=354" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/ZyNgSAvSHRE" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/team_blog/archive/tags/Social+Commerce/default.aspx">Social Commerce</category><category domain="http://www.4-roads.com/blogs/team_blog/archive/tags/Investment/default.aspx">Investment</category><category domain="http://www.4-roads.com/blogs/team_blog/archive/tags/Economy/default.aspx">Economy</category><feedburner:origLink>http://www.4-roads.com/blogs/team_blog/archive/2008/10/09/social-commerce-in-tough-financial-conditions.aspx</feedburner:origLink></item><item><title>Thinking Beyond Traditional eCommerce</title><link>http://feedproxy.google.com/~r/FourRoads/~3/Z7pCq-CfDUw/thinking-beyond-traditional-ecommerce.aspx</link><pubDate>Wed, 08 Oct 2008 16:36:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:353</guid><dc:creator>Mark Courtney</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Social Commerce is based on incorporating various communal aspects of the social media and online community world into the online shopping experience.&amp;nbsp; Providing new ways to for people to interact throughout the purchasing process stimulates organic referrals and increased spending habits.&amp;nbsp; &lt;/p&gt;&lt;p&gt;Looking beyond traditional wish lists, product review and rating capability there are tighter linkages to embrace that not only promote your products but also the growth of your community membership.&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;p&gt;Social Commerce is perpetuated by the human instinct to promote best of breed products and services and share experiences for the benefit of others.&amp;nbsp; In this capacity, Social Commerce continues to set standards and drive new features that reinforce a seller beware market.&amp;nbsp; People are now inquiring, sharing and discussing their buying experiences more than ever.&lt;/p&gt;&lt;p&gt;For the consumer market as a whole the impact of this is tremendously beneficial as it drives the improvement of goods and services.&amp;nbsp; Equally, if not more beneficial, is the feedback mechanism it provides to manufacturers, vendors and e-tailors with regard to quality, durability and enhancements.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=353" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/Z7pCq-CfDUw" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/team_blog/archive/tags/Social+Commerce/default.aspx">Social Commerce</category><category domain="http://www.4-roads.com/blogs/team_blog/archive/tags/Grow+Memebership/default.aspx">Grow Memebership</category><feedburner:origLink>http://www.4-roads.com/blogs/team_blog/archive/2008/10/08/thinking-beyond-traditional-ecommerce.aspx</feedburner:origLink></item><item><title>Commerce email notifications</title><link>http://feedproxy.google.com/~r/FourRoads/~3/RG6tnu5skpU/commerce-email-notifications.aspx</link><pubDate>Thu, 25 Sep 2008 05:00:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:338</guid><dc:creator>SeanWinstead</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;When your users place orders through your community, you typically want the user to receive a receipt. If you&amp;#39;re shipping physical product, you may also want to notify the customer once their order has been packaged and dispatched via a carrier. Out of the box, Four Roads Commerce provides support for those scenarios and others. This blog post describes the available email features and how you may configure them.&lt;/p&gt;
&lt;p&gt;If you require something slightly different than what is available, you can implement it using the &lt;a class="" title="Commerce events system" href="https://www.4-roads.com/blogs/commerce/archive/2008/09/22/primer-commerce-events-system.aspx"&gt;Commerce events system&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Compatibility&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The technical details in this blog post are geared toward Four Roads Commerce for Community Server 2008.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Email Templates&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Commerce follows the same email pattern as Community Server. All email templates are stored in an XML file&amp;nbsp;named &lt;strong&gt;ShopEmails.xml&lt;/strong&gt;. After you install Commerce, you can find that file in directory Web\Languages\en-US\emails.&lt;/p&gt;
&lt;p&gt;Emails can be enabled and disabled. We&amp;#39;ll go over that in the following sections.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Payment Emails&amp;nbsp;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When a user pays for an order, you can elect to send them an email if the payment is successful or an email if the payment has failed. Additionally, you can send an email to internal stakeholders when a successful payment occurs.&lt;/p&gt;
&lt;p&gt;To enable or disable payment-related emails, look for the &lt;strong&gt;OrderEmailNotification&lt;/strong&gt; module in communityserver_override.config. It is located within the &lt;strong&gt;ShopModules&lt;/strong&gt; element. Following is an example:&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;
&lt;p&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;ShopModules&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;add&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;name&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;OrderEmailNotificationModule&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;processCreated&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;false&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;processPaymentActions&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;true&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;processUpdate&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;false&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;processComplete&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;true&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;type&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; = &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;FourRoads.CsShop.Core.Modules.OrderEmailNotificationModule, FourRoads.Shop.Core&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; /&amp;gt;&lt;br /&gt;&amp;nbsp; ...&lt;br /&gt;&amp;nbsp; ...&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;ShopModules&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;The OrderEmailNotificationModule provides you with a number of attributes controlling email functionality. To enable payment notifications, set &lt;font size="2"&gt;&lt;font color="#ff0000"&gt;processPaymentActions&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;/font&gt;&amp;quot;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;true&lt;/font&gt;&lt;/font&gt;&amp;quot;. To disable those emails, set &lt;font color="#ff0000"&gt;processPaymentActions&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;false&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;. You can also override this setting via the Control Panel using the following steps:&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2"&gt;Log in as a shop administrator or system administrator.&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2"&gt;Go to the Control Panel.&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2"&gt;Click on the My Shops link.&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2"&gt;In the left hand navigation, go to Global Settings -&amp;gt; Shop Options. This opens the Shop Options page.&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2"&gt;Click on the General Settings tab.&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2"&gt;Set the Enable Receipt Emails option to either Yes or No.&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Send Emails to Internal Users&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you want one or more of your employees to receive an email when a purchase has occurred, Commerce gives you three ways to send an email. In each case, the email is sent only if &lt;font size="2"&gt;&lt;font color="#ff0000"&gt;processPaymentActions&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;true&lt;/font&gt;&lt;/font&gt;&amp;quot; and the AdminOrderPaymentReceived email template is used.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;First, you can specify one or more owners for your shop (i.e., online store). In the same way that a blog has owners, a shop can also have owners because a shop is really a special kind of section. To set one or more owners on a shop, do the following:&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2"&gt;Log in as a shop administrator or system administrator.&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size="2"&gt;Go to the Control Panel.&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;Click on the Administration link.&lt;/li&gt;
&lt;li&gt;In the left hand navigation, go to Shops -&amp;gt; Shops. You&amp;#39;ll see a list of the online stores you&amp;#39;ve created. Click the Edit button of the one for which you want to specify owners.&lt;/li&gt;
&lt;div&gt;&lt;/div&gt;&lt;/ol&gt;
&lt;p&gt;Second, if no owners are specified then the email is sent to the administrator&amp;#39;s email address specified in the site settings.&lt;/p&gt;
&lt;p&gt;Third, if you don&amp;#39;t want emails to go to the shop owner(s) and you don&amp;#39;t want emails going to the admin email address then enter one or more email addresses into the &lt;strong&gt;Override Email Notification&lt;/strong&gt; setting for the shop in question. To set a value for that field, do the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2"&gt;Log in as a shop administrator or system administrator.&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2"&gt;Go to the Control Panel.&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2"&gt;Click on the My Shops link.&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2"&gt;In the left hand navigation, go to Global Settings -&amp;gt; Shop Options. This opens the Shop Options page.&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2"&gt;Click on the General Settings tab.&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;font size="2"&gt;Enter one or more email addresses into the Override Email Notification field. Separate multiple addresses with semi-colons.&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Following is a screenshot of the tab containing the field:&lt;/p&gt;
&lt;p&gt;&lt;img height="322" alt="Override Email Notifications field" src="https://www.4-roads.com/blogs/commerce/OverrideEmailNotification.gif" width="723" border="0" /&gt;&lt;/p&gt;&lt;/font&gt;
&lt;p&gt;&lt;strong&gt;Payment Email Templates&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Following are the templates in ShopEmails.xml for payment-related templates:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;div&gt;AdminOrderPaymentReceived - Sent to internal users based upon the rules listed in the previous section.&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;div&gt;OrderPaymentReceived - Sent when payment has been received for an order.&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;OrderPaymentFailed - Sent when the user tried to pay for an order but the payment was unsuccessful.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Order Emails&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;You may also send emails to customers when their order has been created, it has changed in some way, or it has been shipped to them. Order email settings are also&amp;nbsp;controlled via the OrderEmailNotification module in the communityserver_override.config file. Following is an example:&lt;/font&gt;&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;
&lt;p&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;ShopModules&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;add&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;name&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;OrderEmailNotificationModule&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;processCreated&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;false&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;processPaymentActions&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;true&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;processUpdate&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;false&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;processComplete&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;true&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;type&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; = &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;FourRoads.CsShop.Core.Modules.OrderEmailNotificationModule, FourRoads.Shop.Core&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; /&amp;gt;&lt;br /&gt;&amp;nbsp; ...&lt;br /&gt;&amp;nbsp; ...&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;ShopModules&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;If&amp;nbsp;&lt;font size="2"&gt;&lt;font color="#ff0000"&gt;processCreated&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;/font&gt;&amp;quot;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;true&lt;/font&gt;&lt;/font&gt;&amp;quot; then an email is sent to the user when their order is first created. The template for this email is named &lt;strong&gt;OrderCreated&lt;/strong&gt;. This value defaults to &lt;strong&gt;false&lt;/strong&gt;.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;If &lt;font color="#ff0000"&gt;processUpdate&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;true&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot; then Commerce uses the &lt;strong&gt;OrderUpdated&lt;/strong&gt; template to send an email to the user when the status of the order changes. This value defaults to &lt;strong&gt;false&lt;/strong&gt;.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;If &lt;font size="2"&gt;&lt;font color="#ff0000"&gt;processComplete&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;/font&gt;&amp;quot;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;true&lt;/font&gt;&lt;/font&gt;&amp;quot; then the &lt;strong&gt;OrderComplete&lt;/strong&gt; email template is instantiated and sent to the user when the order status is set to Complete.&amp;nbsp;An order is set to Complete when the payment is successful and the items on the order have been dispatched. For a physical shipment, the shop staff must shop the products and manually mark the line items as dispatched. For subscriptions&amp;nbsp;the orders are auto-completed.&amp;nbsp;This value defaults to &lt;strong&gt;true&lt;/strong&gt;.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;Note that ShopEmails.xml does contain two other order-related templates: &lt;strong&gt;OrderItemDispatched&lt;/strong&gt; and &lt;strong&gt;OrderUserNote&lt;/strong&gt;. The OrderItemDispatched&amp;nbsp;template is not currently used. The OrderUserNote template is used to send an email to your customer when a note has been added to an order.&lt;/font&gt;&amp;nbsp;Notes are added to an order under the following conditions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;The payment was declined and the user is retrying the order.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;A shop staff member enters a note for the order.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Subscription Emails&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Commerce also sends email&amp;nbsp;for subscription-related activity (e.g., subscription expired). Subscription emails are sent automatically. At this time, there is now way for you to disable them. The following sections explain the conditions&amp;nbsp;that lead Commerce to send a subscription email.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Subscription Expired&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If a subscription is not renewable or it is configured for manual renewals only and the user did not manually renew, Commerce uses the &lt;strong&gt;SubscriptionExpired&lt;/strong&gt; email template to send the member an email.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Automatic Renewal Warning&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If a subscription&amp;nbsp;is about to expire and it is configured for automatic renewal, an email is generated&amp;nbsp;and sent using the &lt;strong&gt;SubscriptionAutomaticRenewal&lt;/strong&gt; template.&amp;nbsp;The email notifies the member of the forthcoming renewal.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Manual Renewal Required&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If a subscription is about to expire and it is configured for manual renewal, a warning email is sent to the customer. Commerce uses the &lt;strong&gt;SubscriptionManualRenewal&lt;/strong&gt; template to create the email. The email contains a link to a page where the member can renew their subscription.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Renewal Failed&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If a subscription is about to expire and it is configured for automatic renewal, Commerce will attempt to renew the subscription via the payment gateway. If the renewal fails (e.g., the credit card number stored by payment gateway is no longer valid) then Commerce sends an email to the customer notifying them of the problem. The &lt;strong&gt;SubscriptionRenewalFailed&lt;/strong&gt; email template is used for this case.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Summary&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In this post, you learned there are several types of emails: payment, order, and subscription. You can choose whether to send payment-related emails to your customers and internal system users. You can enable and disable order-related emails on an individual basis. But when it comes to subscription emails, Commerce handles those automatically. In call cases, you can customize the email template for each kind of email sent by Commerce.&lt;/p&gt;
&lt;p&gt;If you have any questions about this topic, feel free to post them in the comments here or in the &lt;a class="" href="http://www.4-roads.com/forums/13.aspx"&gt;Commerce discussion forum&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=338" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/RG6tnu5skpU" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/Commerce/default.aspx">Commerce</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/Commerce+2008/default.aspx">Commerce 2008</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/CS2008/default.aspx">CS2008</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/payment/default.aspx">payment</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/email+template/default.aspx">email template</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/order/default.aspx">order</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/email/default.aspx">email</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/subscription/default.aspx">subscription</category><feedburner:origLink>http://www.4-roads.com/blogs/commerce/archive/2008/09/25/commerce-email-notifications.aspx</feedburner:origLink></item><item><title>A primer on the Commerce events system for CS 2007</title><link>http://feedproxy.google.com/~r/FourRoads/~3/v3GlLGNTSk0/primer-commerce-events-system.aspx</link><pubDate>Mon, 22 Sep 2008 05:15:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:336</guid><dc:creator>SeanWinstead</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;One of the simplest ways to inject code into Community Server is through the use of a CS module. Using a CS module, you&amp;nbsp;register a method with Community Server such that the method is called when a&amp;nbsp;an event occurs, such as the creation of a new user.&lt;/p&gt;
&lt;p&gt;In the same way that you can implement a module for a Community Server event, you can create a module for an event that occurs within Four Roads Commerce. For example, if you need to notify your accounting system when an order is successfully completed, you can have a shop module register an event handler for the event. The event handler can execute whatever code is suitable for the situation.&lt;/p&gt;
&lt;p&gt;This blog post shows you how to set up a basic shop module.&lt;/p&gt;
&lt;p&gt;Compatibility&lt;/p&gt;
&lt;p&gt;This article contains technical details that are specific to Four Roads Commerce for Community Server 2007. I&amp;#39;ll add a separate article in the near future supporting Commerce for Community Server 2008.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Quick and Dirty Set up&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;To create your shop module, you need to take a few, quick actions. Please do the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;Create a new&amp;nbsp;class library project to hold your shop module implementation.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;In your new project, add a reference to the FourRoads.Shop.Core assembly.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Create a new class file to hold your module.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;In the class file, add a using clause for the FourRoads.CsShop.Core.Components namespace.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;In the class file, create a class that implements the IShopModule interface.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;In the CommunityServer_Override.config file, find the &lt;strong&gt;ShopModules&lt;/strong&gt; element. This element contains one or more child elements for each shop module registered with Commerce. A default Commerce installation will already have some modules registered such as the &lt;em&gt;AutoCompleteOrder&lt;/em&gt; module. Add an entry for your own shop module. For example:&lt;br /&gt;&lt;br /&gt;&lt;font color="#0000ff" size="3"&gt;&lt;font color="#0000ff" size="3"&gt;&lt;font size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515"&gt;&lt;font color="#a31515" size="2"&gt;ShopModules&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;br /&gt;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515"&gt;&lt;font color="#a31515"&gt;add&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000"&gt;&lt;font color="#ff0000"&gt;name&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;/font&gt;&amp;quot;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;OrderHandling&lt;/font&gt;&lt;/font&gt;&amp;quot;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000"&gt;&lt;font color="#ff0000"&gt;type&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;/font&gt;&amp;quot;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;Your.Namespace.OrderHandlingModule, Your.AssemblyName&lt;/font&gt;&lt;/font&gt;&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt; /&amp;gt;&lt;br /&gt;&amp;nbsp; ...&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515"&gt;&lt;font color="#a31515"&gt;ShopModules&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Register Your Event Handler&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The IShopModule interface defines a single method named Init.&amp;nbsp;Your module uses the Init method to register one or more event handlers with&amp;nbsp;Commerce.&amp;nbsp;The signature of the Init method is as follows:&lt;/p&gt;&lt;font size="3"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;/font&gt; Init(&lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;EventManager&lt;/font&gt;&lt;/font&gt; em, &lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;XmlNode&lt;/font&gt;&lt;/font&gt; node);&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;In Commerce, the &lt;strong&gt;EventManager&lt;/strong&gt; class is responsible for managing the shop modules and calling event handlers based upon the modules&amp;#39; event registrations. When the EventManager reads&amp;nbsp;the list of registered shop modules, it calls the &lt;strong&gt;Init&lt;/strong&gt; method of each module.The EventManager&amp;nbsp;passes to the Init method a reference to itself and the XML node for the module&amp;nbsp;from the CommunityServer_Override.config. Note that you can store custom attributes on the &amp;lt;add&amp;gt; element for a shop module and read the values of those attributes in the module&amp;#39;s Init method.&lt;/p&gt;
&lt;p&gt;The main purpose of the module&amp;#39;s Init method is to register an event handler. In a CS module, you register an event handler for a specific&amp;nbsp;event such as PreRenderPost. In a Commece shop module, you register an event handler for an object type. For example, if you want to capture events related to subscriptions then you associate the event handler with the &lt;strong&gt;SubscriptionEvent&lt;/strong&gt; class.&lt;/p&gt;
&lt;p&gt;To register an event handler, use the EventManager&amp;#39;s AddShopEvent method. In the next example, a module registers an event handler for subscription events:&lt;/p&gt;&lt;font size="3"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;/font&gt; &lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;class&lt;/font&gt;&lt;/font&gt; &lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;SubscriptionHandlingModule&lt;/font&gt;&lt;/font&gt; : &lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;IShopModule&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;{&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;&amp;nbsp; public&lt;/font&gt;&lt;/font&gt; &lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;/font&gt; Init(&lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;EventManager&lt;/font&gt;&lt;/font&gt; em, System.Xml.&lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;XmlNode&lt;/font&gt;&lt;/font&gt; node)&lt;br /&gt;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; em.AddShopEvent(&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;typeof&lt;/font&gt;&lt;/font&gt;(&lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;SubscriptionEvent&lt;/font&gt;&lt;/font&gt;), &lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/font&gt; &lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;ShopEventHandler&lt;/font&gt;&lt;/font&gt;(em_SubscriptionMessage));&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;...&lt;br /&gt;}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Implement the&amp;nbsp;Event Handler&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Your event handler will be passed two arguments:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;A parameter of type object. This object is the focus of the event and it will be of the same type for which your Init method registered the event handler. For example, if you registered an event handler for SubscriptionEvent then this parameter will be of type SubscriptionEvent. If your handler registered itself for Orders then the object will be of type Order.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;A parameter of type &lt;strong&gt;ShopEventArgs&lt;/strong&gt;. This parameter contains information associated with the event.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;When your event handler is called, it should first verify it is being passed the correct type of object. It must then look at relevant information on the event object or the ShopEventArgs instance to determine what action is to be taken by the event handler. The following example verifies the object is a SubscriptionEvent and then uses a switch statement to react to the &lt;strong&gt;RequestEventType&lt;/strong&gt; property of the SubscriptionEvent instance.&lt;/p&gt;&lt;font size="3"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;protected&lt;/font&gt;&lt;/font&gt; &lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;virtual&lt;/font&gt;&lt;/font&gt; &lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;/font&gt; em_SubscriptionMessage(&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;object&lt;/font&gt;&lt;/font&gt; eventObj, &lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;ShopEventArgs&lt;/font&gt;&lt;/font&gt; e)&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;{&lt;br /&gt;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;SubscriptionEvent&lt;/font&gt;&lt;/font&gt; se = eventObj &lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;as&lt;/font&gt;&lt;/font&gt; &lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;SubscriptionEvent&lt;/font&gt;&lt;/font&gt;;&lt;br /&gt;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;/font&gt; (se != &lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;null&lt;/font&gt;&lt;/font&gt;)&lt;br /&gt;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;switch&lt;/font&gt;&lt;/font&gt; (se.RequestEventType)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;case&lt;/font&gt;&lt;/font&gt; &lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;SubscriptionEvent&lt;/font&gt;&lt;/font&gt;.&lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;EventType&lt;/font&gt;&lt;/font&gt;.Expired:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#008000" size="3"&gt;&lt;font color="#008000" size="3"&gt;&lt;font size="2"&gt;// Do something here when a subscription has expired.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;break&lt;/font&gt;&lt;/font&gt;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;case&lt;/font&gt;&lt;/font&gt; &lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;SubscriptionEvent&lt;/font&gt;&lt;/font&gt;.&lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;EventType&lt;/font&gt;&lt;/font&gt;.PendingRenewal:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#008000" size="3"&gt;&lt;font color="#008000" size="3"&gt;&lt;font size="2"&gt;// Do something here when&amp;nbsp;it is time to&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // notify a member their subscription must be renewed&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;break&lt;/font&gt;&lt;/font&gt;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;case&lt;/font&gt;&lt;/font&gt; &lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;SubscriptionEvent&lt;/font&gt;&lt;/font&gt;.&lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;EventType&lt;/font&gt;&lt;/font&gt;.RenewFailed:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#008000" size="3"&gt;&lt;font color="#008000" size="3"&gt;&lt;font size="2"&gt;// Do something here when a subscription renewal has failed.&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;break&lt;/font&gt;&lt;/font&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;}&lt;br /&gt;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;}&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;ShopEventArgs&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;The ShopEventArgs provides you with the following properties:&lt;/font&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ApplicationType - This property is always set to the value &lt;strong&gt;ApplicationType.Shop&lt;/strong&gt; (numeric value 4120) where ApplicationType is located in the namespace FourRoads.CsShop.Core.Components.&lt;/li&gt;
&lt;li&gt;State&amp;nbsp;- This is&amp;nbsp;a value from the &lt;strong&gt;EventAction&lt;/strong&gt; enumeration. The EventAction enumeration is located in namespace FourRoads.CsShop.Core.&lt;/li&gt;
&lt;li&gt;Type - This is a value from the &lt;strong&gt;EventType&lt;/strong&gt; enumeration that is also located in the FourRoads.CsShop.Core namespace.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Use the Type property to determine if the event handler is being called before or after an event. Possible values include:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;Pre - The event handler is being just before an event will occur.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Post - The event handler is being called after an event has occurred.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;None - It is irrelevant as to whether the event handler is being called before or after the event.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Use the State property to determine why the event is happening. Possible values include:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create - The object of the event is being created.&lt;/li&gt;
&lt;li&gt;Update - The object of the event is being updated.&lt;/li&gt;
&lt;li&gt;Delete - The object of the event is being deleted.&lt;/li&gt;
&lt;li&gt;Unknown - The action being taken is defined via the object of the event. Read the Eventful Object Types section to get an overview of the objects that identify the reason for an event.&lt;/li&gt;
&lt;li&gt;View - This action is not currently used by Commerce.&lt;/li&gt;
&lt;li&gt;Send - This action is not currently used by Commerce.&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Eventful Object Types&lt;/strong&gt;&lt;font size="+0"&gt;&lt;/font&gt;&lt;font size="+0"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;Four Roads Commerce raises events for several classes. You may register an event handler for each of them. The following sections talk about each class and its events.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;strong&gt;Cart&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;When a shopping cart is updated, the Cart class raises an event with EventAction.Update both before and after the cart is updated.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;strong&gt;CartItem&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;When a shopping cart is updated, the CartItem class raises an event with State = EventAction.Update both before and after the cart item is serialized.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;strong&gt;Order&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;The Order class raises an event under the following conditions:&lt;/font&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;font size="2"&gt;Before and after an order is created.&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size="2"&gt;Before and after an existing order is updated in the database.&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size="2"&gt;Before and after an existing order is deleted.&lt;/font&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;strong&gt;OrderEvent&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;Use this class when you need to know when payment has been received for an order or when a payment failure occurred. The OrderEvent instance contains a reference to the order, available via its &lt;strong&gt;Order&lt;/strong&gt; property. The OrderEvent instance also has a property named &lt;strong&gt;RequestEventType&lt;/strong&gt;. It is set to value &lt;em&gt;OrderEvent.EventType.PaymentReceived&lt;/em&gt; when a payment is successful. It is set to value &lt;em&gt;OrderEvent.EventType.PaymentFailed&lt;/em&gt; when the transaction could not be completed.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;The following code snippet shows you how to write an event handler that looks for successful and failed payments:&lt;/font&gt;&lt;/p&gt;&lt;font size="3"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;/font&gt; &lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;/font&gt; Init(&lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;EventManager&lt;/font&gt;&lt;/font&gt; em, System.Xml.&lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;XmlNode&lt;/font&gt;&lt;/font&gt; node)&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;{&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;em.AddShopEvent(&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;typeof&lt;/font&gt;&lt;/font&gt;(&lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;OrderEvent&lt;/font&gt;&lt;/font&gt;), &lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/font&gt; &lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;ShopEventHandler&lt;/font&gt;&lt;/font&gt;(em_OrderHandler));&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;protected&lt;/font&gt;&lt;/font&gt; &lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;virtual&lt;/font&gt;&lt;/font&gt; &lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;/font&gt; em_OrderHandler(&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;object&lt;/font&gt;&lt;/font&gt; eventObj, &lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;ShopEventArgs&lt;/font&gt;&lt;/font&gt; e)&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;{&lt;br /&gt;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;OrderEvent&lt;/font&gt;&lt;/font&gt; orderEvent = eventObj &lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;as&lt;/font&gt;&lt;/font&gt; &lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;OrderEvent&lt;/font&gt;&lt;/font&gt;;&lt;br /&gt;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;/font&gt; (orderEvent != &lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;null&lt;/font&gt;&lt;/font&gt; &amp;amp;&amp;amp; orderEvent.RequestEventType == &lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;OrderEvent&lt;/font&gt;&lt;/font&gt;.&lt;font color="#2b91af"&gt;&lt;font color="#2b91af"&gt;EventType&lt;/font&gt;&lt;/font&gt;.PaymentReceived)&lt;br /&gt;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#2b91af"&gt;Order &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;order = orderEvent.Order;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;/font&gt; (order != &lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;null&lt;/font&gt;&lt;/font&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;{&lt;br /&gt;&lt;font color="#008000" size="3"&gt;&lt;font color="#008000" size="3"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Do something with the order.&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;font size="3"&gt;&lt;/p&gt;&lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;strong&gt;OrderItem&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;The OrderItem class raises an event both before and after an OrderItem is created and updated.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;strong&gt;Subscription&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;The Subscription class raises an event before a subscription is deleted and both before and after a subscription is created or updated.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;strong&gt;SubscriptionEvent&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;Use the SubscriptionEvent class to detect situations such as a subscription expiring. &lt;font size="2"&gt;The SubscriptionEvent instance provides a reference to the subscription via its &lt;strong&gt;Subscription&lt;/strong&gt; property. It describes the reason for the event via its &lt;strong&gt;RequestEventType&lt;/strong&gt; property. Values for RequestEventType are as follows:&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font size="2"&gt;SubscriptionEvent.EventType.PendingRenewal - A subscription is nearing the time when it must be renewed and the member is to be notified.&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size="2"&gt;SubscriptionEvent.EventType.RenewFailed - A subscription could not be renewed due to a payment failure.&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size="2"&gt;SubscriptionEvent.EventType.Expired - A subscription was not renewed and has expired.&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Summary&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;In this post, you learned about the Four Roads Commerce event system. You created a shop module and integrated it into your solution. You learned the classes for which Commerce raises an event and the types of events you can expect for those classes. You saw how to registered an event handler for a class and&amp;nbsp;how to implement the event hander.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;If you have any questions or recommendations for the Commerce event system, please leave a comment on this blog post or tell us about it in the &lt;a class="" href="http://www.4-roads.com/forums/13.aspx"&gt;Commerce support forums&lt;/a&gt;.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=336" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/v3GlLGNTSk0" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/Commerce/default.aspx">Commerce</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/example/default.aspx">example</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/IShopModule/default.aspx">IShopModule</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/events/default.aspx">events</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/EventManager/default.aspx">EventManager</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/shop+module/default.aspx">shop module</category><feedburner:origLink>http://www.4-roads.com/blogs/commerce/archive/2008/09/22/primer-commerce-events-system.aspx</feedburner:origLink></item><item><title>Collect postal address for new users</title><link>http://feedproxy.google.com/~r/FourRoads/~3/tTa6pjJvyZY/new-user-address.aspx</link><pubDate>Sat, 20 Sep 2008 21:00:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:254</guid><dc:creator>SeanWinstead</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Over the past months, we&amp;#39;ve been helping various people install and use Four Roads Commerce in their Community Server websites.&amp;nbsp;One of the features people have asked for is the ability to collect a person&amp;#39;s postal address at the time they create their account. Later the address will serve as the default billing address for the person&amp;#39;s first purchase.&lt;/p&gt;
&lt;p&gt;Out of the box, Commerce does not modify the Join screen in Community Server. But Commerce does provide support for this kind of scenario.&lt;/p&gt;
&lt;p&gt;In this blog post, I&amp;#39;ll show you how to collect your new member&amp;#39;s address at the time they create their account. If you&amp;#39;d like to jump straight into the example source code, you can &lt;a class="" href="http://www.4-roads.com/files/folders/commercepublic/entry253.aspx"&gt;download it here&lt;/a&gt;. If you&amp;#39;d like to see an example of this in action, see &lt;a class="" href="http://njection.com/" target="_blank"&gt;NJection&lt;/a&gt;, a community for drivers and experts in the automotive field.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Compatibility&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The&amp;nbsp;code in this example works with both Four Roads Commerce for CS 2007 and Commerce for CS 2008. The example download contains customized CreateUser.aspx forms for the CS 2007 default theme and for the Calypso and Hawaii themes in CS 2008. This example does not yet contain a theme page for CS 2008.5.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Subclass the CreateUserForm&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;There are different ways to approach this problem.&amp;nbsp;After some trial and error,&amp;nbsp;I chose to subclass the existing &lt;strong&gt;CreateUser&lt;/strong&gt; form&amp;nbsp;that comes with Community Server.&amp;nbsp;Other than&amp;nbsp;address fields, it has everything&amp;nbsp;needed. In the&amp;nbsp;example download, the custom CreateUserForm&amp;nbsp;class is in the FourRoads.Commerce.User&amp;nbsp;project.&lt;/p&gt;
&lt;p&gt;The meat of the class is in the overridden &lt;strong&gt;ProcessNewUser&lt;/strong&gt; method, as shown below.&lt;/p&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;protected&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;override&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ProcessNewUser(CommunityServer.Components.User user)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; Address address = GetData();&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;nbsp; if&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (address.ValidateAddress(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&amp;quot;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;))&lt;br /&gt;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; address.UserID = user.UserID;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Switch the context to the user just created so that the address&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;// security checks will succeed.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;User oldUser = CSContext.Current.User;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;try&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;CSContext.Current.User = user;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;IAddressCRUD crud = ObjectFactoryProvider.Instance().GetInstance&amp;lt;IAddressCRUD&amp;gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;crud.CreateUpdateAddress(address, &lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;this&lt;/font&gt;&lt;/font&gt;.CurrentShop);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt;finally&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;CSContext.Current.User = oldUser;&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size="2"&gt;}&lt;br /&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;nbsp; }&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;font color="#0000ff"&gt;&amp;nbsp; base&lt;/font&gt;&lt;/font&gt;.ProcessNewUser(user);&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;The method retrieves the address from the input fields using the GetData method. This example assumes the address is optional and checks for an optional address by checking its validity. Commerce considers an address to be valid if it contains a street, city, postal code, and country. This example doesn&amp;#39;t handle the case where the user enters a partial address. If they enter a partial address, the address will not be saved. I&amp;#39;ll address that in a future iteration.&lt;/p&gt;
&lt;p&gt;If the address is valid, the method switches the context to the current user. This is required due to the strict security checks employed by Commerce. At the time this method is being called, the current user is anonymous. Anonymous users are not allowed to change another person&amp;#39;s address. So the code temporarily switches context to the new user so that they can save their own address.&lt;/p&gt;
&lt;p&gt;The method then retrieves an object implementing the IAddressCRUD interface and calls its CreateUpdateAddress method. This interface knows how to create, read, update, and delete address instances.&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;Tweak the markup in CreateUser.aspx&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;With the custom form in place, we can change the CreateUser.aspx page located in the User subfolder of your Themes directory. As mentioned previously, the example download contains sample CreateUser.aspx pages for both CS 2007 and CS 2008.&lt;/p&gt;
&lt;p&gt;Because we subclassed the CreateUser form, we need to change the &amp;lt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;CSControl&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;CreateUserForm&amp;gt; &lt;font color="#000000"&gt;tag to a &amp;lt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;FRU&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;CreateUserForm&amp;gt;&lt;font color="#000000"&gt; tag as shown below:&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;FRU:CreateUserForm&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;runat&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;server&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;font color="#ff0000"&gt;ID&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;ShopCreateUserForm&amp;quot;&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;...&lt;br /&gt;...&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;Note that ASP.NET will not recognize the FRU tag prefix. To&amp;nbsp;make it work,&amp;nbsp;we add the definition for the tag prefix into web.config. Copy the following element from web.merge.config (located in the example download)&amp;nbsp;at the end of the other tag prefixes in your&amp;nbsp;web.config file:&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; 
&lt;p&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;add&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;tagPrefix&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;FRU&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;namespace&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;FourRoads.CsShop.Core.Controls&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;assembly&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;FourRoads.Commerce.User&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;/&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;And be sure to add a reference to the FourRoads.Commerce.User assembly in your Community Server web project.&lt;/p&gt;
&lt;p&gt;Also please notice that I added an ID attribute to the CreateUserForm element. That&amp;#39;s required for an interesting reason. When dealing with addresses, Four Roads Commerce always does so in the context of a &amp;quot;shop&amp;quot; (i.e., your online store). Well, there is no current shop when we&amp;#39;re creating a new account. In order to set a current shop, I added a &lt;strong&gt;CurrentShop&lt;/strong&gt; property to the custom CreateUser form. Then I added some code in&amp;nbsp;OnInit to set the CurrentShop on the form. Following is the relevant code from the example theme pages.&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;lt;%&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;@&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;Import&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;Namespace&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;FourRoads.CsShop.Core&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; %&amp;gt;&lt;br /&gt;&amp;lt;%&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;@&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;Import&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;Namespace&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;FourRoads.CsShop.Core.Controls&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; %&amp;gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;asp&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;Content&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;ContentPlaceHolderID&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;tr&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;runat&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;script&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;language&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;c#&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000" size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;runat&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;protected override void OnInit(EventArgs e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; base.OnInit(e);&lt;br /&gt;&amp;nbsp; ShopCreateUserForm.CurrentShop = Shops.GetShop(&amp;quot;siteshop&amp;quot;);&lt;br /&gt;}&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;script&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;...&lt;br /&gt;...&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;In this example, my CS installation has a shop with application key &amp;quot;siteshop&amp;quot;.&amp;nbsp;Replace &amp;quot;siteshop&amp;quot; with the application key of your own shop.&lt;/p&gt;
&lt;p&gt;If you want to use this example in your own site, do the following:&lt;/p&gt;
&lt;p&gt;1. Download the example&lt;/p&gt;
&lt;p&gt;2. From the example, copy the file FourRoads.Commerce.User.dll into your Web\bin directory.&lt;/p&gt;
&lt;p&gt;3. Make a backup of file CreateUser.aspx in your CS theme directory. For example, if you are using&amp;nbsp;the Hawaii theme in CS 2008, make a backup of&amp;nbsp;Web\Themes\Hawaii\User\CreateUser.aspx.&lt;/p&gt;
&lt;p&gt;4. From the example, copy the appropriate CreateUser.aspx file into your CS theme directory. For example, if you are using the Hawaii theme in CS 2008 then copy \Web.CS2008\Themes\Hawaii\CreateUser.aspx into the directory Web\Themes\Hawaii\User.&lt;/p&gt;
&lt;p&gt;5. From the example, copy the following element from web.merge.config at the end of the other tag prefixes in your CS web.config file:&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;
&lt;p&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;add&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;tagPrefix&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;FRU&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;namespace&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;FourRoads.CsShop.Core.Controls&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;assembly&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;FourRoads.Commerce.User&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;/&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;I hope this has been a useful exercise for you. If you have any feedback or questions about this example, please leave them on this blog post or in the &lt;a href="http://www.4-roads.com/forums/13.aspx"&gt;Commerce forum&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=254" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/tTa6pjJvyZY" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/Commerce/default.aspx">Commerce</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/address/default.aspx">address</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/user/default.aspx">user</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/join/default.aspx">join</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/example/default.aspx">example</category><feedburner:origLink>http://www.4-roads.com/blogs/commerce/archive/2008/09/20/new-user-address.aspx</feedburner:origLink></item><item><title>Web 2.0 Thought Leadership in the CVB Community</title><link>http://feedproxy.google.com/~r/FourRoads/~3/ufkuFG3js6c/web-2-0-thought-leadership-in-the-cvb-community.aspx</link><pubDate>Wed, 03 Sep 2008 12:24:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:305</guid><dc:creator>Mark Courtney</dc:creator><slash:comments>0</slash:comments><description>&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;
&lt;p&gt;In recently joining the Four Roads team, I was truly delighted to discover a connection with the Galveston.com web site.&amp;nbsp; It appears that Sean, our CEO had developed a relationship sometime back with Jim Cordell and Lee Roane from Galveston.com &amp;amp; Company, a private entity that is a separate from the CVB but shares a very healthy and complimentary relationship.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;As Jim stated to me so mellifluently, &amp;quot;they provide us tourism-related content and we provide them with a website that hopefully rocks.&amp;quot;&lt;/p&gt;
&lt;p&gt;Before joining the Four Roads team, I worked closely with several large Convention and Visitor Bureaus organizations to help drive interactive marketing strategies and&amp;nbsp; new enhancements/integration features to various product portfolio investments (e.g. CMS, CRM and eMarketing tools).&lt;/p&gt;
&lt;p&gt;In a world where innovation and Web 2.0 applicability had been and still somewhat is scarce at best, I found a little jewel in perusing the CVB online world; that which is the Galveston.com community site.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;It seems that Jim and Lee have been very aggressive in delivering various elements of the social media spectrum; truly staying focused on helping Galveston CVB stay two steps ahead at all times and demonstrate the innovation and thought leadership that you would expect sooner out of the &amp;quot;big boy&amp;quot; DMO&amp;#39;s.&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;What&amp;#39;s entertaining to me about this is the fact that in guiding some of the larger CVB&amp;#39;s down the blazing Web 2.0 trail, I found myself showcasing lille ole&amp;#39; Galveston&amp;#39;s site to customers as a model of how Web 2.0 can bolster their interactive presence and keep visitors coming back to engage with the site.&amp;nbsp; The &amp;quot;hunt and peck&amp;quot; experience that still proliferates the web just isn&amp;#39;t effective anymore, it&amp;#39;s guaranteed to bore even your most crazed tourist or town fanatic who really seeks to interact with the site and&amp;nbsp;their community affiliates.&lt;/p&gt;
&lt;p&gt;Before Web 2.0 even became Web 2.0, the Galveston.com &amp;amp; Company team had a vision for their customer; and with that vision, they didn&amp;#39;t wait for their destination marketing cronies to take the leap - they took it all on their own....&lt;/p&gt;
&lt;p&gt;Jim elaborates, &amp;quot;I&amp;#39;ve had a blast in the last few years trying out all the latest fun; from being the first tourism podcast in the world (or, er, at least in i-tunes) - to our Video Channel -&amp;nbsp; to our proprietary DM software suite DestinationNext - to Second Life - to our new Telligent community - to our soon-to-launch Galveston.com widgets &amp;amp; gadgets and finally, to our exciting 2009 re-launch (timing with our 15th Anniversary!), to say we&amp;#39;ve had a fun and busy time is an understatement.&amp;quot;&lt;/p&gt;
&lt;p&gt;The CVB recently implemented Community Server to drive their discussion forums, partnering with us on various elements of the implementation process.&amp;nbsp; As we both continue to seek opportunities to work together we want to give a shout out to our trend setting, butt kicking and highly respected friends at&amp;nbsp;Galveston.com and Company. &lt;/p&gt;
&lt;p&gt;We admire their team for demonstrating thought leadership, reinforcing once again, size doesn&amp;#39;t dictate your ability to innovate and blaze trails ahead of the pack...&amp;nbsp; &lt;/p&gt;
&lt;p&gt;We look forward to blazing right along with you guys as we continue to grow our business too!&lt;/p&gt;
&lt;p&gt;Reference: &lt;a href="http://www,galveston.com/"&gt;http://www,galveston.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Recent Awards Granted to Galveston.com on 9/2/2008: &lt;br /&gt;Travel Weekly Magellan Awards -: &lt;a href="http://www.galveston.com/news176/"&gt;http://www.galveston.com/news176/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/span&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=305" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/ufkuFG3js6c" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/team_blog/archive/tags/Web+2.0/default.aspx">Web 2.0</category><category domain="http://www.4-roads.com/blogs/team_blog/archive/tags/Galveston.com/default.aspx">Galveston.com</category><category domain="http://www.4-roads.com/blogs/team_blog/archive/tags/CVB/default.aspx">CVB</category><category domain="http://www.4-roads.com/blogs/team_blog/archive/tags/Customer/default.aspx">Customer</category><category domain="http://www.4-roads.com/blogs/team_blog/archive/tags/Hospitality/default.aspx">Hospitality</category><feedburner:origLink>http://www.4-roads.com/blogs/team_blog/archive/2008/09/03/web-2-0-thought-leadership-in-the-cvb-community.aspx</feedburner:origLink></item><item><title>New Versions of Commerce Released</title><link>http://feedproxy.google.com/~r/FourRoads/~3/1DSQc8Ue2Ig/new-versions-of-commerce-released.aspx</link><pubDate>Wed, 27 Aug 2008 14:27:00 GMT</pubDate><guid isPermaLink="false">89009c64-a0ba-4220-99b9-006a4ebf9005:301</guid><dc:creator>Robert Nash</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;We are pleased to announce a new release of Commerce for Community Server 2007 and 2008.&amp;nbsp; This latest release brings in features and enhancements that you have been asking for and marks the next step in the evolution of our product.&amp;nbsp; Please have a look at these great new features that will help you increase your community revenue.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Discounting Engine: Commerce now includes a versatile, extensible discount system that allows you to add discounts to categories or to individual items. You can use the discount types shown below or create your own by building upon our API. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;Money off - A fixed price deduction off the price of a product.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Percentage off - A percentage discount off the price of a product.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Buy n get n for free - A simple way to promote your products using up-selling such as 2 for 1.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Coupons: You can now create coupons and batches of coupons that are time and/or redemption limited. You can create coupons in batches and assign them a specific discount. Coupons very extensible, just like the discounting engine. &lt;/p&gt;
&lt;p&gt;Reporting: The reporting interface is much improved. The Sales Chart and Sales Report now use the same user interface for querying and printing. You can quickly see your revenue stream and the sales performance of your products, taking into account discounts and coupons used by your customers.&lt;/p&gt;
&lt;p&gt;Code and Test Improvements: To make your experience with our product the best possible, we are always improving our code and improving our testing capabilities. We&amp;#39;re one of the first independent software vendors to perform full unit testing against Community Server and it&amp;#39;s add-ons . This release has more unit tests and increased code coverage.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Changes for CS 2008 Version&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Our 2008 version of the product has also benefited from additional changes that have been requested by our customers:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;New Payment Gateway: For our customers in South Africa, Commerce now includes a payment gateway for Virtual Card Services. &lt;/p&gt;
&lt;p&gt;Theme Improvements: When it comes to selling to your customers, it&amp;#39;s important to have a simple, straightforward process for taking their orders. Through analysis of usage patterns, we identified several improvements that will increase customer retention during the checkout process. These changes have been introduced into this version of Commerce and are present in both the Calypso and Hawaii shop themes. &lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;We hope you enjoy this new version of Four Roads Commerce. As always, we welcome your feedback in our forums or Contact page.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Commerce Team&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.4-roads.com/aggbug.aspx?PostID=301" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/FourRoads/~4/1DSQc8Ue2Ig" height="1" width="1"/&gt;</description><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/Commerce/default.aspx">Commerce</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/News/default.aspx">News</category><category domain="http://www.4-roads.com/blogs/commerce/archive/tags/Commerce+2008/default.aspx">Commerce 2008</category><feedburner:origLink>http://www.4-roads.com/blogs/commerce/archive/2008/08/27/new-versions-of-commerce-released.aspx</feedburner:origLink></item></channel></rss>
