<?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:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" 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:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>SharePoint.BG: Radi Atanassov - Bulgarian</title>
    <description>SharePoint на родна земя</description>
    <link>http://www.sharepoint.bg/radi/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.NET 1.5.1.42</generator>
    <language>en-US</language>
    <blogChannel:blogRoll>http://www.sharepoint.bg/radi/opml.axd</blogChannel:blogRoll>
    <blogChannel:blink>www.sharepoint.bg/radi</blogChannel:blink>
    <dc:creator>Radi Atanassov</dc:creator>
    <dc:title>SharePoint.BG: Radi Atanassov</dc:title>
    <geo:lat>0.000000</geo:lat>
    <geo:long>0.000000</geo:long>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/SharePointBG/RadiBG" /><feedburner:info uri="sharepointbg/radibg" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
      <title>Презентационни умения и водене на технически лекции</title>
      <description>&lt;p&gt;През последните две години ми се случва много често да водя технически лекции или презентации пред аудитория. Дали ще е на срещи на потребителски групи, семинари, презентации пред студенти в университет, дори и Дни на Майкрософт или други конференции, евентуално сте ме срещали поне един път. Макар че тези презентации не са платена работа и са изцяло по мое желание, през последната година ми се случи да водя и официални обучения за клиенти и MS партньори, и то сравнително често. Това ме накара да &lt;strong&gt;потърся начини да подобря уменята си като лектор&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;По принцип, колегите около мен, както и самият аз, сме технически хора. Създаваме решения, пишем код, инсталираме и конфигурираме софтуер. Това ни е работата и (поне за мен) ни е първи приоритет. Говоренето пред публика не е нещо, което често практикуваме, съответно е нормално да сте свидетели и на скучни лекции. Преди МНОГО години питах баща ми защо Стоичков не пее химна в началото на един мач, той каза "Работата му е да рита, а не да пее...".&lt;/p&gt;
