<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Alexey Rusakov on Sitecore development</title>
    <link>http://alexeyrusakov.com/sitecoreblog/</link>
    <description>Sitecore CMS and everything related</description>
    <language>en-us</language>
    <copyright>Alexey Rusakov</copyright>
    <lastBuildDate>Tue, 02 Jun 2009 10:28:21 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>ar@sitecore.net</managingEditor>
    <webMaster>ar@sitecore.net</webMaster>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/alexeyrusakov/sitecore" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
      <trackback:ping>http://alexeyrusakov.com/sitecoreblog/Trackback.aspx?guid=53473469-8080-4d99-b153-11fd9d3e979c</trackback:ping>
      <pingback:server>http://alexeyrusakov.com/sitecoreblog/pingback.aspx</pingback:server>
      <pingback:target>http://alexeyrusakov.com/sitecoreblog/PermaLink,guid,53473469-8080-4d99-b153-11fd9d3e979c.aspx</pingback:target>
      <dc:creator>Alexey Rusakov</dc:creator>
      <wfw:comment>http://alexeyrusakov.com/sitecoreblog/CommentView,guid,53473469-8080-4d99-b153-11fd9d3e979c.aspx</wfw:comment>
      <wfw:commentRss>http://alexeyrusakov.com/sitecoreblog/SyndicationService.asmx/GetEntryCommentsRss?guid=53473469-8080-4d99-b153-11fd9d3e979c</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.sitecore.net/en/Products/Sitecore-Online-Marketing-Suite.aspx">
            <img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" align="right" src="http://alexeyrusakov.com/sitecoreblog/content/binary/WindowsLiveWriter/SitecoreOnlineMarketingSuite_BD70/image_5.png" width="241" height="168" />
          </a> Sitecore
Online Marketing Suite campaign has started - check out <a href="http://www.sitecore.net/en/Products/Sitecore-Online-Marketing-Suite.aspx">http://www.sitecore.net/en/Products/Sitecore-Online-Marketing-Suite.aspx</a>.
</p>
        <p>
The product is to be available on June 30th, and I'm very happy we're finally going
public with it.
</p>
        <p>
This is going to be fun.
</p>
        <img width="0" height="0" src="http://alexeyrusakov.com/sitecoreblog/aggbug.ashx?id=53473469-8080-4d99-b153-11fd9d3e979c" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/alexeyrusakov/sitecore/~4/1bJ9ytWms_U" height="1" width="1" /></body>
      <title>Sitecore Online Marketing Suite</title>
      <guid isPermaLink="false">http://alexeyrusakov.com/sitecoreblog/PermaLink,guid,53473469-8080-4d99-b153-11fd9d3e979c.aspx</guid>
      <link>http://alexeyrusakov.com/sitecoreblog/2009/06/02/Sitecore+Online+Marketing+Suite.aspx</link>
      <pubDate>Tue, 02 Jun 2009 10:28:21 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.sitecore.net/en/Products/Sitecore-Online-Marketing-Suite.aspx"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" align="right" src="http://alexeyrusakov.com/sitecoreblog/content/binary/WindowsLiveWriter/SitecoreOnlineMarketingSuite_BD70/image_5.png" width="241" height="168"&gt;&lt;/a&gt; Sitecore
Online Marketing Suite campaign has started - check out &lt;a href="http://www.sitecore.net/en/Products/Sitecore-Online-Marketing-Suite.aspx"&gt;http://www.sitecore.net/en/Products/Sitecore-Online-Marketing-Suite.aspx&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
The product is to be available on June 30th, and I'm very happy we're finally going
public with it.
&lt;/p&gt;
&lt;p&gt;
This is going to be fun.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://alexeyrusakov.com/sitecoreblog/aggbug.ashx?id=53473469-8080-4d99-b153-11fd9d3e979c" /&gt;</description>
      <comments>http://alexeyrusakov.com/sitecoreblog/CommentView,guid,53473469-8080-4d99-b153-11fd9d3e979c.aspx</comments>
      <category>Sitecore</category>
    </item>
    <item>
      <trackback:ping>http://alexeyrusakov.com/sitecoreblog/Trackback.aspx?guid=96092738-a0b5-4fdd-8f2f-9f776a0ef17f</trackback:ping>
      <pingback:server>http://alexeyrusakov.com/sitecoreblog/pingback.aspx</pingback:server>
      <pingback:target>http://alexeyrusakov.com/sitecoreblog/PermaLink,guid,96092738-a0b5-4fdd-8f2f-9f776a0ef17f.aspx</pingback:target>
      <dc:creator>Alexey Rusakov</dc:creator>
      <wfw:comment>http://alexeyrusakov.com/sitecoreblog/CommentView,guid,96092738-a0b5-4fdd-8f2f-9f776a0ef17f.aspx</wfw:comment>
      <wfw:commentRss>http://alexeyrusakov.com/sitecoreblog/SyndicationService.asmx/GetEntryCommentsRss?guid=96092738-a0b5-4fdd-8f2f-9f776a0ef17f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
UrlString provides a simple wrapper around URLs, both relative and absolute. Many
Sitecore UI components receive data from querystring parameters, and UrlString provides
convenient  method for constructing URLs with querystring parameters.
</p>
        <p>
Assembling an URL:
</p>
        <pre>UrlString url = new UrlString("/path/to/mypage.aspx");

url["id"] = "{some-id}";
url["db"] = "master";

string result = url.ToString(); // "/path/to/mypage.aspx?id=some-id&amp;db=master"
</pre>
        <p>
Tweaking existing url:
</p>
        <pre>UrlString url = new UrlString("/path/to/mypage.aspx?id=some-id&amp;db=master");

url["db"] = "web";
url["mode"] = "new";

string result = url.ToString(); // "/path/to/mypage.aspx?id=some-id&amp;db=web&amp;mode=new"
</pre>
        <p>
Some methods in Sitecore API accept UrlString to add more data. ItemUri class can
embed itself in a UrlString, so that you can pass information uniquely identifying
a Sitecore item in a URL:
</p>
        <pre>UrlString url = new UrlString("page.aspx");

