<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Igor Philippov&#039;s Technical Blog</title>
	<atom:link href="http://philippov.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://philippov.wordpress.com</link>
	<description></description>
	<lastBuildDate>Sat, 05 Mar 2011 13:15:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='philippov.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/120eb49ad3c3baf771c277a00a13f56e?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Igor Philippov&#039;s Technical Blog</title>
		<link>http://philippov.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://philippov.wordpress.com/osd.xml" title="Igor Philippov&#039;s Technical Blog" />
	<atom:link rel='hub' href='http://philippov.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Linq 2 SharePoint DateTime problem</title>
		<link>http://philippov.wordpress.com/2010/08/12/linq-2-sharepoint-datetime-problem/</link>
		<comments>http://philippov.wordpress.com/2010/08/12/linq-2-sharepoint-datetime-problem/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 08:10:00 +0000</pubDate>
		<dc:creator>Igor Philippov</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[linq]]></category>
		<category><![CDATA[sharepoint foundation]]></category>
		<category><![CDATA[sps]]></category>

		<guid isPermaLink="false">https://philippov.wordpress.com/2010/08/12/linq-2-sharepoint-datetime-problem/</guid>
		<description><![CDATA[Как всем давно известно, MS добавили в SharePoint компоненты для автоматизации генерации CAML-запросов. В суровой и полной опасностей жизни разработчика решений на SharePoint врят ли найдется что-то столь же сильно согревающее душу, как сборка Microsoft.SharePoint.Linq.dll. Инструментарий, заключенный в ней сохраняет силы, физическое и психологическое здоровье разработчика решений на SharePoint примерно так же эффективно, как пинта [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philippov.wordpress.com&amp;blog=12677939&amp;post=92&amp;subd=philippov&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://philippov.wordpress.com/2010/04/07/sharepoint-2010-linq/">Как всем давно известно</a>, MS добавили в SharePoint компоненты для автоматизации генерации CAML-запросов. В суровой и полной опасностей жизни разработчика решений на SharePoint врят ли найдется что-то столь же сильно согревающее душу, как сборка <strong>Microsoft.SharePoint.Linq.dll</strong>. Инструментарий, заключенный в ней сохраняет силы, физическое и психологическое здоровье разработчика решений на SharePoint примерно так же эффективно, как пинта хорошего стаута в наше непростое время.</p>
<p>Тем ужаснее было обнаружить, что функционал, на который ты полагался, как на своего лучшего друга, буквально воткнул тебе нож в спину.</p>
<p>Ближе к делу. Предположим, что часть нашего решения описана следующим кодом:</p>
<p><font size="2" face="Courier New">return this.MyIncompletedTasks      <br />&#160; .Where(t =&gt; t.Deadline &lt; DateTime.Now).ToList(); </font></p>
<p>Не вдаваясь в подробности, тут мы выводим список просроченных задач для текущего пользователя (исполнителя).</p>
<p>И вот какой CAML-запрос нам генерирует <strong>DataContext</strong> (его существенная для дальнейшего обсуждения часть):</p>
<p><font size="2" face="Courier New">&lt;Where&gt;      <br />&#160; &lt;And&gt;       <br />&#160;&#160;&#160; &lt;And&gt;       <br />&#160;&#160;&#160;&#160;&#160; &lt;BeginsWith&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;FieldRef Name=&quot;ContentTypeId&quot; /&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Value Type=&quot;ContentTypeId&quot;&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0x0100BD4F0AA735D045489D088CAD29AAE25E00       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/Value&gt;       <br />&#160;&#160;&#160;&#160;&#160; &lt;/BeginsWith&gt;       <br />&#160;&#160;&#160;&#160;&#160; &lt;Eq&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;FieldRef Name=&quot;Performer&quot; LookupId=&quot;TRUE&quot; /&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Value Type=&quot;User&quot;&gt;1&lt;/Value&gt;       <br />&#160;&#160;&#160;&#160;&#160; &lt;/Eq&gt;       <br />&#160;&#160;&#160; &lt;/And&gt;       <br />&#160;&#160;&#160; &lt;Lt&gt;       <br />&#160;&#160;&#160;&#160;&#160; &lt;FieldRef Name=&quot;EndDate&quot; IncludeTimeValue=&quot;TRUE&quot; /&gt;       <br />&#160;&#160;&#160;&#160;&#160; &lt;Value Type=&quot;DateTime&quot;&gt;2010-08-11T17:24:22Z&lt;/Value&gt;       <br />&#160;&#160;&#160; &lt;/Lt&gt;       <br />&#160; &lt;/And&gt;       <br />&lt;/Where&gt;</font></p>
<p>Обращаю внимание читателя на атрибут <strong>IncludeTimeValue</strong>. Исходя из названия которого легко сделать вывод о том, что в запросе будет учитываться не только значение даты, но и значение времени. Однако этого не происходит, сравниваются именно даты и полностью игнорируется время. Как нетрудно догадаться, коллеги из MS забыли засунуть этот же атрибут в элемент <strong>Value</strong>. Чтобы все заработало, нужно было сделать так:</p>
<p><font size="2" face="Courier New">&lt;Lt&gt;      <br />&#160; &lt;FieldRef Name=&quot;EndDate&quot; IncludeTimeValue=&quot;TRUE&quot; /&gt;       <br />&#160; &lt;Value Type=&quot;DateTime&quot; IncludeTimeValue=&quot;TRUE&quot;&gt;2010-08-11T17:24:22Z&lt;/Value&gt;       <br />&lt;/Lt&gt;</font></p>
<p>Немного покрутив рефлектор, можно найти код, ответственный за формирование элемента <strong>Value</strong>. Этим занимается метод <strong>SetValue</strong> класса <strong>Microsoft.SharePoint.Linq.SPDataQuery</strong>. Вот его код (жирным курсивом выделены мои правки, позволяющие исправить проблемы с временем):</p>
<p><font size="2" face="Courier New">string str;      <br />switch (field.FieldType)       <br />{       <br />&#160; case SPDataFieldType.DateTime:       <br />&#160;&#160;&#160; str = SPUtility.CreateISO8601DateTimeFromSystemDateTime(       <br />&#160;&#160;&#160;&#160;&#160; (DateTime)value);       <br />&#160;&#160;&#160; break;       <br />&#160; case SPDataFieldType.Boolean:       <br />&#160; case SPDataFieldType.Attachments:       <br />&#160; case SPDataFieldType.Recurrence:       <br />&#160; case SPDataFieldType.CrossProjectLink:       <br />&#160; case SPDataFieldType.AllDayEvent:       <br />&#160;&#160;&#160; str = ((bool)value) ? &quot;1&quot; : &quot;0&quot;;       <br />&#160;&#160;&#160; break;&#160; <br />&#160; default:       <br />&#160;&#160;&#160; str = value.ToString();       <br />&#160;&#160;&#160; break;       <br />}       <br />xwriter.WriteStartElement(&quot;Value&quot;);       <br />xwriter.WriteAttributeString(&quot;Type&quot;, JoinPath.IsValidJoinPath(field.JoinPath) ? &quot;Lookup&quot; : field.FieldType.ToString());       <br /></font><font size="2"><font face="Courier New"><strong><em>if (field.FieldType == SPDataFieldType.DateTime)            <br />{             <br />&#160; xwriter.WriteAttributeString(&quot;IncludeTimeValue&quot;, &quot;TRUE&quot;);             <br />}             <br /></em></strong>xwriter.WriteValue(str);         <br />xwriter.WriteEndElement();         <br /></font></font></p>
<p>&#160; </p>
<p>Уважаемые разработчики компонента Microsoft.SharePoint.Linq.dll! Оторвитесь от просмотра любимого сериала, катания на велосипеде, лежания на пляже с бокалом коктейля и допишите, наконец-то 4 строчки кода! Общественность негодует и требует от вас исправления этой пусть небольшой, но крайне досадной проблемы. </p>
<p>Ну, пожааааалуйста, нам очень надо…</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/philippov.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/philippov.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/philippov.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/philippov.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/philippov.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/philippov.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/philippov.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/philippov.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/philippov.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/philippov.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/philippov.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/philippov.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/philippov.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/philippov.wordpress.com/92/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philippov.wordpress.com&amp;blog=12677939&amp;post=92&amp;subd=philippov&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://philippov.wordpress.com/2010/08/12/linq-2-sharepoint-datetime-problem/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/73aff7c428725a3419fee10836f96fc2?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">philippov</media:title>
		</media:content>
	</item>
		<item>
		<title>Sharepoint 2010: Metadata and Taxonomy (Part 8). Enable metadata navigation on Enterprise Wiki</title>
		<link>http://philippov.wordpress.com/2010/07/06/sharepoint-2010-metadata-and-taxonomy-part-8-enable-metadata-navigation-on-enterprise-wiki/</link>
		<comments>http://philippov.wordpress.com/2010/07/06/sharepoint-2010-metadata-and-taxonomy-part-8-enable-metadata-navigation-on-enterprise-wiki/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 10:06:00 +0000</pubDate>
		<dc:creator>Igor Philippov</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[masterpages]]></category>
		<category><![CDATA[metadata]]></category>
		<category><![CDATA[metadata navigation]]></category>
		<category><![CDATA[sharepoint designer]]></category>
		<category><![CDATA[sps]]></category>
		<category><![CDATA[v4.master]]></category>

		<guid isPermaLink="false">https://philippov.wordpress.com/2010/07/06/sharepoint-2010-metadata-and-taxonomy-part-8-enable-metadata-navigation-on-enterprise-wiki/</guid>
		<description><![CDATA[1, 2, 3, 4, 5, 6, 7 Микрософт по какой-то причине отключил возможность использования навигации при помощи метаданных по списку страниц в корпоративной вики (Enterprise Wiki). Однако ее можно заставить работать. Для этого нужно: Перейти в свойства списка (адрес списка: http://&#60;путь_до_узла&#62;/Pages/Forms/AllItems.aspx). В адресной строке заменить listedit.aspx на MetaNavSettings.aspx. Добавить необходимые поля и сохраниться. Открыть в [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philippov.wordpress.com&amp;blog=12677939&amp;post=88&amp;subd=philippov&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://philippov.wordpress.com/2010/03/20/sharepoint-2010-metadata-and-taxonomy-part-1/">1</a>, <a href="http://philippov.wordpress.com/2010/03/22/sharepoint-2010-metadata-and-taxonomy-part-2-programmatically-create-terms-hierarchy/">2</a>, <a href="http://philippov.wordpress.com/2010/03/23/sharepoint-2010-metadata-and-taxonomy-part-3-programmatically-create-taxonomyfield/">3</a>, <a href="http://philippov.wordpress.com/2010/03/30/sharepoint-2010-metadata-and-taxonomy-part-4-programmatically-enable-list-metadata-navigation/">4</a>, <a href="https://philippov.wordpress.com/2010/04/13/sharepoint-2010-metadata-and-taxonomy-part-5-programmatically-fill-taxonomyfield/">5</a>, <a href="https://philippov.wordpress.com/2010/05/04/sharepoint-2010-metadata-and-taxonomy-part-6-i-like-it/">6</a>, <a href="https://philippov.wordpress.com/2010/06/14/sharepoint-2010-metadata-and-taxonomy-part-7-programmatically-enable-enterprise-metadata-and-keywords-settings-options/">7</a></p>
<p>Микрософт по какой-то причине отключил возможность использования навигации при помощи метаданных по списку страниц в корпоративной вики (<strong>Enterprise Wiki</strong>). Однако ее можно заставить работать. Для этого нужно:</p>
<ol>
<li>Перейти в свойства списка (адрес списка: http://&lt;путь_до_узла&gt;/Pages/Forms/AllItems.aspx). </li>
<li>В адресной строке заменить <strong>listedit.aspx</strong> на <strong>MetaNavSettings.aspx</strong>. </li>
<li>Добавить необходимые поля и сохраниться. </li>
<li>Открыть в Sharepoint Designer узел и немного поправить <strong>v4.master</strong>: добавить ссылку на контрол отображения навигации: <font face="Courier New"><font size="2"><strong>&lt;%@ Register TagPrefix=&quot;wssuc&quot; TagName=&quot;MetadataNavTree&quot; src=&quot;~/_controltemplates/MetadataNavTree.ascx&quot; %&gt;</strong><font face="Verdana"> и сам контрол: <font face="Courier New"><strong>&lt;wssuc:MetadataNavTree id=&quot;mdnt&quot; runat=&quot;server&quot; /&gt;</strong></font>.</font></font></font> Сохраняем. </li>
<li>Открываем контекстное меню для измененного<strong> v4.master</strong> и выбираем <strong>Set as Default Master Page</strong>. </li>
<li>Результат: </li>
</ol>
<p><a href="http://philippov.files.wordpress.com/2010/07/image.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://philippov.files.wordpress.com/2010/07/image_thumb.png?w=644&#038;h=465" width="644" height="465" /></a></p>
<p>&#160;</p>
<p><strong>UPD</strong>: как мне подсказывают в комментах существует менее варварский способ для достижения этого результата: нужно просто активировать соответствующую фичу :)</p>
<p>Ну да ладно, может быть кому-нибудь будет полезен сам способ решения проблемы.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/philippov.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/philippov.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/philippov.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/philippov.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/philippov.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/philippov.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/philippov.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/philippov.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/philippov.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/philippov.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/philippov.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/philippov.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/philippov.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/philippov.wordpress.com/88/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philippov.wordpress.com&amp;blog=12677939&amp;post=88&amp;subd=philippov&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://philippov.wordpress.com/2010/07/06/sharepoint-2010-metadata-and-taxonomy-part-8-enable-metadata-navigation-on-enterprise-wiki/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/73aff7c428725a3419fee10836f96fc2?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">philippov</media:title>
		</media:content>

		<media:content url="http://philippov.files.wordpress.com/2010/07/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>SharePoint 2010: Programmatically configure column default value settings</title>
		<link>http://philippov.wordpress.com/2010/06/16/sharepoint-2010-programmatically-configure-column-default-value-settings/</link>
		<comments>http://philippov.wordpress.com/2010/06/16/sharepoint-2010-programmatically-configure-column-default-value-settings/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 19:51:00 +0000</pubDate>
		<dc:creator>Igor Philippov</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[document library]]></category>
		<category><![CDATA[metadata defaults]]></category>
		<category><![CDATA[splist]]></category>
		<category><![CDATA[sps]]></category>

		<guid isPermaLink="false">https://philippov.wordpress.com/2010/06/16/sharepoint-2010-programmatically-configure-column-default-value-settings/</guid>
		<description><![CDATA[Еще одна новая фича 2010го SharePoint’а — возможность задать значения по-умолчанию для полей карточки документа в зависимости от того в какой папке лежит документ. По-русски ссылка называется Параметры значений по умолчанию для столбцов. Для примера я создал 2 столбца типа число и текст: Document number и Document Date. Кстати, фича не поддерживает TaxonomyField, что весьма [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philippov.wordpress.com&amp;blog=12677939&amp;post=85&amp;subd=philippov&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Еще одна новая фича 2010го SharePoint’а — возможность задать значения по-умолчанию для полей карточки документа в зависимости от того в какой папке лежит документ.</p>
<p><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://philippov.files.wordpress.com/2010/06/image1.png?w=545&#038;h=485" width="545" height="485" /> </p>
<p>По-русски ссылка называется <strong>Параметры значений по умолчанию для столбцов</strong>. Для примера я создал 2 столбца типа число и текст: <strong>Document number</strong> и <strong>Document Date</strong>. </p>
<p><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://philippov.files.wordpress.com/2010/06/image2.png?w=790&#038;h=640" width="790" height="640" /> </p>
<p>Кстати, фича не поддерживает <strong>TaxonomyField</strong>, что весьма печально :(.</p>
<p>Задаются значения очень просто, к счастью, нам не нужно <a href="https://philippov.wordpress.com/2010/06/14/sharepoint-2010-metadata-and-taxonomy-part-7-programmatically-enable-enterprise-metadata-and-keywords-settings-options/">как в прошлый раз</a> химичить с рефлексией. Все что необходимо — класс <strong>MetadataDefaults</strong> из сборки <strong>Microsoft.Office.DocumentManagement.dll</strong>:</p>
<p><font size="2" face="Courier New">using (SPSite site = new SPSite(&quot;</font><a href="http://localhost&quot;))"><font size="2" face="Courier New">http://localhost&quot;))</font></a>     <br /><font size="2" face="Courier New">{      <br />&#160; SPWeb web = site.OpenWeb();       <br />&#160; SPList list = web.Lists[&quot;Shared Documents&quot;]; </font></p>
<p><font size="2" face="Courier New">&#160; MetadataDefaults defaults = new MetadataDefaults(list);      <br />&#160; defaults.RemoveAllDefaults();       <br />&#160; defaults.SetFieldDefault(list.RootFolder,       <br />&#160;&#160;&#160; &quot;Document_x0020_number&quot;, 500.ToString());       <br />&#160; defaults.SetFieldDefault(list.RootFolder,       <br />&#160;&#160;&#160; &quot;Document_x0020_Date&quot;,       <br />&#160;&#160;&#160; SPUtility.CreateISO8601DateTimeFromSystemDateTime(      <br />&#160;&#160;&#160;&#160;&#160; new DateTime(2010, 6, 16)));       <br />&#160; defaults.Update();       <br />}</font></p>
</p>
<p>Здесь применяются значения по-умолчанию для корневой папки библиотеки документов <strong>Shared Documents</strong>. В качестве имени поля нужно передавать его <strong>InternalName</strong>. Дату следует передавать в формате ISO8601 строкой, иначе страница будет падать :).</p>
<p>Выполнив этот нехитрый код, мы получим:</p>
<p><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://philippov.files.wordpress.com/2010/06/image3.png?w=790&#038;h=641" width="790" height="641" /> </p>
<p>Свежезагруженный документ будет с заполненной карточкой.</p>
<p>Кроме того, у класса <strong>MetadataDefaults</strong> есть метод <strong>ApplyDefaults</strong>, которое в качестве параметра принимает <strong>SPListItem</strong>. Думаю, назначение этого расчудесного метода не требует комментариев :). Применяется он так:</p>
<p><font size="2" face="Courier New">SPListItem item = list.GetItemById(1);      <br />MetadataDefaults defaults = new MetadataDefaults(list);       <br />defaults.ApplyDefaults(item);       <br />item.Update();</font></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/philippov.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/philippov.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/philippov.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/philippov.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/philippov.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/philippov.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/philippov.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/philippov.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/philippov.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/philippov.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/philippov.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/philippov.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/philippov.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/philippov.wordpress.com/85/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philippov.wordpress.com&amp;blog=12677939&amp;post=85&amp;subd=philippov&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://philippov.wordpress.com/2010/06/16/sharepoint-2010-programmatically-configure-column-default-value-settings/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/73aff7c428725a3419fee10836f96fc2?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">philippov</media:title>
		</media:content>

		<media:content url="http://philippov.files.wordpress.com/2010/06/image1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://philippov.files.wordpress.com/2010/06/image2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://philippov.files.wordpress.com/2010/06/image3.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>SharePoint 2010: Metadata and Taxonomy (Part 7). Programmatically enable &#8220;Enterprise Metadata and Keywords Settings&#8221; options.</title>
		<link>http://philippov.wordpress.com/2010/06/14/sharepoint-2010-metadata-and-taxonomy-part-7-programmatically-enable-enterprise-metadata-and-keywords-settings-options/</link>
		<comments>http://philippov.wordpress.com/2010/06/14/sharepoint-2010-metadata-and-taxonomy-part-7-programmatically-enable-enterprise-metadata-and-keywords-settings-options/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 20:57:40 +0000</pubDate>
		<dc:creator>Igor Philippov</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[metadata]]></category>
		<category><![CDATA[reflection]]></category>
		<category><![CDATA[splist]]></category>
		<category><![CDATA[sps]]></category>
		<category><![CDATA[taxonomy]]></category>

		<guid isPermaLink="false">https://philippov.wordpress.com/2010/06/14/sharepoint-2010-metadata-and-taxonomy-part-7-programmatically-enable-enterprise-metadata-and-keywords-settings-options/</guid>
		<description><![CDATA[Предыдущие серии уже надоевшего всем сериала про метаданные тут, тут, тут, тут, тут, и тут. Несмотря на адскую жару, по заявкам трудящихся, публикую воркэраунд как можно программно активировать опции в разделе “Enterprise Metadata and Keywords Settings” (или, говоря по-русски, “Параметры корпоративных метаданных и ключевых слов”): &#160; Как выяснилось, Микрософт зачем-то захотели засекретить программную работу с [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philippov.wordpress.com&amp;blog=12677939&amp;post=79&amp;subd=philippov&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Предыдущие серии уже надоевшего всем сериала про метаданные <a href="http://philippov.wordpress.com/2010/03/20/sharepoint-2010-metadata-and-taxonomy-part-1/">тут</a>, <a href="http://philippov.wordpress.com/2010/03/22/sharepoint-2010-metadata-and-taxonomy-part-2-programmatically-create-terms-hierarchy/">тут</a>, <a href="http://philippov.wordpress.com/2010/03/23/sharepoint-2010-metadata-and-taxonomy-part-3-programmatically-create-taxonomyfield/">тут</a>, <a href="http://philippov.wordpress.com/2010/03/30/sharepoint-2010-metadata-and-taxonomy-part-4-programmatically-enable-list-metadata-navigation/">тут</a>, <a href="https://philippov.wordpress.com/2010/04/13/sharepoint-2010-metadata-and-taxonomy-part-5-programmatically-fill-taxonomyfield/">тут</a>, и <a href="https://philippov.wordpress.com/2010/05/04/sharepoint-2010-metadata-and-taxonomy-part-6-i-like-it/">тут</a>.</p>
<p>Несмотря на адскую жару, по заявкам трудящихся, публикую воркэраунд как можно программно активировать опции в разделе “<strong>Enterprise Metadata and Keywords Settings</strong>” (или, говоря по-русски, “<strong>Параметры корпоративных метаданных и ключевых слов</strong>”):</p>
<p><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://philippov.files.wordpress.com/2010/06/image.png?w=882&#038;h=461" width="882" height="461" /></p>
<p>&#160;</p>
<p>Как выяснилось, Микрософт зачем-то захотели засекретить программную работу с этими настройками. Не очень умно :(. А что если надо взять и применить эти настройки ко всем спискам определенного типа на всех узлах определенного шаблона? Не будем унывать, ведь у нас есть Reflection! Пишем несложный код (я для примера использую библиотеку документов “<strong>Shared Documents</strong>”):</p>
<p><font size="2" face="Courier New">using (SPSite site = new SPSite(&quot;</font><a href="http://localhost&quot;))"><font size="2" face="Courier New">http://localhost&quot;))</font></a><font size="2" face="Courier New">      <br />{       <br />&#160; SPWeb web = site.OpenWeb();       <br />&#160; SPList list = web.Lists[&quot;Shared Documents&quot;]; </font></p>
<p><font size="2" face="Courier New">&#160; Assembly taxonomy =      <br />&#160;&#160;&#160; Assembly.LoadWithPartialName(&quot;Microsoft.SharePoint.Taxonomy&quot;); </font></p>
<p><font size="2" face="Courier New">&#160; Type settingsType = taxonomy      <br />&#160;&#160;&#160; .GetType(&quot;Microsoft.SharePoint.Taxonomy.MetadataListFieldSettings&quot;);       <br />&#160; object settings = settingsType       <br />&#160;&#160;&#160; .GetConstructor(new Type[] { typeof(SPList) })       <br />&#160;&#160;&#160; .Invoke(new object[] { list });       <br />&#160; settingsType.GetProperty(&quot;EnableKeywordsField&quot;,       <br />&#160;&#160;&#160; BindingFlags.NonPublic | BindingFlags.Instance)       <br />&#160;&#160;&#160; .SetValue(settings, true, null);       <br />&#160; settingsType.GetProperty(&quot;EnableMetadataPromotion&quot;,       <br />&#160;&#160;&#160; BindingFlags.NonPublic | BindingFlags.Instance)       <br />&#160;&#160;&#160; .SetValue(settings, true, null);       <br />&#160; settingsType.GetMethod(&quot;Update&quot;, BindingFlags.NonPublic |       <br />&#160;&#160;&#160; BindingFlags.Instance).Invoke(settings, null);       <br />}</font></p>
<p>Здесь свойство <strong>EnableKeywordsField </strong>соответствует опции “<strong>Enterprise Keywords</strong>” (“<strong>Корпоративные ключевые слова</strong>”), a “<strong>EnableMetadataPromotion</strong>” — “<strong>Metadata Publishing</strong>” (“<strong>Публикация метаданных</strong>”).</p>
<p>&#160;</p>
<p>Далее: <a href="https://philippov.wordpress.com/2010/07/06/sharepoint-2010-metadata-and-taxonomy-part-8-enable-metadata-navigation-on-enterprise-wiki/">Sharepoint 2010: Metadata and Taxonomy (Part 8). Enable metadata navigation on Enterprise Wiki</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/philippov.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/philippov.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/philippov.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/philippov.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/philippov.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/philippov.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/philippov.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/philippov.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/philippov.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/philippov.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/philippov.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/philippov.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/philippov.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/philippov.wordpress.com/79/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philippov.wordpress.com&amp;blog=12677939&amp;post=79&amp;subd=philippov&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://philippov.wordpress.com/2010/06/14/sharepoint-2010-metadata-and-taxonomy-part-7-programmatically-enable-enterprise-metadata-and-keywords-settings-options/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/73aff7c428725a3419fee10836f96fc2?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">philippov</media:title>
		</media:content>

		<media:content url="http://philippov.files.wordpress.com/2010/06/image.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Про Ajax :)</title>
		<link>http://philippov.wordpress.com/2010/06/11/%d0%bf%d1%80%d0%be-ajax/</link>
		<comments>http://philippov.wordpress.com/2010/06/11/%d0%bf%d1%80%d0%be-ajax/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 11:32:18 +0000</pubDate>
		<dc:creator>Igor Philippov</dc:creator>
				<category><![CDATA[Anything]]></category>
		<category><![CDATA[ajax]]></category>

		<guid isPermaLink="false">http://philippov.wordpress.com/?p=76</guid>
		<description><![CDATA[© lord-k Пятница :)<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philippov.wordpress.com&amp;blog=12677939&amp;post=76&amp;subd=philippov&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://lord-k.livejournal.com/1598455.html"><img src="http://public.blu.livefilestore.com/y1pEfCoIyIX9RYJgclPkokqXExOEuHw5XU1uGJIE2rEZpXtwu6bkxW17aywqKm7WsXPoVh-iOOI3Qg2ONosJhYPDQ/P1000390%201.JPG?psid=1" alt="Ajax" /><br />
© lord-k</a></p>
<p>Пятница :)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/philippov.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/philippov.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/philippov.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/philippov.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/philippov.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/philippov.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/philippov.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/philippov.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/philippov.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/philippov.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/philippov.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/philippov.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/philippov.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/philippov.wordpress.com/76/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philippov.wordpress.com&amp;blog=12677939&amp;post=76&amp;subd=philippov&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://philippov.wordpress.com/2010/06/11/%d0%bf%d1%80%d0%be-ajax/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/73aff7c428725a3419fee10836f96fc2?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">philippov</media:title>
		</media:content>

		<media:content url="http://public.blu.livefilestore.com/y1pEfCoIyIX9RYJgclPkokqXExOEuHw5XU1uGJIE2rEZpXtwu6bkxW17aywqKm7WsXPoVh-iOOI3Qg2ONosJhYPDQ/P1000390%201.JPG?psid=1" medium="image">
			<media:title type="html">Ajax</media:title>
		</media:content>
	</item>
		<item>
		<title>Error occurred in deployment step &#8216;Activate Features&#8217;: The current user has insufficient permissions to perform this operation</title>
		<link>http://philippov.wordpress.com/2010/05/11/error-occurred-in-deployment-step-activate-features-the-current-user-has-insufficient-permissions-to-perform-this-operation/</link>
		<comments>http://philippov.wordpress.com/2010/05/11/error-occurred-in-deployment-step-activate-features-the-current-user-has-insufficient-permissions-to-perform-this-operation/#comments</comments>
		<pubDate>Tue, 11 May 2010 14:35:50 +0000</pubDate>
		<dc:creator>Igor Philippov</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[metadata]]></category>
		<category><![CDATA[sps]]></category>
		<category><![CDATA[taxonomy]]></category>

		<guid isPermaLink="false">http://philippov.wordpress.com/?p=71</guid>
		<description><![CDATA[Ошибка в заголовке может возникать если код в FeatureActivated пытается получить доступ к приложениям-службам без администраторских привилегий. В моем случае была попытка доступа к TermStore. Добавление (на тестовой машине) через Центр администрирования (http://localhost:33003/_admin/ServiceApplications.aspx) в службу управляемых метаданных текущего пользователя как администратора решило проблему.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philippov.wordpress.com&amp;blog=12677939&amp;post=71&amp;subd=philippov&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ошибка в заголовке может возникать если код в <strong>FeatureActivated </strong>пытается получить доступ к приложениям-службам без администраторских привилегий. В моем случае была попытка доступа к <strong>TermStore</strong>. Добавление (на тестовой машине) через Центр администрирования (http://localhost:33003/_admin/ServiceApplications.aspx) в службу управляемых метаданных текущего пользователя как администратора решило проблему.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/philippov.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/philippov.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/philippov.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/philippov.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/philippov.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/philippov.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/philippov.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/philippov.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/philippov.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/philippov.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/philippov.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/philippov.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/philippov.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/philippov.wordpress.com/71/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philippov.wordpress.com&amp;blog=12677939&amp;post=71&amp;subd=philippov&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://philippov.wordpress.com/2010/05/11/error-occurred-in-deployment-step-activate-features-the-current-user-has-insufficient-permissions-to-perform-this-operation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/73aff7c428725a3419fee10836f96fc2?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">philippov</media:title>
		</media:content>
	</item>
		<item>
		<title>SharePoint 2010: Metadata and Taxonomy (Part 6). I Like It!</title>
		<link>http://philippov.wordpress.com/2010/05/04/sharepoint-2010-metadata-and-taxonomy-part-6-i-like-it/</link>
		<comments>http://philippov.wordpress.com/2010/05/04/sharepoint-2010-metadata-and-taxonomy-part-6-i-like-it/#comments</comments>
		<pubDate>Tue, 04 May 2010 18:50:00 +0000</pubDate>
		<dc:creator>Igor Philippov</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[metadata]]></category>
		<category><![CDATA[SocialTag]]></category>
		<category><![CDATA[SocialTagManager]]></category>
		<category><![CDATA[sps]]></category>
		<category><![CDATA[taxonomy]]></category>
		<category><![CDATA[UserProfile]]></category>
		<category><![CDATA[UserProfileManager]]></category>

		<guid isPermaLink="false">https://philippov.wordpress.com/2010/05/04/sharepoint-2010-metadata-and-taxonomy-part-6-i-like-it/</guid>
		<description><![CDATA[Предыдущие 5 частей тут: 1, 2, 3, 4 и 5. Одна из новых фич SharePoint 2010 связана с кнопкой “I Like It” (или “Мне нравится”), которая представляет собой некий аналог избранного в браузере. Пометить этим тегом можно любую страницу или элемент списка. В этом посте мы рассмотрим механизм программного получения всех ссылок, сохраненных для текущего [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philippov.wordpress.com&amp;blog=12677939&amp;post=69&amp;subd=philippov&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Предыдущие 5 частей тут: <a href="http://philippov.wordpress.com/2010/03/20/sharepoint-2010-metadata-and-taxonomy-part-1/">1</a>, <a href="http://philippov.wordpress.com/2010/03/22/sharepoint-2010-metadata-and-taxonomy-part-2-programmatically-create-terms-hierarchy/">2</a>, <a href="http://philippov.wordpress.com/2010/03/23/sharepoint-2010-metadata-and-taxonomy-part-3-programmatically-create-taxonomyfield/">3</a>, <a href="http://philippov.wordpress.com/2010/03/30/sharepoint-2010-metadata-and-taxonomy-part-4-programmatically-enable-list-metadata-navigation/">4</a> и <a href="http://philippov.wordpress.com/2010/04/13/sharepoint-2010-metadata-anf-taxonomy-part-5-programmatically-fill-taxonomyfield/">5</a>.</p>
<p>Одна из новых фич SharePoint 2010 связана с кнопкой “<strong>I Like It</strong>” (или “<strong>Мне нравится</strong>”), которая представляет собой некий аналог избранного в браузере.</p>
<p><a href="http://philippov.files.wordpress.com/2010/05/image.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://philippov.files.wordpress.com/2010/05/image_thumb.png?w=644&#038;h=413" width="644" height="413" /></a> </p>
<p>Пометить этим тегом можно любую страницу или элемент списка. В этом посте мы рассмотрим механизм программного получения всех ссылок, сохраненных для текущего пользователя.</p>
<p>Для написания кода нам потребуются следующие сборки: <strong>Microsoft.SharePoint.dll</strong>, <strong>Microsoft.SharePoint.Taxonomy.dll</strong> и <strong>Microsoft.Office.Server.UserProfiles.dll</strong>.</p>
<p>Код:</p>
<p><font size="2" face="Courier New">UserProfileManager profileManager = new UserProfileManager();      <br />UserProfile currentUser = profileManager.GetUserProfile(true); </font></p>
<p><font size="2" face="Courier New">SocialTagManager tagManager = new SocialTagManager(); </font></p>
<p><font size="2" face="Courier New">rptILikeItLinks.DataSource = tagManager.GetTags(currentUser)      <br />&#160;&#160;&#160; .Where(t =&gt; t.Term.GetDefaultLabel(1033) == &quot;I like its&quot;)       <br />&#160;&#160;&#160; .Select(t =&gt; new { Url = t.Url.AbsoluteUri, Title = t.Title });       <br />rptILikeItLinks.DataBind();</font></p>
<p>Здесь <strong>rptILikeItLinks</strong> — это Repeater:</p>
<p><font size="2" face="Courier New">&lt;asp:Repeater ID=&quot;rptILikeItLinks&quot; runat=&quot;server&quot;&gt;      <br />&#160;&#160;&#160; &lt;ItemTemplate&gt;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;a href=&#8217;&lt;%# Eval(&quot;Url&quot;) %&gt;&#8217;&gt;&lt;%# Eval(&quot;Title&quot;) %&gt;&lt;/a&gt;       <br />&#160;&#160;&#160; &lt;/ItemTemplate&gt;       <br />&lt;/asp:Repeater&gt;</font></p>
<p>Для русскоязычного Шарепоинта надо использовать локаль 1049 и тег “<strong>Мне нравится</strong>”, ну или задать их каким-нибудь другим хитрым образом :)</p>
<p>&#160;</p>
<p><a href="https://philippov.wordpress.com/2010/06/14/sharepoint-2010-metadata-and-taxonomy-part-7-programmatically-enable-enterprise-metadata-and-keywords-settings-options/">SharePoint 2010: Metadata and Taxonomy (Part 7). Programmatically enable “Enterprise Metadata and Keywords Settings” options.</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/philippov.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/philippov.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/philippov.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/philippov.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/philippov.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/philippov.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/philippov.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/philippov.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/philippov.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/philippov.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/philippov.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/philippov.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/philippov.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/philippov.wordpress.com/69/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philippov.wordpress.com&amp;blog=12677939&amp;post=69&amp;subd=philippov&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://philippov.wordpress.com/2010/05/04/sharepoint-2010-metadata-and-taxonomy-part-6-i-like-it/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/73aff7c428725a3419fee10836f96fc2?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">philippov</media:title>
		</media:content>

		<media:content url="http://philippov.files.wordpress.com/2010/05/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Sharepoint 2010: Metadata and Taxonomy (Part 5). Programmatically fill TaxonomyField</title>
		<link>http://philippov.wordpress.com/2010/04/13/sharepoint-2010-metadata-and-taxonomy-part-5-programmatically-fill-taxonomyfield/</link>
		<comments>http://philippov.wordpress.com/2010/04/13/sharepoint-2010-metadata-and-taxonomy-part-5-programmatically-fill-taxonomyfield/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 17:36:00 +0000</pubDate>
		<dc:creator>Igor Philippov</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[metadata]]></category>
		<category><![CDATA[sps]]></category>
		<category><![CDATA[taxonomy]]></category>
		<category><![CDATA[taxonomyfield]]></category>
		<category><![CDATA[taxonomyfieldvalue]]></category>

		<guid isPermaLink="false">http://philippov.wordpress.com/2010/04/13/sharepoint-2010-metadata-anf-taxonomy-part-5-programmatically-fill-taxonomyfield/</guid>
		<description><![CDATA[Предыдущие записи по теме: 1, 2, 3, 4. Как оказалось, процесс записи в столбец TaxonomyField является весьма нетривиальным. Представленный ниже код заполняет поле всеми доступными терминами из набора, сопоставленного с этим столбцом. using (SPSite site = new SPSite(http://localhost)) { &#160; SPWeb web = site.OpenWeb(); &#160; SPListItem news = web.Lists[&#34;News&#34;].AddItem(); &#160; TaxonomyField tagsField = (TaxonomyField)news.Fields[&#34;Tags&#34;]; &#160; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philippov.wordpress.com&amp;blog=12677939&amp;post=62&amp;subd=philippov&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Предыдущие записи по теме: <a href="http://philippov.wordpress.com/2010/03/20/sharepoint-2010-metadata-and-taxonomy-part-1/">1</a>, <a href="http://philippov.wordpress.com/2010/03/22/sharepoint-2010-metadata-and-taxonomy-part-2-programmatically-create-terms-hierarchy/">2</a>, <a href="http://philippov.wordpress.com/2010/03/23/sharepoint-2010-metadata-and-taxonomy-part-3-programmatically-create-taxonomyfield/">3</a>, <a href="http://philippov.wordpress.com/2010/03/30/sharepoint-2010-metadata-and-taxonomy-part-4-programmatically-enable-list-metadata-navigation/">4</a>. </p>
<p>Как оказалось, процесс записи в столбец <strong>TaxonomyField</strong> является весьма нетривиальным. Представленный ниже код заполняет поле всеми доступными терминами из набора, сопоставленного с этим столбцом.</p>
<p><font size="2" face="Courier New">using (SPSite site = new SPSite(</font><a href="http://localhost"><font size="2" face="Courier New">http://localhost</font></a><font size="2" face="Courier New">))      <br />{       <br />&#160; SPWeb web = site.OpenWeb();       <br />&#160; SPListItem news = web.Lists[&quot;News&quot;].AddItem();       </p>
<p>&#160; TaxonomyField tagsField = (TaxonomyField)news.Fields[&quot;Tags&quot;];       </p>
<p>&#160; TaxonomySession session = new TaxonomySession(site);       <br />&#160; TermStore termStore = session.TermStores[tagsField.SspId];       <br />&#160; TermSet termSet = termStore.GetTermSet(tagsField.TermSetId);       </p>
<p>&#160; string[] terms = termSet.GetAllTerms()       <br />&#160;&#160;&#160; .Select(t =&gt; String.Concat(       <br />&#160;&#160;&#160;&#160;&#160; t.GetDefaultLabel(1049),       <br />&#160;&#160;&#160;&#160;&#160; TaxonomyField.TaxonomyGuidLabelDelimiter,       <br />&#160;&#160;&#160;&#160;&#160; t.Id))       <br />&#160;&#160;&#160; .ToArray();       </p>
<p>&#160; TaxonomyFieldValueCollection tagsValues =       <br />&#160;&#160;&#160; new TaxonomyFieldValueCollection(tagsField);       <br />&#160; tagsValues.PopulateFromLabelGuidPairs(String.Join(       <br />&#160;&#160;&#160; TaxonomyField.TaxonomyMultipleTermDelimiter.ToString(), terms));       </p>
<p>&#160; news[&quot;Tags&quot;] = tagsValues;       <br />&#160; news.Update();       <br />}</font> </p>
<p>Результат:</p>
<p><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://philippov.files.wordpress.com/2010/04/image1.png?w=621&#038;h=484" width="621" height="484" /></p>
<p>&#160;</p>
<p><a href="https://philippov.wordpress.com/2010/05/04/sharepoint-2010-metadata-and-taxonomy-part-6-i-like-it/">SharePoint 2010: Metadata and Taxonomy (Part 6). I Like It!</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/philippov.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/philippov.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/philippov.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/philippov.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/philippov.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/philippov.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/philippov.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/philippov.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/philippov.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/philippov.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/philippov.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/philippov.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/philippov.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/philippov.wordpress.com/62/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philippov.wordpress.com&amp;blog=12677939&amp;post=62&amp;subd=philippov&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://philippov.wordpress.com/2010/04/13/sharepoint-2010-metadata-and-taxonomy-part-5-programmatically-fill-taxonomyfield/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/73aff7c428725a3419fee10836f96fc2?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">philippov</media:title>
		</media:content>

		<media:content url="http://philippov.files.wordpress.com/2010/04/image1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>SharePoint 2010: LINQ!</title>
		<link>http://philippov.wordpress.com/2010/04/07/sharepoint-2010-linq/</link>
		<comments>http://philippov.wordpress.com/2010/04/07/sharepoint-2010-linq/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 21:41:00 +0000</pubDate>
		<dc:creator>Igor Philippov</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[caml]]></category>
		<category><![CDATA[code generation]]></category>
		<category><![CDATA[linq]]></category>
		<category><![CDATA[sharepoint foundation]]></category>
		<category><![CDATA[spmetal]]></category>
		<category><![CDATA[sps]]></category>

		<guid isPermaLink="false">http://philippov.wordpress.com/2010/04/07/sharepoint-2010-linq/</guid>
		<description><![CDATA[Без сомнения самой желанной и самой ожидаемой фичей для простого работяги-разработчика был Linq2SharePoint и Microsoft, надо сказать, не облажалась и внедрила ее в новый – хотя какой уже новый, все его с осени уже крутят-вертят – SharePoint 2010. Те, кто хоть раз в жизни использовал Linq to SQL, не обнаружат большой разницы в сгенерированной объектной [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philippov.wordpress.com&amp;blog=12677939&amp;post=60&amp;subd=philippov&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Без сомнения самой желанной и самой ожидаемой фичей для простого работяги-разработчика был Linq2SharePoint и Microsoft, надо сказать, не облажалась и внедрила ее в новый – хотя какой уже новый, все его с осени уже крутят-вертят – SharePoint 2010.</p>
<p>Те, кто хоть раз в жизни использовал Linq to SQL, не обнаружат большой разницы в сгенерированной объектной модели, однако, работать нам придется не в гламурненьком дизайнере 2010 студии, а в суровом консольном <strong>SPMetal</strong>. Обо всем по порядку.</p>
<p>Чтобы было на чем тренироваться создадим узел по какому-нибудь шаблону, например, “Сайт группы”. Затем создадим на нем два списка: “Договоры” и “Контрагенты”, добавим в них типы содержимого (которые зачем-то переименовали в “Типы контента”; лично я ни от кого такого странного названия не слышал):</p>
<ul>
<li>Контрагент
<ul>
<li>Название </li>
<li>Юридический адрес </li>
</ul>
</li>
<li>Договор
<ul>
<li>Номер </li>
<li>Дата </li>
<li>Контрагент (лукап на список Контрагентов) </li>
</ul>
</li>
</ul>
<p>Заполняем парой контрагентов и парой договоров. На этом подготовительный этап завершен. </p>
<p>Открываем с админискими привилегиями консоль и переходим в папку “C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN”. Выполняем следующий скрипт: </p>
<p><font size="2" face="Lucida Console">SPMetal /web:</font><font size="2" face="Lucida Console">http://localhost/TeamSite</font>     <br /><font size="2" face="Lucida Console">/namespace:Linq2SharePoint /code:c:\TeamSite.cs</font></p>
<p>Открываем сгенерированный файл и <strike>ужасаемся</strike> удивляемся его размерам. <strong>SPMetal</strong> не только сгенерировал его с учетом вообще всех списков узла, но и полностью воспроизвел иерархию типов <strike>содержимого</strike> контента, включая те, что были добавлены в списки. Естественно, не имея дополнительной информации, он все типы назвал по-русски. </p>
<p>Решить некоторые проблемы может специальный XML-файл с параметрами кодогенерации. Например, такой:</p>
<p><font size="2" face="Courier New">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;      <br />&lt;Web xmlns=&quot;<b>http://schemas.microsoft.com/SharePoint/2009/spmetal</b>&quot; Class=&quot;<b>TeamSiteWeb</b>&quot; AccessModifier=&quot;<b>Public</b>&quot;&gt;       <br />&#160; &lt;List Name=&quot;<b>Договоры</b>&quot;&gt;       <br />&#160;&#160;&#160; &lt;ContentType Class=&quot;<b>Contract</b>&quot; Name=&quot;<b>Договор</b>&quot; /&gt;       <br />&#160; &lt;/List&gt;       <br />&#160; &lt;List Name=&quot;<b>Контрагенты</b>&quot;&gt;       <br />&#160;&#160;&#160; &lt;ContentType Class=&quot;<b>Contractor</b>&quot; Name=&quot;<b>Контрагент</b>&quot; /&gt;       <br />&#160; &lt;/List&gt;       <br />&#160; &lt;ExcludeOtherLists /&gt;       <br />&#160; &lt;ContentType Class=&quot;Item&quot; Name=&quot;Элемент&quot; /&gt;       <br />&#160; &lt;ContentType Class=&quot;ContractBase&quot; Name=&quot;Договор&quot; /&gt;       <br />&#160; &lt;ContentType Class=&quot;ContractorBase&quot; Name=&quot;Контрагент&quot; /&gt;       <br />&lt;/Web</font></p>
<p>Здесь мы указываем какие списки мы включаем, для каких типов контента будем генерировать код и как эти типы назовем. Сохраняем файл в папку с SPMetal под именем codeparameters.xml Запускаем тот же скрипт с дополнительным параметром /parameters:codeparameters.xml. Вот это другое дело! Никакой кириллицы в названии типов и сгенерированы только нужные типы! Но при этом у нас остались кириллические символы в названии свойств и полей. Предлагаю побороть их читателю самостоятельно, воспользовавшись <a href="http://www.sendspace.com/file/hyyxq3">XSD-схемой</a>.</p>
<p>Создадим консольное приложение и попробуем использовать на практике сгенерированный код. Нам понадобятся две сборки: <strong>Microsoft.SharePoint.dll</strong> и <strong>Microsoft.SharePoint.Linq.dll</strong>. </p>
<p>Для того, чтобы вывести все номера договоров нашей воображаемой конторы с конкретным контрагентом, напишем несложный код (изменять имена свойств мне было лень):</p>
<p><font size="2" face="Courier New">using (TeamSiteWeb web = new TeamSiteWeb(&quot;</font><a href="http://localhost/teamsite&quot;))"><font size="2" face="Courier New">http://localhost/teamsite&quot;))</font></a>     <br /><font size="2" face="Courier New">{      <br />var query = web.Договоры.Where(c =&gt; c.Контрагент.Название == &quot;Microsoft&quot;);       <br />&#160; foreach (var contract in query)       <br />&#160; {       <br />&#160;&#160;&#160; Console.WriteLine(contract.Номер);       <br />&#160; }       <br />}</font></p>
<p>Тут интересно вот что: мы извлекаем записи из одного списка по фильтру из другого. В 2007 Sharepoint это было бы возможно только перебором в клиентском коде. Можно конечно было использовать Linq 2 Objects с Joinами, но сути это не меняет. </p>
<p>А представленный выше код транслируется вот в такой замечательный CAML:</p>
<p>&lt;View&gt;    <br />&lt;Query&gt;     <br />&lt;Where&gt;     <br />&lt;And&gt;     <br />&lt;BeginsWith&gt;     <br />&lt;FieldRef Name=&quot;<b>ContentTypeId</b>&quot; /&gt;     <br />&lt;Value Type=&quot;<b>ContentTypeId</b>&quot;&gt;0x010092CA7ECAD2EC6847960E9CFFF1C0872D00&lt;/Value&gt;     <br />&lt;/BeginsWith&gt;     <br />&lt;Eq&gt;     <br />&lt;FieldRef Name=&quot;<b>_x041a__x043e__x043d__x0442__x04Title</b>&quot; /&gt;     <br />&lt;Value Type=&quot;<b>Lookup</b>&quot;&gt;Microsoft&lt;/Value&gt;     <br />&lt;/Eq&gt;     <br />&lt;/And&gt;     <br />&lt;/Where&gt;     <br />&lt;/Query&gt;     <br />&lt;ViewFields&gt;     <br />&lt;FieldRef Name=&quot;<b>_x041d__x043e__x043c__x0435__x04</b>&quot; /&gt;     <br />&lt;FieldRef Name=&quot;<b>_x0414__x0430__x0442__x0430_</b>&quot; /&gt;     <br />&lt;FieldRef Name=&quot;<b>_x041a__x043e__x043d__x0442__x04</b>&quot; LookupId=&quot;<b>TRUE</b>&quot; /&gt;     <br />&lt;FieldRef Name=&quot;<b>ID</b>&quot; /&gt;     <br />&lt;FieldRef Name=&quot;<b>owshiddenversion</b>&quot; /&gt;     <br />&lt;FieldRef Name=&quot;<b>FileDirRef</b>&quot; /&gt;     <br />&lt;FieldRef Name=&quot;<b>Title</b>&quot; /&gt;     <br />&lt;/ViewFields&gt;     <br />&lt;ProjectedFields&gt;     <br />&lt;Field Name=&quot;<b>_x041a__x043e__x043d__x0442__x04Title</b>&quot; Type=&quot;<b>Lookup</b>&quot; List=&quot;<b>_x041a__x043e__x043d__x0442__x04</b>&quot; ShowField=&quot;<b>Title</b>&quot; /&gt;     <br />&lt;/ProjectedFields&gt;     <br />&lt;Joins&gt;     <br />&lt;Join Type=&quot;<b>LEFT</b>&quot; ListAlias=&quot;<b>_x041a__x043e__x043d__x0442__x04</b>&quot;&gt;     <br />&lt;Eq&gt;     <br />&lt;FieldRef Name=&quot;<b>_x041a__x043e__x043d__x0442__x04</b>&quot; RefType=&quot;<b>ID</b>&quot; /&gt;     <br />&lt;FieldRef List=&quot;<b>_x041a__x043e__x043d__x0442__x04</b>&quot; Name=&quot;<b>ID</b>&quot; /&gt;     <br />&lt;/Eq&gt;     <br />&lt;/Join&gt;     <br />&lt;/Joins&gt;     <br />&lt;RowLimit Paged=&quot;<b>TRUE</b>&quot;&gt;2147483647&lt;/RowLimit&gt;     <br />&lt;/View&gt; </p>
<p>Тут мы видим <strong>Joins</strong> (бинго!), ласкающии взор любого, кто хоть раз сталкивался с разработкой отчетов на основе списков SharePoint. </p>
<p>Конечно, это вам не join в SQL и не стоит ждать какой-то суперэффективности, однако свои плюсы безусловно имеются: во-первых он в любом случае более нативный, чем наш клиентский Join (на основе Linq 2 Objects, например), во-вторых клиентский код получается более простым и чистым (представили как заджойнить хотя бы 5 списков в SharePoint 2007? ;-)).</p>
<p>Подводя итог, отмечу, что хотя Linq 2 SharePoint и привносит в нашу жизнь немного радости, у технологии есть и пара недоделок: </p>
<ul>
<li>нет возможности работать из дизайнера студии, </li>
<li>сгенерированный код приходится постоянно дописывать, дополняя его ссылками на родительский SPList и SPWeb, методами для работы с вложениями и раздачей прав доступа. </li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/philippov.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/philippov.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/philippov.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/philippov.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/philippov.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/philippov.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/philippov.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/philippov.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/philippov.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/philippov.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/philippov.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/philippov.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/philippov.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/philippov.wordpress.com/60/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philippov.wordpress.com&amp;blog=12677939&amp;post=60&amp;subd=philippov&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://philippov.wordpress.com/2010/04/07/sharepoint-2010-linq/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/73aff7c428725a3419fee10836f96fc2?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">philippov</media:title>
		</media:content>
	</item>
		<item>
		<title>Встреча Самарской UG</title>
		<link>http://philippov.wordpress.com/2010/04/01/%d0%b2%d1%81%d1%82%d1%80%d0%b5%d1%87%d0%b0-%d1%81%d0%b0%d0%bc%d0%b0%d1%80%d1%81%d0%ba%d0%be%d0%b9-ug/</link>
		<comments>http://philippov.wordpress.com/2010/04/01/%d0%b2%d1%81%d1%82%d1%80%d0%b5%d1%87%d0%b0-%d1%81%d0%b0%d0%bc%d0%b0%d1%80%d1%81%d0%ba%d0%be%d0%b9-ug/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 19:15:00 +0000</pubDate>
		<dc:creator>Igor Philippov</dc:creator>
				<category><![CDATA[Anything]]></category>
		<category><![CDATA[UG]]></category>

		<guid isPermaLink="false">http://philippov.wordpress.com/2010/04/01/%d0%b2%d1%81%d1%82%d1%80%d0%b5%d1%87%d0%b0-%d1%81%d0%b0%d0%bc%d0%b0%d1%80%d1%81%d0%ba%d0%be%d0%b9-ug/</guid>
		<description><![CDATA[Сегодня приходил Сергей Звездин, рассказывал про Windows Phone.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philippov.wordpress.com&amp;blog=12677939&amp;post=59&amp;subd=philippov&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Сегодня приходил Сергей Звездин, рассказывал про Windows Phone. </p>
<p><img style="display:inline;border-width:0;" title="DSCF2258" border="0" alt="DSCF2258" src="http://philippov.files.wordpress.com/2010/04/dscf2258.jpg?w=644&#038;h=432" width="644" height="432" /></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/philippov.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/philippov.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/philippov.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/philippov.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/philippov.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/philippov.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/philippov.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/philippov.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/philippov.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/philippov.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/philippov.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/philippov.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/philippov.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/philippov.wordpress.com/59/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philippov.wordpress.com&amp;blog=12677939&amp;post=59&amp;subd=philippov&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://philippov.wordpress.com/2010/04/01/%d0%b2%d1%81%d1%82%d1%80%d0%b5%d1%87%d0%b0-%d1%81%d0%b0%d0%bc%d0%b0%d1%80%d1%81%d0%ba%d0%be%d0%b9-ug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/73aff7c428725a3419fee10836f96fc2?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">philippov</media:title>
		</media:content>

		<media:content url="http://philippov.files.wordpress.com/2010/04/dscf2258.jpg" medium="image">
			<media:title type="html">DSCF2258</media:title>
		</media:content>
	</item>
	</channel>
</rss>
