<?xml version="1.0"?>
<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:yt="http://gdata.youtube.com/schemas/2007" xmlns:atom="http://www.w3.org/2005/Atom">
   <channel>
      <title>Sitecore RSS</title>
      <description>Official Sitecore RSS feeds, syndicated, last 30 days, by Lars Fløe Nielsen, Sitecore</description>
      <link>http://pipes.yahoo.com/pipes/pipe.info?_id=ZsFOz4a62xG9Py3Idbq02Q</link>
      <atom:link rel="next" href="http://pipes.yahoo.com/pipes/pipe.run?_id=ZsFOz4a62xG9Py3Idbq02Q&amp;_render=rss&amp;page=2"/>
      <pubDate>Sun, 26 May 2013 04:19:13 +0000</pubDate>
      <generator>http://pipes.yahoo.com/pipes/</generator>
      <item>
         <title>Sitecore 7: Troubleshooting Search Queries</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/05/Sitecore-7-Troubleshooting-Search-Queries.aspx</link>
         <description>&lt;p&gt;This blog post contains information about troubleshooting search queries in version 7 of the Sitecore ASP.NET web Content Management System (CMS) and Customer Engagement Platform (CEP). This information should apply to the Lucene and SOLR providers shipped with Sitecore, though I have not yet worked with SOLR.&lt;/p&gt;</description>
         <guid isPermaLink="false">{00B7DB2A-CDED-4620-8CBB-8FDC7FA1CFF4}</guid>
         <pubDate>Fri, 24 May 2013 16:30:00 +0000</pubDate>
      </item>
      <item>
         <title>Resolving InvalidOperationException: Field in Rendering Parameters with Sitecore</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/05/Resolving-InvalidOperationException-Field-in-Rendering-Parameters-with-Sitecore.aspx</link>
         <description>&lt;p&gt;This blog post provides one solution for resolving InvalidOperationException that may appear when working with rendering parameters in the Sitecore ASP.NET web Content Management System (CMS) and Customer Engagement Platform (CEP).&lt;/p&gt;</description>
         <guid isPermaLink="false">{25B38007-B4ED-48B0-AEBB-776DB21B911A}</guid>
         <pubDate>Fri, 24 May 2013 15:47:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7 Tips and Tricks</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/Sitecore-7-Development-Team/Posts/2013/05/Sitecore-7-Tips-and-Tricks.aspx</link>
         <description>&lt;p&gt;Sitecore 7 is finally out to the public and we have already seen an influx of people downloading, testing and evaluating the software. A couple of people have even upgraded their site to Sitecore 7 already! We can see that people are very eager to move to Sitecore 7 straight away.&lt;/p&gt;</description>
         <guid isPermaLink="false">{C84113BE-BFAD-4B2F-BB2C-7834EEAF7A20}</guid>
         <pubDate>Fri, 24 May 2013 08:01:00 +0000</pubDate>
      </item>
      <item>
         <title>Add Commands to Edit Templates and Fields in the Sitecore ASP.NET CMS</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/05/Add-Commands-to-Edit-Templates-and-Fields-in-the-Sitecore-ASPNET-CMS.aspx</link>
         <description>&lt;p&gt;This blog post provides a prototype for a solution that adds commands to open the definition item for each field that appears in the Content Editor in the Sitecore ASP.NET web Content Management System (CMS).&lt;/p&gt;</description>
         <guid isPermaLink="false">{BC232043-D945-4328-86FF-1AF4A73E023B}</guid>
         <pubDate>Thu, 23 May 2013 21:17:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7 Searching for items with hyphens in the name</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/Sitecore-7-Development-Team/Posts/2013/05/Searching-for-items-with-hyphens-in-the-name.aspx</link>
         <description>&lt;p&gt;Searching for content with hyphens in a word&lt;/p&gt;