Sitecore.Context.Item.Uri.AddToUrlString(url);

string result = url.ToString(); // "page.aspx?id={id}&amp;la=en&amp;v=1&amp;db=master"
</pre>
        <p>
Compared to System.Uri, Sitecore's UrlString is very lax in accepting any kinds of
input and giving it back.
</p>
        <img width="0" height="0" src="http://alexeyrusakov.com/sitecoreblog/aggbug.ashx?id=96092738-a0b5-4fdd-8f2f-9f776a0ef17f" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/alexeyrusakov/sitecore/~4/WjOMqiWsD9U" height="1" width="1" /></body>
      <title>Sitecore API - UrlString</title>
      <guid isPermaLink="false">http://alexeyrusakov.com/sitecoreblog/PermaLink,guid,96092738-a0b5-4fdd-8f2f-9f776a0ef17f.aspx</guid>
      <link>http://alexeyrusakov.com/sitecoreblog/2009/04/16/Sitecore+API+UrlString.aspx</link>
      <pubDate>Thu, 16 Apr 2009 10:30:48 GMT</pubDate>
      <description>&lt;p&gt;
UrlString provides a simple wrapper around URLs, both relative and absolute. Many
Sitecore UI components receive data from querystring parameters, and UrlString provides
convenient&amp;nbsp; method for constructing URLs with querystring parameters.
&lt;/p&gt;
&lt;p&gt;
Assembling an URL:
&lt;/p&gt;
&lt;pre&gt;UrlString url = new UrlString("/path/to/mypage.aspx");

url["id"] = "{some-id}";
url["db"] = "master";

string result = url.ToString(); // "/path/to/mypage.aspx?id=some-id&amp;amp;db=master"
&lt;/pre&gt;
&lt;p&gt;
Tweaking existing url:
&lt;/p&gt;
&lt;pre&gt;UrlString url = new UrlString("/path/to/mypage.aspx?id=some-id&amp;amp;db=master");

url["db"] = "web";
url["mode"] = "new";

string result = url.ToString(); // "/path/to/mypage.aspx?id=some-id&amp;amp;db=web&amp;amp;mode=new"
&lt;/pre&gt;
&lt;p&gt;
Some methods in Sitecore API accept UrlString to add more data. ItemUri class can
embed itself in a UrlString, so that you can pass information uniquely identifying
a Sitecore item in a URL:
&lt;/p&gt;
&lt;pre&gt;UrlString url = new UrlString("page.aspx");

Sitecore.Context.Item.Uri.AddToUrlString(url);

string result = url.ToString(); // "page.aspx?id={id}&amp;amp;la=en&amp;amp;v=1&amp;amp;db=master"
&lt;/pre&gt;
&lt;p&gt;
Compared to System.Uri, Sitecore's UrlString is very lax in accepting any kinds of
input and giving it back.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://alexeyrusakov.com/sitecoreblog/aggbug.ashx?id=96092738-a0b5-4fdd-8f2f-9f776a0ef17f" /&gt;</description>
      <comments>http://alexeyrusakov.com/sitecoreblog/CommentView,guid,96092738-a0b5-4fdd-8f2f-9f776a0ef17f.aspx</comments>
      <category>Sitecore</category>
      <category>Sitecore/API</category>
    </item>
    <item>
      <trackback:ping>http://alexeyrusakov.com/sitecoreblog/Trackback.aspx?guid=ba93b0ad-a474-43e9-9eb9-588e7fe0e5b0</trackback:ping>
      <pingback:server>http://alexeyrusakov.com/sitecoreblog/pingback.aspx</pingback:server>
      <pingback:target>http://alexeyrusakov.com/sitecoreblog/PermaLink,guid,ba93b0ad-a474-43e9-9eb9-588e7fe0e5b0.aspx</pingback:target>
      <dc:creator>Alexey Rusakov</dc:creator>
      <wfw:comment>http://alexeyrusakov.com/sitecoreblog/CommentView,guid,ba93b0ad-a474-43e9-9eb9-588e7fe0e5b0.aspx</wfw:comment>
      <wfw:commentRss>http://alexeyrusakov.com/sitecoreblog/SyndicationService.asmx/GetEntryCommentsRss?guid=ba93b0ad-a474-43e9-9eb9-588e7fe0e5b0</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
        <p>
Most of the data in Sitecore ends up stored and passed around as a string, hence we
have quite a few helper classes to deal with string values. ListString class helps
maintaining a list of strings that is serialized as a string itself. Like this:
</p>
        <p>
“Fred|John|Derek”
</p>
        <p>
What you see above is three strings, “Fred”, “John” and “Derek” serialized to a single
string, each string being separated by the pipe ‘|’ symbol. Here’s how to use the
ListString to create similar list:
</p>
        <pre>ListString list = new ListString();

list.Add("Fred");
list.Add("John");
list.Add("Derek");

string result = list.ToString(); // -&gt; "Fred|John|Derek"
</pre>
        <p>
Now you need to parse it somewhere else:
</p>
        <pre>string rawValue = “Fred|John|Derek”;

ListString list = new ListString(rawValue);

int count = list.Count; // -&gt; 3
string first = list[0]; // -&gt; "Fred"

foreach(string s in list)
{
  // supports enumeration too
}

list.Add("Mary");
string result = list.ToString(); // -&gt; "Fred|John|Derek|Mary"</pre>
        <p>
Note that the class doesn’t check and escape incoming strings, so it’s your responsibility
to make sure the values you pass do not contain a separator symbol.
</p>
        <p>
Sitecore uses ListString alot internally, but it’s always better to use higher level
API designed for each specific case, if such exists. A good example of that is MultilistField.
So when else ListString can be handy? Whenever you need to pass multiple values as
one, such as passing parameters, implementing a new field type that stores multiple
values, etc.
</p>
        <img width="0" height="0" src="http://alexeyrusakov.com/sitecoreblog/aggbug.ashx?id=ba93b0ad-a474-43e9-9eb9-588e7fe0e5b0" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/alexeyrusakov/sitecore/~4/jF3FEK8IA2E" height="1" width="1" /></body>
      <title>Sitecore API &amp;ndash; ListString</title>
      <guid isPermaLink="false">http://alexeyrusakov.com/sitecoreblog/PermaLink,guid,ba93b0ad-a474-43e9-9eb9-588e7fe0e5b0.aspx</guid>
      <link>http://alexeyrusakov.com/sitecoreblog/2009/04/13/Sitecore+API+Ndash+ListString.aspx</link>
      <pubDate>Mon, 13 Apr 2009 14:54:23 GMT</pubDate>
      <description>&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