&lt;p&gt;Честно да си призная (вие сигурно го знаете това...), вобще не съм от най-добрите в презентационни умения, нямам кой знае какви способности да говоря пред хора. Притеснявам се, изчервявам се, обърквам се, понякога си губя мисълта или прескачам от една на друга. Факта, че влагам някакво желание и енергия евентуално компенсира някой от слабите ми точки, които не са малко, и да, може би се справям. Прочетох няколко книги по темата &lt;a href="#footnotes"&gt;(1) (вижте в края на поста)&lt;/a&gt;, както и ред други публикации, дори събрах съвети от MCT бандата сред учебните центрове (Стефан Георгиев от New Horizons ми обясни лично хватките... А останалите колеги ме критикуваха на MCT изпита :) ). Научих много неща, които може да се каже, че през последната година по един или друг начин са ми помогнали. (Знам, че две книги не са никак много, сега си търся и други...)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Исках да споделя някой заключения, които съм направил, относно воденето на презентации и обучения.&lt;/strong&gt; Надявам се да са полезни за тези, които се интересуват от такива неща, особенно на колеги и приятели които планират да водят някаква презентация. Ще се фокусирам върху технически презентации, защото предимно с такива имам опит.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.sharepoint.bg/radi/image.axd?picture=2011%2f1%2fpublic-speaking-1.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Преди да продължа по самите лекции, искам да обсъдя защо воденето на презентации е важно за самият лектор:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Опит в изнасяне на лекции&lt;/strong&gt;. ОК това ясно, но нека да поясня. Не всеки е научен, и не всеки го прави добре от първия път. Във всичките книги (които съм прочел) по темата пише, че практиката води до перфектност. Във всекидневието, на всеки му се налага да се изкаже за нещо. Дали ще е пред шефа, пред екип, пред аудитория, или просто в семейството, комуникативноста не може да я избегнем. Воденето на презентации усъвършенства качествата, необходими при такива ситуации. Всички ние се опитваме да се развиваме, така че всеки има необходимост от опит. Потребителските групи са чудесни за тази цел. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Подреждане на мисъл, допълнителни проучвания и обобщаване на основните точки по темата.&lt;/strong&gt; Всеки се подготвя (надявам се...). Това е процес, в който личният опит се систематизира и обобщава в презентация, а елементите от темата, които не са ясни или се проучват до край, или се отбелязват като такива. Аз лично подготвям материалите, така че да мога да имам всичко за дадена тема на едно място. Това ми дава възможност да преизползвам информацията във всекидневната ми работа, или обратното, да създавам слайдове от данни, събрани по време на проекти. Какъвто и да е случая, арсенала ми от знания, факти и добри практики се подобрява. Подготовката на презентация подпомага за натрупването на знания по темата. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Популярност&lt;/strong&gt;. Света и работното място са доста конкурентни. Споделянето на знанияа пред аудитория показва амбиции и желание, които всеки работодател би трябвало да оцени (бягайте от него ако не ги оценява!). Няма начин да не ви забележат, ако застанете сам пред цялата аудитория, така че воденето на лекции със сигурност повишава популярноста ви. Отново потребителските групи са чудесни тука - идеален начин да се запознаете с хора с подобни интереси и да застанете пред тях да споделите опит. Вероятността, да си намерите работа от Networking е много по-голяма, отколкото да търсите в сайтовете с обяви за работа. На всичките места, където съм работил (официално по професията) са от директни контакти с колеги от потребителски групи. Съвсем сериозно. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Споделяне на успешни идеи и проекти &lt;/strong&gt;- не винаги може да се споделят подробностите и детайлите по изработката на даден проект. Такива демонстрации са супер интересни, но са рядкост. Популярни са на семинари като MS Days и (отново) потребителските групи. Знаете, че официални case studies са пълни с маркетингови лукуми... (сори, ама е така!) Лекции, в които се разказва за изминали проекти са ми най-любими, но както казах те са доста рядки. Ползата на лектора е, че показва своите творения и експертиза. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Защо техническите презентации са важни за публиката?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Често са безплатни и може да научите нещо&lt;/strong&gt; - само трябва да се появите. Пряката цел на семинари и презентации е да се споделят знания и опит, както и да се популяризират технологиите под въпрос. Виждал съм и някой работодатели и управители да поставят служителите си под въпрос ако не се интересуват от презентации по специалността им. Вярно е, че е извън работно време, но ако това е проблем, поискайте си да се появите по обедно време на следващия ден - аз не бих отказал такъв request. Мисълта ми тука е, че принципно трябва да имате полза от такива неща. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Поглед към нови неща&lt;/strong&gt;. Не винаги имаме време да разглеждаме динамичната екосистема на нашата индустрия. IT е една от най-динамичните и променящи се индустрии. Това е особенно специфично за софтуерната разработка. Като че ли с всеки изминал ден има нещо ново, което засяга всекидневието ни. Техническите лекции за чудесен ресурс, който може да ни придържа към развитието на технологиите около нас. Те ни развиват и държат в крак с технологиите. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Популярност и networking&lt;/strong&gt; - тези точки от по-горе важът и тука. Ще добавя и социализирането между членовете на групите - никога не ми идва в повече. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Награди&lt;/strong&gt; - Макар и не толкова популярно тука в България, на няколко пъти съм печелил разни награди заради иницатива по време на срещи на потребителските групи в Австралия. Office 2007 Ultimate, разни мишки и фанелки. MS Days и други конференции са добри в такива неща, но в никакъв случай не бива да забравяме събитието в Катарино, което Майкрософт България подготви за нас!!! (е да, някой спомени са по-добре забравени, други ще си останат мътни...) &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Търсене на помощ от колеги&lt;/strong&gt; - Често се случва да си задаваме въпроси един на друг. Някой от тях са по време на лекциите, други са след лекцията. Аз никога не съм се стискал да давам съвети, нито пък да задавам въпроси (: &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Сега по същество: Какви са "добрите практики" &lt;a href="#footnotes"&gt;(2)&lt;/a&gt;, при воденето на лекции?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Количество информация за предназначеното време&lt;/strong&gt; - може би една от най-често срещаните "не толкова добри" практики в технологичните лекции е количеството материал за даденото време. Мисля, че няма презентация, на която да ми е стигало времето, и да, понякога мога да си говоря, говоря, говоря... Сега тайминга ми е един от първите приоритети. Ако лекцията е един час, тя трябва да се побере в толкова. Не искате да звънне звънеца за междучасие, а все още да не сте стигнали заключенията... &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Точен и подробен абстракт &lt;/strong&gt;- Макар и не толкова ясно на зрителите, подготвянето на добър абстракт не е никак лесно. Той трябва да бъде подготвен от рано и точно да обяснява какво ще съдържа лекцията, за кого е точно (особенно ако е ДЕВ), и на какво ниво е. Трудно е, защото обикновенно е необходим много преди презентацията, а самата презентация се подготвя седмици или дни преди изнасянето и. По време на подготовката съдържанието и посоките може да се променят, което може да накара абстракта (леко) да заблуди публиката. Аудиторията трябва да е подходяща за темата - тогава всички са по-доволни. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Много точно и ясно комуникиране на принципите и основните точки на темата&lt;/strong&gt;. Може би ще кажете, че това е ясно, но гледах една лекция на Влади Чалков (&lt;a href="http://www.crossroad.bg"&gt;www.crossroad.bg&lt;/a&gt;) (за IIS7), където неговото владеене на това "правило" ми направи много силно и добро впечатление. Беше изключително ясно какви правила и знания се опитваше да представи. Лекцията му се разбираше много добре, основните неща които комуникираше бяха много ясно показани и опростени, тонът беше спокоен, а скоростта на говорене не му беше прибързан (както моя). Запомних и някой примери от речника и словореда му. Повече за Чалков намерих тука: &lt;a href="http://review.sagabg.net/vladimir-chalkov-upravitel-na-firma-crossroad.html"&gt;http://review.sagabg.net/vladimir-chalkov-upravitel-na-firma-crossroad.html&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Агенда&lt;/strong&gt; (съдържание, програма, план). Не мисля, че "агенда" е дума от речника ни, може и да е неологизъм, но я използвам в мойте презентации. Когато основния план на лекцията се пресдстави в началото, всеки има представа как ще се развият нещата и какво да очакват. Добра практика е лектора да подсеща зрителите до къде е спрямо този план. Така се постига добра последователност на лекцията, и аудиторията не се дискоординира (и такава дума май няма). &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Заключение и обобщение&lt;/strong&gt; - Чувал съм на много пъти, че е важно да обобщите основните точки на края на лекцията, така че те да бъдат нещата, които се запомнят. Сложете на един слайд нещата, които искате публиката да вземе със себе си. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Дискусии и въпроси към публиката&lt;/strong&gt; - Винаги е хубаво да се постигне интерактивност между лектора и публиката. Ако планирате въпроси, може да ги сложите на слайдовете. Целта е да осъществите контакт с аудиторията. Аз лично се опитвам да правя това дори преди да започне презентацията. Поздравявам хората като влизат, и ако може, обменям приказки преди да се започне. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Диаграми, Screenshots, илюстрации&lt;/strong&gt; - Понякога е скучно да се гледат булети на слайдове. На всеки му омръзва от много текст. Пробвайте да разнообразите лекцията с таблици, диаграми, поговорки, цитати, графики, картинки, звук, анимации, рисунки, снимки и т.н. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Свикнете с ZoomIT, или Windows 7 Zoom&lt;/strong&gt;. Windows +/- ще направи zoom. Добре е да се възползвате от такива чудеса за да е лесно за публиката. Аз лично не съм кой знае колко сръчен с Windows 7 екстрите, но все забравям да сложа ZoomIT. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Хумор&lt;/strong&gt; - Според мен всеки може да намери нещо хумористично, което да може да вмъкне. Освен че ще държите публиката будна, контактът с тях ще се подобри, което го прави по-лесно за самият вас. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Нека да погледнем неща, които&amp;nbsp;е добре да се избягват (лошите практики):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Не обръщайте гръб към публиката&lt;/strong&gt;, както и не говорете докато гледате назад към слайдовете. Особено от значение е това правило, когато рисувате нещо на дъската. Ако се налага кажете, че ще надраскате нещо за минутка. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Пробвайте всичко&lt;/strong&gt;! Code Snippets, демонстрации, виртуални машини, интернет връзка, кликери, флашки. Хубаво е да пробвате и демонстрациите си в резолюцията на прожектора. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Не слагайте страшно много текст по слайдовете&lt;/strong&gt;. На никой не му се чете, хората са там за да ви слушат. Много текст е тежко. Използвайте кратки булети, по възможност само с ключови думи. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Избягвайте да говорите бързо и неспокойно&lt;/strong&gt;. Това е може би моят най-голям проблем. Като че ли бързам за някъде когато говоря и понякога не си довършвам изреченията и мисълта. Добрите лектори говорят спокойно и с разбираемо темпо. На мене ми е трудно, защото изреченията си ги обмислям на английски и си ги превеждам докато ги изказвам. Не знам дали може да си го представите, но мисленето ми е на английски. Често, изреченията ми са на английски, но просто заменени с български думи. Това води до липса на правилен и ясен словоред - неща, които са изключително важни за лектори. :( &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Сега искам да обсъдя различни "видове" лекции. Не знам дали "видове" е точната дума, може би "стилове", "формати" или "модели" на презентации. Исках да ги включа в този пост за да ви накарам да се замислите за "формата" на вашите презентации:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Бързи слайдове&lt;/strong&gt;, с много малко съдържание, понякога само с една дума или снимка. Примери за такива са &lt;strong&gt;&lt;a href="http://www.facebook.com/l.php?u=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D6SZFY47aIog&amp;amp;h=2f522"&gt;TEDxBG - Steve Keil - A Play Manifesto&lt;/a&gt;&lt;/strong&gt;и &lt;a href="http://www.slideshare.net/vlood/go-gogo"&gt;Пари, енергия и растеж като нает, наемащ или самонает&lt;/a&gt; на &lt;a href="http://www.shtrak.eu"&gt;Васил Василев от Штрак!&lt;/a&gt;. Тези презентации са много добри и обикновенно постигат добър ефект, но са и сравнително трудни и не всеки ги може. &lt;/li&gt;
&lt;li&gt;Типичният формат на технически презентации по Майкрософт събития. Те обикновенно са в следния ред: инфо за лектора, агенда, слайдове, евентуално демо, и заключения. Това са най-срещаните. &lt;/li&gt;
&lt;li&gt;Само демонстрации. Има и такива, никакви слайдове и просто демота. Често срещани са в нашата професия. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Относно Дни на Майкрософт....&lt;/p&gt;
&lt;p&gt;При такива събития е много важно самият абстракт, нивото и заглавието на лекцията, защото публиката ви избира по тези параметри. Като лектор, това ви е единствената връзка с аудиторията, преди тя да влезе в залата. Тази година на MS Days ще водя три лекции, две по SharePoint и една по Web Platform &lt;a href="#footnotes"&gt;(3)&lt;/a&gt;, и ще се опитам да приложа всички точки по-горе. До тогава нямам планове да водя лекция ( с цел да не омръзна...)&lt;/p&gt;
&lt;p&gt;Ето и списък с презентациите, които съм водил през последната година (поне тези, които си спомням):&lt;/p&gt;
&lt;div style="line-height: normal; direction: ltr"&gt;
&lt;table style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; border-collapse: collapse; direction: ltr; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid" border="1" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="142"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;22nd January 2010&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="600"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;SharePoint Development Days - &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;a style="background-image: none; padding-right: 0px; background-repeat: repeat; white-space: normal; background-position: 0% 0%" href="http://sharepoint.bg/post/Free-SharePoint-Training.aspx"&gt;&lt;span style="color: #0066cc;"&gt;&lt;span style="text-decoration: underline;"&gt;http://sharepoint.bg/post/Free-SharePoint-Training.aspx&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="142"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;25th February 2010&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="600"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;Workflow for Everyone - No-code solutions with SharePoint 2007&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;a style="background-image: none; padding-right: 0px; background-repeat: repeat; white-space: normal; background-position: 0% 0%" href="http://sharepoint.bg/post/SUGBG-Workflow-for-Everyone-No-code-solutions-with-Sharepoint-2007-Part-2.aspx"&gt;&lt;span style="color: #800080;"&gt;&lt;span style="text-decoration: underline;"&gt;http://sharepoint.bg/post/SUGBG-Workflow-for-Everyone-No-code-solutions-with-Sharepoint-2007-Part-2.aspx&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="142"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;9th-11th March 2010&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="600"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;SharePoint Ignite for Developers&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;a style="background-image: none; padding-right: 0px; background-repeat: repeat; white-space: normal; background-position: 0% 0%" href="http://www.sharepoint.bg/post/SharePoint-2010-Ignite-Training-for-Developers.aspx"&gt;&lt;span style="color: #0066cc;"&gt;&lt;span style="text-decoration: underline;"&gt;http://www.sharepoint.bg/post/SharePoint-2010-Ignite-Training-for-Developers.aspx&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="142"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;30th-31st March 2010&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="600"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;Microsoft Days 2010 Bulgaria - Architecture and Development of Business Applications with SharePoint 2010, Silverlight and Open XML&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;a style="background-image: none; padding-right: 0px; background-repeat: repeat; white-space: normal; background-position: 0% 0%" href="http://sharepoint.bg/post/SharePoint-sessions-at-Microsoft-Days-2010.aspx"&gt;&lt;span style="color: #0066cc;"&gt;&lt;span style="text-decoration: underline;"&gt;http://sharepoint.bg/post/SharePoint-sessions-at-Microsoft-Days-2010.aspx&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="142"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;16th September 2010&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="600"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;Microsoft Community Day&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;- Business Productivity with Office and SharePoint 2010&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;a style="background-image: none; padding-right: 0px; background-repeat: repeat; white-space: normal; background-position: 0% 0%" href="http://www.sharepoint.bg/post/Microsoft-Community-Day.aspx"&gt;&lt;span style="color: #0066cc;"&gt;&lt;span style="text-decoration: underline;"&gt;http://www.sharepoint.bg/post/Microsoft-Community-Day.aspx&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="142"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;16th September 2010&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="600"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;Microsoft Community Day - WebMatrix and ASP.NET Razor&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;a style="background-image: none; padding-right: 0px; background-repeat: repeat; white-space: normal; background-position: 0% 0%" href="http://www.sharepoint.bg/post/Microsoft-Community-Day.aspx"&gt;&lt;span style="color: #0066cc;"&gt;&lt;span style="text-decoration: underline;"&gt;http://www.sharepoint.bg/post/Microsoft-Community-Day.aspx&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="142"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;30th November 2010&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="600"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;&lt;span lang="en-US"&gt;SharePoint &lt;/span&gt;&lt;span lang="bg"&gt;семинар в &lt;/span&gt;&lt;span lang="en-US"&gt;New Horizons - SharePoint 2010 Development Overview&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;a style="background-image: none; padding-right: 0px; background-repeat: repeat; white-space: normal; background-position: 0% 0%" href="http://www.sharepoint.bg/post/SharePoint-2010-seminars-at-New-Horizons.aspx"&gt;&lt;span style="color: #0066cc;"&gt;&lt;span style="text-decoration: underline;"&gt;http://www.sharepoint.bg/post/SharePoint-2010-seminars-at-New-Horizons.aspx&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;a style="background-image: none; padding-right: 0px; background-repeat: repeat; white-space: normal; background-position: 0% 0%" href="http://newhorizons.bg/blog/?p=7427"&gt;&lt;span style="color: #0066cc;"&gt;&lt;span style="text-decoration: underline;"&gt;http://newhorizons.bg/blog/?p=7427&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="142"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;9th December 2010&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="600"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;&lt;span lang="en-US"&gt;SharePoint &lt;/span&gt;&lt;span lang="bg"&gt;семинар в &lt;/span&gt;&lt;span lang="en-US"&gt;New Horizons - SharePoint 2010 ITPRO Overview&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;a style="background-image: none; padding-right: 0px; background-repeat: repeat; white-space: normal; background-position: 0% 0%" href="http://www.sharepoint.bg/post/SharePoint-2010-seminars-at-New-Horizons.aspx"&gt;&lt;span style="color: #0066cc;"&gt;&lt;span style="text-decoration: underline;"&gt;http://www.sharepoint.bg/post/SharePoint-2010-seminars-at-New-Horizons.aspx&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;a style="background-image: none; padding-right: 0px; background-repeat: repeat; white-space: normal; background-position: 0% 0%" href="http://newhorizons.bg/blog/?p=7427"&gt;&lt;span style="color: #0066cc;"&gt;&lt;span style="text-decoration: underline;"&gt;http://newhorizons.bg/blog/?p=7427&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="142"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;25th - 26th September 2010&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="600"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;&lt;span lang="en-US"&gt;Web Platform User Group&lt;/span&gt;&lt;span lang="bg"&gt;, представяне на групата на Катарино&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="142"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;20th December 2010&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="600"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;SQL &amp;amp; BI User Group Bulgaria - SharePoint 2010 from the SQL Server perspective with Margarita Naumova&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="142"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;13th January 2011&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="600"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;&lt;span lang="en-US"&gt;Web Platform User Group launch - Building web sites with modern technologies&lt;/span&gt;&lt;span lang="bg"&gt; &lt;/span&gt;&lt;/span&gt;&lt;a style="background-image: none; padding-right: 0px; background-repeat: repeat; white-space: normal; background-position: 0% 0%" href="http://www.facebook.com/home.php?sk=group_137641342957047"&gt;&lt;span lang="en-US"&gt;&lt;span style="color: #0066cc;"&gt;&lt;span style="text-decoration: underline;"&gt;http://www.facebook.com/home.php?sk=group_137641342957047&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="en-US"&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="142"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;27th January 2011&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-bottom: #a3a3a3 1pt solid; border-left: #a3a3a3 1pt solid; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; vertical-align: top; border-top: #a3a3a3 1pt solid; border-right: #a3a3a3 1pt solid; padding-top: 4pt" width="600"&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;SUGBG - MCM - My Story&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;span style="color: #000000;"&gt;SUGBG - Information Architecture in SharePoint 2010&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: "&gt;&lt;a style="background-image: none; padding-right: 0px; background-repeat: repeat; white-space: normal; background-position: 0% 0%" href="http://sharepoint.bg/post/SUGBG-MCM-SharePoint-Information-Architecture.aspx"&gt;&lt;span style="color: #800080;"&gt;&lt;span style="text-decoration: underline;"&gt;http://sharepoint.bg/post/SUGBG-MCM-SharePoint-Information-Architecture.aspx&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;Последното нещо, което исках да обсъдя е обратната връзка. Тя винаги е от голямо значение за мен и винаги&amp;nbsp;я чета. Често публикувам резултатите ако те са на базата на някакви точки. Ако водите лекция, подгответе или хартиени форми или някакъв&amp;nbsp;друг начин, по който публиката да се свърже с вас. Хората често дават добри коментари. Не игнорирайте лошите коментари - те обикновенно са с цел да се подобри нещо.&lt;/p&gt;
&lt;p&gt;&lt;a name="footnotes"&gt;(1)&lt;/a&gt; (1) - Confessions of a Public Speaker, Scott Berkun - &lt;a href="http://oreilly.com/catalog/9780596802004"&gt;http://oreilly.com/catalog/9780596802004&lt;/a&gt; (гледайте и видеото...) &lt;br /&gt;(1) - Bulletproof Presentations, G. Michael Campbell - &lt;a href="http://books.google.com.au/books?id=bHEGdMdicG0C&amp;amp;printsec=frontcover&amp;amp;dq=Bulletproof+Presentations,+G.+Michael+Campbell&amp;amp;source=bl&amp;amp;ots=9Pw7Ftbrmg&amp;amp;sig=UnRj8XI9m2LaHWU-YYqLOn2tpDA&amp;amp;hl=en&amp;amp;ei=dMA6Te2cKIySswaIqMHzBg&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=1&amp;amp;ved=0CBUQ6AEwAA"&gt;http://books.google.com.au/books?id=bHEGdMdicG0C&amp;amp;printsec=frontcover&amp;amp;dq=Bulletproof+Presentations,+G.+Michael+Campbell&amp;amp;source=bl&amp;amp;ots=9Pw7Ftbrmg&amp;amp;sig=UnRj8XI9m2LaHWU-YYqLOn2tpDA&amp;amp;hl=en&amp;amp;ei=dMA6Te2cKIySswaIqMHzBg&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=1&amp;amp;ved=0CBUQ6AEwAA&lt;/a&gt; &lt;br /&gt;(2) Мненията тука са изцяло мой и не сте длъжни да сте съгласни с тях. Събрал съм ги от четене, гледане, приказване и от обратна връзка от аудиторията. &lt;br /&gt;(3) Ще напиша друг пост с повече инфо и ще сложа линк тука.&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/SharePointBG/RadiBG/~3/7BG3q3l_om8/post.aspx</link>
      <author>Ради Атанасов</author>
      <comments>http://www.sharepoint.bg/radi/post/Presentation-skills-and-speaking-at-technical-events.aspx#comment</comments>
      <guid isPermaLink="false">http://www.sharepoint.bg/radi/post.aspx?id=6f111233-9c8f-4b12-b6f8-ae03e8918055</guid>
      <pubDate>Sat, 29 Jan 2011 19:19:00 +1200</pubDate>
      <category>Bulgarian</category>
      <dc:publisher>Ради Атанасов</dc:publisher>
      <pingback:server>http://www.sharepoint.bg/radi/pingback.axd</pingback:server>
      <pingback:target>http://www.sharepoint.bg/radi/post.aspx?id=6f111233-9c8f-4b12-b6f8-ae03e8918055</pingback:target>
      <slash:comments>8</slash:comments>
      <trackback:ping>http://www.sharepoint.bg/radi/trackback.axd?id=6f111233-9c8f-4b12-b6f8-ae03e8918055</trackback:ping>
      <wfw:comment>http://www.sharepoint.bg/radi/post/Presentation-skills-and-speaking-at-technical-events.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.sharepoint.bg/radi/syndication.axd?post=6f111233-9c8f-4b12-b6f8-ae03e8918055</wfw:commentRss>
    <feedburner:origLink>http://www.sharepoint.bg/radi/post.aspx?id=6f111233-9c8f-4b12-b6f8-ae03e8918055</feedburner:origLink></item>
    <item>
      <title>I am a Microsoft Certified Master: SharePoint 2010</title>
      <description>&lt;p&gt;I have a big announcement to make. Since December 2010 I am officially a Microsoft Certified Master in SharePoint 2010. It took me more than a month of full-time pre-study, 3 weeks spent in Microsoft's Main Campus in Redmond doing training, 45 days post-rotation study, many hours of hard work, very little sleep, a few white hairs, plenty of SharePoint nightmares, countless coffees and a hell of a lot of energy and enthusiasm. I prepared myself for the challenge, I gave it my absolute best, got A LOT out of it and made it to the end.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.sharepoint.bg/radi/image.axd?picture=image_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" src="http://www.sharepoint.bg/radi/image.axd?picture=image_thumb_2.png" border="0" alt="image" width="244" height="87" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There's lots to tell about the experience and the specifics of what a Master is, how one could help, and what responsibilities a Master has. I'll be speaking in the near future about it at the local SharePoint User Group (in Sofia, Bulgaria), but I'll also be sharing some experiences here in my blog.&lt;/p&gt;
&lt;p&gt;A few links:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/b/themasterblog/"&gt;http://blogs.technet.com/b/themasterblog/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/maximeb/archive/2009/07/02/bringing-sharepoint-certified-master-mcm-to-canada.aspx"&gt;http://blogs.msdn.com/b/maximeb/archive/2009/07/02/bringing-sharepoint-certified-master-mcm-to-canada.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.sharepointchick.com/archive/2009/04/08/the-microsoft-certified-master-experience.aspx"&gt;http://www.sharepointchick.com/archive/2009/04/08/the-microsoft-certified-master-experience.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.harbar.net/archive/2010/07/08/thoughts-on-the-microsoft-certified-master-for-sharepoint-2010.aspx"&gt;http://www.harbar.net/archive/2010/07/08/thoughts-on-the-microsoft-certified-master-for-sharepoint-2010.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;See you out there on the field!&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/SharePointBG/RadiBG/~3/W7mWm8_VHws/post.aspx</link>
      <author>Ради Атанасов</author>
      <comments>http://www.sharepoint.bg/radi/post/I-am-a-Microsoft-Certified-Master-SharePoint-2010.aspx#comment</comments>
      <guid isPermaLink="false">http://www.sharepoint.bg/radi/post.aspx?id=4046b43c-028f-4863-831f-69b3192d7709</guid>
      <pubDate>Mon, 17 Jan 2011 13:47:00 +1200</pubDate>
      <category>Bulgarian</category>
      <category>English</category>
      <dc:publisher>Ради Атанасов</dc:publisher>
      <pingback:server>http://www.sharepoint.bg/radi/pingback.axd</pingback:server>
      <pingback:target>http://www.sharepoint.bg/radi/post.aspx?id=4046b43c-028f-4863-831f-69b3192d7709</pingback:target>
      <slash:comments>5</slash:comments>
      <trackback:ping>http://www.sharepoint.bg/radi/trackback.axd?id=4046b43c-028f-4863-831f-69b3192d7709</trackback:ping>
      <wfw:comment>http://www.sharepoint.bg/radi/post/I-am-a-Microsoft-Certified-Master-SharePoint-2010.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.sharepoint.bg/radi/syndication.axd?post=4046b43c-028f-4863-831f-69b3192d7709</wfw:commentRss>
    <feedburner:origLink>http://www.sharepoint.bg/radi/post.aspx?id=4046b43c-028f-4863-831f-69b3192d7709</feedburner:origLink></item>
    <item>
      <title>Слайдове и код от SharePoint ITPRO семинара в New Horizons</title>
      <description>&lt;p&gt;Много съм доволен, че се събрахме толкова много хроа за ITPRO сесията, залата беше добре препълнена и онлайн имаше 15-20 човека.&lt;/p&gt;
&lt;p&gt;Ето и презентацията, както и разни скриптове, които обсъждах в материла:&amp;nbsp; &lt;a href="http://cid-a4ce5f9a862fcadb.office.live.com/self.aspx/Public%20Code/SharePointITPRO.zip"&gt;SharePointITPRO.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;В скоро време ще разгледам и възможностите да кача записите. Трябва да намеря начин да превърна LiveMeeting формат в AVI или WMV.&lt;/p&gt;
&lt;p&gt;До скоро!&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/SharePointBG/RadiBG/~3/dMvGQutdwVc/post.aspx</link>
      <author>Ради Атанасов</author>
      <comments>http://www.sharepoint.bg/radi/post/Slides-and-code-from-the-SharePoint-ITPRO-seminar-at-New-Horizons.aspx#comment</comments>
      <guid isPermaLink="false">http://www.sharepoint.bg/radi/post.aspx?id=ac6d5fb0-1330-473f-b39b-4a496b232528</guid>
      <pubDate>Sun, 12 Dec 2010 16:47:00 +1200</pubDate>
      <category>Bulgarian</category>
      <dc:publisher>Ради Атанасов</dc:publisher>
      <pingback:server>http://www.sharepoint.bg/radi/pingback.axd</pingback:server>
      <pingback:target>http://www.sharepoint.bg/radi/post.aspx?id=ac6d5fb0-1330-473f-b39b-4a496b232528</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.sharepoint.bg/radi/trackback.axd?id=ac6d5fb0-1330-473f-b39b-4a496b232528</trackback:ping>
      <wfw:comment>http://www.sharepoint.bg/radi/post/Slides-and-code-from-the-SharePoint-ITPRO-seminar-at-New-Horizons.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.sharepoint.bg/radi/syndication.axd?post=ac6d5fb0-1330-473f-b39b-4a496b232528</wfw:commentRss>
    <feedburner:origLink>http://www.sharepoint.bg/radi/post.aspx?id=ac6d5fb0-1330-473f-b39b-4a496b232528</feedburner:origLink></item>
    <item>
      <title>Слайдове и код от SharePoint Dev семинара в New Horizons</title>
      <description>&lt;p&gt;Благодаря на всички, които успяха да дойдат на семинара на &lt;a href="http://sharepoint.bg/post/SharePoint-2010-seminars-at-New-Horizons.aspx"&gt;30ти&lt;/a&gt;. Залата беше пълна, но не успях да видя колко хора има онлайн.&lt;/p&gt;
&lt;p&gt;Бях обещал да кача материалите от семинара, ето линкове към &lt;a href="http://cid-a4ce5f9a862fcadb.office.live.com/self.aspx/Public%20Code/NewHorizonsDev.pdf"&gt;слайдовете&lt;/a&gt; и &lt;a href="http://cid-a4ce5f9a862fcadb.office.live.com/self.aspx/Public%20Code/Community.SharePoint.BCS%5E_And%5E_TestConsole.zip"&gt;кода&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Обратната връзка е с висок резултат (мерси!) и получих интересни съвети и прелдложения, който ви обещавам, че ще взема в предвид за следващия семинар, както и в бъдеще.&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/SharePointBG/RadiBG/~3/ZTrM7j7L0sU/post.aspx</link>
      <author>Ради Атанасов</author>
      <comments>http://www.sharepoint.bg/radi/post/Slides-and-code-from-SharePoint-Dev-at-New-Horizons.aspx#comment</comments>
      <guid isPermaLink="false">http://www.sharepoint.bg/radi/post.aspx?id=f2cd4fc9-3dc1-4585-b539-e90d973d1d62</guid>
      <pubDate>Mon, 06 Dec 2010 13:21:00 +1200</pubDate>
      <category>Bulgarian</category>
      <dc:publisher>Ради Атанасов</dc:publisher>
      <pingback:server>http://www.sharepoint.bg/radi/pingback.axd</pingback:server>
      <pingback:target>http://www.sharepoint.bg/radi/post.aspx?id=f2cd4fc9-3dc1-4585-b539-e90d973d1d62</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.sharepoint.bg/radi/trackback.axd?id=f2cd4fc9-3dc1-4585-b539-e90d973d1d62</trackback:ping>
      <wfw:comment>http://www.sharepoint.bg/radi/post/Slides-and-code-from-SharePoint-Dev-at-New-Horizons.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.sharepoint.bg/radi/syndication.axd?post=f2cd4fc9-3dc1-4585-b539-e90d973d1d62</wfw:commentRss>
    <feedburner:origLink>http://www.sharepoint.bg/radi/post.aspx?id=f2cd4fc9-3dc1-4585-b539-e90d973d1d62</feedburner:origLink></item>
    <item>
      <title>Microsoft Days 2010 – код и PowerPoint Slides</title>
      <description>&lt;p&gt;За мен това беше първият MS Days на който съм присъствал - бях супер доволен. Добра атмосфера, много партньори, добри лекции&amp;hellip; дори имаше и бира ?!?!?&lt;/p&gt;
&lt;p&gt;Лекцията, която изнесох беше най-техническата на тема SharePoint &amp;ndash; искаше ми се да има повече SharePoint (:&lt;/p&gt;
&lt;p&gt;Ето и кода, който обещах: &lt;a title="Performance Management" href="http://4su3cq.bay.livefilestore.com/y1pSblostdcPA64eKuRfC6cTtuBKiAyRslHutIkCbBpgv7_LcimrcrGJcXkaJVagHdzcdDdCi4r2R-A5t2JpFQrcEKCNZ2s-yh_/PerformanceManagement.zip?download"&gt;PerformanceManagement.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Това, за което може да ви е полезен е:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Добавяне на бутон в Ribbon на SharePoint 2010 &lt;/li&gt;
&lt;li&gt;Link към custom javascript file за този бутон &lt;/li&gt;
&lt;li&gt;отваряне на диалогов прозорец с т.н. Dialog Framework &lt;/li&gt;
&lt;li&gt;SP2010 webpart, който генерира Office документи с Open XML и Word Automation Services &amp;ndash; супер интересно (: &lt;/li&gt;
&lt;li&gt;Има и един web service в SP 2010 &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ето и презентацията: &lt;a title="MS Days Radi Atanassov" href="http://4su3cq.bay.livefilestore.com/y1po_d0WoQUgkBqQZ9yTe3JIfW4uALN_J6v07g25BrWMTSXD73SMeYqKbeDO8hJatcxuLMagUTV6EcQF9_UazJ0wmuYY2DV4n9m/MS_Days_Radi_Atanassov.xps?download"&gt;MS Days Radi Atanassov&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Аз лично бях доволен от лекцията, въпреки че забравих да покажа генерираните PDF и XPS files&amp;hellip;&lt;/p&gt;
&lt;p&gt;Ето го и рейтинга ми:&lt;/p&gt;
&lt;table style="width: 621px;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="67" valign="bottom"&gt;
&lt;p&gt;Ради Атанасов&lt;/p&gt;
&lt;/td&gt;
&lt;td width="278" valign="bottom"&gt;
&lt;p&gt;Архитектура и изграждане на бизнес приложения с SharePoint 2010, Silverlight и Open XML SDK (Ниво: 300)&lt;/p&gt;
&lt;/td&gt;
&lt;td width="61" valign="bottom"&gt;
&lt;p&gt;79&lt;/p&gt;
&lt;/td&gt;
&lt;td width="154" valign="bottom"&gt;
&lt;p&gt;Oбща оценка на презентацията&lt;/p&gt;
&lt;/td&gt;
&lt;td width="59" valign="bottom"&gt;
&lt;p&gt;7.85 / 9&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="67" valign="bottom"&gt;
&lt;p&gt;Ради Атанасов&lt;/p&gt;
&lt;/td&gt;
&lt;td width="278" valign="bottom"&gt;
&lt;p&gt;Архитектура и изграждане на бизнес приложения с SharePoint 2010, Silverlight и Open XML SDK (Ниво: 300)&lt;/p&gt;
&lt;/td&gt;
&lt;td width="61" valign="bottom"&gt;
&lt;p&gt;79&lt;/p&gt;
&lt;/td&gt;
&lt;td width="154" valign="bottom"&gt;
&lt;p&gt;Компетентност на лектора&lt;/p&gt;
&lt;/td&gt;
&lt;td width="59" valign="bottom"&gt;
&lt;p&gt;8.08 / 9&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="67" valign="bottom"&gt;
&lt;p&gt;Ради Атанасов&lt;/p&gt;
&lt;/td&gt;
&lt;td width="278" valign="bottom"&gt;
&lt;p&gt;Архитектура и изграждане на бизнес приложения с SharePoint 2010, Silverlight и Open XML SDK (Ниво: 300)&lt;/p&gt;
&lt;/td&gt;
&lt;td width="61" valign="bottom"&gt;
&lt;p&gt;79&lt;/p&gt;
&lt;/td&gt;
&lt;td width="154" valign="bottom"&gt;
&lt;p&gt;Предоставената информация е полезна за моята работа&lt;/p&gt;
&lt;/td&gt;
&lt;td width="59" valign="bottom"&gt;
&lt;p&gt;7.46 / 9&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="67" valign="bottom"&gt;
&lt;p&gt;Ради Атанасов&lt;/p&gt;
&lt;/td&gt;
&lt;td width="278" valign="bottom"&gt;
&lt;p&gt;Архитектура и изграждане на бизнес приложения с SharePoint 2010, Silverlight и Open XML SDK (Ниво: 300)&lt;/p&gt;
&lt;/td&gt;
&lt;td width="61" valign="bottom"&gt;
&lt;p&gt;79&lt;/p&gt;
&lt;/td&gt;
&lt;td width="154" valign="bottom"&gt;
&lt;p&gt;Презентационни умения на лектора&lt;/p&gt;
&lt;/td&gt;
&lt;td width="59" valign="bottom"&gt;
&lt;p&gt;7.54 / 9&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Поздрави!&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/SharePointBG/RadiBG/~3/Bk22MotBhA0/post.aspx</link>
      <author>Ради Атанасов</author>
      <comments>http://www.sharepoint.bg/radi/post/Microsoft-Days-2010-Code-and-PowerPoint-Slides.aspx#comment</comments>
      <guid isPermaLink="false">http://www.sharepoint.bg/radi/post.aspx?id=dce925d8-2b06-4324-a65a-f93786425eb8</guid>
      <pubDate>Sat, 17 Apr 2010 16:58:00 +1200</pubDate>
      <category>Bulgarian</category>
      <dc:publisher>Ради Атанасов</dc:publisher>
      <pingback:server>http://www.sharepoint.bg/radi/pingback.axd</pingback:server>
      <pingback:target>http://www.sharepoint.bg/radi/post.aspx?id=dce925d8-2b06-4324-a65a-f93786425eb8</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.sharepoint.bg/radi/trackback.axd?id=dce925d8-2b06-4324-a65a-f93786425eb8</trackback:ping>
      <wfw:comment>http://www.sharepoint.bg/radi/post/Microsoft-Days-2010-Code-and-PowerPoint-Slides.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.sharepoint.bg/radi/syndication.axd?post=dce925d8-2b06-4324-a65a-f93786425eb8</wfw:commentRss>
    <feedburner:origLink>http://www.sharepoint.bg/radi/post.aspx?id=dce925d8-2b06-4324-a65a-f93786425eb8</feedburner:origLink></item>
    <item>
      <title>Използване на LINQ to XML върху резултатите от SharePoint Web Services</title>
      <description>&lt;p&gt;Когато работиме със Silverlight имаме възможност да използваме LINQ to XML за извличане на данни от резултатите от SharePoint Web Services. Тези дни разгледах LINQ to XML и никога повече не бих работил с XmlDocument обектите (:&lt;/p&gt;
&lt;p&gt;Ето няколко примера:&lt;/p&gt;
&lt;p&gt;GetListItems() &amp;ndash; това е метод от Lists.asmx, и ето му отговора:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;"&gt;
&lt;div id="codeSnippet" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;listitems&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns:s&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #ff0000"&gt;xmlns:dt&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #ff0000"&gt;xmlns:rs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="urn:schemas-microsoft-com:rowset"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns:z&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="#RowsetSchema"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="http://schemas.microsoft.com/sharepoint/soap/"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;rs:data&lt;/span&gt; &lt;span style="color: #ff0000"&gt;ItemCount&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="13"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;z:row&lt;/span&gt; ... &lt;span style="color: #ff0000"&gt;ows_ContentType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Task"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;ows_Title&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="New Task 1"&lt;/span&gt; ... &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;   ... more rows here&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;rs:data&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;listitems&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;За да извлечем заглавията на list items и да ги подредим в List&amp;lt;string&amp;gt; обект:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;"&gt;
&lt;div id="codeSnippet" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt; List&amp;lt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&amp;gt; ProcessListResults(SPListsWS.GetListItemsCompletedEventArgs e)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; result = e.Result.ToString();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    XNamespace ns = &lt;span style="color: #006080"&gt;"#RowsetSchema"&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    XElement results = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; XElement(e.Result);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    var listItems = from x &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; results.Descendants(ns + &lt;span style="color: #006080"&gt;"row"&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;                    &lt;span style="color: #0000ff"&gt;where&lt;/span&gt; x.Attribute(&lt;span style="color: #006080"&gt;"ows_Title"&lt;/span&gt;) != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;                    select x;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    List&amp;lt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&amp;gt; itemsList = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&amp;gt;();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt; (var item &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; listItems)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;        &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; title = item.Attribute(&lt;span style="color: #006080"&gt;"ows_Title"&lt;/span&gt;).Value;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;        itemsList.Add(title);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; itemsList;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;GetUserInfo() &amp;ndash; Този метод е от usergroup.asmx и ни дава информация за user в текущия SPSite обект (взима го от скрития user list). Ето отговора:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;"&gt;
&lt;div id="codeSnippet" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;GetUserInfo&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="http://schemas.microsoft.com/sharepoint/soap/directory/"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;User&lt;/span&gt; &lt;span style="color: #ff0000"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="7"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Sid&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="S-1-5-21-347908140-582334945-263120918-1111"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Radi"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #ff0000"&gt;LoginName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="DEV\radi"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Email&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=""&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Notes&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=""&lt;/span&gt; &lt;span style="color: #ff0000"&gt;IsSiteAdmin&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="False"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #ff0000"&gt;IsDomainGroup&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="False"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;GetUserInfo&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;И как извлиам LoginName:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;"&gt;
&lt;div id="codeSnippet" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; GetLoginFromServiceResponse(XElement result)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    XNamespace ns = &lt;span style="color: #006080"&gt;"http://schemas.microsoft.com/sharepoint/soap/directory/"&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    XName xUser = XName.Get(&lt;span style="color: #006080"&gt;"User"&lt;/span&gt;, ns.NamespaceName);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    XName xUserInfo = XName.Get(&lt;span style="color: #006080"&gt;"GetUserInfo"&lt;/span&gt;, ns.NamespaceName);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    XElement user = result.Element(xUser);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (user != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;) {  &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; user.Attribute(&lt;span style="color: #006080"&gt;"LoginName"&lt;/span&gt;).Value; }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Това което подавам на метода е &amp;ldquo;e.Result.ToString()&amp;rdquo; от отговора.&lt;/p&gt;
&lt;p&gt;Очаквайте още!&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/SharePointBG/RadiBG/~3/yE3pfDfnKyU/post.aspx</link>
      <author>Ради Атанасов</author>
      <comments>http://www.sharepoint.bg/radi/post/Using-LINQ-to-XML-to-process-SharePoint-web-service-responses-in-Silverlight-BG.aspx#comment</comments>
      <guid isPermaLink="false">http://www.sharepoint.bg/radi/post.aspx?id=f50f8dcf-5087-4eff-beb2-62499cddd644</guid>
      <pubDate>Thu, 18 Mar 2010 12:02:00 +1200</pubDate>
      <category>Bulgarian</category>
      <dc:publisher>Ради Атанасов</dc:publisher>
      <pingback:server>http://www.sharepoint.bg/radi/pingback.axd</pingback:server>
      <pingback:target>http://www.sharepoint.bg/radi/post.aspx?id=f50f8dcf-5087-4eff-beb2-62499cddd644</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.sharepoint.bg/radi/trackback.axd?id=f50f8dcf-5087-4eff-beb2-62499cddd644</trackback:ping>
      <wfw:comment>http://www.sharepoint.bg/radi/post/Using-LINQ-to-XML-to-process-SharePoint-web-service-responses-in-Silverlight-BG.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.sharepoint.bg/radi/syndication.axd?post=f50f8dcf-5087-4eff-beb2-62499cddd644</wfw:commentRss>
    <feedburner:origLink>http://www.sharepoint.bg/radi/post.aspx?id=f50f8dcf-5087-4eff-beb2-62499cddd644</feedburner:origLink></item>
    <item>
      <title>SharePoint meets LINQ to XML: CAML заявки за работа с Lists.asmx</title>
      <description>&lt;p&gt;Напоследък ми се налага да работя с LINQ to XML за интеграционни сценарии включващи Silverlight и SharePoint. LINQ to XML е страхотно &amp;ndash; сравнително по-добре от създаване на XML чрез обекти като XmlDocument.&lt;/p&gt;
&lt;p&gt;Ето пример &amp;ndash; повиквам &lt;strong&gt;GetListItems()&lt;/strong&gt; метода на &lt;strong&gt;Lists.asmx&lt;/strong&gt;. Със следният код извличам list items от Task списъка създадени от специфичен user. Този пример би трябвало да работи както за WSS v3, така и за MSF v4.&lt;/p&gt;
&lt;div style="margin: 0px; display: inline; float: none; height: 270px; padding: 0px;"&gt;
&lt;div style="font-family: 'Courier New', courier, monospace; height: 270px; color: #000; font-size: 8pt; border: #000080 1px solid;"&gt;
&lt;div style="padding-bottom: 2px; background-color: #ffffff; padding-left: 5px; padding-right: 5px; white-space: nowrap; height: 265px; overflow: auto; padding-top: 2px;"&gt;&lt;span style="color: #2b91af"&gt;XElement&lt;/span&gt; query = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;XElement&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"Query"&lt;/span&gt;, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;XElement&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"Where"&lt;/span&gt;, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;XElement&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"Eq"&lt;/span&gt;, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;XElement&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"FieldRef"&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;XAttribute&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"Name"&lt;/span&gt;, &lt;span style="color: #a31515"&gt;"Author"&lt;/span&gt;), &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;XAttribute&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"LookupId"&lt;/span&gt;, &lt;span style="color: #a31515"&gt;"True"&lt;/span&gt;)), &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;XElement&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"Value"&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;XAttribute&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"Type"&lt;/span&gt;, &lt;span style="color: #a31515"&gt;"User"&lt;/span&gt;), userID) &lt;br /&gt;))); &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #2b91af"&gt;XElement&lt;/span&gt; queryOptions = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;XElement&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"QueryOptions"&lt;/span&gt;); &lt;br /&gt;&lt;span style="color: #2b91af"&gt;XElement&lt;/span&gt; viewFields = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;XElement&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"ViewFields"&lt;/span&gt;); &lt;br /&gt;&lt;br /&gt;_listService.GetListItemsAsync(&lt;span style="color: #a31515"&gt;"Tasks"&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; query, viewFields, &lt;span style="color: #a31515"&gt;"100"&lt;/span&gt;, queryOptions, &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;);&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;userID&lt;/strong&gt; e SharePoint ID-то на потребителя, за който искам да видя резултатите. Можете да получите тази информация от usergroup.asmx.&lt;/p&gt;
&lt;p&gt;Успех!&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/SharePointBG/RadiBG/~3/lpN7iFccTDA/post.aspx</link>
      <author>Ради Атанасов</author>
      <comments>http://www.sharepoint.bg/radi/post/SharePoint-meets-LINQ-to-XML-Building-a-CAML-Query-and-calling-Listsasmx-BG.aspx#comment</comments>
      <guid isPermaLink="false">http://www.sharepoint.bg/radi/post.aspx?id=3250ba2e-8d5c-4563-9c8e-40002da0dad1</guid>
      <pubDate>Thu, 18 Mar 2010 10:28:00 +1200</pubDate>
      <category>Bulgarian</category>
      <dc:publisher>Ради Атанасов</dc:publisher>
      <pingback:server>http://www.sharepoint.bg/radi/pingback.axd</pingback:server>
      <pingback:target>http://www.sharepoint.bg/radi/post.aspx?id=3250ba2e-8d5c-4563-9c8e-40002da0dad1</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.sharepoint.bg/radi/trackback.axd?id=3250ba2e-8d5c-4563-9c8e-40002da0dad1</trackback:ping>
      <wfw:comment>http://www.sharepoint.bg/radi/post/SharePoint-meets-LINQ-to-XML-Building-a-CAML-Query-and-calling-Listsasmx-BG.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.sharepoint.bg/radi/syndication.axd?post=3250ba2e-8d5c-4563-9c8e-40002da0dad1</wfw:commentRss>
    <feedburner:origLink>http://www.sharepoint.bg/radi/post.aspx?id=3250ba2e-8d5c-4563-9c8e-40002da0dad1</feedburner:origLink></item>
    <item>
      <title>Автоматично показване на DIP когато се отваря Word документ</title>
      <description>&lt;p&gt;Работя по един проект, в който имам дефинирани &lt;strong&gt;Content Types&lt;/strong&gt; в &lt;strong&gt;Feature&lt;/strong&gt;. Тези &lt;strong&gt;Content Types&lt;/strong&gt; имат различни document templates, и ми се наложи да конфигурирам &lt;strong&gt;Document Information Panel&lt;/strong&gt; &lt;strong&gt;(DIP)&lt;/strong&gt; да се отваря автоматично. Това става лесно чрез интерфейса, но трябваше да е част от автоматизиран деплоймент.&lt;/p&gt;