&lt;p&gt;We were recently asked on Twitter to answer the question of search on item names with a hyphen in it (-). The simple answer is that this is all down to the work of the &lt;code&gt;Analyzer&lt;/code&gt; running the query. However we could see that most people will want this ability so let's show you how to achieve this.&lt;/p&gt;</description>
         <guid isPermaLink="false">{A7C543DA-27FC-4DCB-A6E4-E231293F422E}</guid>
         <pubDate>Thu, 23 May 2013 08:10:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7: Use Computed Index Fields to Store DMS or Other External Data</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/05/Sitecore-7-Use-Computed-Index-Fields-to-Store-DMS-Data.aspx</link>
         <description>&lt;p&gt;This blog post explains how you can add data from an external system to a search index in version 7 of the Sitecore ASP.NET web Content Management System (CMS). Specifically, this approach indexes the number of page hits recorded by the Sitecore Digital Marketing System (DMS).&lt;/p&gt;</description>
         <guid isPermaLink="false">{E580435E-47EC-4B3F-874A-788935BA1BB9}</guid>
         <pubDate>Wed, 22 May 2013 19:23:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore Support Toolbox</title>
         <link>http://alenpelin.blogspot.com/2013/05/sitecore-support-toolbox.html</link>
         <description>&lt;br /&gt;&lt;div class=&quot;MsoNormal&quot;&gt;I’d like to announce that Sitecore Support Toolbox (that was previously a plug-in for Sitecore Instance Manager 1.2) was finally published to marketplace as a separate shared source module. &lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;div class=&quot;MsoNormal&quot;&gt;You can download it “as-is” from its page on marketplace - please don't forget to click Recommend button ;):&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;color:windowtext;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://marketplace.sitecore.net/en/Modules/Sitecore_Support_Toolbox.aspx&quot;&gt;http://marketplace.sitecore.net/en/Modules/Sitecore_Support_Toolbox.aspx&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Or you can find entire online sources here:&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;color:windowtext;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://alienlab.co.uk/sitecore-support-toolbox/src&quot;&gt;http://alienlab.co.uk/sitecore-support-toolbox/src&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left:.5in;&quot;&gt;&lt;i&gt;Support Toolbox is a set of independent pages written by Customer Service for typical troubleshooting operations as an addition to /sitecore/admin pages. We highly recommend reviewing code before using these features as they were not deeply tested and may not be the examples of best practices, but just pieces of very simple troubleshooting code.&lt;/i&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left:.5in;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left:.5in;&quot;&gt;&lt;i&gt;The code is stored inside the &amp;lt;script runat=&quot;server&quot;&amp;gt; … &amp;lt;/scropt&amp;gt; tags in each file – it can and should be changed to match specific case's needs. It is supposed to work in all Sitecore 6.x versions.&lt;/i&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left:.5in;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left:.5in;&quot;&gt;&lt;i&gt;For those who used Toolbox before, now you can access toolbox by /sitecore/admin URL only and it requires to log in as administrator. &lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;i&gt;&lt;b&gt;Major feature&lt;/b&gt;: installing this module to live production instance is as safe as possible since it is only a set of .aspx pages so it shouldn't cause application recycle.&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;i&gt;Detailed overview of project capabilities will be provided later, but here is the brief one:&lt;/i&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;Native Search – find item using SQL queries and find file by its contents or filename&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;Lucene Search – simple UI for testing lucene&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;Rebuild Indexes – rebuilding lucene indexes&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;Item Generator – create an item tree&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;Media Generator – create a media (binary files filled with zeros) items with certain filesize&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;Security tools – user info and user switcher&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;Package Item – create all-sufficient Sitecore package&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;Save Showconfig.xml – force download showconfig.aspx&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;SQL Shell – SQL Management Studio lite&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;User Profile&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;Job Viewer – background jobs watcher&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description>
         <author>Alen Pelin</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-7597424347188585662.post-7834794258545347100</guid>
         <pubDate>Wed, 22 May 2013 14:05:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7!</title>
         <link>http://vasilinenko.blogspot.com/2013/05/sitecore-7.html</link>
         <description>&lt;br /&gt;&lt;br /&gt;&lt;h1 class=&quot;pagetitle&quot; style=&quot;background-color:white;border:0px;color:#646464;font-family:Arial, Helvetica, sans-serif;font-size:21px;font-weight:normal;line-height:25px;margin:0px 10px;outline:0px;padding:0px;vertical-align:baseline;&quot;&gt;Sitecore Announces Sitecore 7, Powering a New Level of Personalized Digital Experiences&lt;/h1&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Read more at&amp;nbsp;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.sitecore.net/Company/News/Press-releases/2013/05/Sitecore-7.aspx&quot;&gt;http://www.sitecore.net/Company/News/Press-releases/2013/05/Sitecore-7.aspx&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</description>
         <author>noreply@blogger.com (Dmitry Vasilinenko)</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-6615446690343095019.post-3134432715158132090</guid>
         <pubDate>Wed, 22 May 2013 09:32:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore releases CMS and DMS 7.0 Initial Release</title>
         <link>http://sitecorekh.blogspot.com/2013/05/sitecore-releases-cms-and-dms-70.html</link>
         <description>I am happy to announce that Sitecore today has released &lt;strong&gt;CMS and DMS 7.0 rev. 130424&lt;/strong&gt;. &lt;br /&gt;&lt;br /&gt;This is the intial release of CMS and DMS 7.0. &lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;The main highlights in this release are: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Support for storage of large numbers of content items in item buckets.&lt;/li&gt;&lt;li&gt;Content tagging and content faceting.&lt;/li&gt;&lt;li&gt;A new Sitecore.ContentSearch namespace that contains new indexing and search APIs.&lt;/li&gt;&lt;li&gt;New search screens for content authors in the Content Editor, Page Editor, and in many dialog boxes.&lt;/li&gt;&lt;li&gt;Data sources improvements.&lt;/li&gt;&lt;li&gt;Support for running Sitecore on Windows Server 2012 and Windows 8.&lt;/li&gt;&lt;/ul&gt;Everything is already available on SDN, including: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;The &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://sdn.sitecore.net/Products/Sitecore%20V5/Sitecore%20CMS%207/ReleaseNotes/ChangeLog/Release%20History%20SC70.aspx#70initial&quot;&gt;release notes&lt;/a&gt; which describes the new features, improvements and fixes in this release.&lt;/li&gt;&lt;li&gt;The &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://sdn.sitecore.net/SDN5/Products/Sitecore%20V5/Sitecore%20CMS%207/Update/7_0_rev_130424.aspx&quot;&gt;downloads and updates page&lt;/a&gt; which contains download links for the full distribution, as well as instructions for updating existing Sitecore solutions to the release.&lt;/li&gt;&lt;/ul&gt;Happy coding!</description>
         <author>Kim Hornung</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-36416442.post-2459045823926803077</guid>
         <pubDate>Tue, 21 May 2013 23:30:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7: The Hidden Features</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/Sitecore-7-Development-Team/Posts/2013/05/Sitecore-7-The-Hidden-Features.aspx</link>
         <description>&lt;p&gt;Testing was high on our agenda whilst building Sitecore 7 and this not only covered Unit Testing, Automated Integration Testing, Cross Provider Testing but also ease of use of the API, the UI and all the new features. We had a strict policy within the team of when we added a feature we needed to build a few examples to make sure all interfaces or pipelines or extension points had all the pieces that we would need. In this way we could pick up if our extension point needed other arguments to be passed through. Most examples, we did not include as we did not want to take away the fun there is of giving Sitecore Developers a playground to test their creativity within. There were a few examples however that we kept in Sitecore 7 but have disabled by default. This blog post aims to highlight those.&lt;/p&gt;</description>
         <guid isPermaLink="false">{F114C4AD-7B6C-4091-A159-A8E983B4A99B}</guid>
         <pubDate>Tue, 21 May 2013 07:10:00 +0000</pubDate>
      </item>
      <item>
         <title>Object State with the Sitecore ASP.NET CMS</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/05/Object-State-with-the-Sitecore-ASPNET-CMS.aspx</link>
         <description>&lt;p&gt;This blog post contains important information for developers about managing object state in pipeline processors, rules engine conditions, rules engine actions, and potentially other components in the Sitecore ASP.NET web Content Management System (CMS).&lt;/p&gt;</description>
         <guid isPermaLink="false">{B2C8DE3A-5BE2-4779-82D4-8074015AFA05}</guid>
         <pubDate>Mon, 20 May 2013 21:17:00 +0000</pubDate>
      </item>
      <item>
         <title>Meetup in New York. Sitecore 7 Deep Dive.</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/Sitecore-7-Development-Team/Posts/2013/05/New-York-Meetup-June-5.aspx</link>
         <description>&lt;p&gt;Come meet Martin, Tim, Stephen, Alex and Kieran in person on June 5th and learn about Sitecore 7 from the source.&lt;/p&gt;</description>
         <guid isPermaLink="false">{DE1CA127-27C1-4189-B4E3-B914B24FC9B8}</guid>
         <pubDate>Mon, 20 May 2013 16:50:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore Continuos Deployment: From Zero to Hero (Part 2: Deploy)</title>
         <link>http://sitecoresnippets.blogspot.com/2013/05/sitecore-continuos-deployment-from-zero_20.html</link>
         <description>&lt;div class=&quot;separator&quot; style=&quot;clear:both;text-align:center;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://2.bp.blogspot.com/-CCVFcGKA56M/UZhr77T7qcI/AAAAAAAAAgQ/kGFoEHafFGY/s1600/continuous_integration.jpg&quot; style=&quot;clear:left;float:left;margin-bottom:1em;margin-right:1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-CCVFcGKA56M/UZhr77T7qcI/AAAAAAAAAgQ/kGFoEHafFGY/s200/continuous_integration.jpg&quot; width=&quot;150&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style=&quot;background-color:white;color:#333333;font-family:Arial, Tahoma, Helvetica, FreeSans, sans-serif;font-size:15px;line-height:20px;&quot;&gt;This is a second blog post in a Build-Deploy-Test series. Here you&amp;#39;ll see how to deploy the package created at the previous step, with some hints specific to CI usage.&lt;/span&gt;&lt;br&gt;&lt;br style=&quot;background-color:white;color:#333333;font-family:Arial, Tahoma, Helvetica, FreeSans, sans-serif;font-size:15px;line-height:20px;&quot;&gt;&lt;span style=&quot;background-color:white;color:#333333;font-family:Arial, Tahoma, Helvetica, FreeSans, sans-serif;font-size:15px;line-height:20px;&quot;&gt;This blog post is a part of the series:&lt;/span&gt;&lt;br&gt;&lt;ul style=&quot;background-color:white;color:#333333;font-family:Arial, Tahoma, Helvetica, FreeSans, sans-serif;font-size:15px;line-height:20px;margin:0.5em 0px;padding:0px 2.5em;&quot;&gt;&lt;li style=&quot;border:none;margin:0px 0px 0.25em;padding:0px;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://sitecoresnippets.blogspot.com/2013/05/sitecore-continuos-deployment-from-zero.html&quot; style=&quot;color:#771100;text-decoration:none;&quot;&gt;Sitecore Continuos Deployment: From Zero to Hero (Part 1: Build)&lt;/a&gt;&lt;/li&gt;&lt;li style=&quot;border:none;margin:0px 0px 0.25em;padding:0px;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://sitecoresnippets.blogspot.com/2013/05/sitecore-continuos-deployment-from-zero_20.html&quot; style=&quot;color:#771100;text-decoration:none;&quot;&gt;Sitecore Continuos Deployment: From Zero to Hero (Part 2: Deploy)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://sitecoresnippets.blogspot.com/2013/05/sitecore-continuos-deployment-from-zero_20.html#more&quot;&gt;Read more »&lt;/a&gt;</description>
         <author>Alexander Doroshenko</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-7349300843360979765.post-4044262598791144095</guid>
         <pubDate>Mon, 20 May 2013 06:41:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://2.bp.blogspot.com/-CCVFcGKA56M/UZhr77T7qcI/AAAAAAAAAgQ/kGFoEHafFGY/s72-c/continuous_integration.jpg" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>Sitecore Continuos Deployment: From Zero to Hero (Part 1: Build)</title>
         <link>http://sitecoresnippets.blogspot.com/2013/05/sitecore-continuos-deployment-from-zero.html</link>
         <description>&lt;div class=&quot;separator&quot; style=&quot;clear:both;text-align:center;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://2.bp.blogspot.com/-Waehk50bLxI/UZhrfCNxCDI/AAAAAAAAAgI/8Ipwe3YMui8/s1600/Xcode.png&quot; style=&quot;clear:left;float:left;margin-bottom:1em;margin-right:1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-Waehk50bLxI/UZhrfCNxCDI/AAAAAAAAAgI/8Ipwe3YMui8/s1600/Xcode.png&quot;&gt;&lt;/a&gt;&lt;/div&gt;During the past year I&amp;#39;ve learned a lot about importance of Continuous Integration for project success. Besides of quality and robustness improvements, automated builds and deployment simply make developers happier, as there is now much less stress / annoying tasks, and more time for fun stuff.&lt;br&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://sitecoresnippets.blogspot.com/2013/05/sitecore-continuos-deployment-from-zero.html#more&quot;&gt;Read more »&lt;/a&gt;</description>
         <author>Alexander Doroshenko</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-7349300843360979765.post-3686399630929598210</guid>
         <pubDate>Mon, 20 May 2013 06:40:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://2.bp.blogspot.com/-Waehk50bLxI/UZhrfCNxCDI/AAAAAAAAAgI/8Ipwe3YMui8/s72-c/Xcode.png" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>Unable to find resource 'CustomItem.base.vm'</title>
         <link>http://feedproxy.google.com/~r/sitecoredevelopment/IQRw/~3/PHMqiLt7Ulw/Unable-to-find-resource-CustomItem-base-vm.aspx</link>
         <description>&lt;p&gt;Make sure you are installing the correct version of the CustomItemGenerator module for the version of ASP.NET your Sitecore site is running in.&lt;/p&gt;</description>
         <guid isPermaLink="false">{577C7891-907A-4054-9058-BE6EB1697B3D}</guid>
         <pubDate>Fri, 17 May 2013 20:53:04 +0000</pubDate>
      </item>
      <item>
         <title>Information Architecture with the Sitecore ASP.NET CMS</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/05/Information-Architecture-with-the-Sitecore-ASPNET-CMS.aspx</link>
         <description>&lt;p&gt;This blog post introduces various concepts related to implementing information architecture in the Sitecore ASP.NET web Content Management System. Information architecture defines the structures, types, relations, and other aspects of the data under management, including the content under management but additional metadata and even system configuration information. Due to its potential effect on SEO, its long life (to avoid breaking links), and because presentation components often depend on it, the information architecture design can be as significant as the coding of a CMS solution.&lt;/p&gt;</description>
         <guid isPermaLink="false">{1E7C36A0-1845-433F-8FEE-C91B9156D925}</guid>
         <pubDate>Fri, 17 May 2013 20:24:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7: Rule-Based Index Commit Policy</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/05/Sitecore-7-Rule-Based-Index-Commit-Policy.aspx</link>
         <description>&lt;p&gt;This blog post explains how you can implement a commit policy in version 7 of the Sitecore ASP.NET web Content Management System. Commit policies can improve indexing performance by reducing disk-based operations. The example provided uses the rules engine to determine whether to commit. Before you read this post, please read the first two posts linked in the Resources section at the end of this page.&lt;/p&gt;</description>
         <guid isPermaLink="false">{8ADFEB46-C0A9-4E0B-9181-20E946CA30FB}</guid>
         <pubDate>Fri, 17 May 2013 15:38:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7: Enable Default Computed Index Fields</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/05/Sitecore-7-Enable-Default-Computed-Index-Fields.aspx</link>
         <description>&lt;p&gt;This blog post explains the purposes of the some computed index fields that are disabled by default in version 7 of the Sitecore ASP.NET web Content Management System (CMS), and describes how you can enable those fields.&lt;/p&gt;</description>
         <guid isPermaLink="false">{46823E4C-F768-4850-80BA-43479F3B2FD2}</guid>
         <pubDate>Thu, 16 May 2013 19:44:00 +0000</pubDate>
      </item>
      <item>
         <title>Launch - LIM College News System</title>
         <link>http://viridianspark.com/blog/2013/may/launch---lim-college-news-system</link>
         <description>&lt;p&gt;Viridian Spark worked with LIM College to streamline their news production, publishing, and syndication systems. Our work has greatly increased the efficiency of content editors responsible for news, events, and announcements while creating a better user experience for visitors.&lt;/p&gt;</description>
         <guid isPermaLink="false">{F273DEAC-196A-4C86-BF82-BE82BB41FDCF}</guid>
         <pubDate>Thu, 16 May 2013 17:10:00 +0000</pubDate>
      </item>
      <item>
         <title>Frequent Sitecore upgrades are good!</title>
         <link>http://arencambre.com/blog/2013/05/16/2160/</link>
         <description>Frequent Sitecore upgrades have convincing benefits and lower its TCO. My employer&amp;#8217;s current practice is an annual Sitecore upgrade. I recommend this as the maximum interval; we should do more frequent upgrades when important-to-us new features, fixes, or enhancements are released. &amp;#8230; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://arencambre.com/blog/2013/05/16/2160/&quot;&gt;Continue reading &lt;span class=&quot;meta-nav&quot;&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
         <guid isPermaLink="false">http://arencambre.com/blog/?p=2160</guid>
         <pubDate>Thu, 16 May 2013 16:36:31 +0000</pubDate>
         <content:encoded><![CDATA[<p>Frequent Sitecore upgrades have convincing benefits and lower its TCO.</p>
<p>My employer&#8217;s current practice is an annual Sitecore upgrade. I recommend this as the <i>maximum</i> interval; we should do more frequent upgrades when important-to-us new features, fixes, or enhancements are released. It may be prudent to even consider twice-a-year upgrades given Sitecore’s rapid release schedule.</p>
<p>Here&#8217;s the specific benefits of frequent upgrades:</p>
<ul>
<li><strong>Fast track putting UI enhancements and bug fixes into production.</strong></li>
<li><strong>Puts new features front and center.</strong> Even if we don’t use these features right away, they are often the basis of near-term enhancements.<strong></strong></li>
<li><strong>Fast track putting enhanced modules into production.</strong> Many times, newer module versions require upgrades of the base product, too.<strong></strong></li>
<li><strong>Avoids bifurcated environments.</strong> Aggressive upgrade policies reduce the pressure to try out and do development on newer releases than what we have in production.<strong></strong></li>
<li><strong>Avoid cost of delaying implementing new features.</strong> We once delayed upgrading from 6.2 to 6.4. This contributed to not-aggressive-enough learning of 6.4’s enhancements, causing our old technology to get more deeply ingrained in our practices. This made our move to 6.4&#8242;s paradigm more complex.<strong></strong></li>
<li><strong>Reduced upgrade complexity.</strong> We and other customers experienced difficult upgrades when we failed to upgrade frequently. Frequent upgrades means each upgrade is more of a snack than a huge meal.<strong></strong></li>
<li><strong>Better supportability.</strong> While Sitecore has a generous support policy—they appear to support many versions going back—it is inevitable economic reality that dusty versions will have a harder support experience. The best companies are aggressively forward-looking.<strong></strong></li>
<li><strong>Cleaner install and better reliability due to reduced use of hotfixes.</strong> If we do a frequent upgrade regimen, we can often defer hotfixes to when problems get fixed in future releases. With infrequent upgrades, we will be under pressure to rely more heavily on hotfixes (customizations) that 1. must later be backed out, 2. may not be as well-tested, creating unintended consequences during use, and 3. when backed out, could cause unpredictable changes.<strong></strong></li>
</ul>
<p>My employer has a legitimate fear of frequent upgrades due to its experience with our ERP. Indeed, upgrades to this ERP are monstrously complicated. A Sitecore upgrade is a fraction of the complexity of an upgrade or even a patch on our ERP.</p>
<p>Due to the way Sitecore is architected—it generally disallows spaghetti code or direct modification of vendor code or logic—and my disinclination to customize the base product, compared to our ERP, it is rare that we will run into code incompatibilities with newer versions. Our custom code will usually “just work”.</p>
<p>To conclude, I recommend frequent upgrades whenever possible. It has convincing benefits, and, really, it is just a sign of an engaged product owner that wants a relevant, competitive web marketing presence.</p>]]></content:encoded>
      </item>
      <item>
         <title>Sitecore 7: Data Sources, Part 6: Access Multiple Data Source Items from MVC Views</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/05/Sitecore-7-Data-Sources-Part-6-Access-Multiple-Data-Source-Items-from-MVC-Views.aspx</link>
         <description>&lt;p&gt;You can use the information in this blog post to easily access data source items in solutions using version 7 of the Sitecore ASP.NET web Content Management System (CMS). Before you read this, see at least the first two blog posts linked in the Resources section at the end of this page. The solution presented in this blog post depends on the second of those two pages.&lt;/p&gt;</description>
         <guid isPermaLink="false">{61418990-79A0-44DB-BC1B-3005CCAF2E79}</guid>
         <pubDate>Thu, 16 May 2013 15:53:00 +0000</pubDate>
      </item>
      <item>
         <title>Help! Sitecore History Engine does not index some of my items!</title>
         <link>http://www.cognifide.com/blogs/sitecore/help-sitecore-history-engine-does-not-index-some-of-my-items/</link>
         <description>We, together with our client, have run into an issue with the Sitecore History Engine recently. The story is fairly simple yet coming to a conclusion was not that obvious. Some of our articles did not index in a multi-management server scenario properly. When articles were edited on one server, the second one didn&amp;#8217;t always [...]</description>
         <guid isPermaLink="false">http://www.cognifide.com/blogs/?p=3868</guid>
         <pubDate>Thu, 16 May 2013 12:18:50 +0000</pubDate>
         <content:encoded><![CDATA[<p><img class="size-full wp-image-3872" title="Sitecore Calendar" src="http://www.cognifide.com/blogs/wp-content/uploads/2013/05/x-office-calendar2.png" alt="Sitecore Calendar" width="211" height="216"/><br />
We, together with our client, have run into an issue with the Sitecore History Engine recently. The story is fairly simple yet coming to a conclusion was not that obvious. Some of our articles did not index in a multi-management server scenario properly. When articles were edited on one server, the second one didn&#8217;t always pick up and index the changes.</p>
<p>The scenario is as follows:</p>
<ul>
<li>We have a search based application delivered on top of Sitecore.</li>
<li>The application supports business with entering articles, collecting feeds and otherwise getting content into Sitecore.</li>
<li>The ingestion happens on the Content Management (CM) servers which are load balanced.</li>
<li>From time to time articles edited on one of the servers don’t make their way into our Lucene indexes on the other machine.</li>
<li>Editors assigned by Load Balancer to the other server sometimes can’t see the changes made on the other server.</li>
<li>We have the History Engine enabled and set up to support the multi-server scenario.</li>
</ul>
<p>My first two thoughts are:</p>
<ul>
<li>Race condition and timing issues between those two servers or…</li>
<li>Content issue (I’ve ruled that out pretty quickly as this would result in not indexing the article on the other server either).</li>
</ul>
<p>So what happens? How does the Sitecore History Engine synchronizes between servers?</p>
<h2>How history entries are committed</h2>
<p>When you dig into the HistoryEngine class you will see that the AddEntry method instantiates the entry as follows:</p>
<pre>
HistoryEntry entry = new HistoryEntry(category, action, item,
                                      oldParentId, additionalInfo)
</pre>
<p>and then the constructor assigns the <strong>Sitecore server date/time</strong> to the entry:</p>
<pre>
this.m_created = DateTime.UtcNow;
</pre>
<h2>How history entries are consumed</h2>
<p>The IndexingProvider initiates the history consumer in the following way:</p>
<pre>
public virtual void UpdateIndex(Database database)
{
  Assert.ArgumentNotNull((object) database, &quot;database&quot;);
  lock (this._lockSet.GetLock((object) database.Name))
  {
    DateTime local = this.GetLastUpdateDate(database);
    this.UpdateIndex(database, local);
  }
}
</pre>
<p>which determines the Last index update time for the database – the value is pulled from the Properties table. But that date is saved in the Index class in the Rebuild method in the following way:</p>
<pre>
public virtual void Rebuild(Database database)
{
  // init code ..

  DateTime utcNow = DateTime.UtcNow;

  // reindexing code ...

  database.Properties[IndexingManager.LastUpdatePropertyKey] =
    DateUtil.ToIsoDate(utcNow);
}
</pre>
<p>You can probably start seeing the problem already&#8230; The code uses local server dates to determine entries to pickup. The good thing is that it takes the time from before the index rebuild, but this will still work only if your server times are synchronized to a time-period below the time it takes to rebuild your index.</p>
<h2>Get the chronology straight…</h2>
<p>How does the timeline looks like then for a following scenario:</p>
<ul>
<li>Two servers in farm synchronizing index,</li>
<li>Server_1 has proper time – rebuilds the index based on the history table,</li>
<li>Server_2 is 5 seconds late – the article is being saved right after the index was triggered for rebuild,</li>
<li>Index rebuild trigger is set to update the index every 30 seconds.</li>
</ul>
<p style="text-align:center;"><a rel="nofollow" target="_blank" href="http://www.cognifide.com/blogs/wp-content/uploads/2013/05/HistoryEngineBlogPostTimeline22.png"><img class="size-full wp-image-3871 aligncenter" title="Unindexed change timeline" src="http://www.cognifide.com/blogs/wp-content/uploads/2013/05/HistoryEngineBlogPostTimeline22.png" alt="Unindexed change timeline" width="628" height="479"/></a></p>
<p>So what is this all about?</p>
<p>Basically if you use Sitecore search/indexing in a distributed scenario and you&#8217;re going to rely on the index in your daily activities <strong>and  you&#8217;re going to rely on the History Engine &#8211; you need to make sure that your time is synchronized and your time zones are set properly or you might start seeing items not being picked up by your index.</strong></p>]]></content:encoded>
      </item>
      <item>
         <title>LINQPad and Sitecore 7</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/Getting-to-Know-Sitecore/Posts/2013/05/LINQPad-and-Sitecore-7.aspx</link>
         <description>&lt;p&gt;This post explains how to use LINQPad to test and debug LINQ statements with Sitecore 7.&lt;/p&gt;</description>
         <guid isPermaLink="false">{6472B5D5-FFB8-43F4-AB42-09BDF4C8D2A9}</guid>
         <pubDate>Wed, 15 May 2013 20:00:00 +0000</pubDate>
      </item>
      <item>
         <title>Set MVC Model Properties from Rendering Parameters with the Sitecore ASP.NET CMS</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/05/Set-Model-Properties-from-Rendering-Parameters-with-the-Sitecore-CMS.aspx</link>
         <description>&lt;p&gt;This blog post explains how you can apply parameters passed to MVC renderings to corresponding properties in the model using the Sitecore ASP.NET web Content Management Solution (CMS).&lt;/p&gt;</description>
         <guid isPermaLink="false">{C19F48D1-F3A1-4631-AFFC-2DFBDD5AB827}</guid>
         <pubDate>Wed, 15 May 2013 19:12:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7: Data Sources, Part 5: Accessing Data Sources from Sublayouts</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/05/Sitecore-7-Data-Sources-Part-5-Accessing-Data-Sources-from-Sublayouts.aspx</link>
         <description>&lt;p&gt;This blog post provides a prototype for a base class that you can use to support multiple data source items with sublayouts in version 7 of the Sitecore ASP.NET web Content Management System (CMS). Before you read this, please read the first two blog posts linked in the Resources section at the end of this page. The solution presented in this blog post depends on that provided in the second of those two resources.&lt;/p&gt;</description>
         <guid isPermaLink="false">{D9489FAF-DC45-4433-846E-510DD509DEF2}</guid>
         <pubDate>Wed, 15 May 2013 16:55:00 +0000</pubDate>
      </item>
      <item>
         <title>Revolver 2.1 Released</title>
         <link>http://adeneys.wordpress.com/2013/05/16/revolver-2-1-released/</link>
         <description>Today I&amp;#8217;m happy to announce the release of Revolver 2.1. You can head on over to the codeflood website to ... &lt;br /&gt;&lt;a rel=&quot;nofollow&quot; class=&quot;more-link&quot; target=&quot;_blank&quot; href=&quot;http://adeneys.wordpress.com/2013/05/16/revolver-2-1-released/&quot;&gt;Continue reading&lt;/a&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=adeneys.wordpress.com&amp;#038;blog=3885947&amp;#038;post=404&amp;#038;subd=adeneys&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot;/&gt;</description>
         <guid isPermaLink="false">http://adeneys.wordpress.com/?p=404</guid>
         <pubDate>Wed, 15 May 2013 15:31:39 +0000</pubDate>
         <content:encoded><![CDATA[<p>Today I&#8217;m happy to announce the release of <a rel="nofollow" target="_blank" href="http://www.codeflood.net/revolver/">Revolver</a> 2.1. You can head on over to the <a rel="nofollow" target="_blank" href="http://www.codeflood.net">codeflood</a> website to get the Sitecore package files right now. These will also be available on the <a rel="nofollow" target="_blank" href="http://marketplace.sitecore.net">Sitecore Marketplace</a> very soon.</p>
<p>This isn&#8217;t a huge release, but does have some important new features. Let&#8217;s take a look at each of these.</p>
<h3>Support for Sitecore 6.6 (and Sitecore 7)</h3>
<p>Sitecore 6.6 introduced some new security features to make the Sitecore client interfaces more secure. One such feature was to protect against cross site request forgery. Sitecore client UI forms now contain a field named <code>__CSRFTOKEN</code> which contains a token which must be posted to the server on each request.</p>
<p>Revolver 2.1 contains an update to submit this field when you execute a command in the Revolver script window. If you&#8217;ve tried using Revolver &lt;= 2.0 with Sitecore 6.6 and received an error message mentioning something about missing a &#8220;CSRF&#8221; field, then make sure you upgrade to Revolver 2.1 to get the fix.</p>
<p>And although it&#8217;s not released yet, Sitecore 7 is on the horizon, so I&#8217;ve been testing Revolver with the Sitecore 7 release we lucky MVPs have. If you have access to Sitecore 7 and want to install Revolver on it, grab the current 2.1 release for Sitecore 6.6.</p>
<h3>No spell check warning for script window</h3>
<p>A small UI tweak in Revolver 2.1 is to add the <code>spellcheck="false"</code> attribute to the main script window text field to stop browsers from trying to run spell check on the contents of the script window. Most of what you enter in the script window is not plain English, so this tweak removes the sea of red you would have put up with in Revolver &lt;= 2.0 in some browsers.</p>
<h3>&#8220;Does not contain&#8221; operator for expressions</h3>
<p>Expressions in Revolver are like predicates in XPath. They allow defining a condition when using the <code>find</code> command. There are a number of operators available in expressions such as comparing equality, starts with and ends with and check whether a string contains another. One scenario that couldn&#8217;t be implemented with those operators was to check the absence of a token from input. &#8220;Show me items where <code>__renderings</code> doesn&#8217;t contain this ID&#8221;.</p>
<p>The <code>find</code> command also supports testing field values against a regex. Regex is great at finding patterns in text, but not very good at finding the absence of a pattern in text. Hence why I added the &#8220;doesn&#8217;t contain&#8221; (written as <code>!?</code>) operator to expressions.</p>
<p>The scenario I gave above about trying to find items without a specific ID in their <code>__renderings</code> field is exactly why I added this operator. I was trying to locate all items in a Sitecore solution where the <code>__renderings</code> field was populated but didn&#8217;t contain a particular control. With the new operator I can now use a command similar to the following to locate these items:</p>
<pre><code>find -r -e (@__renderings != () and 
  @__renderings !? {885B8314-7D8C-4CBB-8000-01421EA8F406}) pwd
</code></pre>
<p>The above Revolver command will show me the path to all descendant items (from the current context item) that has presentation defined but does not include the control given my the ID <code>{885B8314-7D8C-4CBB-8000-01421EA8F406}</code>.</p>
<h3>Preserve ID when pasting from XML</h3>
<p>Revolver has allowed you to create items from Sitecore item XML for a while now. And now you can select to keep the IDs in the input XML string. Previously Revolver was changing the IDs to ensure there were no item ID clashes. But what if the XML being pasted came from another Sitecore instance and the ID of the items are vital; perhaps they&#8217;re referenced from another XML blob you&#8217;re about to paste.</p>
<p>You can now tell Revolver to keep the IDs but using the <code>-id</code> flag when using the <code>touch</code> command to create the items as follows:</p>
<pre><code>touch -id -x (item-xml)
</code></pre>
<p>where <code>item-xml</code> is actual Sitecore item XML (you can get that using the <code>gi</code> command).</p>
<h3>Conclusion</h3>
<p>Like I said, not a huge release, but now supporting Sitecore 6.6.</p>
<br />  <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gocomments/adeneys.wordpress.com/404/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/adeneys.wordpress.com/404/"/></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=adeneys.wordpress.com&#038;blog=3885947&#038;post=404&#038;subd=adeneys&#038;ref=&#038;feed=1" width="1" height="1"/>]]></content:encoded>
         <media:content medium="image" url="http://2.gravatar.com/avatar/b4591048ba49c1111162c1db646f4147?s=96&amp;amp;d=identicon&amp;amp;r=G">
            <media:title type="html">Alistair Deneys</media:title>
         </media:content>
      </item>
      <item>
         <title>Sitecore 7: Data Sources, Part 4: Expand Data Sources for XSL Renderings</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/05/Sitecore-7-Data-Sources-Part-4-Expand-Data-Sources-for-XSL-Renderings.aspx</link>
         <description>&lt;p&gt;You can implement a solution based on the prototype described in this blog post to use a new feature available in version 7 of the Sitecore ASP.NET web Content Management System that lets you specify search queries as data sources for presentation components. Before you read this blog post, please read Sitecore 7: Introduction and Sitecore 7: Use a Pipeline to Expand Data Sources linked in the Resources section at the end of this page. The solution described in this blog post depends on the solution in the second of those two articles.&lt;/p&gt;</description>
         <guid isPermaLink="false">{F4F930B2-671C-4BCF-B479-BA383AE03EFB}</guid>
         <pubDate>Tue, 14 May 2013 21:14:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7: Data Sources, Part 3: Accessing Data Sources from Web Controls</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/05/Sitecore-7-Data-Sources-Part-3-Accessing-Data-Sources-from-Web-Controls.aspx</link>
         <description>&lt;p&gt;This blog post provides a prototype for a base class that you can use to support multiple data source items with web controls in version 7 of the Sitecore ASP.NET web Content Management System (CMS). Before you read this blog post, please see the first two links in the Resources section at the end of this page. The solution presented in this blog post depends on the solution provided in the second of those two pages.&lt;/p&gt;</description>
         <guid isPermaLink="false">{65B872C5-1721-449B-ABDF-9C2BD19A215D}</guid>
         <pubDate>Tue, 14 May 2013 21:03:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7: Data Sources, Part 2: Adding a getPresentationDataSources Pipeline</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/05/Sitecore-7-Data-Sources-Part-2-getPresentationDataSources-Pipeline.aspx</link>
         <description>&lt;p&gt;Version 7 of the Sitecore ASP.NET web Content Management System introduces support for search queries as data sources for presentation components. This blog post provides a prototype for a solution that uses a pipeline to create lists of data source items, as well as sources retrieved using Sitecore query and fast query. Before you read this blog post, please see &lt;a rel=&quot;nofollow&quot;&gt;Sitecore 7: Data Sources, Part 1: Enhancements&lt;/a&gt;.&lt;/p&gt;</description>
         <guid isPermaLink="false">{DC4ED632-2A9F-4EF4-80B6-57508329B940}</guid>
         <pubDate>Tue, 14 May 2013 20:41:00 +0000</pubDate>
      </item>
      <item>
         <title>Access Field Values in saveUI Pipeline Processors with the Sitecore ASP.NET CMS</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/05/Access-Field-Values-in-saveUI-Pipeline-Processors-with-Sitecore.aspx</link>
         <description>&lt;p&gt;This blog post explains how you can access original and updated field values while a user saves an item in the Sitecore ASP.NET web Content Management System (CMS).&lt;/p&gt;</description>
         <guid isPermaLink="false">{CC19B289-CABD-4CD1-BD32-EA6FB9787C8B}</guid>
         <pubDate>Tue, 14 May 2013 05:35:00 +0000</pubDate>
      </item>
      <item>
         <title>Turn any Sitecore package into a NuGet package</title>
         <link>http://hermanussen.eu/sitecore/wordpress/2013/05/turn-any-sitecore-package-into-a-nuget-package/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=turn-any-sitecore-package-into-a-nuget-package</link>
         <description>I recently posted this idea on Twitter: @kevinobee @kayeenl Btw, I was thinking that it shouldn&amp;#8217;t be too hard to make a cmd line util that converts #Sitecore packages into #NuGet — Robin Hermanussen (@knifecore) May 6, 2013 And it didn&amp;#8217;t take me that long to actually implement it. Follow these steps to turn any [...]</description>
         <guid isPermaLink="false">http://hermanussen.eu/sitecore/wordpress/?p=208</guid>
         <pubDate>Mon, 13 May 2013 21:03:22 +0000</pubDate>
         <content:encoded><![CDATA[<p>I recently posted this idea on Twitter:</p>
<blockquote class="twitter-tweet"><p>@<a rel="nofollow" target="_blank" href="https://twitter.com/kevinobee">kevinobee</a> @<a rel="nofollow" target="_blank" href="https://twitter.com/kayeenl">kayeenl</a> Btw, I was thinking that it shouldn&#8217;t be too hard to make a cmd line util that converts <a rel="nofollow" target="_blank" href="https://twitter.com/search/%23Sitecore">#Sitecore</a> packages into <a rel="nofollow" target="_blank" href="https://twitter.com/search/%23NuGet">#NuGet</a></p>
<p>— Robin Hermanussen (@knifecore) <a rel="nofollow" target="_blank" href="https://twitter.com/knifecore/status/331512623944318976">May 6, 2013</a></p></blockquote>
<p>And it didn&#8217;t take me that long to actually implement it. Follow these steps to turn any Sitecore package into a NuGet package and share it with the world.</p>
<ol>
<li>Download the <a rel="nofollow" title="Command line tool direct download" target="_blank" href="http://hermanussen.eu/sitecore/wordpress/wp-content/uploads/CreateSitecoreNuGetPackage.exe">CreateSitecoreNuGetPackage.exe file here</a> or build it yourself with <a rel="nofollow" title="CreateSitecoreNuGetPackage on GitHub" target="_blank" href="https://github.com/hermanussen/CreateSitecoreNuGetPackage">the code from GitHub</a>.</li>
<li>Put the files &#8220;Sitecore.Kernel.dll&#8221; and &#8220;Sitecore.Zip.dll&#8221; in the same folder.</li>
<li>Create your package in the Package Manager and export the ZIP file.</li>
<li>Run the following command from the command line:<br />
CreateSitecoreNuGetPackage [PATH_TO_SITECORE_PACKAGE]</li>
<li>Use the <a rel="nofollow" title="NuGet Package Explorer" target="_blank" href="http://npe.codeplex.com/">NuGet Package Explorer</a> to open the generated  .nuspec file and improve the metadata if needed.</li>
<li>Publish the package to a repository, like <a rel="nofollow" title="nuget.org" target="_blank" href="http://nuget.org">nuget.org</a>.</li>
</ol>
<p>Now, everyone will be able to install/uninstall your package through NuGet. Remember that you need to install Sitecore Rocks and attach your project before installing the package.</p>
<p>Some links to pages that helped me creating this:</p>
<ul>
<li><a rel="nofollow" title="http://blog.velir.com/index.php/2012/12/04/create-and-deploy-sitecore-modules-with-nuget/" target="_blank" href="http://blog.velir.com/index.php/2012/12/04/create-and-deploy-sitecore-modules-with-nuget/">http://blog.velir.com/index.php/2012/12/04/create-and-deploy-sitecore-modules-with-nuget/</a></li>
<li><a rel="nofollow" title="http://vsplugins.sitecore.net/Sitecore-NuGet.ashx" target="_blank" href="http://vsplugins.sitecore.net/Sitecore-NuGet.ashx">http://vsplugins.sitecore.net/Sitecore-NuGet.ashx</a></li>
<li><a rel="nofollow" title="http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2011/06/Attach-a-Sitecore-Rocks-Connection-to-a-Visual-Studio-Project.aspx" target="_blank" href="http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2011/06/Attach-a-Sitecore-Rocks-Connection-to-a-Visual-Studio-Project.aspx">http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2011/06/Attach-a-Sitecore-Rocks-Connection-to-a-Visual-Studio-Project.aspx</a></li>
</ul>
<p>I will be very interested to hear your feedback, as <strong>I haven&#8217;t been able to test this very well</strong>. If this utility catches on, I might make a version that you can use from the package manager directly.</p>
<p>Happy NuGetting <img src='http://hermanussen.eu/sitecore/wordpress/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley'/> </p>]]></content:encoded>
         <category>sitecore modules</category>
      </item>
      <item>
         <title>Implement Validation as a Content Editor Warning in the Sitecore ASP.NET CMS</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/05/Implement-Validation-as-a-Content-Editor-Warning-in-the-Sitecore-ASPNET-CMS.aspx</link>
         <description>&lt;p&gt;This blog post explains how you can implement a Content Editor warning to display validation errors for items in the Sitecore ASP.NET web Content Management System (CMS). The information in this blog post could help you:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Implement Content Editor warnings&lt;/li&gt;
    &lt;li&gt;Invoke validation logic programmatically&lt;/li&gt;
&lt;/ul&gt;</description>
         <guid isPermaLink="false">{16894E0A-97A2-408D-982B-632C7B891105}</guid>
         <pubDate>Mon, 13 May 2013 16:01:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7: Data Sources, Part 1: Enhancements</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/05/Sitecore-7-Data-Sources-Part-1-Enhancements.aspx</link>
         <description>&lt;p&gt;This blog post describes enhancements to the data source feature for presentation components in version 7 of the Sitecore ASP.NET web Content Management System. You can use data sources to specify data for each presentation component to retrieve.&lt;/p&gt;</description>
         <guid isPermaLink="false">{9BC7BA45-B579-4B1C-AD46-25BAB273BD46}</guid>
         <pubDate>Mon, 13 May 2013 15:49:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7 LinqScratchPad</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/Sitecore-7-Development-Team/Posts/2013/05/Sitecore-7-LinqScratchPad.aspx</link>
         <description>&lt;p&gt;Sitecore 7 offers the possibility to take on a new paradigm shift from the way you typically build Sitecore sites. We think one of our MVP's put it best in saying &lt;/p&gt;</description>
         <guid isPermaLink="false">{65130B97-EB3D-493D-9AE5-5690208C8B23}</guid>
         <pubDate>Mon, 13 May 2013 07:32:00 +0000</pubDate>
      </item>
      <item>
         <title>using oData to connect Sitecore to Excell, Lightswitch, Sharepoint...</title>
         <link>http://regardingsitecore.blogspot.com/2013/05/using-odata-to-connect-sitecore-to.html</link>
         <description>&lt;br /&gt;Sitecore 7 is buzzing!&lt;br /&gt;While unsure about the release data, MVP's around the world are taking the deep dive.&lt;br /&gt;So am I, diving in the new Sitecore version, that Sitecore call a &quot;developer release&quot;.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:large;&quot;&gt;What's good about oData!&lt;/span&gt;&lt;br /&gt;oData is the &quot;open data protocol&quot; that microsoft came up with. It's like Rest, but with some additions.&lt;br /&gt;Several products can connect with oData data sources, some examples are&amp;nbsp;&amp;nbsp;Excell, Lightswitch, Sharepoint...&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size:large;&quot;&gt;Why now?&lt;/span&gt;&lt;br /&gt;Sitecore 7 brings new API's that make this possible with far less effort than before!&lt;br /&gt;The new search API is responsible: The searchmanager exposes an IQueryable.&lt;br /&gt;Why do we need this? oData converts query arguments to Linq expressions, thus enabling us to automagically, using oData, query Sitecore indexes! how neat.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:large;&quot;&gt;Show me, Show me!&lt;/span&gt;&lt;br /&gt;Was this intro to long for you :-) Time for some code!&lt;br /&gt;I'll explain more, after the code.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;style type=&quot;text/css&quot;&gt; .csharp .de1, .csharp .de2 {color:#000060;font-weight:normal;}.csharp  {font-family:monospace;border:1px dotted #a0a0a0;font-family:'Courier New', Courier, monospace;font-size:110%;background-color:#f0f0f0;margin:0;line-height:110%;padding:0;color:#000;}.csharp a:link {color:#006;}.csharp a:hover {background-color:#d6d6e6;}.csharp .head {font-family:Verdana, Arial, sans-serif;color:#808080;font-size:70%;font-weight:bold;background-color:#f0f0ff;border-bottom:1px solid #d0d0d0;padding:2px;}.csharp .foot {font-family:Verdana, Arial, sans-serif;color:#808080;font-size:70%;font-weight:bold;background-color:#f0f0ff;border-top:1px solid #d0d0d0;padding:2px;}.csharp .imp {font-weight:bold;color:red;}.csharp li, .csharp .li1 {font-family:'Courier New', Courier, monospace;color:#000060;background-color:#e0e0e0;padding-bottom:2px;}.csharp .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}.csharp .li2 {font-weight:bold;color:#000090;line-height:90%;}.csharp .kw1 {color:#0600FF;font-weight:bold;}.csharp .kw2 {color:#FF8000;font-weight:bold;}.csharp .kw3 {color:#008000;}.csharp .kw4 {color:#6666cc;font-weight:bold;}.csharp .kw5 {color:#000000;}.csharp .co1 {color:#008080;font-style:italic;font-style:normal;}.csharp .co2 {color:#008080;}.csharp .co3 {color:#008080;}.csharp .coMULTI {color:#008080;font-style:italic;font-style:normal;}.csharp .es0 {color:#008080;font-weight:bold;font-weight:normal;}.csharp .es_h {color:#008080;font-weight:bold;}.csharp .br0 {color:#008000;}.csharp .sy0 {color:#008000;}.csharp .st0 {color:#666666;}.csharp .st_h {color:#666666;}.csharp .nu0 {color:#FF0000;}.csharp .me1 {color:#0000FF;}.csharp .me2 {color:#0000FF;}.csharp .me {}.csharp span.xtra {display:block;}&lt;/style&gt; &lt;br /&gt;&lt;div class=&quot;csharp&quot;&gt;&lt;ol&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;[&lt;/span&gt;ServiceBehavior&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;IncludeExceptionDetailInFaults &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;true&lt;/span&gt;, InstanceContextMode &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; InstanceContextMode&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;PerSession&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span class=&quot;kw1&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kw4&quot;&gt;class&lt;/span&gt; WcfDataService &lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; DataService&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;ReturnItemContext&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; InitializeService&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;DataServiceConfiguration pConfig&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pConfig&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;DataServiceBehavior&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;AcceptAnyAllRequests&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pConfig&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;DataServiceBehavior&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;MaxProtocolVersion&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; DataServiceProtocolVersion&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;V3&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pConfig&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;UseVerboseErrors&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pConfig&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;SetEntitySetAccessRule&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&quot;*&quot;&lt;/span&gt;, EntitySetRights&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;AllRead&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pConfig&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;SetServiceOperationAccessRule&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&quot;*&quot;&lt;/span&gt;, ServiceOperationRights&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;AllRead&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;protected&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;override&lt;/span&gt; ReturnItemContext CreateDataSource&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.google.com/search?q=new+msdn.microsoft.com&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;new&lt;/span&gt;&lt;/a&gt; ReturnItemContext&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;);&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span class=&quot;kw1&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kw4&quot;&gt;class&lt;/span&gt; ReturnItemContext&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;public&lt;/span&gt; IQueryable&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;ContentItem&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; ContentItems&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;br0&quot;&gt;[&lt;/span&gt;WebGet&lt;span class=&quot;br0&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;kw1&quot;&gt;get&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;IProviderSearchContext lContext &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; SearchManager&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;GetIndex&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&quot;sitecore_web_index&quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;CreateSearchContext&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WebOperationContext lOp &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; WebOperationContext&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;Current&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;NameValueCollection lParameters &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;lOp &lt;span class=&quot;sy0&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;null&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;lOp&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;IncomingRequest&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;UriTemplateMatch&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;?&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;null&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt; lOp&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;IncomingRequest&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;UriTemplateMatch&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;QueryParameters&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;kw1&quot;&gt;var&lt;/span&gt; lParser &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.google.com/search?q=new+msdn.microsoft.com&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;new&lt;/span&gt;&lt;/a&gt; ParameterParser&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;ContentItem&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IModelFilter&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;ContentItem&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; lParsed &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; lParser&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;Parse&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;lParameters&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IQueryable&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;ContentItem&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; lSearchQuery &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; lContext&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;GetQueryable&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;ContentItem&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IQueryable&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;object&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; lFiltered &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; lParsed&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;Filter&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;lSearchQuery&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; lFiltered&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;Cast&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;ContentItem&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;ToList&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;me1&quot;&gt;AsQueryable&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;What i did, is create a WCF Data Service. These have the possibility to expose &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.odata.org/documentation/odata-v2-documentation/uri-conventions/&quot;&gt;oData&lt;/a&gt;. &lt;br /&gt;&lt;div&gt;The InitializeService sets things up for this. You can read more on the WCF data service &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://msdn.microsoft.com/en-us/data/odata.aspx&quot;&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;As you can see, the main thing is the &lt;span style=&quot;font-family:Courier New, Courier, monospace;font-size:x-small;&quot;&gt;ReturnItemContext &lt;/span&gt;and it's property called &lt;span style=&quot;font-family:Courier New, Courier, monospace;font-size:x-small;&quot;&gt;ContentItems&lt;/span&gt;. &lt;br /&gt;The &lt;span style=&quot;font-family:Courier New, Courier, monospace;font-size:x-small;&quot;&gt;ContentItems &lt;/span&gt;property provides a IQueryable&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;ContentItem&lt;span class=&quot;sy0&quot;&gt;&amp;gt;.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;When an oData consumer accesses this property, the search engine is called (line #34). &lt;br /&gt;The oData query that the client generates, is applied to the Linq query (line #35) by using an open source project called&amp;nbsp;&lt;span class=&quot;sy0&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://linq2rest.codeplex.com/&quot;&gt;Linq2Rest&lt;/a&gt;&lt;/span&gt;.&amp;nbsp;&lt;/div&gt;When finally the Linq query is executed (line #36), the magic happens and the query is run. &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:large;&quot;&gt;Example oData&lt;/span&gt;&lt;br /&gt;The following call to the WCFDataService using the following URL:&amp;nbsp;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://localhost:52198/iquality/WcfDataService.svc/ContentItems?$filter=ParentId%20eq%20'11111111111111111111111111111111'&quot;&gt;http://.../WcfDataService.svc/ContentItems?$filter=ParentId eq '11111111111111111111111111111111'&lt;/a&gt;&lt;br /&gt;Trigger the query where the oData part [&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://localhost:52198/iquality/WcfDataService.svc/ContentItems?$filter=ParentId%20eq%20'11111111111111111111111111111111'&quot;&gt;$filter=ParentId eq '11111111111111111111111111111111'&lt;/a&gt;] is parsed by&amp;nbsp;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://linq2rest.codeplex.com/&quot;&gt;&lt;span style=&quot;font-family:Courier New, Courier, monospace;font-size:x-small;&quot;&gt;Linq2Rest&lt;/span&gt;&lt;/a&gt;&amp;nbsp;and added to the linq statement. oData clients know to create these URL arguments and will do this.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:large;&quot;&gt;Using Excell as oData Client&lt;/span&gt;&lt;br /&gt;Excell becomes an oData client, when a free business intelligence product from Microsoft called &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.microsoft.com/en-us/bi/PowerPivot.aspx&quot;&gt;PowerPivot &lt;/a&gt;is installed. It adds a new Ribbon that enables you to use a oData datasource.&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear:both;text-align:center;&quot;&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left:auto;margin-right:auto;text-align:center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:center;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://3.bp.blogspot.com/-_BzpndXnODk/UY6fLGUDP3I/AAAAAAAAACY/iYGarwOYcV0/s1600/powerpivot.png&quot; style=&quot;margin-left:auto;margin-right:auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;314&quot; src=&quot;http://3.bp.blogspot.com/-_BzpndXnODk/UY6fLGUDP3I/AAAAAAAAACY/iYGarwOYcV0/s640/powerpivot.png&quot; width=&quot;640&quot;/&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align:center;&quot;&gt;Powerpivot&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;In the screenshot above, you can see how simple it is to connect to an oData datasource.&lt;br /&gt;1. button to start Table import wizard&lt;br /&gt;2. location for oData service URL.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:large;&quot;&gt;Using Lightswitch&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size:large;&quot;&gt;as oData Client&lt;/span&gt;&lt;br /&gt;Lightswitch is a tool from microsofts that (so they say) &quot;...is a simplified, self-service development tool that enables you to build business applications quickly and easily for the desktop and cloud.&quot;.&lt;br /&gt;Lightswitch &amp;nbsp;provides an wizard to connect to an oData service and generates &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Create,_read,_update_and_delete&quot;&gt;CRUD &lt;/a&gt;screens for this.&lt;br /&gt;To test Lightswitch as a client for the service, I followed some simple steps.&lt;br /&gt;&lt;br /&gt;1. start a lightswitch (windows) project&lt;br /&gt;2. add a datasource&lt;/div&gt;&lt;div&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://3.bp.blogspot.com/-fxlsbgHkoV4/UY6hN1ZAhsI/AAAAAAAAACk/FKcFJhhjR44/s1600/2013-05-11_21h47_56.png&quot; style=&quot;clear:left;float:left;margin-bottom:1em;margin-right:1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;120&quot; src=&quot;http://3.bp.blogspot.com/-fxlsbgHkoV4/UY6hN1ZAhsI/AAAAAAAAACk/FKcFJhhjR44/s400/2013-05-11_21h47_56.png&quot; width=&quot;400&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear:both;text-align:center;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://4.bp.blogspot.com/-w-rYJif8G0g/UY6j5QP_qwI/AAAAAAAAAC0/2bnUprCIoeA/s1600/2013-05-11_21h48_32.png&quot; style=&quot;clear:left;float:left;margin-bottom:1em;margin-right:1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;312&quot; src=&quot;http://4.bp.blogspot.com/-w-rYJif8G0g/UY6j5QP_qwI/AAAAAAAAAC0/2bnUprCIoeA/s400/2013-05-11_21h48_32.png&quot; width=&quot;400&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear:both;text-align:left;&quot;&gt;After this wizard, the tool inspects metadata, and generates a datamodel, in our case with one table.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear:both;text-align:center;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://3.bp.blogspot.com/-oYcJQTJE2_E/UY6kcDxsITI/AAAAAAAAAC8/GgPOiDGpW9Q/s1600/2013-05-11_22h04_36.png&quot; style=&quot;clear:left;float:left;margin-bottom:1em;margin-right:1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;156&quot; src=&quot;http://3.bp.blogspot.com/-oYcJQTJE2_E/UY6kcDxsITI/AAAAAAAAAC8/GgPOiDGpW9Q/s400/2013-05-11_22h04_36.png&quot; width=&quot;400&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear:both;text-align:left;&quot;&gt;3. Next, I added a screen&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear:both;text-align:center;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://4.bp.blogspot.com/-Q0dxTs4pVjI/UY6mEWqfB5I/AAAAAAAAADI/VkVbb3gdziI/s1600/2013-05-11_22h11_40.png&quot; style=&quot;clear:left;float:left;margin-bottom:1em;margin-right:1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;280&quot; src=&quot;http://4.bp.blogspot.com/-Q0dxTs4pVjI/UY6mEWqfB5I/AAAAAAAAADI/VkVbb3gdziI/s400/2013-05-11_22h11_40.png&quot; width=&quot;400&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear:both;text-align:left;&quot;&gt;In this screen I configured a filter, &quot;where parentid=111111111111111111&quot;:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear:both;text-align:left;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://4.bp.blogspot.com/-BtyosIZDk8A/UY6nDJqiE0I/AAAAAAAAADQ/eS-t02ZJKaY/s1600/2013-05-11_22h15_15.png&quot; style=&quot;clear:left;float:left;margin-bottom:1em;margin-right:1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;35&quot; src=&quot;http://4.bp.blogspot.com/-BtyosIZDk8A/UY6nDJqiE0I/AAAAAAAAADQ/eS-t02ZJKaY/s400/2013-05-11_22h15_15.png&quot; width=&quot;400&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear:both;text-align:left;&quot;&gt;Pressed F5 and voila, a windows client for sitecore (prototyped):&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear:both;text-align:center;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://2.bp.blogspot.com/-acVADWcSy0c/UY6n9LbJXeI/AAAAAAAAADY/9iyDrKTV4PU/s1600/2013-05-11_22h18_19.png&quot; style=&quot;clear:left;float:left;margin-bottom:1em;margin-right:1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;304&quot; src=&quot;http://2.bp.blogspot.com/-acVADWcSy0c/UY6n9LbJXeI/AAAAAAAAADY/9iyDrKTV4PU/s640/2013-05-11_22h18_19.png&quot; width=&quot;640&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:large;&quot;&gt;Conclusion&lt;/span&gt;&lt;br /&gt;Of course, you can use oData for self written clients. This makes perfect sense!&lt;br /&gt;And know, with all the new stuff in sitecore 7, you can do this!&lt;br /&gt;The code above is written to get it working, understanding how it works -&amp;gt; Don't use it!&lt;br /&gt;&lt;br /&gt;Sharepoint should be able to connect, but I did not test it. For a complete list of oData clients, check&amp;nbsp;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.odata.org/ecosystem/&quot;&gt;http://www.odata.org/ecosystem/&lt;/a&gt;.&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;font-size:large;&quot;&gt;Resources&lt;/span&gt;&lt;br /&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.odata.org/ecosystem/&quot;&gt;http://www.odata.org/&lt;/a&gt;&lt;br /&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://linq2rest.codeplex.com/&quot;&gt;http://linq2rest.codeplex.com/&lt;/a&gt;&lt;br /&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://sdn.sitecore.net/default.aspx&quot;&gt;http://sdn.sitecore.net/&lt;/a&gt;&lt;br /&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://msdn.microsoft.com/en-us/data/odata.aspx&quot;&gt;http://msdn.microsoft.com/en-us/data/odata.aspx&lt;/a&gt;&lt;br /&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.microsoft.com/en-us/bi/powerpivot.aspx&quot;&gt;http://www.microsoft.com/en-us/bi/powerpivot.aspx&lt;/a&gt;&lt;br /&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://msdn.microsoft.com/en-us/vstudio/ff796201.aspx&quot;&gt;http://msdn.microsoft.com/en-us/vstudio/ff796201.aspx&lt;/a&gt;&lt;br /&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/b/officeapps/archive/2012/10/24/using-an-odata-service-in-apps-for-sharepoint.aspx&quot;&gt;http://blogs.msdn.com/b/officeapps/archive/2012/10/24/using-an-odata-service-in-apps-for-sharepoint.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description>
         <author>noreply@blogger.com (Remco)</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-8303574711857974052.post-4586974573378021932</guid>
         <pubDate>Sun, 12 May 2013 09:41:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://3.bp.blogspot.com/-_BzpndXnODk/UY6fLGUDP3I/AAAAAAAAACY/iYGarwOYcV0/s72-c/powerpivot.png" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>Sitecore 7: Rebuild Lucene Indexes in Separate Subdirectories</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/05/Sitecore-7-Rebuild-Lucene-Indexes-in-Temporary-Subdirectories.aspx</link>
         <description>&lt;p&gt;This blog post explains how you can configure version 7 of the Sitecore ASP.NET web Content Management System (CMS) to rebuild Lucene search indexes in temporary subdirectories. Rebuilding in a temporary subdirectory prevents Lucene from resetting (deleting) the file system subdirectory that contains the index before rebuilding it. This solution is often appropriate for production and some types of testing environments, but may not be important for development and other types of testing.&lt;/p&gt;</description>
         <guid isPermaLink="false">{885E29A5-6C54-45FA-861C-47231D1F1A30}</guid>
         <pubDate>Fri, 10 May 2013 16:25:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7: Commit Index Updates Immediately During Shutdown</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/05/Sitecore-7-Commit-Index-Updates-Immediately-During-Shutdown.aspx</link>
         <description>&lt;p&gt;This blog post provides a prototype for solution that you can use to commit index updates immediately after the Sitecore ASP.NET web Content Management System (CMS) becomes aware that the system is shutting down. This approach could help preserve index integrity during restarts and other system events.&lt;/p&gt;</description>
         <guid isPermaLink="false">{F9A9FD0A-8E8F-4E1C-8446-145F6B6A9A76}</guid>
         <pubDate>Fri, 10 May 2013 15:32:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7: Upcoming Virtual Users Group</title>
         <link>http://sitecoreblog.alexshyba.com/2013/05/sitecore-7-upcoming-virtual-users-group.html</link>
         <description>&lt;p&gt;Join me and the host Michael Shaw on May 15th 9:00 AM Pacific, Noon Eastern, 5:00 PM UK. Here is the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://sitecoreug.com/events/May&quot;&gt;link&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;And here is the list of the topics I am planning on covering:&lt;/p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://sitecoreblog.alexshyba.com/2013/05/sitecore-7-upcoming-virtual-users-group.html#more&quot;&gt;Read more »&lt;/a&gt;</description>
         <author>Alex Shyba</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-18939862.post-1959924760007147553</guid>
         <pubDate>Fri, 10 May 2013 09:28:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7: Making Google Part 2</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/Sitecore-7-Development-Team/Posts/2013/05/Sitecore-7-Making-Google-Part-2.aspx</link>
         <description>&lt;p&gt;&lt;strong&gt;Making Google Part 2: Date Facets with Ranges&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Before you read this blog post it would be best to take a look at the &lt;a rel=&quot;nofollow&quot;&gt;first part&lt;/a&gt; where we showed the example of creating a color facet for images that used &lt;strong&gt;ImageMagick&lt;/strong&gt; to automatically detect the predominant color. Continuing on with this theme, let's take a look at another facet that could typically be a little tricky. Google is well know for offering date range searches such as &lt;em&gt;Older, Yesterday, Last Week, Past 24 hours&lt;/em&gt; and you can even do custom range queries. In fact, most of the more popular sites on the internet are indexed within minutes now, a feat reached by Google by constantly re-indexing the top ~5% sites on very regular occasions. We want to show you how you can get a similar feature on your websites using Sitecore 7. Let's gather our ingredients for what we will need to implement this.&lt;/p&gt;</description>
         <guid isPermaLink="false">{7FE85768-FF40-4870-BCF2-391D5971BB3F}</guid>
         <pubDate>Fri, 10 May 2013 07:27:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7 Search Provider Part 7 - Capturing and Reporting Indexing Information Introduction</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/Getting-to-Know-Sitecore/Posts/2013/05/Sitecore-7-Search-Provider-Part-7-Capturing-and-Reporting-Indexing-Information-Introduction.aspx</link>
         <description>&lt;p&gt;This is the seventh post in a series that explains how to build a search provider for Sitecore 7. &lt;a rel=&quot;nofollow&quot;&gt;The team responsible for Sitecore 7&lt;/a&gt; has a lot of Sitecore implementation experience. That experience is reflected in the content search API, especially when it comes to the features that are helpful when it comes to troubleshooting, debugging and understanding what is going on when a search is performed or when content is indexed.&lt;/p&gt;
&lt;p&gt;But these features are only useful if your search provider takes advantage of them. This post covers some of the features related to capturing and reporting information that describes the index and the process of building the index. &lt;/p&gt;</description>
         <guid isPermaLink="false">{68D22924-6C43-449D-AC5F-01C924B522F3}</guid>
         <pubDate>Wed, 08 May 2013 14:00:00 +0000</pubDate>
      </item>
      <item>
         <title>Notifications on Marketplace</title>
         <link>http://sharesitecore.wordpress.com/2013/05/08/notifications-on-marketplace/</link>
         <description>Since my last post the marketplace has had an update so now we have a notification center. So when someone interacts with a module you have contributed or writing a comment on your profile you will be notified as seen below. You have the dropdown to show you the five latest notifications and then there [...]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=sharesitecore.wordpress.com&amp;#038;blog=3045158&amp;#038;post=327&amp;#038;subd=sharesitecore&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot;/&gt;</description>
         <guid isPermaLink="false">https://sharesitecore.wordpress.com/?p=327</guid>
         <pubDate>Wed, 08 May 2013 13:15:14 +0000</pubDate>
         <content:encoded><![CDATA[<p>Since my last post the marketplace has had an update so now we have a notification center. So when someone interacts with a module you have contributed or writing a comment on your profile you will be notified as seen below.</p>
<p><a rel="nofollow" target="_blank" href="http://sharesitecore.files.wordpress.com/2013/05/image.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://sharesitecore.files.wordpress.com/2013/05/image_thumb.png?w=408&#038;h=265" width="408" height="265"/></a></p>
<p>You have the dropdown to show you the five latest notifications and then there is the all notifications page to view your entire history.</p>
<p>There has of course also been contributed a lot of cool modules since and here are some of them.</p>
<p>The <a rel="nofollow" target="_blank" href="http://marketplace.sitecore.net/en/Modules/DMS_Gutters.aspx">DMS gutter</a> module allows you to see which items have personalization and tests assigned to them.</p>
<p><a rel="nofollow" target="_blank" href="http://sharesitecore.files.wordpress.com/2013/05/image1.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://sharesitecore.files.wordpress.com/2013/05/image_thumb1.png?w=408&#038;h=187" width="408" height="187"/></a></p>
<p>The module was contributed by Mark van Aalst who you can find blogging <a rel="nofollow" target="_blank" href="http://newguid.net/author/mark/">here</a>.</p>
<p>The <a rel="nofollow" target="_blank" href="http://marketplace.sitecore.net/en/Modules/Enhanced_Email_Action.aspx">Enhanced Email Action</a> gives you some new tokens for use with a workflow email action.</p>
<p><a rel="nofollow" target="_blank" href="http://sharesitecore.files.wordpress.com/2013/05/image2.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://sharesitecore.files.wordpress.com/2013/05/image_thumb2.png?w=401&#038;h=307" width="401" height="307"/></a></p>
<p>It was contributed by Dan Cruickshank from <a rel="nofollow" target="_blank" href="http://getfishtank.ca/">Fish tank consulting</a>.</p>
<p>With the <a rel="nofollow" target="_blank" href="http://marketplace.sitecore.net/en/Modules/Export_To_Json.aspx">Export to Json</a> module you can export the data in the Web forms for marketers module into Json. The current Web forms only allows to export into Excel and XML so a very nice feature to be added.</p>
<p><a rel="nofollow" target="_blank" href="http://sharesitecore.files.wordpress.com/2013/05/image3.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://sharesitecore.files.wordpress.com/2013/05/image_thumb3.png?w=411&#038;h=55" width="411" height="55"/></a></p>
<p>The module was contributed by Mrunal Brahmbhatt.</p>
<p>The <a rel="nofollow" target="_blank" href="http://marketplace.sitecore.net/en/Modules/Limited_Text_Field.aspx">Limited Text Field</a> module does as the name suggests put a limiter on how many characters your text field can include.</p>
<p><a rel="nofollow" target="_blank" href="http://sharesitecore.files.wordpress.com/2013/05/image4.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://sharesitecore.files.wordpress.com/2013/05/image_thumb4.png?w=362&#038;h=413" width="362" height="413"/></a></p>
<p>The module was contributed by Ruud Falier who you can find blogging <a rel="nofollow" target="_blank" href="http://www.partechit.nl/nl/blog/2013/03/text-fields-with-limited-length-and-feedback-during-editing">here</a>.</p>
<p>With the <a rel="nofollow" target="_blank" href="http://marketplace.sitecore.net/en/Modules/Link_List_Field_Type.aspx">Link List Field Type</a> module you can have a list of links using . Internal, media&#160; and external links.</p>
<p><a rel="nofollow" target="_blank" href="http://sharesitecore.files.wordpress.com/2013/05/image5.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://sharesitecore.files.wordpress.com/2013/05/image_thumb5.png?w=361&#038;h=367" width="361" height="367"/></a></p>
<p>The module was contributed by Andreas Bergström who blogged about the module <a rel="nofollow" target="_blank" href="http://code.monoco.se/2012/12/a-shiny-new-field-type-linklist/">here</a>.</p>
<p>The <a rel="nofollow" target="_blank" href="http://marketplace.sitecore.net/en/Modules/Security_Updater.aspx">Security Updater</a> allows you to define your security rules in XML. This will allow you to more easily copy your roles to another environment.</p>
<p><a rel="nofollow" target="_blank" href="http://sharesitecore.files.wordpress.com/2013/05/image6.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://sharesitecore.files.wordpress.com/2013/05/image_thumb6.png?w=373&#038;h=187" width="373" height="187"/></a></p>
<p>The module was contributed by Dave Leigh.</p>
<p>The <a rel="nofollow" target="_blank" href="http://marketplace.sitecore.net/en/Modules/Sitecore_CDN_Connector.aspx">CDN Connector</a> allows developers to route all media requests (dynamic and static) through a proxy CDN.</p>
<p>The module was contributed by Katherine Lee.</p>
<p>The <a rel="nofollow" target="_blank" href="http://marketplace.sitecore.net/en/Modules/Sitecore_License_Expiration_Module.aspx">Sitecore License Expiration Module 2.0</a> displays a warning in the content editor when your license is about to expire and can be configured to send the administrator an email. You can set how far in advance you want to be notified.</p>
<p><a rel="nofollow" target="_blank" href="http://sharesitecore.files.wordpress.com/2013/05/image7.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://sharesitecore.files.wordpress.com/2013/05/image_thumb7.png?w=373&#038;h=205" width="373" height="205"/></a></p>
<p>The module was contributed by Robbert Hock</p>
<p>The <a rel="nofollow" target="_blank" href="http://marketplace.sitecore.net/en/Modules/Sitecore_Log_Analyzer.aspx">Sitecore Log Analyzer</a> is used to parse Sitecore log files with an interface that gives you a better overview of large data.</p>
<p><a rel="nofollow" target="_blank" href="http://sharesitecore.files.wordpress.com/2013/05/image8.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://sharesitecore.files.wordpress.com/2013/05/image_thumb8.png?w=383&#038;h=288" width="383" height="288"/></a></p>
<p>Some of the features include:</p>
<ul>
<li>Analyzing, grouping and navigating through log entries of Sitecore instance.</li>
<li>Analyzing Sitecore instance performance using Health Monitor counters.</li>
<li>Investigating Sitecore instance lifetime using visual timeline.</li>
<li>Reporting log entries to Sitecore. </li>
</ul>
<p>The module was contributed by Roman Chernyk.</p>
<p>The <a rel="nofollow" target="_blank" href="http://marketplace.sitecore.net/en/Modules/Sitecore_Metro_Desktop.aspx">Sitecore Metro Desktop</a> gives you an interface like that of Windows 8 but for your Sitecore desktop.</p>
<p>As you can see from the screenshot below it looks pretty cool.</p>
<p><a rel="nofollow" target="_blank" href="http://sharesitecore.files.wordpress.com/2013/05/image9.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://sharesitecore.files.wordpress.com/2013/05/image_thumb9.png?w=398&#038;h=217" width="398" height="217"/></a></p>
<p>The module was contributed by Alen Pelin who you can find blogging on the module <a rel="nofollow" target="_blank" href="http://alenpelin.blogspot.dk/2013/04/sitecore-metro-desktop.html">here</a>.</p>
<p>The <a rel="nofollow" target="_blank" href="http://marketplace.sitecore.net/en/Modules/Sitecore_Pull_Up_Fields.aspx">Sitecore Pull up fields</a> module allows you easily create a new base template from an existing one if you for example don’t need all the fields in it or pull new fields into one.</p>
<p><a rel="nofollow" target="_blank" href="http://sharesitecore.files.wordpress.com/2013/05/image10.png"><img title="image" style="border-top:0;border-right:0;background-image:none;border-bottom:0;padding-top:0;padding-left:0;border-left:0;display:inline;padding-right:0;" border="0" alt="image" src="http://sharesitecore.files.wordpress.com/2013/05/image_thumb10.png?w=400&#038;h=331" width="400" height="331"/></a></p>
<p>The module was contributed by Michael Reynolds who has a blog <a rel="nofollow" target="_blank" href="http://sitecorejunkie.com/2013/04/04/reuse-sitecore-data-template-fields-by-pulling-them-up-into-a-base-template/">here</a> where he describes in full detail how the module came about and how to use it to its full extend.</p>
<p>Happy coding and sharing.</p>
<br />Filed under: <a rel="nofollow" target="_blank" href='http://sharesitecore.wordpress.com/category/marketplace/'>Marketplace</a>, <a rel="nofollow" target="_blank" href='http://sharesitecore.wordpress.com/category/shared-source/'>Shared Source</a>  <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gocomments/sharesitecore.wordpress.com/327/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sharesitecore.wordpress.com/327/"/></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sharesitecore.wordpress.com&#038;blog=3045158&#038;post=327&#038;subd=sharesitecore&#038;ref=&#038;feed=1" width="1" height="1"/>]]></content:encoded>
         <media:content medium="image" url="http://1.gravatar.com/avatar/a0fe797fbadb95bfccbbb9e9c6ab07a5?s=96&amp;amp;d=identicon&amp;amp;r=G">
            <media:title type="html">Jimmie Overby</media:title>
         </media:content>
         <media:content medium="image" url="http://sharesitecore.files.wordpress.com/2013/05/image_thumb.png">
            <media:title type="html">image</media:title>
         </media:content>
         <media:content medium="image" url="http://sharesitecore.files.wordpress.com/2013/05/image_thumb1.png">
            <media:title type="html">image</media:title>
         </media:content>
         <media:content medium="image" url="http://sharesitecore.files.wordpress.com/2013/05/image_thumb2.png">
            <media:title type="html">image</media:title>
         </media:content>
         <media:content medium="image" url="http://sharesitecore.files.wordpress.com/2013/05/image_thumb3.png">
            <media:title type="html">image</media:title>
         </media:content>
         <media:content medium="image" url="http://sharesitecore.files.wordpress.com/2013/05/image_thumb4.png">
            <media:title type="html">image</media:title>
         </media:content>
         <media:content medium="image" url="http://sharesitecore.files.wordpress.com/2013/05/image_thumb5.png">
            <media:title type="html">image</media:title>
         </media:content>
         <media:content medium="image" url="http://sharesitecore.files.wordpress.com/2013/05/image_thumb6.png">
            <media:title type="html">image</media:title>
         </media:content>
         <media:content medium="image" url="http://sharesitecore.files.wordpress.com/2013/05/image_thumb7.png">
            <media:title type="html">image</media:title>
         </media:content>
         <media:content medium="image" url="http://sharesitecore.files.wordpress.com/2013/05/image_thumb8.png">
            <media:title type="html">image</media:title>
         </media:content>
         <media:content medium="image" url="http://sharesitecore.files.wordpress.com/2013/05/image_thumb9.png">
            <media:title type="html">image</media:title>
         </media:content>
         <media:content medium="image" url="http://sharesitecore.files.wordpress.com/2013/05/image_thumb10.png">
            <media:title type="html">image</media:title>
         </media:content>
      </item>
      <item>
         <title>Thoughts from the MITX Mobile Marketing Summit</title>
         <link>http://viridianspark.com/blog/2013/may/thoughts-from-the-mitx-mobile-marketing-summit</link>
         <description>&lt;p&gt;Last week I attended the MITX Mobile Marketing Summit looking to get a feel for the issues people are dealing with around mobile, and where Viridian Spark might be able to help out. After navigating the airtight security of the Federal Reserve building (only took two tries to get through the metal detector) I found a plethora of marketers, advertisers, and developers all focused on mobile. I can&amp;rsquo;t possibly capture every topic of interest, but I did want to share a quick roundup of some themes I saw running through the day.&lt;/p&gt;</description>
         <guid isPermaLink="false">{23518B66-88DA-4985-8C6A-1B35ADE617B3}</guid>
         <pubDate>Tue, 07 May 2013 20:42:00 +0000</pubDate>
      </item>
      <item>
         <title>Advanced Database Crawler / Sitecore Search Contrib Update</title>
         <link>http://sitecoreblog.alexshyba.com/2013/05/advanced-database-crawler-sitecore.html</link>
         <description>This is a post about a maintenance update to the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://github.com/sitecorian/SitecoreSearchContrib/&quot;&gt;SitecoreSearchContrib&lt;/a&gt; project, which is hosted on GitHub now.&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://sitecoreblog.alexshyba.com/2013/05/advanced-database-crawler-sitecore.html#more&quot;&gt;Read more »&lt;/a&gt;</description>
         <author>Alex Shyba</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-18939862.post-9111635299140907487</guid>
         <pubDate>Tue, 07 May 2013 15:32:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 6.6: CSRF form field is missing</title>
         <link>http://briancaos.wordpress.com/2013/05/07/sitecore-6-6-csrf-form-field-is-missing/</link>
         <description>In the latest version of Sitecore 6.6 (release 13.04.04) I sometimes get this error: Exception: Sitecore.Security.AntiCsrf.Exceptions.PotentialCsrfException Message: CSRF form field is missing. Source: Sitecore.Security.AntiCsrf at Sitecore.Security.AntiCsrf.SitecoreAntiCsrfModule.RaiseError(Exception ex, HttpContext context) at Sitecore.Security.AntiCsrf.SitecoreAntiCsrfModule.PreRequestHandlerExecute(Object sender, EventArgs e) at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp;#38; &amp;#8230; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://briancaos.wordpress.com/2013/05/07/sitecore-6-6-csrf-form-field-is-missing/&quot;&gt;Continue reading &lt;span class=&quot;meta-nav&quot;&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=briancaos.wordpress.com&amp;#038;blog=4258391&amp;#038;post=1156&amp;#038;subd=briancaos&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot;/&gt;</description>
         <guid isPermaLink="false">http://briancaos.wordpress.com/?p=1156</guid>
         <pubDate>Tue, 07 May 2013 09:42:35 +0000</pubDate>
         <content:encoded><![CDATA[<p>In the latest version of <a rel="nofollow" target="_blank" href="http://www.sitecore.net">Sitecore</a> 6.6 (release 13.04.04) I sometimes get this error:</p>
<blockquote><p>Exception: Sitecore.Security.AntiCsrf.Exceptions.PotentialCsrfException<br />
Message: CSRF form field is missing.<br />
Source: Sitecore.Security.AntiCsrf<br />
at Sitecore.Security.AntiCsrf.SitecoreAntiCsrfModule.RaiseError(Exception ex, HttpContext context)<br />
at Sitecore.Security.AntiCsrf.SitecoreAntiCsrfModule.PreRequestHandlerExecute(Object sender, EventArgs e)<br />
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()<br />
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)</p></blockquote>
<p>The issue seemes to be related to an implementation of <a rel="nofollow" target="_blank" href="http://anticsrf.codeplex.com/">AntiCSRF</a>, a Microsoft Public License library that prevents <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Cross-site_request_forgery">Cross Site Request Forgery</a>.</p>
<p><strong>HOW TO FIX IT:</strong></p>
<p>The fix is easy. Clear your cookies, clear the browser cache, close the browser and try again.</p>
<p><strong>UPDATE:</strong></p>
<p>The clever guys at Sitecore Support have come up with this (untested) quick fix that you can try:</p>
<p>Please add these lines to the Sitecore.AntiCsrf.config file (website/app_config/include/Sitecore.AntiCsrf.config):</p>
<pre>&lt;ignore wildcard=&quot;/sitecore/shell/*Applications/Security/User*Manager*?*Cart_Users_Callback=yes&quot;/&gt;
&lt;ignore wildcard=&quot;/sitecore/shell/*Applications/Security/Role*Manager*?*Cart_Roles_Callback=yes&quot;/&gt;
&lt;ignore wildcard=&quot;/sitecore/shell/*Applications/Security/Domain*Manager*?*Cart_Domains_Callback=yes&quot;/&gt;
&lt;ignore wildcard=&quot;/sitecore/shell/~/xaml/Sitecore.Shell.Applications.Security.SelectAccount*Cart_*_Roles_Callback=yes&quot;/&gt;
&lt;ignore wildcard=&quot;/sitecore/shell/~/xaml/Sitecore.Shell.Applications.Security.SelectAccount*Cart_*_Users_Callback=yes&quot;/&gt;
</pre>
<p><strong>UPDATE 2:</strong></p>
<p>The tough guy could choose to disable AntiCSRF completely. Add the following line in the /App_Config/Include/Sitecore.AntiCSRF.config file:</p>
<pre>&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;configuration&gt;
  &lt;sitecore&gt;
    &lt;AntiCsrf&gt;
      &lt;rules&gt;
        &lt;rule name=&quot;shell&quot;&gt;
          &lt;!-- Ingore AntiCSRF completely --&gt;
          &lt;ignore wildcard=&quot;/sitecore/*&quot;/&gt;
        &lt;/rule&gt;
      &lt;/rules&gt;
    &lt;/AntiCsrf&gt;
  &lt;/sitecore&gt;
&lt;/configuration&gt;</pre>
<br />  <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gocomments/briancaos.wordpress.com/1156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/briancaos.wordpress.com/1156/"/></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=briancaos.wordpress.com&#038;blog=4258391&#038;post=1156&#038;subd=briancaos&#038;ref=&#038;feed=1" width="1" height="1"/>]]></content:encoded>
         <media:content medium="image" url="http://2.gravatar.com/avatar/25db0dbe9728e65c205cb902b4aa9741?s=96&amp;amp;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96">
            <media:title type="html">briancaos</media:title>
         </media:content>
      </item>
      <item>
         <title>Sitecore 7: Making Google Part 1</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/Sitecore-7-Development-Team/Posts/2013/05/Sitecore-7-Making-Google-Part-1.aspx</link>
         <description>&lt;p&gt;In what is probably the most ambitious title for a blog post, let me preface this by saying that we have no intentions of making a new &quot;Google&quot;. Rather, we thought it would be interesting to see if we could replicate all the features that Google has, but using Sitecore 7 as the framework. While investigating all the moving parts of Google Search we could see straight away that we had a lot of features from Sitecore 7 that we could leverage to make this task possible.&lt;/p&gt;</description>
         <guid isPermaLink="false">{B06C9762-EE64-46B9-A4D3-2E5C5ABE0A67}</guid>
         <pubDate>Tue, 07 May 2013 06:57:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7 Search Provider Part 6 - Controlling Which Values Get Indexed</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/Getting-to-Know-Sitecore/Posts/2013/05/Sitecore-7-Search-Provider-Part-6-Controlling-Which-Values-Get-Indexed.aspx</link>
         <description>&lt;p&gt;This is the sixth post in a series that explains how to build a search provider for Sitecore 7. This post describes how the search provider determines the precise values that get indexed.&lt;/p&gt;</description>
         <guid isPermaLink="false">{4D389800-F3C7-4DE0-B957-A3AB2B9E1F7D}</guid>
         <pubDate>Mon, 06 May 2013 14:00:00 +0000</pubDate>
      </item>
      <item>
         <title>Feel the Power of PowerShell</title>
         <link>http://www.cognifide.com/blogs/sitecore/feel-the-power-in-powershell/</link>
         <description>It is always fun when a client request comes 30 minutes before the end of your work day. Recently I was asked to release a new market, and after believing I could finish on time, I selected the option to include child pages, ensured the correct language was selected, hit the publish button and… I [...]</description>
         <guid isPermaLink="false">http://www.cognifide.com/blogs/?p=3800</guid>
         <pubDate>Mon, 06 May 2013 08:21:57 +0000</pubDate>
         <content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-3827" src="http://www.cognifide.com/blogs/wp-content/uploads/2013/05/sitecore-powershell-yin-yang.jpg" alt="Powershell completes Sitecore" width="275" height="275"/></p>
<p>It is always fun when a client request comes 30 minutes before the end of your work day. Recently I was asked to release a new market, and after believing I could finish on time, I selected the option to include child pages, ensured the correct language was selected, hit the publish button and… I could not believe my eyes. The content looked like it had been perforated with a heavy machine gun. A few of the pages were published but all the rest were missing.</p>
<p>Join me on my journey from the Dark Ages of manual processing to the scripting enlightenment with <a rel="nofollow" title="Sitecore Marketplace - Powershell Console" target="_blank" href="http://bit.ly/PsConScMplc"><strong>Powershell</strong></a>!</p>
<h2>What went wrong this time?</h2>
<p>Good Morning workflows! Most of the pages were still in the &#8216;draft&#8217; state, which means they could not be simply published before they were all approved. And there were a decent number of pages to approve. Having visions of hot dinner slipping slowly away, I started to explore my options. An approval of a page would take me half a minute. So for forty pages it would be twenty minutes of constant work. Constant, dull work for each market to be processed.</p>
<h2>There has to be a better way</h2>
<p>Luckily I was still sitting next to <a rel="nofollow" target="_blank" href="http://twitter.com/adamnaj">Adam</a> who, whenever asked questions about how to perform a batch operation on <a rel="nofollow" title="Sitecore CMS" target="_blank" href="http://www.sitecore.net/">Sitecore</a>, has always the same answer: <a rel="nofollow" title="Sitecore Marketplace - Powershell Console" target="_blank" href="http://bit.ly/PsConScMplc"><strong>Powershell</strong></a>. But what is important is that this answer is always right!</p>
<p>I asked the client if I could approve all the pages and started writing the appropriate script. If I had decided to manually click on every page to approve it, I would have to wait for the response helplessly. Coding was a much funnier alternative. I found a nice and ready to use snippet by my colleague Kris who did similar things but in different conditions, though the idea was still the same. So by the time I was permitted to approve all pages, the result was only one script call away. And the next day, when I had to publish another market, it was still a matter of a single script. Oh, how I love batch processing!</p>
<h2>Enough of cool stories</h2>
<p>Let&#8217;s get to the meat. Here you can find the script I used with explanations.</p>
<p>As mentioned I based my solution on a script already created (thanks Kris!).</p>
<p>The first important part was a function to filter items. It would have been very easy to fall into a trap of putting the whole script into a huge single-monster-liner but I believed one had better not to go that way.</p>
<p>This routine is expected to filter out some items which do not meet the criteria but in my case I needed to actually add more items. More specifically I needed to include all language variations of the item.</p>
<pre>
function FilterItemsToProcess($item)
{
    Get-Item $item.ProviderPath -Language *
}
</pre>
<p>I was pretty sure this would not be very straightforward. The <a rel="nofollow" title="Sitecore CMS" target="_blank" href="http://www.sitecore.net/">Sitecore </a>API has an interesting approach when it comes to getting the item in different language versions. It turned out that with <a rel="nofollow" title="Sitecore Marketplace - Powershell Console" target="_blank" href="http://bit.ly/PsConScMplc"><strong>Powershell</strong></a> it was easier than it had ever been before with code. Basically all I had to do was to call cmdlet Get-Item, specify the original path and ask to include all versions. The asterisk there is an actual wildcard not just ALL_LANGUAGES_INDICATOR, which means you can safely use &#8220;en-*&#8221; for each variation of the English language.</p>
<p>Another nice piece of functionality (worth extracting into a separate function) was the routine for changing the workflow state. Thanks to <a rel="nofollow" title="Sitecore Marketplace - Powershell Console" target="_blank" href="http://bit.ly/PsConScMplc"><strong>Powershell</strong></a>, it does not require a beginning edit and committing your changes. All I had to do was to assign a correct ID to an appropriate field. I actually did even more and ensured that all the items were not only in a correct workflow state but also in a correct workflow!</p>
<pre>
function ProcessItem($item)
{
    $item.__Workflow = &quot;{My-super-sweet-workflow-id}&quot;;
    $item.&quot;__Workflow state&quot; = &quot;{My-even-sweeter-approved-state-id}&quot;;
}
</pre>
<p>When I had all my helpers ready I could look if the rest of the script required to change. Now here comes another advantage of the approach with using functions. It turned out that all the varying functionality was abstracted into functions and all I had to do was to adjust them to my needs.</p>
<p>The following line gets the items which should be processed in the correct language version. The context is set by running the script in an appropriate market so that we are approving one branch only  (not the whole tree). It is quite important to remember about narrowing script execution.</p>
<pre>$itemsToProcess = get-childitem . -recurse | foreach {FilterItemsToProcess($_)}</pre>
<p>And finally the execution itself. Again not much to do here thanks to abstraction. Huge kudos for showing a nicely formatted state before and after the change. Somewhere in the middle, there is a small, inconspicuous but extremely powerful call to our process method for each filtered item.</p>
<pre>
if($itemsToProcess -ne $null)
{
    $itemsToProcess | format-table -auto -property `
        @{Expression={$_.&quot;__Updated by&quot;};Label=&quot;Updated&quot;},`
        @{Expression={$_.__Workflow};Label=&quot;Workflow&quot;},`
        @{Expression={$_.&quot;__Workflow state&quot;};Label=&quot;State&quot;}, `
        Language, ItemPath

    $itemsToProcess | foreach {ProcessItem($_)}

    $itemsToProcess | format-table -auto -property `
        @{Expression={$_.&quot;__Updated by&quot;};Label=&quot;Updated&quot;},`
        @{Expression={$_.__Workflow};Label=&quot;Workflow&quot;},`
        @{Expression={$_.&quot;__Workflow state&quot;};Label=&quot;State&quot;}, `
        Language, ItemPath
}
else
{
    Write-Host &quot;No items to process&quot;
}
</pre>
<p>This abstraction has also a great advantage when testing the script. All you need to do is to cut out this little bit of code and rather than show two similar lists of items, this script will do nothing unexpected. Brilliant!</p>
<h2>Was it worth it?</h2>
<p>With <a rel="nofollow" title="Sitecore Marketplace - Powershell Console" target="_blank" href="http://bit.ly/PsConScMplc"><strong>Powershell</strong></a>, I have been able to delegate all the dull and boring jobs to the mindless script. Now, not only have I saved myself from zombie-like tasks but I have also saved tons of time I can now spend playing table foot.. erm coding. It took me about half an hour to develop the script and I have used it three times so far. This means I have already saved half an hour. But now every following call will add to this number.</p>
<p>I have also shown you how <a rel="nofollow" title="Sitecore Marketplace - Powershell Console" target="_blank" href="http://bit.ly/PsConScMplc"><strong>Powershell</strong></a> can ease some of the tasks in <a rel="nofollow" title="Sitecore CMS" target="_blank" href="http://www.sitecore.net/">Sitecore </a> which are not so obvious to use with the API. Not to mention the fact that I did not have to release anything to do that. All you need is the console and then you are free to script!</p>
<p>This template can actually be used to do any kind of processing items in <a rel="nofollow" title="Sitecore CMS" target="_blank" href="http://www.sitecore.net/">Sitecore </a>(and with small changes in any other environment). It&#8217;s simple in terms of construction and usage, so feel free to take it and modify at your will. Feel the power of <a rel="nofollow" title="Sitecore Marketplace - Powershell Console" target="_blank" href="http://bit.ly/PsConScMplc"><strong>Powershell</strong></a>!</p>
<p><span style="color:#993300;">Remember: <strong>with great power comes great responsibility</strong>. Use the Sitecore <a rel="nofollow" title="Sitecore Marketplace - Powershell Console" target="_blank" href="http://bit.ly/PsConScMplc"><strong>Powershell</strong></a> with care. Always perform a database backup and test your scripts in a non-production environment. Cognifide will take no responsibility for any damage caused by the improper use of scripts.</span></p>]]></content:encoded>
      </item>
      <item>
         <title>Performance Tuning Part 4: Scaling the Infrastructure</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/Sitecore-7-Development-Team/Posts/2013/05/Sitecore-7-Performance-Tuning-Part-4.aspx</link>
         <description>&lt;p&gt;&lt;strong&gt;Performance Tuning Part 4: Scaling the Infrastructure&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;One thing that has been reiterated throughout this series is to make sure you &lt;strong&gt;have&lt;/strong&gt; to performance tune before you do so. You should be aware that changing configuration would make performance better, but it could also make things worse! Another important task you have to set for yourself is what problem are you trying to solve? Are you trying to get quicker searching? quicker indexing speed? An even playing field for both? Dependant upon what you answer your tuning strategy will be different.&lt;/p&gt;</description>
         <guid isPermaLink="false">{648CBD7E-90E3-4663-B0B0-9D32B29CCEC7}</guid>
         <pubDate>Mon, 06 May 2013 07:50:00 +0000</pubDate>
      </item>
      <item>
         <title>CompiledDomainModel 1.0 released!</title>
         <link>http://hermanussen.eu/sitecore/wordpress/2013/05/compileddomainmodel-1-0-released/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=compileddomainmodel-1-0-released</link>
         <description>This was a little overdue; my Sitecore code generation module, CompiledDomainModel, has been used in many projects and the code has matured enough to justify a 1.0.0.0 version number. A very important addition was made in this release. Release 1.0.0.0: Added &amp;#8220;Platform Mode&amp;#8221;, that can be used if generated code needs to be in separate [...]</description>
         <guid isPermaLink="false">http://hermanussen.eu/sitecore/wordpress/?p=201</guid>
         <pubDate>Sat, 04 May 2013 15:34:51 +0000</pubDate>
         <content:encoded><![CDATA[<p>This was a little overdue; my Sitecore code generation module, CompiledDomainModel, has been used in many projects and the code has matured enough to justify a 1.0.0.0 version number. A very important addition was made in this release.</p>
<p>Release 1.0.0.0:</p>
<ul>
<li>Added &#8220;Platform Mode&#8221;, that can be used if generated code needs to be in  separate files (e.g. when there are multiple DLL&#8217;s where generated code  is needed)</li>
<li>NuGet support added</li>
</ul>
<p><strong>Platform Mode</strong></p>
<p>This is a feature that has been requested by several people. If you have multiple projects or logic that is used in several DLL&#8217;s, then you need a way to divide the generated classes up into multiple files.</p>
<p>To make this possible, you should first check the &#8220;Platform Mode&#8221; checkbox on the settings item (/sitecore/system/Modules/CompiledDomainModel/Settings):</p>
<p><img class="alignnone" title="CDM Platform Mode" alt="" width="958" height="558"/></p>
<p>Note that the wrapper classes need to be resolved globally when using the platform mode. To make that possible, there is a dependency on the module itself. So you can&#8217;t use the &#8220;Remove dependencies&#8221; function when you want to use the platform mode.</p>
<p>If you generate the code now, you&#8217;ll see that a comment is generated:</p>
<p></p>
<div style="background:white;overflow:auto;width:auto;color:black;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;">
<table>
<tbody>
<tr>
<td>
<pre style="margin:0;line-height:125%;"> 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14</pre>
</td>
<td>
<pre style="margin:0;line-height:125%;"><span style="color:#808080;">// PLATFORM MODE IS ON - please check the CompiledDomainModel settings if this was unintentional</span>
<span style="color:#808080;">//</span>
<span style="color:#808080;">// Please use the following url and change it to your needs:</span>
<span style="color:#808080;">// http://sitecoredemo/sitecore/shell/Applications/CompiledDomainModel/CodeGenerator.aspx?platformsets=&lt;PIPE_SEPARATED_SET_NAMES&gt;</span>
<span style="color:#808080;">//</span>
<span style="color:#808080;">// Use one or more of the following names to generate for the part of the platform you need (exclude the brackets):</span>
<span style="color:#808080;">// [Core] (should be used in a project that all other projects have a dependency with)</span>
<span style="color:#808080;">// [PlatformTemplatesSet] (domain objects)</span>
<span style="color:#808080;">// [SomeProjectTemplatesSet] (domain objects)</span>
<span style="color:#808080;">// [PlatformFixedPaths] (fixed paths)</span>
<span style="color:#808080;">// [SomeProjectFixedPathsSet] (fixed paths)</span>
<span style="color:#808080;">//</span>
<span style="color:#808080;">// As a starting point, this is what the URL would look like if you would want to generate everything</span>
<span style="color:#808080;">// http://sitecoredemo/sitecore/shell/Applications/CompiledDomainModel/CodeGenerator.aspx?platformsets=Core|PlatformTemplatesSet|SomeProjectTemplatesSet|PlatformFixedPaths|SomeProjectFixedPathsSet</span></pre>
</td>
</tr>
</tbody>
</table>
</div>
<p>As is explained, you must now make url&#8217;s to generate code that is specific to your project. In this case, you could generate code for the platform project and the specific &#8220;SomeProject&#8221; project. Using the following url&#8217;s, you can do that:</p>
<ol>
<li>http://sitecoredemo/sitecore/shell/Applications/CompiledDomainModel/CodeGenerator.aspx?platformsets=Core|PlatformTemplatesSet|PlatformFixedPaths</li>
<li>http://sitecoredemo/sitecore/shell/Applications/CompiledDomainModel/CodeGenerator.aspx?platformsets=SomeProjectTemplatesSet|SomeProjectFixedPathsSet</li>
</ol>
<p>These url&#8217;s will only generate the code for the DomainObjectSets and FixedPathSets (check the <a rel="nofollow" title="CDM docs" target="_blank" href="http://hermanussen.eu/sitecore/CompiledDomainModel/Documentation/default.htm#chapter2">documentation</a> for an explanation about these sets) that are referenced in the url.</p>
<p><strong>NuGet support</strong></p>
<p>You can now install <a rel="nofollow" title="NuGet CDM" target="_blank" href="https://nuget.org/packages/CompiledDomainModel">CompiledDomainModel through NuGet</a>. I based the package on <a rel="nofollow" title="Article about deploying Sitecore modules with NuGet" target="_blank" href="http://blog.velir.com/index.php/2012/12/04/create-and-deploy-sitecore-modules-with-nuget/">this excellent article</a>.</p>
<p>Steps:</p>
<ol>
<li>You need to have <a rel="nofollow" title="Sitecore Rocks" target="_blank" href="http://visualstudiogallery.msdn.microsoft.com/44a26c88-83a7-46f6-903c-5c59bcd3d35b">Sitecore Rocks</a> installed in Visual Studio</li>
<li>You need to connect your project to your Sitecore website</li>
<li>Open the Package Manager Console and run <strong>Install-Package CompiledDomainModel</strong></li>
</ol>
<p><img class="alignnone" title="CDM NuGet installed" alt="" width="574" height="290"/></p>
<p>Of course you are not required to install CDM this way. You can still use the regular package on the<a rel="nofollow" title="Releases page" target="_blank" href="http://hermanussen.eu/sitecore/CompiledDomainModel/Releases/"> Releases page</a>.</p>
<p>Happy CDM-coding!</p>]]></content:encoded>
      </item>
      <item>
         <title>Sitecore 7: Boosting Items By Depth with the Rules Engine</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/05/Sitecore-7-Boosting-Items-By-Depth-with-the-Rules-Engine.aspx</link>
         <description>&lt;p&gt;This blog post explains how you can implement rules to boost items when indexing data in version 7 of the Sitecore ASP.NET web Content Management System (CMS). You can use boosting to make certain entries more prominent in search results, and such a pipeline rule is just one way to configure boosting. Before you read this blog post, please read the Sitecore 7: Introduction, Sitecore 7: Six Types of Search Boosting, and Sitecore 7: Boosting Recently Updated Items with a indexing.resolveItemBoost Pipeline Processor blog posts linked in the Resources section at the end of this page.&lt;/p&gt;</description>
         <guid isPermaLink="false">{1679E9C5-2994-4890-89BF-2CFC9224B89E}</guid>
         <pubDate>Fri, 03 May 2013 14:30:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7 Search Provider Part 5 - Controlling Which Fields Get Indexed</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/Getting-to-Know-Sitecore/Posts/2013/05/Sitecore-7-Search-Provider-Part-5-Controlling-Which-Fields-Get-Indexed.aspx</link>
         <description>&lt;p&gt;This is the fifth post in a series that explains how to build a search provider for Sitecore 7. This post describes how the search provider determines which fields get indexed, and how those fields are composed into a format the search engine can read.&lt;/p&gt;</description>
         <guid isPermaLink="false">{CA55C625-44E3-40E5-8C8D-C3B8E2D439E5}</guid>
         <pubDate>Fri, 03 May 2013 14:00:00 +0000</pubDate>
      </item>
      <item>
         <title>Inside Sitecore 7 - Session 1</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/Sitecore-7-Development-Team/Posts/2013/05/Inside-Sitecore-7-Session-1.aspx</link>
         <description>&lt;p&gt;Come learn about Sitecore 7 from the core development team in the first of a series of Google+ Hangouts On Air. The team will take you through the new features of Sitecore in intimate detail. The aim of the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://siteco.re/157wJIF&quot;&gt;Inside Sitecore 7&lt;/a&gt; series is to to give developers greater insight as we take single features and explain why we created them, how we did it, and how the developer community can work with them. These sessions will be highly technical and will provide the developer community the opportunity to ask the core developers questions and provide direct feedback.&lt;br style=&quot;font-family:arial, sans-serif;font-size:13px;line-height:18px;background-color:#ffffff;&quot;/&gt;
&lt;br style=&quot;font-family:arial, sans-serif;font-size:13px;line-height:18px;background-color:#ffffff;&quot;/&gt;
We would like to use Twitter to monitor questions so we can be sure to capture them all and enable everyone to engage in the discussion using the hashtag #Sitecore7.&amp;nbsp;&lt;br style=&quot;font-family:arial, sans-serif;font-size:13px;line-height:18px;background-color:#ffffff;&quot;/&gt;
&lt;br style=&quot;font-family:arial, sans-serif;font-size:13px;line-height:18px;background-color:#ffffff;&quot;/&gt;
Session 1: &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://siteco.re/157wJIF&quot;&gt;An introduction to Sitecore 7&lt;/a&gt;.&amp;nbsp;&lt;br /&gt;
Date: May 16, 2013 4:00pm CEST, 3:00pm BST, 10:00am EDT, 7:00am PDT&lt;/p&gt;
&lt;p&gt;Host: Nate Barad &amp;ndash; Product Marketing Director.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Speakers:&amp;nbsp;Stephen Pope &amp;ndash; Solution Architect,&amp;nbsp;Alex Shyba &amp;ndash; Lead Developer,&amp;nbsp;Martin Sixh&amp;oslash;j Hyldahl - Developer,&amp;nbsp;Tim Ward &amp;ndash; Product Architect.&lt;/p&gt;
&lt;p&gt;You can watch the live broadcast via &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://google.com/+sitecore&quot;&gt;Sitecore's Google+ page&lt;/a&gt; or bookmark this blog post and watch here.&amp;nbsp;&lt;/p&gt;</description>
         <guid isPermaLink="false">{BDCF50CF-0630-47E6-86FE-FFAAF35BFB44}</guid>
         <pubDate>Fri, 03 May 2013 12:55:00 +0000</pubDate>
      </item>
      <item>
         <title>A must read for everyone in the web industry…!</title>
         <link>http://sitecore.alexiasoft.nl/2013/05/03/a-must-read-for-everyone-in-the-web-industry/</link>
         <description>For all you, developers, techies, web analysts, designers, quality engineers and project managers in the internet industry. The following page is a real must read! As you can see on this picture, the marketing organizations are on loose ground. It’s time to help them, but before we can do that, we probably need to dive [...]</description>
         <guid isPermaLink="false">http://sitecore.alexiasoft.nl/?p=348</guid>
         <pubDate>Fri, 03 May 2013 10:07:38 +0000</pubDate>
         <content:encoded><![CDATA[<p><img style="float:right;display:inline;" alt="Marketing Punctuated Equilibrium" align="right" src="http://cdn.chiefmartec.com/wp-content/uploads/2013/01/punctuated_equilibrium_600-300x253.jpg" width="300" height="253"/></p>
<p>For all you, developers, techies, web analysts, designers, quality engineers and project managers in the internet industry. The following page is a real must read! As you can see on this picture, the marketing organizations are on loose ground. It’s time to help them, but before we can do that, we probably need to dive a bit into their world…</p>
<p><a rel="nofollow" title="http://chiefmartec.com/2013/03/agile-marketing-for-a-world-of-constant-change/" target="_blank" href="http://chiefmartec.com/2013/03/agile-marketing-for-a-world-of-constant-change/">http://chiefmartec.com/2013/03/agile-marketing-for-a-world-of-constant-change/</a></p>]]></content:encoded>
      </item>
      <item>
         <title>Sitecore 7 Performance Tuning Part 3</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/Sitecore-7-Development-Team/Posts/2013/05/Sitecore-7-Performance-Tuning-Part-3.aspx</link>
         <description>&lt;p&gt;Performance Tuning Part 3: Storing and Indexing&lt;/p&gt;
&lt;p&gt;Sitecore 7 comes with an index that is tuned towards using the out of the box fields. Obviously, over time you will add new fields and templates to your site and want to make sure that your index is more tuned to these additions. We made a design decision in the default configuration that if we did not display the field in the UI then we would not store it in the index. However, not storing it in the index does not mean that I cannot query by that field. Enter, &lt;strong&gt;STORED&lt;/strong&gt; and &lt;strong&gt;INDEXED&lt;/strong&gt;, two terms that will help you tune you Sitecore 7 solution for performance, size of index and maintainability. &lt;/p&gt;</description>
         <guid isPermaLink="false">{00D6E911-E621-4B4A-96BD-E48AB2FDD12E}</guid>
         <pubDate>Fri, 03 May 2013 07:03:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7 Performance Tuning Part 2</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/Sitecore-7-Development-Team/Posts/2013/05/Sitecore-7-Performance-Tuning-Part-2.aspx</link>
         <description>&lt;p&gt;Tuning Performance of Sitecore 7 with Lucene &lt;/p&gt;</description>
         <guid isPermaLink="false">{DCA59561-B42E-49FC-B7FD-3B53E6B46BF6}</guid>
         <pubDate>Thu, 02 May 2013 07:44:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7: Boosting Recently Updated Items with an indexing.resolveItemBoost Pipeline Processor</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/05/Sitecore-7-Boosting-Updated-Items-with-a-resolveItemBoost-Pipeline-Processor.aspx</link>
         <description>&lt;p&gt;This blog post explains how you can implement a processor in the indexing.resolveItemBoost pipeline to boost items when indexing data in version 7 of the Sitecore ASP.NET web Content Management System (CMS). You can use boosting to make certain entries more prominent in search results, and such a pipeline processor is just one way to configure boosting. Before you read this blog post, please read the Sitecore 7: Introduction and Sitecore 7: Six Types of Search Boosting blog posts linked in the Resources section at the end of this page.&lt;/p&gt;</description>
         <guid isPermaLink="false">{56CA08D6-71E2-4F99-900C-F6710FE97CA3}</guid>
         <pubDate>Wed, 01 May 2013 15:44:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7 Search Provider Part 4 - Controlling Which Items Get Indexed</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/Getting-to-Know-Sitecore/Posts/2013/05/Sitecore-7-Search-Provider-Part-4-Controlling-Which-Items-Get-Indexed.aspx</link>
         <description>&lt;p&gt;This is the fourth post in a series that explains how to build a search provider for Sitecore 7. This post describes how the search provider determines which items get indexed.&lt;/p&gt;</description>
         <guid isPermaLink="false">{B6AFAEFB-1A36-4E4B-BD9A-7AF5E100D0C2}</guid>
         <pubDate>Wed, 01 May 2013 14:00:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7 Performance Tuning Part 1</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/Sitecore-7-Development-Team/Posts/2013/05/Sitecore-7-Performance-Tuning-Part-1.aspx</link>
         <description>&lt;p&gt;All configuration is not created equal.&lt;/p&gt;
&lt;p&gt;When tweaking Sitecore 7 performance you can either prepare it to be faster for indexing speed or search speed. In most cases you will run an authoring environment with a system that is tuned to &lt;strong&gt;not be biased&lt;/strong&gt; towards one or the other so you can have an even mix of search speed and re-index speed (This is what we have set in the configuration by default). However in a content delivery environment you can most definitely tune it towards a fast read/query index. Especially if you are running a read-only delivery site (which most are).&lt;/p&gt;</description>
         <guid isPermaLink="false">{87765FBD-FA2F-473C-ACBF-AD8AFAF73497}</guid>
         <pubDate>Wed, 01 May 2013 06:46:00 +0000</pubDate>
      </item>
      <item>
         <title>Forgotten your admin password? - Part 2</title>
         <link>http://amitgaurav-sitecorexperience.blogspot.com/2013/05/forgotten-your-admin-password-part-2.html</link>
         <description>&amp;nbsp;&lt;i&gt;In my previous blog with the same Title we discussed ways to reset the password for Admin user in-case we forgot them for Sitecore version 6.0 and above when Sitecore integrated ASP.NET Membership.&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;i&gt;But with the launch of Sitecore 6.4 and above when Sitecore introduced PasswordSalt there's a change to the update query we discussed earlier. Below is the updated&amp;nbsp; query - &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:small;&quot;&gt;UPDATE [Sitecore_core].[dbo].[aspnet_Membership]&lt;br /&gt;  SET Password='qOvF8m8F2IcWMvfOBjJYHmfLABc=', &lt;br /&gt;      PasswordSalt='OM5gu45RQuJ76itRvkSPFw==' &lt;br /&gt;  WHERE UserId IN (SELECT UserId FROM [Sitecore_core].[dbo].[aspnet_Users] WHERE UserName = 'sitecore&amp;#92;Admin')&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Thanks &lt;span&gt;Patrick for bringing this up... &lt;/span&gt;&lt;/i&gt;&lt;span&gt;:-)&lt;/span&gt;</description>
         <author>Amit Gaurav</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-4788941035173854033.post-3195603509476180281</guid>
         <pubDate>Wed, 01 May 2013 01:51:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore Metro Desktop 1.3</title>
         <link>http://alenpelin.blogspot.com/2013/04/sitecore-metro-desktop-13.html</link>
         <description>Sitecore Metro Desktop 1.3 was released more than a week ago but I post about it only now because had big plans for 1.4 version and decided to make an announce after 1.4 release, but I am not sure when next version is released so here are the release notes:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;it is stable release&lt;/li&gt;&lt;li&gt;the most major issues were fixed including the support of the small screens by using adaptive design&lt;/li&gt;&lt;li&gt;the search feature was implemented (type the name of the application what you want to search for)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;You can download the latest version here:&lt;/div&gt;&lt;div&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://marketplace.sitecore.net/en/Modules/Sitecore_Metro_Desktop.aspx&quot;&gt;http://marketplace.sitecore.net/en/Modules/Sitecore_Metro_Desktop.aspx&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And feedback about found issues and post your wishes here:&lt;/div&gt;&lt;div&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://alienlab.co.uk/sitecore-metro-desktop/issues?status=new&amp;amp;status=open&quot;&gt;http://alienlab.co.uk/sitecore-metro-desktop/issues?status=new&amp;amp;status=open&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;If you want to help to develop the project – feel free to contact me.&lt;br /&gt;&lt;br /&gt;Cheers, Alen.</description>
         <author>Alen Pelin</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-7597424347188585662.post-6248186506792219333</guid>
         <pubDate>Tue, 30 Apr 2013 18:58:00 +0000</pubDate>
      </item>
      <item>
         <title>Meet Your New Best Friends in Sitecore 7: SearchLog and CrawlingLog</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/Sitecore-7-Development-Team/Posts/2013/04/Sitecore-7-SearchLog-and-CrawlingLog.aspx</link>
         <description>&lt;p&gt;It&amp;rsquo;s super important to understand how both search and indexing work under the hood, and for that reason, the CrawlingLog and SearchLog facilities should be very helpful in mastering Sitecore 7.&lt;/p&gt;</description>
         <guid isPermaLink="false">{61ED0667-16FA-4C23-90EE-BEEF85D682FF}</guid>
         <pubDate>Tue, 30 Apr 2013 18:26:00 +0000</pubDate>
      </item>
      <item>
         <title>compareRevisions - very important!</title>
         <link>http://feedproxy.google.com/~r/sitecoredevelopment/IQRw/~3/8mSh826-SsI/compareRevisions-very-important.aspx</link>
         <description>&lt;p&gt;Make sure you understand all of the parameters you can set when performing a publish action&amp;nbsp;programmatically.&lt;/p&gt;</description>
         <guid isPermaLink="false">{F71B09C1-70C7-487F-9F8C-AC7A627B9E2F}</guid>
         <pubDate>Tue, 30 Apr 2013 13:01:01 +0000</pubDate>
      </item>
      <item>
         <title>Meet Your New Best Friends in Sitecore 7: SearchLog and CrawlingLog</title>
         <link>http://sitecoreblog.alexshyba.com/2013/04/meet-your-new-best-friends-in-sitecore.html</link>
         <description>It’s super important to understand how both search and indexing work under  the hood, and for that reason, the CrawlingLog and SearchLog facilities should  be very helpful in mastering Sitecore 7.&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://sitecoreblog.alexshyba.com/2013/04/meet-your-new-best-friends-in-sitecore.html#more&quot;&gt;Read more »&lt;/a&gt;</description>
         <author>Alex Shyba</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-18939862.post-7565277612390217251</guid>
         <pubDate>Tue, 30 Apr 2013 11:45:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7 Commit Policies</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/Sitecore-7-Development-Team/Posts/2013/04/Sitecore-7-Commit-Policies.aspx</link>
         <description>&lt;p&gt;Sitecore 7 Commit Policies&lt;/p&gt;
&lt;p&gt;There are many stages in the life cycle of the indexing process in Sitecore 7. One of the more important phases is the committing of documents to disk. If we didn't have the commit phase then documents would remain in memory or would remain on disk but in a state that could not be persisted. Both SOLR and Lucene.net support Atomic Commits with full rollback support of a commit.&lt;/p&gt;</description>
         <guid isPermaLink="false">{38B2D2FE-BF91-41EF-941C-419439844057}</guid>
         <pubDate>Tue, 30 Apr 2013 06:26:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7 is round the corner</title>
         <link>http://amitgaurav-sitecorexperience.blogspot.com/2013/04/sitecore-7-is-round-corner.html</link>
         <description>Hi folks-&lt;br /&gt;&lt;br /&gt;The web world is now buzzing with the entry of Sitecore7. Though still not very aware of what the new product is going to be but MVP's across the globe have plunged in to deliver a gem of a product.&lt;br /&gt;&lt;br /&gt;Following some of the most admired names in the industry I can clearly make out that Sitecore 7 is going to have a host of new features that's going to largely enhance performance, scalability and usability.&lt;br /&gt;&lt;br /&gt;Sitecore 7 brings along the concept of item buckets, which abstract the  descendants of an item through search interfaces rather than a content  tree. Item buckets allow Sitecore solutions that manage extremely large  volumes of data with high performance. The revamped item buckets would possibly allow us in having our items at the same level.&lt;br /&gt;&lt;br /&gt;Also probably the Lucene has been upgraded to allow for  higher scalability. The old Sitecore 6 versions probably could make up to 1,000,000  items but its being said that Sitecore 7 have almost no limitations. Another high for Sitecore 7 is going to be its ability to implement the optional SOLR search for indexing and querying Sitecore solutions. &lt;br /&gt;&lt;br /&gt;Another great feature that could possible be part of Sitecore 7 is that Authors and Marketers could have powerful features embedded in the Content Editor and Page Editor&amp;nbsp; modes possibly the Ribbon. &lt;br /&gt;&lt;br /&gt;Friends feel free to post in your like/dislikes also you can post your wish list for the upcoming Sitecore 7 to your regional contact or product marketer.&lt;br /&gt;&lt;br /&gt;To conclude with we should be looking forward to a cleaner, efficient and amazing performance oriented product.....&lt;br /&gt;&lt;br /&gt;</description>
         <author>Amit Gaurav</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-4788941035173854033.post-1414899755717926211</guid>
         <pubDate>Tue, 30 Apr 2013 04:03:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7: Pipeline Profiling</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/04/Sitecore-7-Pipeline-Profiling.aspx</link>
         <description>&lt;p&gt;Version 7 of the Sitecore ASP.NET web Content Management System (CMS) provides pipeline profiling, which lets you monitor utilization, performance, and other aspects of Sitecore pipelines. You can use pipeline profiling to identify opportunities to improve system performance by optimizing pipelines. Before you read this blog post, please read the Sitecore 7: Introduction linked in the Resources section at the end of this page.&lt;/p&gt;</description>
         <guid isPermaLink="false">{B252FCA6-3B2C-48B6-8350-1686BB38015C}</guid>
         <pubDate>Mon, 29 Apr 2013 18:50:00 +0000</pubDate>
      </item>
      <item>
         <title>Data Template Field Type Configuration in the Sitecore ASP.NET CMS</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/04/Data-Template-Field-Type-Configuration-in-the-Sitecore-ASPNET-CMS.aspx</link>
         <description>&lt;p&gt;You can configure the types of field available in data templates in the Sitecore ASP.NET web Content Management System (CMS). For example, you can set properties for types of field when they appear in the Content Editor, instruct the links database how to process information for each field type, configure how search indexes process specific types of fields, tell Sitecore how to validate every instance of each type of field, and control how Sitecore renders certain types of fields.&lt;/p&gt;</description>
         <guid isPermaLink="false">{22A1C483-65D1-468A-BCE7-7990122371CE}</guid>
         <pubDate>Mon, 29 Apr 2013 17:18:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7 Field Projections</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/Sitecore-7-Development-Team/Posts/2013/04/Sitecore-7-Field-Projections.aspx</link>
         <description>&lt;p&gt;Field Projections&lt;/p&gt;
&lt;p&gt;One of the main aims of Sitecore 7 was to be performant. Let's look at a simple example.&lt;/p&gt;</description>
         <guid isPermaLink="false">{BCCB04A2-78F2-42E4-8A33-63F5F0AD2B14}</guid>
         <pubDate>Mon, 29 Apr 2013 06:11:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7 Search Provider Part 3 - Rebuilding Indexes</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/Getting-to-Know-Sitecore/Posts/2013/04/Sitecore-7-Search-Provider-Part-3-Rebuilding-Indexes.aspx</link>
         <description>&lt;p&gt;This is the third post in a series that explains how to build a search provider for Sitecore 7. This post describes the objects used to rebuild the index.&lt;/p&gt;</description>
         <guid isPermaLink="false">{5104F49D-CE1F-4638-96A5-471CBB3B0F3F}</guid>
         <pubDate>Mon, 29 Apr 2013 03:00:00 +0000</pubDate>
      </item>
      <item>
         <title>Handling Errors in the Sitecore ASP.NET CMS</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/04/Handling-Errors-in-the-Sitecore-ASPNET-CMS.aspx</link>
         <description>&lt;p&gt;This blog post explains how you can override the ExecuteRequest processor in the httpRequestBegin pipeline to control how the Sitecore ASP.NET web Content Management System (CMS) handles some kinds of errors.&lt;/p&gt;</description>
         <guid isPermaLink="false">{78F0DD7C-A039-4D73-B24B-D902C6DF9E41}</guid>
         <pubDate>Fri, 26 Apr 2013 21:44:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore Managed Sites as Virtual Folders</title>
         <link>http://firebreaksice.com/sitecore-managed-sites-as-virtual-folders/</link>
         <description>Learn how to properly configure a Sitecore site with a virtual folder&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://firebreaksice.com/sitecore-managed-sites-as-virtual-folders/&quot;&gt;Sitecore Managed Sites as Virtual Folders&lt;/a&gt; is a post from &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://firebreaksice.com&quot;&gt;Fire Breaks Ice&lt;/a&gt;, published by Mark Ursino, Sitecore MVP&lt;/p&gt;</description>
         <guid isPermaLink="false">http://firebreaksice.com/?p=789</guid>
         <pubDate>Fri, 26 Apr 2013 21:39:11 +0000</pubDate>
         <content:encoded><![CDATA[<p class="intro">Sitecore&#8217;s native ability to manage multiple web properties is a highly-leveraged feature of the CMS. It supports this via different tree nodes and specific configuration to delineate among sites. This blog post covers several important considerations when managing sites with virtual folders.</p>
<h2>Managing Multiple Sites in General</h2>
<p>Sitecore supports multiple logical sites by having separate root paths in the content tree:</p>
<p><img class="alignnone size-full wp-image-790" alt="sites1" src="http://firebreaksice.com/wp-content/uploads/2013/04/sites1.jpg" width="108" height="112"/></p>
<p>In addition to this, XML configuration in the <code>&lt;sites&gt;</code> section (preferably via the <code>SiteDefinition.config</code> patch) defines what sites map various host names to root content paths. Sites also define a context language, database, etc.</p>
<p><img class="alignnone size-full wp-image-791" alt="sites2" src="http://firebreaksice.com/wp-content/uploads/2013/04/sites2.jpg" width="462" height="257"/></p>
<h2>How Sitecore Resolves a Site</h2>
<p>Sitecore resolves the correct site via a pipeline process in the <code>httpRequestBegin</code> pipeline. The SiteResolver sets the context site based on the following criteria:</p>
<ul>
<li>Hostname</li>
<li>Virtual path</li>
<li>Port number</li>
</ul>
<p>Sitecore processes the XML in sequence to find the first site that matches the above criteria. Since each site has a <code>hostName</code> attribute defined, Sitecore first matches against this. Next comes the <code>virtualFolder</code> which by default is simply &#8220;/&#8221; but may be changed.</p>
<h2>How to Configure a Sitecore Site with a Virtual Folder</h2>
<p>To configure a site as a virtual folder, define the <code>virtualFolder</code> path <strong>AND</strong> <code>physicalFolder</code> path to match the expected path.</p>
<p><img class="alignnone size-full wp-image-792" alt="sites3" src="http://firebreaksice.com/wp-content/uploads/2013/04/sites3.jpg" width="456" height="247"/></p>
<p>If you do no define the <code>physicalFolder</code> in addition to the <code>virtualFolder</code> Sitecore may either not resolve the site correctly or may throw a YSOD saying a path is null:</p>
<p><img class="alignnone size-full wp-image-793" alt="sites4" src="http://firebreaksice.com/wp-content/uploads/2013/04/sites4.jpg" width="490" height="505"/></p>
<p><strong>Note</strong>: if you have <a rel="nofollow" title="Sitecore Item and Field Names" target="_blank" href="http://firebreaksice.com/sitecore-item-and-field-names/">configured the Link Provider to use the Display Name for URLs</a>, these virtual and physical paths <strong>must actually match the display name, not the item name</strong>.</p>
<p>Additionally, you must define virtual folder sites above any non-virtual folder sites that share the same <code>hostName</code>. This is because Sitecore resolves the sites in sequence based on the configuration so you need more specific combinations of criteria first (e.g. host and path).
<p><a rel="nofollow" target="_blank" href="http://firebreaksice.com/sitecore-managed-sites-as-virtual-folders/">Sitecore Managed Sites as Virtual Folders</a> is a post from <a rel="nofollow" target="_blank" href="http://firebreaksice.com">Fire Breaks Ice</a>, published by Mark Ursino, Sitecore MVP</p>]]></content:encoded>
         <category>Sitecore</category>
      </item>
      <item>
         <title>Sitecore 7: Rules-Based Index Rebuilding Strategy</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/04/Sitecore-7-Rules-Based-Index-Rebuilding-Strategy.aspx</link>
         <description>&lt;p&gt;This blog post provides a prototype for a strategy that uses the rules engine to determine whether to rebuild a search index in version 7 of the Sitecore ASP.NET web Content Management System (CMS). Before you read this blog post, please read the Sitecore 7: Introduction and Sitecore 7: Index Update Strategies blog posts linked in the list of Resources section at the end of this page.&lt;/p&gt;</description>
         <guid isPermaLink="false">{288F9BBE-F373-493C-AFE4-ABFA8D406EE0}</guid>
         <pubDate>Fri, 26 Apr 2013 18:44:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7: Index Update Strategies</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/04/Sitecore-7-Index-Update-Strategies.aspx</link>
         <description>&lt;p&gt;This blog post contains information about index update strategies in version 7 of the Sitecore ASP.NET web Content Management System (CMS). You can configure and implement indexing strategies to control what causes Sitecore to update data in each search index. Before you read this blog post, please read the Sitecore 7: Introduction blog post linked in the list of resources at the end of this page.&lt;/p&gt;</description>
         <guid isPermaLink="false">{1DEA7E88-EE35-4071-984D-5054524712B8}</guid>
         <pubDate>Fri, 26 Apr 2013 18:37:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7: Configure and Apply Boosting Rules</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/04/Sitecore-7-Configure-and-Apply-Boosting-Rules.aspx</link>
         <description>&lt;p&gt;You can use boosting rules to affect search boosting values for items in version 7 of the Sitecore ASP.NET web Content Management System (CMS). Before you read this blog post, please read the blog posts titled Sitecore 7: Introduction and Sitecore 7: Six Types of Search Boosting linked in the Resources section at the end of this blog post.&lt;/p&gt;</description>
         <guid isPermaLink="false">{2BEA0C26-8BF1-452B-82B1-1FD2B9FAFB7B}</guid>
         <pubDate>Fri, 26 Apr 2013 17:43:00 +0000</pubDate>
      </item>
      <item>
         <title>Sitecore 7: Six Types of Search Boosting</title>
         <link>http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/04/Sitecore-7-Six-Types-of-Search-Boosting.aspx</link>
         <description>&lt;p&gt;The concept of scoring is integral to the new search features in version 7 of the Sitecore ASP.NET web Content Management System (CMS). You can think of scoring as a way to determine the importance of each item relative to other items. You can control scoring to leverage the search engine to your greatest advantage. Before you read this blog post, please read the Sitecore 7: Introduction blog post linked in the Resources section at the end of this page.&lt;/p&gt;</description>
         <guid isPermaLink="false">{2EE650D3-DB8E-4053-AF58-36BC509E6BEF}</guid>
         <pubDate>Fri, 26 Apr 2013 16:26:00 +0000</pubDate>
      </item>
   </channel>
</rss>
<!-- fe2.yql.bf1.yahoo.com compressed/chunked Sun May 26 04:19:12 UTC 2013 -->