Most of the data in Sitecore ends up stored and passed around as a string, hence we
have quite a few helper classes to deal with string values. ListString class helps
maintaining a list of strings that is serialized as a string itself. Like this:
&lt;/p&gt;
&lt;p&gt;
“Fred|John|Derek”
&lt;/p&gt;
&lt;p&gt;
What you see above is three strings, “Fred”, “John” and “Derek” serialized to a single
string, each string being separated by the pipe ‘|’ symbol. Here’s how to use the
ListString to create similar list:
&lt;/p&gt;
&lt;pre&gt;ListString list = new ListString();

list.Add("Fred");
list.Add("John");
list.Add("Derek");

string result = list.ToString(); // -&amp;gt; "Fred|John|Derek"
&lt;/pre&gt;
&lt;p&gt;
Now you need to parse it somewhere else:
&lt;/p&gt;
&lt;pre&gt;string rawValue = “Fred|John|Derek”;

ListString list = new ListString(rawValue);

int count = list.Count; // -&amp;gt; 3
string first = list[0]; // -&amp;gt; "Fred"

foreach(string s in list)
{
  // supports enumeration too
}

list.Add("Mary");
string result = list.ToString(); // -&amp;gt; "Fred|John|Derek|Mary"&lt;/pre&gt;
&lt;p&gt;
Note that the class doesn’t check and escape incoming strings, so it’s your responsibility
to make sure the values you pass do not contain a separator symbol.
&lt;/p&gt;
&lt;p&gt;
Sitecore uses ListString alot internally, but it’s always better to use higher level
API designed for each specific case, if such exists. A good example of that is MultilistField.
So when else ListString can be handy? Whenever you need to pass multiple values as
one, such as passing parameters, implementing a new field type that stores multiple
values, etc.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://alexeyrusakov.com/sitecoreblog/aggbug.ashx?id=ba93b0ad-a474-43e9-9eb9-588e7fe0e5b0" /&gt;</description>
      <comments>http://alexeyrusakov.com/sitecoreblog/CommentView,guid,ba93b0ad-a474-43e9-9eb9-588e7fe0e5b0.aspx</comments>
      <category>Sitecore</category>
      <category>Sitecore/API</category>
    </item>
    <item>
      <trackback:ping>http://alexeyrusakov.com/sitecoreblog/Trackback.aspx?guid=4654bd64-232e-4ac3-9dc5-9adae29ea674</trackback:ping>
      <pingback:server>http://alexeyrusakov.com/sitecoreblog/pingback.aspx</pingback:server>
      <pingback:target>http://alexeyrusakov.com/sitecoreblog/PermaLink,guid,4654bd64-232e-4ac3-9dc5-9adae29ea674.aspx</pingback:target>
      <dc:creator>Alexey Rusakov</dc:creator>
      <wfw:comment>http://alexeyrusakov.com/sitecoreblog/CommentView,guid,4654bd64-232e-4ac3-9dc5-9adae29ea674.aspx</wfw:comment>
      <wfw:commentRss>http://alexeyrusakov.com/sitecoreblog/SyndicationService.asmx/GetEntryCommentsRss?guid=4654bd64-232e-4ac3-9dc5-9adae29ea674</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Another update to <a href="http://trac.sitecore.net/FieldTypes">Sitecore FieldTypes
shared source project</a>, featuring a new Filtered Multilist field and important
bugfixes for other fields.
</p>
        <p>
I've dropped the beta and decided to add sequential release numbers. This one is Drop-2.
</p>
        <h3>Filtered Multilist
</h3>
        <p>
Filtered Multilist is a modification of standard Sitecore multilist field, with inline
search for values in the left panel. Handy if you have multilist with a large amount
of selectable values.
</p>
        <p>
This is a simple drop-in replacement, you can change field type of existing multilist
fields to filtered multilist to benefit from the filter, without loosing any values. 
</p>
        <p>
          <br />
          <a href="http://trac.sitecore.net/FieldTypes/wiki/FilteredMultiList">
            <img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="Filtered multilist" src="http://alexeyrusakov.com/sitecoreblog/content/binary/WindowsLiveWriter/SitecoreFieldTypesUpdateNewFieldBugfixes_100D6/image_3.png" width="593" height="254" />
          </a>
        </p>
        <p>
The field is contributed by Alexander Doroshenko from Sitecore Ukraine Solution Department
</p>
        <h3>Bugfixes
</h3>
        <p>
* Fixed external javascript references. If you saw javascript errors like "Sitecore.FieldTypes.TextList
is null or not an object" (or similar in other fields), this release fixes that. 
</p>
        <p>
* A few improvements to Text List
</p>
        <img width="0" height="0" src="http://alexeyrusakov.com/sitecoreblog/aggbug.ashx?id=4654bd64-232e-4ac3-9dc5-9adae29ea674" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/alexeyrusakov/sitecore/~4/xMYSnPPf0k0" height="1" width="1" /></body>
      <title>Sitecore FieldTypes Update - New Field, Bugfixes</title>
      <guid isPermaLink="false">http://alexeyrusakov.com/sitecoreblog/PermaLink,guid,4654bd64-232e-4ac3-9dc5-9adae29ea674.aspx</guid>
      <link>http://alexeyrusakov.com/sitecoreblog/2009/03/28/Sitecore+FieldTypes+Update+New+Field+Bugfixes.aspx</link>
      <pubDate>Sat, 28 Mar 2009 16:16:04 GMT</pubDate>
      <description>&lt;p&gt;