&lt;p&gt;В следващия код показвам как става това. Подаваме &lt;strong&gt;SPContentType&lt;/strong&gt; обект, на който му се дефинира нов &lt;strong&gt;CustomXsn&lt;/strong&gt; елемент в своята &lt;strong&gt;XmlDocuments&lt;/strong&gt; колекция. Ако под-елемента &lt;strong&gt;openByDefault&lt;/strong&gt; е &amp;ldquo;True&amp;rdquo;, DIP ще се покаже при отварянето на документа. Използвам &lt;strong&gt;FeatureReceiver&lt;/strong&gt; за прекарам мойте Content Types през този статичен метод:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; height: 291px; max-height: 340px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;"&gt;
&lt;div id="codeSnippet" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; ConfigureContentTypes(SPContentType ct)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    XmlDocument doc = GetCustomXsnDocument();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    ct.XmlDocuments.Add(doc);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    ct.Update(&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; XmlDocument GetCustomXsnDocument()&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    XmlDocument doc = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; XmlDocument();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; xml = &lt;span style="color: #006080"&gt;"&amp;lt;customXsn xmlns=\"http://schemas.microsoft.com/office/2006/metadata/customXsn\"&amp;gt;&amp;lt;xsnLocation&amp;gt;&amp;lt;/xsnLocation&amp;gt;&amp;lt;cached&amp;gt;True&amp;lt;/cached&amp;gt;&amp;lt;openByDefault&amp;gt;True&amp;lt;/openByDefault&amp;gt;&amp;lt;xsnScope&amp;gt;&amp;lt;/xsnScope&amp;gt;&amp;lt;/customXsn&amp;gt;"&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    doc.LoadXml(xml);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; doc;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Можете да намерите повече информация за &lt;strong&gt;CustomXsn&lt;/strong&gt; елемента на този MSDN линк: &lt;a title="Content Type Document Information Panel Schema" href="http://msdn.microsoft.com/en-us/library/ms581199.aspx"&gt;Content Type Document Information Panel Schema&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Дано това помогне на някой.&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/SharePointBG/RadiBG/~3/CUzxEYNUMeE/post.aspx</link>
      <author>Ради Атанасов</author>
      <comments>http://www.sharepoint.bg/radi/post/Forcing-the-DIP-to-load-when-a-Word-Document-loads-from-SharePoint-BG.aspx#comment</comments>
      <guid isPermaLink="false">http://www.sharepoint.bg/radi/post.aspx?id=e147eb39-574e-44f3-a247-ad9da6d20363</guid>
      <pubDate>Sun, 21 Feb 2010 07:45:00 +1200</pubDate>
      <category>Bulgarian</category>
      <dc:publisher>Ради Атанасов</dc:publisher>
      <pingback:server>http://www.sharepoint.bg/radi/pingback.axd</pingback:server>
      <pingback:target>http://www.sharepoint.bg/radi/post.aspx?id=e147eb39-574e-44f3-a247-ad9da6d20363</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.sharepoint.bg/radi/trackback.axd?id=e147eb39-574e-44f3-a247-ad9da6d20363</trackback:ping>
      <wfw:comment>http://www.sharepoint.bg/radi/post/Forcing-the-DIP-to-load-when-a-Word-Document-loads-from-SharePoint-BG.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.sharepoint.bg/radi/syndication.axd?post=e147eb39-574e-44f3-a247-ad9da6d20363</wfw:commentRss>
    <feedburner:origLink>http://www.sharepoint.bg/radi/post.aspx?id=e147eb39-574e-44f3-a247-ad9da6d20363</feedburner:origLink></item>
    <item>
      <title>Формите на списъци в SharePoint 2007 - как работят те – Втора Част</title>
      <description>&lt;p&gt;Този пост е продължение на предишния, в който разглеждам как можем да заменим &amp;ldquo;NewFormUrl&amp;rdquo;, &amp;ldquo;EditFormUrl&amp;rdquo; и &amp;ldquo;DisplayFormUrl&amp;rdquo; притежанията на &lt;strong&gt;Content Type&lt;/strong&gt;&lt;strong&gt; &lt;/strong&gt;обекти, с цел да се заменят формите, с които SharePoint показва данни за определен list item. Тука ще опиша как SharePoint използва &lt;strong&gt;Rendering Templates&lt;/strong&gt; по време на зареждането на тези форми, и как можем да ги заменим с произволни, така че да добавиме функционалност.&lt;/p&gt;
&lt;p&gt;Ето как работят &lt;strong&gt;Rendering Templates:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Всеки list item в SharePoint списък е под формата на определен &lt;strong&gt;Content Type&lt;/strong&gt;. В повечето случай това е или &amp;ldquo;Item&amp;rdquo;, или &amp;ldquo;Document&amp;rdquo; &lt;strong&gt;Content Type&lt;/strong&gt;, в зависимост от списъка, в който този list item се намира. Като разработчици, ние създаваме нови &lt;strong&gt;Content Types&lt;/strong&gt;, които имат смисъл за съответния бизнес: Invoice, Quote, Proposal и т.н.&lt;/p&gt;
&lt;p&gt;Всеки &lt;strong&gt;Content Type&lt;/strong&gt; има свой &amp;ldquo;New&amp;rdquo;, &amp;ldquo;Edit&amp;rdquo; и &amp;ldquo;Display&amp;rdquo; форми за събиране и показване на своите данни. Всяка една от тези форми е дефинирана чрез &amp;ldquo;Form Rendering Template&amp;rdquo;, който съдържа HTML markup, или ASCX контролки.&lt;/p&gt;
&lt;p&gt;Тези &lt;strong&gt;Rendering Templates&lt;/strong&gt; са дефинирани в ASCX файлове в &lt;strong&gt;_CONTROLTEMPLATES&lt;/strong&gt;&lt;strong&gt; &lt;/strong&gt;папката (...12\TEMPLATE\CONTROLTEMPLATES). На повечето обекти в SharePoint са им дефинирани &lt;strong&gt;Rendering Templates&lt;/strong&gt; в &lt;strong&gt;DefaultTemplates.ascx&lt;/strong&gt;, там ще намерите HTML на много обекти като Toolbar, ListFieldIterator и т.н. Ето как е дефиниран &lt;strong&gt;DocumentLibraryForm&lt;/strong&gt;:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; height: 375px; max-height: 240px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;"&gt;
&lt;div id="codeSnippet" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;SharePoint:RenderingTemplate&lt;/span&gt; &lt;span style="color: #ff0000"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="DocumentLibraryForm"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;runat&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="server"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Template&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;SharePoint:InformationBar&lt;/span&gt; &lt;span style="color: #ff0000"&gt;runat&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="server"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;wssuc:ToolBar&lt;/span&gt; &lt;span style="color: #ff0000"&gt;CssClass&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="ms-formtoolbar"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;id&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="toolBarTbltop"&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;        &lt;span style="color: #ff0000"&gt;RightButtonSeparator&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=""&lt;/span&gt; &lt;span style="color: #ff0000"&gt;runat&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="server"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Template_RightButtons&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;                &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;SharePoint:SaveButton&lt;/span&gt; &lt;span style="color: #ff0000"&gt;runat&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="server"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;                &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;SharePoint:GoBackButton&lt;/span&gt; &lt;span style="color: #ff0000"&gt;runat&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="server"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;            &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Template_RightButtons&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;wssuc:ToolBar&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;SharePoint:FormToolBar&lt;/span&gt; &lt;span style="color: #ff0000"&gt;runat&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="server"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;SharePoint:FormComponent&lt;/span&gt; &lt;span style="color: #ff0000"&gt;TemplateName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="DocumentLibraryFormCore"&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;        &lt;span style="color: #ff0000"&gt;runat&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="server"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Template&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;SharePoint:RenderingTemplate&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Забележете, че този &lt;strong&gt;Rendering Template&lt;/strong&gt; вика други &amp;ldquo;FormCompontent&amp;rdquo; обекти чрез &amp;ldquo;TemplateName&amp;rdquo; атрибута. Това е много сходно с PHP&amp;hellip;&lt;/p&gt;
&lt;p&gt;Нашата цел, е да заменим тези &lt;strong&gt;Rendering Templates&lt;/strong&gt;, за да променим това, което крайните потребители виждат като работят с нашите &lt;strong&gt;Content Types.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Имаме 2 варианта:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Вариант 1:&lt;/strong&gt; посочване на наши &lt;strong&gt;Rendering Templates&lt;/strong&gt; в самата дефиниция на наш &lt;strong&gt;Content Type&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Дефиниции на Content Types ни дават тази възможност чрез XmlDocument елементи:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.2%; font-family: 'Courier New', courier, monospace; direction: ltr; height: 320px; max-height: 320px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;"&gt;
&lt;div id="codeSnippet" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #008000"&gt;&amp;lt;!-- Document Content Type --&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ContentType&lt;/span&gt; &lt;span style="color: #ff0000"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="0x0101006BD6DAD38F7947799A6F2EE72F5C3C24"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="TemporaryContentType"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #ff0000"&gt;Group&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Custom Content Types"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #ff0000"&gt;Description&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=""&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FieldRefs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FieldRef&lt;/span&gt; &lt;span style="color: #ff0000"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Title"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FieldRefs&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;XmlDocuments&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;XmlDocument&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;        &lt;span style="color: #ff0000"&gt;NamespaceURI&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FormTemplates&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;            &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;                &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Display&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;MyCustomForm&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Display&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;                &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Edit&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;MyCustomForm&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Edit&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;                &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;New&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;MyCustomForm&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;New&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;            &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FormTemplates&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;XmlDocument&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;XmlDocuments&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ContentType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;С горният &lt;strong&gt;FormTemplates&lt;/strong&gt;&lt;strong&gt; &lt;/strong&gt;елемент (в XmlDocument) съм посочил на този &lt;strong&gt;Content Type&lt;/strong&gt; да използва &lt;strong&gt;MyCustomForm&lt;/strong&gt;&lt;strong&gt; &lt;/strong&gt;за Display, New и Edit формите си.&lt;/p&gt;
&lt;p&gt;За да създадем &lt;strong&gt;MyCustomForm&lt;/strong&gt;&lt;strong&gt; &lt;/strong&gt;като&lt;strong&gt; &lt;/strong&gt;&lt;strong&gt;Rendering Template&lt;/strong&gt;, трябва да си направим свой&lt;strong&gt; &lt;/strong&gt;&lt;strong&gt;ASCX &lt;/strong&gt;файл и да го сложим в&lt;strong&gt; &lt;/strong&gt;&lt;strong&gt;CONTROLTEMPLATES&lt;/strong&gt;&lt;strong&gt; &lt;/strong&gt;папката. Това е хубаво да стане чрез&lt;strong&gt; &lt;/strong&gt;&lt;strong&gt;Feature.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ето примерен&lt;strong&gt; &lt;/strong&gt;&lt;strong&gt;Rendering Template&lt;/strong&gt; в свой ASCX файл&lt;strong&gt;. &lt;/strong&gt;SharePoint ще разгледа и запомни всички&lt;strong&gt; &lt;/strong&gt;&lt;strong&gt;RenderingTemplate&lt;/strong&gt; обекти по време на зареждане на своя Application Pool, стига те да се намират в &lt;strong&gt;CONTROLTEMPLATES&lt;/strong&gt;&lt;strong&gt; &lt;/strong&gt;папката.&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;"&gt;
&lt;div id="codeSnippet" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;SharePoint:RenderingTemplate&lt;/span&gt; &lt;span style="color: #ff0000"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="MyCustomForm"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;runat&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="server"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Template&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;        Hello&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Template&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;SharePoint:RenderingTemplate&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Можете да добавите HTML и свой ASCX контролки и напълно да промените това, което крайните потребители виждат и използват.&lt;/p&gt;
&lt;p&gt;Ето какво всъщност става &amp;bdquo;зад сцената&amp;ldquo;:&lt;/p&gt;
&lt;p&gt;В първата част описах как &lt;strong&gt;ListFormWebPart&lt;/strong&gt; се добавя от платформата на ASPX страници, които по принцип SharePoint би използвал за да покаже свойте &amp;ldquo;New&amp;rdquo;, &amp;ldquo;Edit&amp;rdquo; и &amp;ldquo;Display&amp;rdquo; форми. Този Web Part върши цялата работа в намирането на точния &lt;strong&gt;Rendering Template&lt;/strong&gt; за текущия &lt;strong&gt;Content Type&lt;/strong&gt;, върху който крайният потребител иска да работи.&lt;/p&gt;
&lt;p&gt;Ето малко код от Reflector&amp;hellip; Това е &lt;strong&gt;TemplateName&lt;/strong&gt;, притежанието на този &lt;strong&gt;ListFormWebPart&lt;/strong&gt;&lt;strong&gt;, &lt;/strong&gt;който проверява текущия&lt;strong&gt; &lt;/strong&gt;&lt;strong&gt;Content Type&lt;/strong&gt;&lt;strong&gt; &lt;/strong&gt;и връща името на конфигурирания&lt;strong&gt; &lt;/strong&gt;&lt;strong&gt;Rendering Template.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.sharepoint.bg/radi/image.axd?picture=image.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://www.sharepoint.bg/radi/image.axd?picture=image_thumb.png" border="0" alt="image" width="516" height="423" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Това ни води до следващата опция:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Вариант 2:&lt;/strong&gt; Да посочим името на &lt;strong&gt;Rendering Template&lt;/strong&gt; чрез код.&lt;/p&gt;
&lt;p&gt;Кода е много прост (: &lt;strong&gt;SPContentType&lt;/strong&gt; обекта открива 3 притежания:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;"&gt;
&lt;div id="codeSnippet" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;cType.NewFormTemplateName = &amp;ldquo;MyCustomForm&amp;rdquo;;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;cType.EditFormTemplateName = &amp;ldquo;MyCustomForm&amp;rdquo;;;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;cType.DisplayFormTemplateName = &amp;ldquo;MyCustomForm&amp;rdquo;;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"&gt;cType.Update(&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;С това ще се постигне същото нещо като Опция 1, но няма нужда от декларативен CAML. Чрез cType.Update(true); изпращаме промените към дъщерни &lt;strong&gt;Content Types&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Успех.&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/SharePointBG/RadiBG/~3/wnFPSJc3eJA/post.aspx</link>
      <author>Ради Атанасов</author>
      <comments>http://www.sharepoint.bg/radi/post/SharePoint-2007-list-forms-under-the-hood-Part-2-BG.aspx#comment</comments>
      <guid isPermaLink="false">http://www.sharepoint.bg/radi/post.aspx?id=98306722-44d9-4a5b-b06d-a4ba53cfa11c</guid>
      <pubDate>Sat, 20 Feb 2010 13:55:00 +1200</pubDate>
      <category>Bulgarian</category>
      <dc:publisher>Ради Атанасов</dc:publisher>
      <pingback:server>http://www.sharepoint.bg/radi/pingback.axd</pingback:server>
      <pingback:target>http://www.sharepoint.bg/radi/post.aspx?id=98306722-44d9-4a5b-b06d-a4ba53cfa11c</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.sharepoint.bg/radi/trackback.axd?id=98306722-44d9-4a5b-b06d-a4ba53cfa11c</trackback:ping>
      <wfw:comment>http://www.sharepoint.bg/radi/post/SharePoint-2007-list-forms-under-the-hood-Part-2-BG.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.sharepoint.bg/radi/syndication.axd?post=98306722-44d9-4a5b-b06d-a4ba53cfa11c</wfw:commentRss>
    <feedburner:origLink>http://www.sharepoint.bg/radi/post.aspx?id=98306722-44d9-4a5b-b06d-a4ba53cfa11c</feedburner:origLink></item>
    <item>
      <title>Формите на списъци в SharePoint 2007 - как работят те</title>
      <description>&lt;p&gt;В този пост разглеждам как работят формите на списъци и Content Types в SharePoint 2007 (в случая WSS v3) и какви са ни възможностите за разширяване и разработка. В тази първа част ще обясня как да използваме наши си ASPX форми, а във втора – как да заменим стандартните Rendering Templates с нови. С втория пост ще сложа и линк към решение с пример за двата варианта.&lt;/p&gt;  &lt;p&gt;Когато създадем списък в SharePoint, ние всъщност създаваме копие на базата на съществуващ шаблон – List Template. Тези шаблони са дефирнирани в Features, и всеки Feature с шаблон за списък ще съдържа дефиниращ файл: schema.xml. Този schema.xml може се разгледа за всеки списък, който WSS v3 ни предлага: разгледайте 12\TEMPLATE\FEATURES папката, там има Features като CustomList, ContactList, DocumentLibrary. Всичките имат schema.xml, който дефинира особеностите им.&lt;/p&gt;  &lt;p&gt;В края на този XML (CAML) файл може да видим „Form” елемент, който дефинира ASPX страниците, които ще бъдат използвани за списъка, на който схемата принадлежи.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.sharepoint.bg/radi/image.axd?picture=clip_image002_1.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://www.sharepoint.bg/radi/image.axd?picture=clip_image002_thumb_1.jpg" width="569" height="96" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Когато се създава списък, платформата прави копие на файл-а дефиниран в “SetupPath” атрибута на “Form” елемента, и го качва в базата данни с посоченото име в “Url” атрибута. След като страницата е създадена (това е обикновен Web Part Page), SharePoint слага &lt;b&gt;ListFormWebPart&lt;/b&gt;&lt;b&gt; &lt;/b&gt;в посочения&lt;b&gt; &lt;/b&gt;&lt;b&gt;WebPartZoneID&lt;/b&gt;. “pages\form.aspx”, и подобни други ASPX страници се намират в 12\TEMPLATE\Pages, и там можете да сложите своите. Горният screenshot е от CustomList, но можете да разгледате и всички останали.&lt;/p&gt;  &lt;p&gt;Интересното става, когато Content Types са добавени в списъци. Всеки &lt;b&gt;Content&lt;/b&gt;&lt;b&gt; Type&lt;/b&gt; може да има свои&lt;b&gt; &lt;/b&gt;DisplayForm, EditForm или NewForm зададени, а всеки списък може да има множество &lt;b&gt;Content&lt;/b&gt;&lt;b&gt; Types&lt;/b&gt;. Съответно за създаването на различен вид съдържание в един списък можете да имате различни форми за различните &lt;b&gt;Content&lt;/b&gt;&lt;b&gt; Types&lt;/b&gt; – това е много добра гъвкавост. От друга гледна точка, всеки &lt;b&gt;Content&lt;/b&gt;&lt;b&gt; Type&lt;/b&gt; може да има един и същ интерфейс (форма) навсякъде, когато е използван многократно.&lt;/p&gt;  &lt;p&gt;Как работи всичкото това зад сцената?&lt;/p&gt;  &lt;p&gt;В SharePoint &lt;b&gt;SPContentType&lt;/b&gt;&lt;b&gt; &lt;/b&gt;обектът ни позволява да му зададем&lt;b&gt; &lt;/b&gt;EditFormUrl, DispFormUrl, и NewFormUrl (притежания):&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;cType.EditFormUrl = &amp;quot;_layouts/ourprojectfolder/customedit.aspx&amp;quot;;&lt;/p&gt;  &lt;p&gt;cType.NewFormUrl = &amp;quot;_layouts/ourprojectfolder/customnew.aspx&amp;quot;;&lt;/p&gt;  &lt;p&gt;cType.DisplayFormUrl = &amp;quot;_layouts/ourprojectfolder/customdisplay.aspx&amp;quot;;&lt;/p&gt;  &lt;p&gt;Ако тези са дефинирани от нас, SharePoint прави следното:&lt;/p&gt;  &lt;p&gt;· С избирането на “New” бутона или съответните опции от менюто на всеки ред в списъка, SharePoint ни праща на EditForm.aspx, NewForm.aspx или DispForm.aspx според избора.&lt;/p&gt;  &lt;p&gt;· Когато създава списъка, платформата конфигурира &lt;b&gt;ListFormWebPart&lt;/b&gt;&lt;b&gt; &lt;/b&gt;на всяка от тези ASPX страници (откопирани са от Pages\form.aspx).&lt;b&gt; &lt;/b&gt;&lt;b&gt;WebPartZoneID&lt;/b&gt;&lt;b&gt; &lt;/b&gt;атрибута определя къде точно да се добави този Web Part. Тези страници не могат без този Web Part – SharePoint се оплаква ако се опитате да го насочите към страница без &lt;b&gt;ListFormWebPart&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;· Този &lt;b&gt;ListFormWebPart&lt;/b&gt;&lt;b&gt; &lt;/b&gt;проверява текущия&lt;b&gt; &lt;/b&gt;&lt;b&gt;SPControlMode&lt;/b&gt; (Edit, New, Display), и дали съответното притежание (EditFormUrl, DispFormUrl, или NewFormUrl) на текущия &lt;b&gt;Content&lt;/b&gt;&lt;b&gt; Type&lt;/b&gt; е зададен. Логиката може да бъде проследена ако разгледаме кода на този web part – в &lt;b&gt;OnInit&lt;/b&gt; метода се прави проверка на притежанието this.&lt;b&gt;FormPageUrl&lt;/b&gt;, което всъщност е obfuscated и не мога да ви го покажа. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.sharepoint.bg/radi/image.axd?picture=clip_image003_1.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image003" border="0" alt="clip_image003" src="http://www.sharepoint.bg/radi/image.axd?picture=clip_image003_thumb_1.png" width="564" height="237" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Независимо дали е зададен от нас или не (EditFormUrl, DispFormUrl, или NewFormUrl), SharePoint ни праща към съответната страница - NewForm.aspx, EditForm.aspx или DispForm.aspx. На тези страници &lt;b&gt;ListFormWebPart&lt;/b&gt;&lt;b&gt; &lt;/b&gt;проверява текущия&lt;b&gt; &lt;/b&gt;&lt;b&gt;Content&lt;/b&gt;&lt;b&gt; Type&lt;/b&gt;&lt;b&gt; &lt;/b&gt;(всеки List Item в SharePoint има зададен Content Type)&lt;b&gt; &lt;/b&gt;и ни препраща към съответната форма (ако тя е зададена от нас). &lt;b&gt;this&lt;/b&gt;&lt;b&gt;.FormPageUrl&lt;/b&gt;&lt;b&gt; &lt;/b&gt;определя коя е тя на база на текущия&lt;b&gt; &lt;/b&gt;&lt;b&gt;SPControlMode&lt;/b&gt; (New, Edit, Display), но не мога да ви покажа кода на &lt;b&gt;this&lt;/b&gt;&lt;b&gt;.FormPageUrl&lt;/b&gt; защото е obfuscated. Така всъщност става конфигурирането на поризволни форми.&lt;/p&gt;  &lt;p&gt;Проблемът на този дизайн, е че SharePoint първо ни праща към NewForm.aspx (или една от другите) и след малко код отново ни препраща чрез &lt;b&gt;SPUtility&lt;/b&gt;&lt;b&gt;.Redirect&lt;/b&gt;&lt;b&gt; &lt;/b&gt;(което зад сцената е по-украсен &lt;b&gt;Response&lt;/b&gt;&lt;b&gt;.Redirect&lt;/b&gt;). Това са два post-back-a, и можете да ги проследите с Firebug или Fiddler, или който и да е друг HTTP listener. Освен, че препратките са две, NewForm.aspx е Web Part Page, а те не са хич леки.&lt;/p&gt;  &lt;p&gt;Това, което все още не знам е как да конфигурираме EditFormUrl, NewFormUrl или DispFormUrl в схемата на &lt;b&gt;ContentType&lt;/b&gt; елемента (чрез CAML). Примерът по-горе е чрез код и обектния модел, но той не е идеален за всички случаи. В WSS v3 “Form” елемента е “obsolete”, така че начина, по който го правихме в WSS v2 е вече невалиден. Втория ни вариант всъщност е да работим с XmlDocuments елемента в CAML – той ни позволява да сменим съответния Rendering Template на формата. Така става чрез CAML, но двата метода работят по коренно различен начин. &lt;/p&gt;  &lt;p&gt;Във втората част на този пост ще разгледам как да заменим стандартните Rendering Templates с произволни, и съответно алтернативния вариант да разширяваме формите на списъци и Content Types.&lt;/p&gt;  &lt;p&gt;Надявам се това ще помогне на някой.&lt;/p&gt;</description>
      <link>http://feedproxy.google.com/~r/SharePointBG/RadiBG/~3/CA3tb39NL9I/post.aspx</link>
      <author>Ради Атанасов</author>
      <comments>http://www.sharepoint.bg/radi/post/SharePoint-2007-list-forms-under-the-hood-BG.aspx#comment</comments>
      <guid isPermaLink="false">http://www.sharepoint.bg/radi/post.aspx?id=1efd72b5-83dc-4244-afcc-9b2ab937061f</guid>
      <pubDate>Sun, 07 Feb 2010 09:05:00 +1200</pubDate>
      <category>Bulgarian</category>
      <dc:publisher>Ради Атанасов</dc:publisher>
      <pingback:server>http://www.sharepoint.bg/radi/pingback.axd</pingback:server>
      <pingback:target>http://www.sharepoint.bg/radi/post.aspx?id=1efd72b5-83dc-4244-afcc-9b2ab937061f</pingback:target>
      <slash:comments>4</slash:comments>
      <trackback:ping>http://www.sharepoint.bg/radi/trackback.axd?id=1efd72b5-83dc-4244-afcc-9b2ab937061f</trackback:ping>
      <wfw:comment>http://www.sharepoint.bg/radi/post/SharePoint-2007-list-forms-under-the-hood-BG.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.sharepoint.bg/radi/syndication.axd?post=1efd72b5-83dc-4244-afcc-9b2ab937061f</wfw:commentRss>
    <feedburner:origLink>http://www.sharepoint.bg/radi/post.aspx?id=1efd72b5-83dc-4244-afcc-9b2ab937061f</feedburner:origLink></item>
  </channel>
</rss>