Another update to &lt;a href="http://trac.sitecore.net/FieldTypes"&gt;Sitecore FieldTypes
shared source project&lt;/a&gt;, featuring a new Filtered Multilist field and important
bugfixes for other fields.
&lt;/p&gt;
&lt;p&gt;
I've dropped the beta and decided to add sequential release numbers. This one is Drop-2.
&lt;/p&gt;
&lt;h3&gt;Filtered Multilist
&lt;/h3&gt;
&lt;p&gt;
Filtered Multilist is a modification of standard Sitecore multilist field, with inline
search for values in the left panel. Handy if you have multilist with a large amount
of selectable values.
&lt;/p&gt;
&lt;p&gt;
This is a simple drop-in replacement, you can change field type of existing multilist
fields to filtered multilist to benefit from the filter, without loosing any values. 
&lt;p&gt;
&lt;br&gt;
&lt;a href="http://trac.sitecore.net/FieldTypes/wiki/FilteredMultiList"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="Filtered multilist" src="http://alexeyrusakov.com/sitecoreblog/content/binary/WindowsLiveWriter/SitecoreFieldTypesUpdateNewFieldBugfixes_100D6/image_3.png" width="593" height="254"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
The field is contributed by Alexander Doroshenko from Sitecore Ukraine Solution Department
&lt;/p&gt;
&lt;h3&gt;Bugfixes
&lt;/h3&gt;
&lt;p&gt;
* Fixed external javascript references. If you saw javascript errors like "Sitecore.FieldTypes.TextList
is null or not an object" (or similar in other fields), this release fixes that. 
&lt;/p&gt;
&lt;p&gt;
* A few improvements to Text List
&lt;/p&gt;
&lt;img width="0" height="0" src="http://alexeyrusakov.com/sitecoreblog/aggbug.ashx?id=4654bd64-232e-4ac3-9dc5-9adae29ea674" /&gt;</description>
      <comments>http://alexeyrusakov.com/sitecoreblog/CommentView,guid,4654bd64-232e-4ac3-9dc5-9adae29ea674.aspx</comments>
      <category>Sitecore</category>
      <category>Sitecore/Crestone</category>
      <category>Sitecore/Open Source</category>
    </item>
    <item>
      <trackback:ping>http://alexeyrusakov.com/sitecoreblog/Trackback.aspx?guid=6b064e44-c9ab-4cc2-88fc-834658d684c2</trackback:ping>
      <pingback:server>http://alexeyrusakov.com/sitecoreblog/pingback.aspx</pingback:server>
      <pingback:target>http://alexeyrusakov.com/sitecoreblog/PermaLink,guid,6b064e44-c9ab-4cc2-88fc-834658d684c2.aspx</pingback:target>
      <dc:creator>Alexey Rusakov</dc:creator>
      <wfw:comment>http://alexeyrusakov.com/sitecoreblog/CommentView,guid,6b064e44-c9ab-4cc2-88fc-834658d684c2.aspx</wfw:comment>
      <wfw:commentRss>http://alexeyrusakov.com/sitecoreblog/SyndicationService.asmx/GetEntryCommentsRss?guid=6b064e44-c9ab-4cc2-88fc-834658d684c2</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://blogs.msdn.com/e7/archive/2009/03/17/designing-aero-snap.aspx">
            <img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" align="right" src="http://alexeyrusakov.com/sitecoreblog/content/binary/WindowsLiveWriter/Windows7AeroSnap_DBEA/image_3.png" width="244" height="226" />
          </a> I
love Aero Snap in Windows 7, and I've twittered about it before.
</p>
        <p>
But now Windows 7 team posted a <a href="http://blogs.msdn.com/e7/archive/2009/03/17/designing-aero-snap.aspx">fascinating
read about designing the Aero Snap</a>. Insightful and having some suspense: they've
considered dropping the feature before coming up with the snap and resize animations
I love the most.
</p>
        <p>
"Vertical Maximized" state is an excellent addition, and win+arrow keys keyboard shortcuts
look very useful, have to try them.
</p>
        <img width="0" height="0" src="http://alexeyrusakov.com/sitecoreblog/aggbug.ashx?id=6b064e44-c9ab-4cc2-88fc-834658d684c2" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/alexeyrusakov/sitecore/~4/CQX1wIuBYIc" height="1" width="1" /></body>
      <title>Windows 7 Aero Snap</title>
      <guid isPermaLink="false">http://alexeyrusakov.com/sitecoreblog/PermaLink,guid,6b064e44-c9ab-4cc2-88fc-834658d684c2.aspx</guid>
      <link>http://alexeyrusakov.com/sitecoreblog/2009/03/18/Windows+7+Aero+Snap.aspx</link>
      <pubDate>Wed, 18 Mar 2009 13:38:42 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://blogs.msdn.com/e7/archive/2009/03/17/designing-aero-snap.aspx"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" align="right" src="http://alexeyrusakov.com/sitecoreblog/content/binary/WindowsLiveWriter/Windows7AeroSnap_DBEA/image_3.png" width="244" height="226"&gt;&lt;/a&gt; I
love Aero Snap in Windows 7, and I've twittered about it before.
&lt;/p&gt;
&lt;p&gt;
But now Windows 7 team posted a &lt;a href="http://blogs.msdn.com/e7/archive/2009/03/17/designing-aero-snap.aspx"&gt;fascinating
read about designing the Aero Snap&lt;/a&gt;. Insightful and having some suspense: they've
considered dropping the feature before coming up with the snap and resize animations
I love the most.
&lt;/p&gt;
&lt;p&gt;
"Vertical Maximized" state is an excellent addition, and win+arrow keys keyboard shortcuts
look very useful, have to try them.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://alexeyrusakov.com/sitecoreblog/aggbug.ashx?id=6b064e44-c9ab-4cc2-88fc-834658d684c2" /&gt;</description>
      <comments>http://alexeyrusakov.com/sitecoreblog/CommentView,guid,6b064e44-c9ab-4cc2-88fc-834658d684c2.aspx</comments>
      <category>User Experience</category>
    </item>
    <item>
      <trackback:ping>http://alexeyrusakov.com/sitecoreblog/Trackback.aspx?guid=4c71dd5e-0a0e-4259-9b49-33206e9f3ce7</trackback:ping>
      <pingback:server>http://alexeyrusakov.com/sitecoreblog/pingback.aspx</pingback:server>
      <pingback:target>http://alexeyrusakov.com/sitecoreblog/PermaLink,guid,4c71dd5e-0a0e-4259-9b49-33206e9f3ce7.aspx</pingback:target>
      <dc:creator>Alexey Rusakov</dc:creator>
      <wfw:comment>http://alexeyrusakov.com/sitecoreblog/CommentView,guid,4c71dd5e-0a0e-4259-9b49-33206e9f3ce7.aspx</wfw:comment>
      <wfw:commentRss>http://alexeyrusakov.com/sitecoreblog/SyndicationService.asmx/GetEntryCommentsRss?guid=4c71dd5e-0a0e-4259-9b49-33206e9f3ce7</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Another new field type in the FieldTypes shared source project: introducing <a href="http://trac.sitecore.net/FieldTypes/wiki/TextList">Text
List</a>, a field for maintaining lists of predefined items with autocomplete and
drag &amp; drop reordering. Most people should be familiar with it by now.
</p>
        <p>
Selected items and adding a new item, autocomplete:
</p>
        <p>
          <img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="textlist autocomplete" src="http://alexeyrusakov.com/sitecoreblog/content/binary/WindowsLiveWriter/TextListField_132D0/textlist-autocomplete_5.png" width="447" height="286" />
        </p>
        <p>
Drag &amp; drop reordering:
</p>
        <p>
          <img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="textlist reorder" src="http://alexeyrusakov.com/sitecoreblog/content/binary/WindowsLiveWriter/TextListField_132D0/textlist-reorder_3.png" width="441" height="63" />
        </p>
        <p>
Text List field should be a good fit for maintaining a list of tags, email addresses
and such:
</p>
        <p>
          <img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="textlist tags" src="http://alexeyrusakov.com/sitecoreblog/content/binary/WindowsLiveWriter/TextListField_132D0/textlist-tags_3.png" width="498" height="160" />
        </p>
        <p>
While looking fairly different, it is a typical Sitecore list field, storing list
of selected item IDs and requiring source to prefetch a list of items to select from.
</p>
        <p>
          <a href="http://trac.sitecore.net/FieldTypes/wiki/TextList">More details on FieldTypes
wiki</a>.
</p>
        <p>
It took a bit of work, and some features could be missing - please report any issues.
</p>
        <img width="0" height="0" src="http://alexeyrusakov.com/sitecoreblog/aggbug.ashx?id=4c71dd5e-0a0e-4259-9b49-33206e9f3ce7" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/alexeyrusakov/sitecore/~4/70YDzBD4Wno" height="1" width="1" /></body>
      <title>Text List Field</title>
      <guid isPermaLink="false">http://alexeyrusakov.com/sitecoreblog/PermaLink,guid,4c71dd5e-0a0e-4259-9b49-33206e9f3ce7.aspx</guid>
      <link>http://alexeyrusakov.com/sitecoreblog/2009/03/14/Text+List+Field.aspx</link>
      <pubDate>Sat, 14 Mar 2009 19:49:32 GMT</pubDate>
      <description>&lt;p&gt;
Another new field type in the FieldTypes shared source project: introducing &lt;a href="http://trac.sitecore.net/FieldTypes/wiki/TextList"&gt;Text
List&lt;/a&gt;, a field for maintaining lists of predefined items with autocomplete and
drag &amp;amp; drop reordering. Most people should be familiar with it by now.
&lt;/p&gt;
&lt;p&gt;
Selected items and adding a new item, autocomplete:
&lt;/p&gt;
&lt;p&gt;
&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="textlist autocomplete" src="http://alexeyrusakov.com/sitecoreblog/content/binary/WindowsLiveWriter/TextListField_132D0/textlist-autocomplete_5.png" width="447" height="286"&gt; 
&lt;/p&gt;
&lt;p&gt;
Drag &amp;amp; drop reordering:
&lt;/p&gt;
&lt;p&gt;
&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="textlist reorder" src="http://alexeyrusakov.com/sitecoreblog/content/binary/WindowsLiveWriter/TextListField_132D0/textlist-reorder_3.png" width="441" height="63"&gt; 
&lt;/p&gt;
&lt;p&gt;
Text List field should be a good fit for maintaining a list of tags, email addresses
and such:
&lt;/p&gt;
&lt;p&gt;
&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="textlist tags" src="http://alexeyrusakov.com/sitecoreblog/content/binary/WindowsLiveWriter/TextListField_132D0/textlist-tags_3.png" width="498" height="160"&gt; 
&lt;/p&gt;
&lt;p&gt;
While looking fairly different, it is a typical Sitecore list field, storing list
of selected item IDs and requiring source to prefetch a list of items to select from.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://trac.sitecore.net/FieldTypes/wiki/TextList"&gt;More details on FieldTypes
wiki&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
It took a bit of work, and some features could be missing - please report any issues.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://alexeyrusakov.com/sitecoreblog/aggbug.ashx?id=4c71dd5e-0a0e-4259-9b49-33206e9f3ce7" /&gt;</description>
      <comments>http://alexeyrusakov.com/sitecoreblog/CommentView,guid,4c71dd5e-0a0e-4259-9b49-33206e9f3ce7.aspx</comments>
      <category>Sitecore</category>
      <category>Sitecore/Crestone</category>
      <category>Sitecore/Open Source</category>
    </item>
    <item>
      <trackback:ping>http://alexeyrusakov.com/sitecoreblog/Trackback.aspx?guid=f1143c0a-b0e1-4130-ab2c-0893320947d5</trackback:ping>
      <pingback:server>http://alexeyrusakov.com/sitecoreblog/pingback.aspx</pingback:server>
      <pingback:target>http://alexeyrusakov.com/sitecoreblog/PermaLink,guid,f1143c0a-b0e1-4130-ab2c-0893320947d5.aspx</pingback:target>
      <dc:creator>Alexey Rusakov</dc:creator>
      <wfw:comment>http://alexeyrusakov.com/sitecoreblog/CommentView,guid,f1143c0a-b0e1-4130-ab2c-0893320947d5.aspx</wfw:comment>
      <wfw:commentRss>http://alexeyrusakov.com/sitecoreblog/SyndicationService.asmx/GetEntryCommentsRss?guid=f1143c0a-b0e1-4130-ab2c-0893320947d5</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I've just commited a new field to the <a href="http://trac.sitecore.net/FieldTypes">FieldTypes
shared source project</a>: <a href="http://trac.sitecore.net/FieldTypes/wiki/LimitedSingleLineText">Limited
Single-line Text</a>.
</p>
        <p>
          <img title="Limited Single-line Text field" alt="Limited Single-line Text field" src="http://trac.sitecore.net/FieldTypes/attachment/wiki/LimitedSingleLineText/limitedtext.png?format=raw" />
        </p>
        <p>
          <img title="Limited Single-line Text field - over the limit" alt="Limited Single-line Text field - over the limit" src="http://trac.sitecore.net/FieldTypes/attachment/wiki/LimitedSingleLineText/overthelimit.png?format=raw" />
        </p>
        <p>
A modification of Single-line Text, that allows to limit its length and that displays
the amount of remaining characters. Can be configured to disallow further input once
the limit is reached.
</p>
        <p>
See <a href="http://trac.sitecore.net/FieldTypes/wiki/LimitedSingleLineText">project
wiki</a> for usage and configuration instructions.
</p>
        <p>
Inspired by <a href="http://sdn5.sitecore.net/sdn5/forum/showpost.aspx?PostID=14984">SDN
request</a> and <a href="http://twitter.com">twitter</a> input box.
</p>
        <img width="0" height="0" src="http://alexeyrusakov.com/sitecoreblog/aggbug.ashx?id=f1143c0a-b0e1-4130-ab2c-0893320947d5" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/alexeyrusakov/sitecore/~4/hxsxzrgUIU8" height="1" width="1" /></body>
      <title>Limited Single-line Text field</title>
      <guid isPermaLink="false">http://alexeyrusakov.com/sitecoreblog/PermaLink,guid,f1143c0a-b0e1-4130-ab2c-0893320947d5.aspx</guid>
      <link>http://alexeyrusakov.com/sitecoreblog/2009/03/07/Limited+Singleline+Text+Field.aspx</link>
      <pubDate>Sat, 07 Mar 2009 14:48:30 GMT</pubDate>
      <description>&lt;p&gt;
I've just commited a new field to the &lt;a href="http://trac.sitecore.net/FieldTypes"&gt;FieldTypes
shared source project&lt;/a&gt;: &lt;a href="http://trac.sitecore.net/FieldTypes/wiki/LimitedSingleLineText"&gt;Limited
Single-line Text&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;img title="Limited Single-line Text field" alt="Limited Single-line Text field" src="http://trac.sitecore.net/FieldTypes/attachment/wiki/LimitedSingleLineText/limitedtext.png?format=raw"&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img title="Limited Single-line Text field - over the limit" alt="Limited Single-line Text field - over the limit" src="http://trac.sitecore.net/FieldTypes/attachment/wiki/LimitedSingleLineText/overthelimit.png?format=raw"&gt;
&lt;/p&gt;
&lt;p&gt;
A modification of Single-line Text, that allows to limit its length and that displays
the amount of remaining characters. Can be configured to disallow further input once
the limit is reached.
&lt;/p&gt;
&lt;p&gt;
See &lt;a href="http://trac.sitecore.net/FieldTypes/wiki/LimitedSingleLineText"&gt;project
wiki&lt;/a&gt; for usage and configuration instructions.
&lt;/p&gt;
&lt;p&gt;
Inspired by &lt;a href="http://sdn5.sitecore.net/sdn5/forum/showpost.aspx?PostID=14984"&gt;SDN
request&lt;/a&gt; and &lt;a href="http://twitter.com"&gt;twitter&lt;/a&gt; input box.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://alexeyrusakov.com/sitecoreblog/aggbug.ashx?id=f1143c0a-b0e1-4130-ab2c-0893320947d5" /&gt;</description>
      <comments>http://alexeyrusakov.com/sitecoreblog/CommentView,guid,f1143c0a-b0e1-4130-ab2c-0893320947d5.aspx</comments>
      <category>Sitecore</category>
      <category>Sitecore/Open Source</category>
    </item>
    <item>
      <trackback:ping>http://alexeyrusakov.com/sitecoreblog/Trackback.aspx?guid=43779713-c05f-48fc-891b-ffad14a8ee9d</trackback:ping>
      <pingback:server>http://alexeyrusakov.com/sitecoreblog/pingback.aspx</pingback:server>
      <pingback:target>http://alexeyrusakov.com/sitecoreblog/PermaLink,guid,43779713-c05f-48fc-891b-ffad14a8ee9d.aspx</pingback:target>
      <dc:creator>Alexey Rusakov</dc:creator>
      <wfw:comment>http://alexeyrusakov.com/sitecoreblog/CommentView,guid,43779713-c05f-48fc-891b-ffad14a8ee9d.aspx</wfw:comment>
      <wfw:commentRss>http://alexeyrusakov.com/sitecoreblog/SyndicationService.asmx/GetEntryCommentsRss?guid=43779713-c05f-48fc-891b-ffad14a8ee9d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://sdn.sitecore.net/SDN5/Products/Sitecore%20V5/Sitecore%20CMS%206/Update/6_0_1_rev_090212.aspx">Sitecore
6 Service Release One</a> is officially out by the name of Sitecore 6.0.1 rev.090212.
</p>
        <p>
          <a href="http://sdn.sitecore.net/Products/Sitecore%20V5/Sitecore%20CMS%206/ReleaseNotes/ChangeLog.aspx">A
massive list of fixed issues</a>, props to our documentation team for providing nicely
formatted change log.
</p>
        <p>
I've done my share of work on it, so I'm just as excited to see it being released. <a href="http://sdn.sitecore.net/SDN5/Products/Sitecore%20V5/Sitecore%20CMS%206/Update/6_0_1_rev_090212.aspx">Yay</a>! 
</p>
        <p>
This is not a recommended release yet, as we require builds to be used in production
for some time to ensure stability first. So make sure to read this notice: <em>It
is appropriate for use if it contains fixes for issues that you encounter with the
recommended release.</em></p>
        <img width="0" height="0" src="http://alexeyrusakov.com/sitecoreblog/aggbug.ashx?id=43779713-c05f-48fc-891b-ffad14a8ee9d" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/alexeyrusakov/sitecore/~4/wVmR7I-hqDc" height="1" width="1" /></body>
      <title>Sitecore 6 Service Release 1 is Out</title>
      <guid isPermaLink="false">http://alexeyrusakov.com/sitecoreblog/PermaLink,guid,43779713-c05f-48fc-891b-ffad14a8ee9d.aspx</guid>
      <link>http://alexeyrusakov.com/sitecoreblog/2009/02/19/Sitecore+6+Service+Release+1+Is+Out.aspx</link>
      <pubDate>Thu, 19 Feb 2009 13:34:20 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://sdn.sitecore.net/SDN5/Products/Sitecore%20V5/Sitecore%20CMS%206/Update/6_0_1_rev_090212.aspx"&gt;Sitecore
6 Service Release One&lt;/a&gt; is officially out by the name of Sitecore 6.0.1 rev.090212.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://sdn.sitecore.net/Products/Sitecore%20V5/Sitecore%20CMS%206/ReleaseNotes/ChangeLog.aspx"&gt;A
massive list of fixed issues&lt;/a&gt;, props to our documentation team for providing nicely
formatted change log.
&lt;/p&gt;
&lt;p&gt;
I've done my share of work on it, so I'm just as excited to see it being released. &lt;a href="http://sdn.sitecore.net/SDN5/Products/Sitecore%20V5/Sitecore%20CMS%206/Update/6_0_1_rev_090212.aspx"&gt;Yay&lt;/a&gt;! 
&lt;/p&gt;
&lt;p&gt;
This is not a recommended release yet, as we require builds to be used in production
for some time to ensure stability first. So make sure to read this notice: &lt;em&gt;It
is appropriate for use if it contains fixes for issues that you encounter with the
recommended release.&lt;/em&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://alexeyrusakov.com/sitecoreblog/aggbug.ashx?id=43779713-c05f-48fc-891b-ffad14a8ee9d" /&gt;</description>
      <comments>http://alexeyrusakov.com/sitecoreblog/CommentView,guid,43779713-c05f-48fc-891b-ffad14a8ee9d.aspx</comments>
      <category>Sitecore</category>
      <category>Sitecore/Crestone</category>
    </item>
    <item>
      <trackback:ping>http://alexeyrusakov.com/sitecoreblog/Trackback.aspx?guid=e1807be8-feeb-4fa1-8b1f-19f5338b33c5</trackback:ping>
      <pingback:server>http://alexeyrusakov.com/sitecoreblog/pingback.aspx</pingback:server>
      <pingback:target>http://alexeyrusakov.com/sitecoreblog/PermaLink,guid,e1807be8-feeb-4fa1-8b1f-19f5338b33c5.aspx</pingback:target>
      <dc:creator>Alexey Rusakov</dc:creator>
      <wfw:comment>http://alexeyrusakov.com/sitecoreblog/CommentView,guid,e1807be8-feeb-4fa1-8b1f-19f5338b33c5.aspx</wfw:comment>
      <wfw:commentRss>http://alexeyrusakov.com/sitecoreblog/SyndicationService.asmx/GetEntryCommentsRss?guid=e1807be8-feeb-4fa1-8b1f-19f5338b33c5</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://ysdevlog.blogspot.com/">Yan Sklyarenko started his Sitecore blog</a>,
which is great. 
</p>
        <p>
Yan is the leader of our modules team, overseeing everything concerning Sitecore module
development. He's also been working on our installer, among other things, and is a
generally nice guy, which is good for me, because my desk is next to his in Sitecore
Ukraine office. Welcome!
</p>
        <img width="0" height="0" src="http://alexeyrusakov.com/sitecoreblog/aggbug.ashx?id=e1807be8-feeb-4fa1-8b1f-19f5338b33c5" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/alexeyrusakov/sitecore/~4/Sa6zfQI9eps" height="1" width="1" /></body>
      <title>New Sitecore blog - Yan Sklyarenko</title>
      <guid isPermaLink="false">http://alexeyrusakov.com/sitecoreblog/PermaLink,guid,e1807be8-feeb-4fa1-8b1f-19f5338b33c5.aspx</guid>
      <link>http://alexeyrusakov.com/sitecoreblog/2009/01/19/New+Sitecore+Blog+Yan+Sklyarenko.aspx</link>
      <pubDate>Mon, 19 Jan 2009 10:44:01 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://ysdevlog.blogspot.com/"&gt;Yan Sklyarenko started his Sitecore blog&lt;/a&gt;,
which is great. 
&lt;/p&gt;
&lt;p&gt;
Yan is the leader of our modules team, overseeing everything concerning Sitecore module
development. He's also been working on our installer, among other things, and is a
generally nice guy, which is good for me, because my desk is next to his in Sitecore
Ukraine office. Welcome!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://alexeyrusakov.com/sitecoreblog/aggbug.ashx?id=e1807be8-feeb-4fa1-8b1f-19f5338b33c5" /&gt;</description>
      <comments>http://alexeyrusakov.com/sitecoreblog/CommentView,guid,e1807be8-feeb-4fa1-8b1f-19f5338b33c5.aspx</comments>
      <category>Personal</category>
      <category>Sitecore</category>
    </item>
    <item>
      <trackback:ping>http://alexeyrusakov.com/sitecoreblog/Trackback.aspx?guid=baa86aad-6c7d-432f-b4df-d7052889c421</trackback:ping>
      <pingback:server>http://alexeyrusakov.com/sitecoreblog/pingback.aspx</pingback:server>
      <pingback:target>http://alexeyrusakov.com/sitecoreblog/PermaLink,guid,baa86aad-6c7d-432f-b4df-d7052889c421.aspx</pingback:target>
      <dc:creator>Alexey Rusakov</dc:creator>
      <wfw:comment>http://alexeyrusakov.com/sitecoreblog/CommentView,guid,baa86aad-6c7d-432f-b4df-d7052889c421.aspx</wfw:comment>
      <wfw:commentRss>http://alexeyrusakov.com/sitecoreblog/SyndicationService.asmx/GetEntryCommentsRss?guid=baa86aad-6c7d-432f-b4df-d7052889c421</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Sitecore has a number of ways to reference an item. Most common are ID and path, and
most methods will accept either System.String or Sitecore.Data.ID parameter.
</p>
        <pre>Item item = Context.Database.GetItem("/sitecore/content/somepath");
Item item = Context.Database.GetITem(ID.Parse("{11111111-1111-1111-1111111111111111"});</pre>
        <p>
Our internal convention is that the ID can be used instead of path. You can supply
the id as a string to methods that expect a path:
</p>
        <pre>Item item = Context.Database.GetItem("{11111111-1111-1111-1111111111111111"}");</pre>
        <p>
However you have to remember that neither path nor ID identify a piece of content
in a unique way. Because Sitecore supports versions and multiple languages, a single
item can have 3 versions in English and 2 in Danish. If you only use path or ID when
retrieving items, you will get the latest version in the current (Sitecore.Context.Language)
language.
</p>
        <p>
Sometimes you need to be specific, so the GetItem() methods have overloads allowing
to specify language and version:
</p>
        <pre>Item item = Context.Database.GetItem("/some/path", Language.Parse("en"), Version.Parse(2));</pre>
        <p>
Items can also come from different databases. Notice that I have been using the context
database in the above examples, which depends on the current site and Sitecore configuration.
</p>
        <p>
To identify an item, or rather a version, in a unique way, Sitecore has an ItemUri
class. ItemUri is an ID or path, language, version and database name bundled together,
as well as a number of convenience methods. This is how it looks like:
</p>
        <pre>// get the item URI
ItemUri uri = Context.Item.Uri;

// string representation
string uriString = uri.ToString() -&gt; "sitecore://master/{110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}?lang=en&amp;ver=1"

// parsing a string
uri = ItemUri.Parse(uriString);

// get an item by URI. Static Database.GetItem method can be used because URI includes database name.
Item item = Database.GetItem(uri);
</pre>
        <p>
There is a reason why paths or IDs remain most common ways to reference an item -
usually it is a good thing that code adapts to current context and configuration.
For some less typical Sitecore tasks, URIs can be handy.
</p>
        <img width="0" height="0" src="http://alexeyrusakov.com/sitecoreblog/aggbug.ashx?id=baa86aad-6c7d-432f-b4df-d7052889c421" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/alexeyrusakov/sitecore/~4/WKr_Ra0MWkY" height="1" width="1" /></body>
      <title>Item IDs, Paths and URIs in Sitecore</title>
      <guid isPermaLink="false">http://alexeyrusakov.com/sitecoreblog/PermaLink,guid,baa86aad-6c7d-432f-b4df-d7052889c421.aspx</guid>
      <link>http://alexeyrusakov.com/sitecoreblog/2009/01/14/Item+IDs+Paths+And+URIs+In+Sitecore.aspx</link>
      <pubDate>Wed, 14 Jan 2009 11:07:50 GMT</pubDate>
      <description>&lt;p&gt;
Sitecore has a number of ways to reference an item. Most common are ID and path, and
most methods will accept either System.String or Sitecore.Data.ID parameter.
&lt;/p&gt;
&lt;pre&gt;Item item = Context.Database.GetItem("/sitecore/content/somepath");
Item item = Context.Database.GetITem(ID.Parse("{11111111-1111-1111-1111111111111111"});&lt;/pre&gt;
&lt;p&gt;
Our internal convention is that the ID can be used instead of path. You can supply
the id as a string to methods that expect a path:
&lt;/p&gt;
&lt;pre&gt;Item item = Context.Database.GetItem("{11111111-1111-1111-1111111111111111"}");&lt;/pre&gt;
&lt;p&gt;
However you have to remember that neither path nor ID identify a piece of content
in a unique way. Because Sitecore supports versions and multiple languages, a single
item can have 3 versions in English and 2 in Danish. If you only use path or ID when
retrieving items, you will get the latest version in the current (Sitecore.Context.Language)
language.
&lt;/p&gt;
&lt;p&gt;
Sometimes you need to be specific, so the GetItem() methods have overloads allowing
to specify language and version:
&lt;/p&gt;
&lt;pre&gt;Item item = Context.Database.GetItem("/some/path", Language.Parse("en"), Version.Parse(2));&lt;/pre&gt;
&lt;p&gt;
Items can also come from different databases. Notice that I have been using the context
database in the above examples, which depends on the current site and Sitecore configuration.
&lt;/p&gt;
&lt;p&gt;
To identify an item, or rather a version, in a unique way, Sitecore has an ItemUri
class. ItemUri is an ID or path, language, version and database name bundled together,
as well as a number of convenience methods. This is how it looks like:
&lt;/p&gt;
&lt;pre&gt;// get the item URI
ItemUri uri = Context.Item.Uri;

// string representation
string uriString = uri.ToString() -&amp;gt; "sitecore://master/{110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}?lang=en&amp;amp;ver=1"

// parsing a string
uri = ItemUri.Parse(uriString);

// get an item by URI. Static Database.GetItem method can be used because URI includes database name.
Item item = Database.GetItem(uri);
&lt;/pre&gt;
&lt;p&gt;
There is a reason why paths or IDs remain most common ways to reference an item -
usually it is a good thing that code adapts to current context and configuration.
For some less typical Sitecore tasks, URIs can be handy.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://alexeyrusakov.com/sitecoreblog/aggbug.ashx?id=baa86aad-6c7d-432f-b4df-d7052889c421" /&gt;</description>
      <comments>http://alexeyrusakov.com/sitecoreblog/CommentView,guid,baa86aad-6c7d-432f-b4df-d7052889c421.aspx</comments>
      <category>Sitecore</category>
    </item>
  </channel>
</rss>
