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

<channel>
	<title>Bugra Postaci&#039;s Blog</title>
	<atom:link href="http://blog.bugrapostaci.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.bugrapostaci.com</link>
	<description>All my posts are provided &#34;AS IS&#34; with no warranties, and confer no rights.</description>
	<lastBuildDate>Mon, 20 Feb 2012 07:34:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.bugrapostaci.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Bugra Postaci&#039;s Blog</title>
		<link>http://blog.bugrapostaci.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.bugrapostaci.com/osd.xml" title="Bugra Postaci&#039;s Blog" />
	<atom:link rel='hub' href='http://blog.bugrapostaci.com/?pushpress=hub'/>
		<item>
		<title>Misunderstanding when upgrade Sharepoint Server  2010 SP1 with Language Service Packs KB2460059 vs KB2460056</title>
		<link>http://blog.bugrapostaci.com/2012/02/19/misunderstanding-when-upgrade-sharepoint-server-2010-sp1-with-language-service-packs-kb2460059-vs-kb2460056/</link>
		<comments>http://blog.bugrapostaci.com/2012/02/19/misunderstanding-when-upgrade-sharepoint-server-2010-sp1-with-language-service-packs-kb2460059-vs-kb2460056/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 12:45:10 +0000</pubDate>
		<dc:creator>bpostaci</dc:creator>
				<category><![CDATA[Sharepoint 2010]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[KB2460056]]></category>
		<category><![CDATA[KB2460059]]></category>
		<category><![CDATA[Language]]></category>
		<category><![CDATA[MSF]]></category>
		<category><![CDATA[Pack]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[SP1]]></category>
		<category><![CDATA[SPS]]></category>

		<guid isPermaLink="false">http://blog.bugrapostaci.com/?p=1129</guid>
		<description><![CDATA[As you know we have installation setup for language pack 2010 Service Pack 1 1) Service Pack 1 for Microsoft SharePoint Foundation (MSF) 2010 Language Pack (KB2460059) http://www.microsoft.com/download/en/details.aspx?id=26629 2) Service Pack 1 for Microsoft SharePoint  Server (SPS) Language Pack 2010 (KB2460056) http://www.microsoft.com/download/en/details.aspx?id=26621 Some of the articles in internet tell us install MSF Language service pack1 first KB2460059 and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.bugrapostaci.com&amp;blog=10439536&amp;post=1129&amp;subd=bpostaci&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As you know we have installation setup for language pack 2010 Service Pack 1</p>
<p>1) Service Pack 1 for Microsoft SharePoint Foundation (MSF) 2010 Language Pack (KB2460059)<br />
<a href="http://www.microsoft.com/download/en/details.aspx?id=26629">http://www.microsoft.com/download/en/details.aspx?id=26629<br />
</a><br />
2) Service Pack 1 for Microsoft SharePoint  Server (SPS) Language Pack 2010 (KB2460056)<br />
<a href="http://www.microsoft.com/download/en/details.aspx?id=26621">http://www.microsoft.com/download/en/details.aspx?id=26621</a></p>
<p>Some of the articles in internet tell us install MSF Language service pack1 first KB2460059 and than install KB2460056 after.<br />
<strong>THAT IS NOT CORRECT !!!<br />
</strong>If you fallow this order  ,you can easily detect that you can not able install KB2460056  after KB2460059 .</p>
<p><strong>First of all the KB2460056 contains all packs for KB2460059.</strong></p>
<p>That&#8217;s why if you have Sharepoint Server 2010 you should install only  Service Pack 1 for Service Pack 1 for Server Language Pack 2010 (KB2460056) or<br />
if you have Sharepoint Foundation 2010 you should install only  Service Pack 1 for Microsoft SharePoint Foundation 2010 Language Pack (KB2460059)</p>
<p>For prove this i have download Turkish SPS and MSF Language Service Pack1 and extract the packages and compre them.</p>
<p>Service Pack 1 for Microsoft SharePoint Foundation (MSF) 2010 Language Pack (KB2460059)<br />
spflanguagepack2010sp1-kb2460059-x64-fullfile-tr-tr.exe<br />
<a href="http://bpostaci.files.wordpress.com/2012/02/pacagesformsf.png"><img class="alignnone size-full wp-image-1130" title="pacagesformsf" src="http://bpostaci.files.wordpress.com/2012/02/pacagesformsf.png?w=630" alt=""   /></a></p>
<p>Service Pack 1 for Microsoft SharePoint  Server (SPS) Language Pack 2010 (KB2460056)<br />
serverlanguagepack2010sp1-kb2460056-x64-fullfile-tr-tr.exe<br />
<a href="http://bpostaci.files.wordpress.com/2012/02/pakagesforsps.png"><img class="alignnone size-full wp-image-1131" title="Pakagesforsps" src="http://bpostaci.files.wordpress.com/2012/02/pakagesforsps.png?w=630" alt=""   /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h1 id="top"></h1>
<br />Filed under: <a href='http://blog.bugrapostaci.com/category/sharepoint/sharepoint-2010/'>Sharepoint 2010</a> Tagged: <a href='http://blog.bugrapostaci.com/tag/2010/'>2010</a>, <a href='http://blog.bugrapostaci.com/tag/kb2460056/'>KB2460056</a>, <a href='http://blog.bugrapostaci.com/tag/kb2460059/'>KB2460059</a>, <a href='http://blog.bugrapostaci.com/tag/language/'>Language</a>, <a href='http://blog.bugrapostaci.com/tag/msf/'>MSF</a>, <a href='http://blog.bugrapostaci.com/tag/pack/'>Pack</a>, <a href='http://blog.bugrapostaci.com/tag/service/'>Service</a>, <a href='http://blog.bugrapostaci.com/tag/sharepoint/'>Sharepoint</a>, <a href='http://blog.bugrapostaci.com/tag/sp1/'>SP1</a>, <a href='http://blog.bugrapostaci.com/tag/sps/'>SPS</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bpostaci.wordpress.com/1129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bpostaci.wordpress.com/1129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bpostaci.wordpress.com/1129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bpostaci.wordpress.com/1129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bpostaci.wordpress.com/1129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bpostaci.wordpress.com/1129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bpostaci.wordpress.com/1129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bpostaci.wordpress.com/1129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bpostaci.wordpress.com/1129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bpostaci.wordpress.com/1129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bpostaci.wordpress.com/1129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bpostaci.wordpress.com/1129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bpostaci.wordpress.com/1129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bpostaci.wordpress.com/1129/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.bugrapostaci.com&amp;blog=10439536&amp;post=1129&amp;subd=bpostaci&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.bugrapostaci.com/2012/02/19/misunderstanding-when-upgrade-sharepoint-server-2010-sp1-with-language-service-packs-kb2460059-vs-kb2460056/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/df5c41f8bbde32c038065e8709d110dd?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">Postman</media:title>
		</media:content>

		<media:content url="http://bpostaci.files.wordpress.com/2012/02/pacagesformsf.png" medium="image">
			<media:title type="html">pacagesformsf</media:title>
		</media:content>

		<media:content url="http://bpostaci.files.wordpress.com/2012/02/pakagesforsps.png" medium="image">
			<media:title type="html">Pakagesforsps</media:title>
		</media:content>
	</item>
		<item>
		<title>How to send Real Meeting Requests from Sharepoint 2010 &#8211; Part4 Usage</title>
		<link>http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-requests-from-sharepoint-2010-part4-usage/</link>
		<comments>http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-requests-from-sharepoint-2010-part4-usage/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 17:41:07 +0000</pubDate>
		<dc:creator>bpostaci</dc:creator>
				<category><![CDATA[Sharepoint 2010]]></category>
		<category><![CDATA[Attendees]]></category>
		<category><![CDATA[Basic]]></category>
		<category><![CDATA[Calendar]]></category>
		<category><![CDATA[meeting]]></category>
		<category><![CDATA[request]]></category>
		<category><![CDATA[Schedule]]></category>
		<category><![CDATA[SMR]]></category>
		<category><![CDATA[Usage]]></category>
		<category><![CDATA[Webpart]]></category>
		<category><![CDATA[Workspace]]></category>

		<guid isPermaLink="false">http://blog.bugrapostaci.com/?p=1055</guid>
		<description><![CDATA[How to send Real Meeting Requests from Sharepoint 2010 &#8211; Part4 Usage: Here is the links for How to send Real Meeting Request From Sharepoint 2010 Series: http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-1/ http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-2/ http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-3-deployment/ http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-requests-from-sharepoint-2010-part4-usage/ 1) Open a sharepoint calendar 2) Add new Event Meeting Requests can only be send through from a Meeting Workspace in this project.So you [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.bugrapostaci.com&amp;blog=10439536&amp;post=1055&amp;subd=bpostaci&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>How to send Real Meeting Requests from Sharepoint 2010 &#8211; Part4 Usage:</p>
<p>Here is the links for How to send Real Meeting Request From Sharepoint 2010 Series:<br />
<a href="http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-1/">http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-1/</a><br />
<a href="http://blog.bugrapostaci.com/2012/02/17/how-to-send-meeting-request-from-sharepoint-2010-part-2/">http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-2/</a><br />
<a href="http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-3-deployment/">http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-3-deployment/</a></p>
<p>http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-requests-from-sharepoint-2010-part4-usage/</p>
<p>1) Open a sharepoint calendar</p>
<p><a href="http://bpostaci.files.wordpress.com/2012/02/usage1.jpg"><img class="alignnone size-full wp-image-1070" title="Usage1" src="http://bpostaci.files.wordpress.com/2012/02/usage1.jpg?w=630&#038;h=429" alt="" width="630" height="429" /></a></p>
<p>2) Add new Event</p>
<p><a href="http://bpostaci.files.wordpress.com/2012/02/usage1a.jpg"><img class="alignnone size-full wp-image-1071" title="Usage1a" src="http://bpostaci.files.wordpress.com/2012/02/usage1a.jpg?w=630" alt=""   /></a></p>
<p>Meeting Requests can only be send through from a Meeting Workspace in this project.So you have to select checkbox of workspace.</p>
<p>3) Create a new Meeting Workspace or Select an existing Meeting WorkSpace</p>
<p><a href="http://bpostaci.files.wordpress.com/2012/02/usage2.jpg"><img class="alignnone size-full wp-image-1072" title="Usage2" src="http://bpostaci.files.wordpress.com/2012/02/usage2.jpg?w=630&#038;h=628" alt="" width="630" height="628" /></a></p>
<p><a href="http://bpostaci.files.wordpress.com/2012/02/usage3.jpg"><img class="alignnone size-full wp-image-1073" title="Usage3" src="http://bpostaci.files.wordpress.com/2012/02/usage3.jpg?w=630&#038;h=238" alt="" width="630" height="238" /></a></p>
<p>If you have already a created Meeting WorkSpace select that one.</p>
<p><a href="http://bpostaci.files.wordpress.com/2012/02/ifyoualreadyhavems.jpg"><img class="alignnone size-full wp-image-1063" title="IfyoualreadyhaveMS" src="http://bpostaci.files.wordpress.com/2012/02/ifyoualreadyhavems.jpg?w=630&#038;h=108" alt="" width="630" height="108" /></a></p>
<p>4) The Meeting Workspace home page opens automatically.</p>
<p><a href="http://bpostaci.files.wordpress.com/2012/02/usage4.jpg"><img class="alignnone  wp-image-1074" title="Usage4" src="http://bpostaci.files.wordpress.com/2012/02/usage4.jpg?w=630&#038;h=406" alt="" width="630" height="406" /></a></p>
<p>5) Add <strong>Manage Meeting Requests Web Part</strong>  to default page</p>
<p><a href="http://bpostaci.files.wordpress.com/2012/02/editpage.jpg"><img class="alignnone size-full wp-image-1062" title="EditPage" src="http://bpostaci.files.wordpress.com/2012/02/editpage.jpg?w=630" alt=""   /></a></p>
<p><a href="http://bpostaci.files.wordpress.com/2012/02/addawebpart.jpg"><img class="alignnone size-full wp-image-1058" title="AddaWebPart" src="http://bpostaci.files.wordpress.com/2012/02/addawebpart.jpg?w=630" alt=""   /></a></p>
<p><a href="http://bpostaci.files.wordpress.com/2012/02/addsmrwebpart.jpg"><img class="alignnone size-full wp-image-1059" title="AddSMRWebPart" src="http://bpostaci.files.wordpress.com/2012/02/addsmrwebpart.jpg?w=630&#038;h=409" alt="" width="630" height="409" /></a></p>
<p><a href="http://bpostaci.files.wordpress.com/2012/02/stopediting.jpg"><img class="alignnone size-full wp-image-1069" title="StopEditing" src="http://bpostaci.files.wordpress.com/2012/02/stopediting.jpg?w=630" alt=""   /></a></p>
<p>6) Add needed attendess</p>
<p><a href="http://bpostaci.files.wordpress.com/2012/02/addattendees.jpg"><img class="alignnone size-full wp-image-1056" title="AddAttendees" src="http://bpostaci.files.wordpress.com/2012/02/addattendees.jpg?w=630&#038;h=269" alt="" width="630" height="269" /></a></p>
<p>7)Return to home page of Meeting Site</p>
<p>8) Send a meeting Request form Manage Meeting Request Web Part<br />
<a href="http://bpostaci.files.wordpress.com/2012/02/aftersend.jpg"><img class="alignnone size-full wp-image-1060" title="AfterSend" src="http://bpostaci.files.wordpress.com/2012/02/aftersend.jpg?w=630" alt=""   /></a></p>
<p>If you able to send a meeting request successfully the gui has changes and information message shown that confirm your Meeting Request has been sent successfully.<br />
There is only 4 feature implemented in this project.</p>
<ul>
<li>Send Meeting Request</li>
<li>ReSend Meeting Request</li>
<li>Refresh Attendees Status</li>
<li>Cancel Meeting</li>
</ul>
<p>9) Check Your Outlook and Clients for confirmation .</p>
<p><a href="http://bpostaci.files.wordpress.com/2012/02/outlookcheck.png"><img class="alignnone size-full wp-image-1066" title="OutlookCheck" src="http://bpostaci.files.wordpress.com/2012/02/outlookcheck.png?w=630&#038;h=499" alt="" width="630" height="499" /></a></p>
<p><a href="http://bpostaci.files.wordpress.com/2012/02/checkemails.png"><img class="alignnone size-full wp-image-1061" title="CheckEmails" src="http://bpostaci.files.wordpress.com/2012/02/checkemails.png?w=630&#038;h=339" alt="" width="630" height="339" /></a></p>
<br />Filed under: <a href='http://blog.bugrapostaci.com/category/sharepoint/sharepoint-2010/'>Sharepoint 2010</a> Tagged: <a href='http://blog.bugrapostaci.com/tag/attendees/'>Attendees</a>, <a href='http://blog.bugrapostaci.com/tag/basic/'>Basic</a>, <a href='http://blog.bugrapostaci.com/tag/calendar/'>Calendar</a>, <a href='http://blog.bugrapostaci.com/tag/meeting/'>meeting</a>, <a href='http://blog.bugrapostaci.com/tag/request/'>request</a>, <a href='http://blog.bugrapostaci.com/tag/schedule/'>Schedule</a>, <a href='http://blog.bugrapostaci.com/tag/sharepoint-2010/'>Sharepoint 2010</a>, <a href='http://blog.bugrapostaci.com/tag/smr/'>SMR</a>, <a href='http://blog.bugrapostaci.com/tag/usage/'>Usage</a>, <a href='http://blog.bugrapostaci.com/tag/webpart/'>Webpart</a>, <a href='http://blog.bugrapostaci.com/tag/workspace/'>Workspace</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bpostaci.wordpress.com/1055/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bpostaci.wordpress.com/1055/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bpostaci.wordpress.com/1055/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bpostaci.wordpress.com/1055/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bpostaci.wordpress.com/1055/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bpostaci.wordpress.com/1055/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bpostaci.wordpress.com/1055/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bpostaci.wordpress.com/1055/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bpostaci.wordpress.com/1055/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bpostaci.wordpress.com/1055/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bpostaci.wordpress.com/1055/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bpostaci.wordpress.com/1055/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bpostaci.wordpress.com/1055/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bpostaci.wordpress.com/1055/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.bugrapostaci.com&amp;blog=10439536&amp;post=1055&amp;subd=bpostaci&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-requests-from-sharepoint-2010-part4-usage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/df5c41f8bbde32c038065e8709d110dd?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">Postman</media:title>
		</media:content>

		<media:content url="http://bpostaci.files.wordpress.com/2012/02/usage1.jpg" medium="image">
			<media:title type="html">Usage1</media:title>
		</media:content>

		<media:content url="http://bpostaci.files.wordpress.com/2012/02/usage1a.jpg" medium="image">
			<media:title type="html">Usage1a</media:title>
		</media:content>

		<media:content url="http://bpostaci.files.wordpress.com/2012/02/usage2.jpg" medium="image">
			<media:title type="html">Usage2</media:title>
		</media:content>

		<media:content url="http://bpostaci.files.wordpress.com/2012/02/usage3.jpg" medium="image">
			<media:title type="html">Usage3</media:title>
		</media:content>

		<media:content url="http://bpostaci.files.wordpress.com/2012/02/ifyoualreadyhavems.jpg" medium="image">
			<media:title type="html">IfyoualreadyhaveMS</media:title>
		</media:content>

		<media:content url="http://bpostaci.files.wordpress.com/2012/02/usage4.jpg" medium="image">
			<media:title type="html">Usage4</media:title>
		</media:content>

		<media:content url="http://bpostaci.files.wordpress.com/2012/02/editpage.jpg" medium="image">
			<media:title type="html">EditPage</media:title>
		</media:content>

		<media:content url="http://bpostaci.files.wordpress.com/2012/02/addawebpart.jpg" medium="image">
			<media:title type="html">AddaWebPart</media:title>
		</media:content>

		<media:content url="http://bpostaci.files.wordpress.com/2012/02/addsmrwebpart.jpg" medium="image">
			<media:title type="html">AddSMRWebPart</media:title>
		</media:content>

		<media:content url="http://bpostaci.files.wordpress.com/2012/02/stopediting.jpg" medium="image">
			<media:title type="html">StopEditing</media:title>
		</media:content>

		<media:content url="http://bpostaci.files.wordpress.com/2012/02/addattendees.jpg" medium="image">
			<media:title type="html">AddAttendees</media:title>
		</media:content>

		<media:content url="http://bpostaci.files.wordpress.com/2012/02/aftersend.jpg" medium="image">
			<media:title type="html">AfterSend</media:title>
		</media:content>

		<media:content url="http://bpostaci.files.wordpress.com/2012/02/outlookcheck.png" medium="image">
			<media:title type="html">OutlookCheck</media:title>
		</media:content>

		<media:content url="http://bpostaci.files.wordpress.com/2012/02/checkemails.png" medium="image">
			<media:title type="html">CheckEmails</media:title>
		</media:content>
	</item>
		<item>
		<title>How to send Real Meeting Request from Sharepoint 2010 &#8211; Part 3 Deployment</title>
		<link>http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-3-deployment/</link>
		<comments>http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-3-deployment/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 17:39:37 +0000</pubDate>
		<dc:creator>bpostaci</dc:creator>
				<category><![CDATA[Sharepoint 2010]]></category>
		<category><![CDATA[Add-SPSolution]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[Enable-SPFeature]]></category>
		<category><![CDATA[Install-SPSolution]]></category>
		<category><![CDATA[meeting]]></category>
		<category><![CDATA[request]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[wsp]]></category>

		<guid isPermaLink="false">http://blog.bugrapostaci.com/?p=1098</guid>
		<description><![CDATA[How to send Real Meeting Request from Sharepoint 2010 Series: http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-1/ http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-2/ http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-3-deployment/ http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-requests-from-sharepoint-2010-part4-usage/ How to Deploy our sample project to sharepoint. 1) Download Meeting Request project WSP file from http://spssampleprojects.codeplex.com/releases/view/82359 And copy SendMeetingRequestProg.wsp file to your c: drive 2) Open a Sharepoint Management Shell 3) Type and rın fallowing command Add-SPSolution -LiteralPath c:\SendMeetingRequestProj.wsp 4) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.bugrapostaci.com&amp;blog=10439536&amp;post=1098&amp;subd=bpostaci&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>How to send Real Meeting Request from Sharepoint 2010 Series:</p>
<p><a href="http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-1/">http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-1/</a><br />
<a href="http://blog.bugrapostaci.com/2012/02/17/how-to-send-meeting-request-from-sharepoint-2010-part-2/">http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-2/</a></p>
<p>http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-3-deployment/</p>
<p><a href="http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-requests-from-sharepoint-2010-part4-usage/">http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-requests-from-sharepoint-2010-part4-usage/</a></p>
<p>How to Deploy our sample project to sharepoint.</p>
<p>1) Download Meeting Request project WSP file from<br />
<a href="http://spssampleprojects.codeplex.com/releases/view/82359">http://spssampleprojects.codeplex.com/releases/view/82359</a><br />
And copy SendMeetingRequestProg.wsp file to your c: drive</p>
<p>2) Open a Sharepoint Management Shell</p>
<p>3) Type and rın fallowing command<br />
Add-SPSolution -LiteralPath c:\SendMeetingRequestProj.wsp</p>
<p>4) Type and rın fallowing command<br />
Install-SPSolution -identity SendMeetingRequestProj.wsp -WebApplication &lt;your web site url&gt; -GACDeployment<br />
Example:<br />
Install-SPSolution -identity SendMeetingRequestProj.wsp -WebApplication <a href="http://blog.bugrapostaci.com">http://blog.bugrapostaci.com</a> -GACDeployment</p>
<p>5) Type and rın fallowing command<br />
Enable-SPFeature -Identity <strong>f746829e-ca13-4bcd-86cc-90fd1cd0729c</strong> -url&lt;your web site url&gt;<br />
Example:<br />
Enable-SPFeature -Identity <strong>f746829e-ca13-4bcd-86cc-90fd1cd0729c</strong> -url <a href="http://blog.bugrapostaci.com">http://blog.bugrapostaci.com</a></p>
<p>Our feature Id : is f746829e-ca13-4bcd-86cc-90fd1cd0729c but if dont know a features id you can find it with fallowing powershell command<br />
Get-SPFeature</p>
<p>Our wsp files contains fallowing files.<br />
<a href="http://bpostaci.files.wordpress.com/2012/02/smrinstall3.jpg"><img title="SMRInstall3" src="http://bpostaci.files.wordpress.com/2012/02/smrinstall3.jpg?w=630&#038;h=157" alt="" width="630" height="157" /></a></p>
<p>PS : WSP Files contains Microsoft.Exchange.WebServices.dll file so you dont need to install EWS setup to your sharepoint servers .<br />
When you deploy wsp file Microsoft.Exchange.WebServices.dll will be copied to your web applications folder .</p>
<br />Filed under: <a href='http://blog.bugrapostaci.com/category/sharepoint/sharepoint-2010/'>Sharepoint 2010</a> Tagged: <a href='http://blog.bugrapostaci.com/tag/add-spsolution/'>Add-SPSolution</a>, <a href='http://blog.bugrapostaci.com/tag/deployment/'>deployment</a>, <a href='http://blog.bugrapostaci.com/tag/enable-spfeature/'>Enable-SPFeature</a>, <a href='http://blog.bugrapostaci.com/tag/install-spsolution/'>Install-SPSolution</a>, <a href='http://blog.bugrapostaci.com/tag/meeting/'>meeting</a>, <a href='http://blog.bugrapostaci.com/tag/request/'>request</a>, <a href='http://blog.bugrapostaci.com/tag/sharepoint/'>Sharepoint</a>, <a href='http://blog.bugrapostaci.com/tag/wsp/'>wsp</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bpostaci.wordpress.com/1098/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bpostaci.wordpress.com/1098/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bpostaci.wordpress.com/1098/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bpostaci.wordpress.com/1098/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bpostaci.wordpress.com/1098/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bpostaci.wordpress.com/1098/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bpostaci.wordpress.com/1098/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bpostaci.wordpress.com/1098/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bpostaci.wordpress.com/1098/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bpostaci.wordpress.com/1098/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bpostaci.wordpress.com/1098/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bpostaci.wordpress.com/1098/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bpostaci.wordpress.com/1098/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bpostaci.wordpress.com/1098/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.bugrapostaci.com&amp;blog=10439536&amp;post=1098&amp;subd=bpostaci&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-3-deployment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/df5c41f8bbde32c038065e8709d110dd?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">Postman</media:title>
		</media:content>

		<media:content url="http://bpostaci.files.wordpress.com/2012/02/smrinstall3.jpg" medium="image">
			<media:title type="html">SMRInstall3</media:title>
		</media:content>
	</item>
		<item>
		<title>How to send Real Meeting Request From Sharepoint 2010 &#8211; Part 2</title>
		<link>http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-2/</link>
		<comments>http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-2/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 17:38:45 +0000</pubDate>
		<dc:creator>bpostaci</dc:creator>
				<category><![CDATA[Sharepoint 2010]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[Basic]]></category>
		<category><![CDATA[Field]]></category>
		<category><![CDATA[InstanceID]]></category>
		<category><![CDATA[meeting]]></category>
		<category><![CDATA[Part 2]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[send]]></category>
		<category><![CDATA[Series]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[SPM2010]]></category>
		<category><![CDATA[Workspace]]></category>

		<guid isPermaLink="false">http://blog.bugrapostaci.com/?p=1085</guid>
		<description><![CDATA[Hello Everyone , How to send Real Meeting Request From Sharepoint 2010 article continues with part2 Here is the links for How to send Real Meeting Request From Sharepoint 2010 Series: http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-1/ http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-2/ http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-3-deployment/ http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-requests-from-sharepoint-2010-part4-usage/ Lets have a look for internally whats happening in a Meeting Workspace. If you open a meeting workspace web with Sharepoint [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.bugrapostaci.com&amp;blog=10439536&amp;post=1085&amp;subd=bpostaci&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hello Everyone ,</p>
<p>How to send Real Meeting Request From Sharepoint 2010 article continues with part2</p>
<p>Here is the links for How to send Real Meeting Request From Sharepoint 2010 Series:<br />
<a href="http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-1/">http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-1/</a><br />
<a href="http://blog.bugrapostaci.com/2012/02/17/how-to-send-meeting-request-from-sharepoint-2010-part-2/">http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-2/</a><br />
<a href="http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-3-deployment/">http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-3-deployment/</a><br />
<a href="http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-requests-from-sharepoint-2010-part4-usage/">http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-requests-from-sharepoint-2010-part4-usage/</a><br />
Lets have a look for internally whats happening in a Meeting Workspace.</p>
<p><a href="http://bpostaci.files.wordpress.com/2012/02/meetingws.jpg"><img class="alignnone size-full wp-image-1086" title="MeetingWS" src="http://bpostaci.files.wordpress.com/2012/02/meetingws.jpg?w=630&#038;h=472" alt="" width="630" height="472" /></a></p>
<p>If you open a meeting workspace web with Sharepoint Manager 2010 you can brows all components in a basic meeting workspace template.<br />
Some important list are Attendees , Meeting Serries , Workspace Pages ,</p>
<p>The Meeting Serries list contains Event information when you related a calender item with a meeting workspace instance. In this demo we have already attached two calender event this this meeting workpaced named &#8220;Scrum Meetings&#8221; . Every item has in Meeting Series an InstanceID so when you open a Event item and click linked workspace url<br />
you can see this instanceID has been added end of this url . For example:<br />
<a href="http://blog.bugrapostaci.com/scrummeetings/default.aspx?InstanceID=2">http://blog.bugrapostaci.com/scrummeetings?InstanceID=2</a></p>
<p>That means sharepoint sperates data according this Instance Parameter. As you noticed if you look carefully above image we have 6 attendees . This number is sum of all attendees count .But when you connect a workspace with an InstanceID  and if you compare fallowing properties for an Attendees list.<br />
SPList attendeesList = web.Lists["Attendees"];<br />
attendeesList.ItemCount  is 6 : means all attendees count contains other meeting instances counts<br />
attendeesList.Items.Count is 2 : meens this instance attendees count.</p>
<p>Sharepoint is differantiate the attendees data automatically and internally for which meeting workspace instance in use.</p>
<p><strong>So be careful when you are working with in Meeting Workspaces on InstaceID property and differantiation of data according to this property.</strong></p>
<p><strong></strong>Sharepoint Manager 2010 is a very useful tool when you programming with Sharepoint. You can use it with define Column Names and properties for serval objects in hiearchically.</p>
<p><a href="http://bpostaci.files.wordpress.com/2012/02/inmeetingworkspace2.jpg"><img title="InMeetingWorkspace2" src="http://bpostaci.files.wordpress.com/2012/02/inmeetingworkspace2.jpg?w=630&#038;h=473" alt="" width="630" height="473" /></a></p>
<p>But what if you dont want to use it , the powershell can also makes some help in this issue. For example if you want to learn which internal columns of an Meeting Series List item . you can get this information via powershell and write in a file in your drive like:</p>
<p>$Site = Get-SPList <a href="http://blog.bugrapostaci.com">http://blog.bugrapostaci.com</a><br />
$web = $site.OpenWeb(&#8220;ScrumMeetings&#8221;)<br />
$mList = $web.Lists["Meeting Series"]<br />
$mList.Fields |ft title , internalname &gt; c:\MeetingSeriesFields.txt</p>
<p><a href="http://bpostaci.files.wordpress.com/2012/02/inmeetingworkspace3.jpg"><img class="alignnone size-full wp-image-1088" title="InMeetingWorkspace3" src="http://bpostaci.files.wordpress.com/2012/02/inmeetingworkspace3.jpg?w=630&#038;h=312" alt="" width="630" height="312" /></a></p>
<p>One advantage of powershell that you can also check values of created properties which SPM2010 does not. For example you may wonder how sharepoint keeps EventURL of an Related Event item:<br />
$Site = Get-SPList <a href="http://blog.bugrapostaci.com">http://blog.bugrapostaci.com</a><br />
$web = $site.OpenWeb(&#8220;ScrumMeetings&#8221;)<br />
$mList = $web.Lists["Meeting Series"]<br />
$item = $mList.Items[1];<br />
$item["EventURL"] and press enter<br />
Results is: [URL], [List Title] -&gt; There is a space char after &#8220;,&#8221; so you should use trim() function when you parsing this data.<br />
<a href="http://blog.bugrapostaci.com/lists/TestCalender">http://blog.bugrapostaci.com/lists/TestCalender</a>, Meeting Calendar</p>
<p>After we complete understanding on Meeting Workspace  now contine with our project</p>
<div style="border:#000080 1px solid;color:#000;font-family:'Courier New', Courier, Monospace;font-size:10pt;">
<div style="background:#000080;color:#fff;font-family:Verdana, Tahoma, Arial, sans-serif;font-weight:bold;padding:2px 5px;">MeetingRequestWebPart -&gt; Page Load</div>
<div style="background:#ddd;max-height:300px;overflow:auto;">
<ol style="background:#ffffff;margin:0 0 0 3em;padding:0 0 0 5px;" start="51">
<li><span style="color:#0000ff;">protected</span> <span style="color:#0000ff;">void</span> Page_Load(<span style="color:#0000ff;">object</span> sender, <span style="color:#2b91af;">EventArgs</span> e)</li>
<li style="background:#f3f3f3;">{</li>
<li>    <span style="color:#0000ff;">#region</span> GUI operations</li>
<li style="background:#f3f3f3;">    //Some GUI operations</li>
<li style="background:#f3f3f3;">    <span style="color:#0000ff;">#endregion</span></li>
<li></li>
<li style="background:#f3f3f3;">    <span style="color:#008000;">//This webpart is only usable for Meeting Workspace Sites.</span></li>
<li>    <span style="color:#0000ff;">if</span> (!<span style="color:#2b91af;">SPMeeting</span>.IsMeetingWorkspaceWeb(<span style="color:#2b91af;">SPContext</span>.Current.Web))</li>
<li style="background:#f3f3f3;">    {</li>
<li>        InformationText.Text = <span style="color:#a31515;">&#8220;This webpart is only addable for a Meeting Workspace Web Site&#8221;</span>;</li>
<li style="background:#f3f3f3;">        AdminPanel.Visible = <span style="color:#0000ff;">false</span>;</li>
<li>        <span style="color:#0000ff;">return</span>;</li>
<li style="background:#f3f3f3;">    }</li>
<li></li>
<li style="background:#f3f3f3;">    <span style="color:#008000;">//Get Current Meeting information</span></li>
<li>    <span style="color:#2b91af;">SPMeeting</span> currentMeeting = <span style="color:#2b91af;">SPMeeting</span>.GetMeetingInformation(<span style="color:#2b91af;">SPContext</span>.Current.Web);</li>
<li style="background:#f3f3f3;">    <span style="color:#2b91af;">MeetingInfo</span> info = <span style="color:#2b91af;">MeetingInfo</span>.GetMeetingInfo(currentMeeting);</li>
<li></li>
<li style="background:#f3f3f3;">    <span style="color:#008000;">//Only the meeting organizer manage meetigs.</span></li>
<li>    <span style="color:#0000ff;">if</span> (!info.OrgnaizerAccount.Equals(<span style="color:#2b91af;">SPContext</span>.Current.Web.CurrentUser.LoginName, <span style="color:#2b91af;">StringComparison</span>.InvariantCultureIgnoreCase))</li>
<li style="background:#f3f3f3;">    {</li>
<li>        InformationText.Text = <span style="color:#a31515;">&#8220;Only Organizer of this meeting \&#8221;"</span> + info.OrganizerName + <span style="color:#a31515;">&#8220;\&#8221; can manage the requests&#8221;</span>;</li>
<li style="background:#f3f3f3;">        AdminPanel.Visible = <span style="color:#0000ff;">false</span>;</li>
<li>    }</li>
<li style="background:#f3f3f3;">    <span style="color:#0000ff;">else</span></li>
<li>    {</li>
<li style="background:#f3f3f3;">        <span style="color:#0000ff;">if</span> (IsAppointmentExists(info.MeetingIdentifier)) <span style="color:#008000;">//if Meeting request is already sent.</span></li>
<li>        {</li>
<li style="background:#f3f3f3;">            SavedMeetingInfo = LoadAppointment(info.MeetingIdentifier);</li>
<li>            btnSendMeetingRequest.Visible = <span style="color:#0000ff;">false</span>;</li>
<li style="background:#f3f3f3;">            btnReSendMeetingRequest.Visible = <span style="color:#0000ff;">true</span>;</li>
<li>            btnCancelMeeting.Visible = <span style="color:#0000ff;">true</span>;</li>
<li style="background:#f3f3f3;">            btnRefreshAttendeesStatus.Visible = <span style="color:#0000ff;">true</span>;</li>
<li>            <span style="color:#0000ff;">if</span>(!_ByPassClearInfo)</li>
<li style="background:#f3f3f3;">                InformationText.Text = <span style="color:#a31515;">&#8220;Meeting requests have been send at&#8221;</span> + SavedMeetingInfo.RequestSentDate.ToLongDateString() + <span style="color:#a31515;">&#8221; &#8220;</span> + SavedMeetingInfo.RequestSentDate.ToLongTimeString();</li>
<li>        }</li>
<li style="background:#f3f3f3;">        <span style="color:#0000ff;">else</span> <span style="color:#008000;">// if not sent before</span></li>
<li>        {</li>
<li style="background:#f3f3f3;">            btnSendMeetingRequest.Visible = <span style="color:#0000ff;">true</span>;</li>
<li>            btnReSendMeetingRequest.Visible = <span style="color:#0000ff;">false</span>;</li>
<li style="background:#f3f3f3;">            btnCancelMeeting.Visible = <span style="color:#0000ff;">false</span>;</li>
<li>            btnRefreshAttendeesStatus.Visible = <span style="color:#0000ff;">false</span>;</li>
<li style="background:#f3f3f3;">        }</li>
<li></li>
<li style="background:#f3f3f3;">        <span style="color:#008000;">//assign button events. </span></li>
<li>        btnSendMeetingRequest.Click += <span style="color:#0000ff;">new</span> <span style="color:#2b91af;">EventHandler</span>(btnSendMeetingRequest_Click);</li>
<li style="background:#f3f3f3;">        btnReSendMeetingRequest.Click += <span style="color:#0000ff;">new</span> <span style="color:#2b91af;">EventHandler</span>(btnReSendMeetingRequest_Click);</li>
<li>        btnCancelMeeting.Click += <span style="color:#0000ff;">new</span> <span style="color:#2b91af;">EventHandler</span>(btnCancelMeeting_Click);</li>
<li style="background:#f3f3f3;">        btnRefreshAttendeesStatus.Click += <span style="color:#0000ff;">new</span> <span style="color:#2b91af;">EventHandler</span>(btnRefreshAttendeesStatus_Click);</li>
<li>    }</li>
<li style="background:#f3f3f3;">}</li>
</ol>
</div>
</div>
<p>&#8230;<br />
In Page Load,</p>
<p>We are doing some gui operations.<br />
Checking webpart added correct web site template , should be a meeting workspace template<br />
Getting Current and latest meeting information<br />
Checking the owner mean organizer beacuse only orginazer manages meetings.<br />
Prepare GUI according to if meeting is already send or not.<br />
Also we set here the SavedMeetinfo property of control via fallowing line<br />
-&gt; SavedMeetingInfo = LoadAppointment(info.MeetingIdentifier);<br />
MeetingInfo LoadAppointment(string identifer)  helper function brings us the Saved MeetingInfo in previous state from web.Properies bag.<br />
That information is imported because we are storing Exchange Appointment object&#8217;s ID in this object.</p>
<div style="border:#000080 1px solid;color:#000;font-family:'Courier New', Courier, Monospace;font-size:10pt;">
<div style="background:#000080;color:#fff;font-family:Verdana, Tahoma, Arial, sans-serif;font-weight:bold;padding:2px 5px;">MeetingRequestWebPart -&gt; Refresh Attendees Status</div>
<div style="background:#ddd;max-height:300px;overflow:auto;">
<ol style="background:#ffffff;margin:0 0 0 3em;padding:0 0 0 5px;" start="232">
<li><span style="color:#0000ff;">public</span> <span style="color:#0000ff;">void</span> RefreshAttendeesStatus()</li>
<li style="background:#f3f3f3;">{</li>
<li>    <span style="color:#0000ff;">if</span> (SavedMeetingInfo == <span style="color:#0000ff;">null</span>) <span style="color:#0000ff;">return</span>;</li>
<li style="background:#f3f3f3;">    <span style="color:#2b91af;">ExchangeServiceConnection</span> conn = <span style="color:#0000ff;">new</span> <span style="color:#2b91af;">ExchangeServiceConnection</span>(<span style="color:#2b91af;">SPContext</span>.Current.Web.CurrentUser);</li>
<li>    <span style="color:#2b91af;">SPMeeting</span> currentMeeting = <span style="color:#2b91af;">SPMeeting</span>.GetMeetingInformation(<span style="color:#2b91af;">SPContext</span>.Current.Web);</li>
<li style="background:#f3f3f3;">    <span style="color:#2b91af;">Appointment</span> app = <span style="color:#2b91af;">Appointment</span>.Bind(conn.Service, SavedMeetingInfo.AppointmentID);</li>
<li></li>
<li style="background:#f3f3f3;">    <span style="color:#2b91af;">Dictionary</span>&lt;<span style="color:#0000ff;">string</span>, <span style="color:#2b91af;">MeetingResponseType</span>&gt; aStatus = <span style="color:#0000ff;">new</span> <span style="color:#2b91af;">Dictionary</span>&lt;<span style="color:#0000ff;">string</span>, <span style="color:#2b91af;">MeetingResponseType</span>&gt;();</li>
<li>    <span style="color:#0000ff;">foreach</span> (<span style="color:#2b91af;">Attendee</span> att <span style="color:#0000ff;">in</span> app.RequiredAttendees)</li>
<li style="background:#f3f3f3;">    {</li>
<li>        <span style="color:#0000ff;">if</span> (att.ResponseType != <span style="color:#0000ff;">null</span>)</li>
<li style="background:#f3f3f3;">        {</li>
<li>            aStatus.Add(att.Address, (<span style="color:#2b91af;">MeetingResponseType</span>)att.ResponseType);</li>
<li style="background:#f3f3f3;">        }</li>
<li>    }</li>
<li style="background:#f3f3f3;">    <span style="color:#0000ff;">foreach</span> (<span style="color:#2b91af;">Attendee</span> att <span style="color:#0000ff;">in</span> app.OptionalAttendees)</li>
<li>    {</li>
<li style="background:#f3f3f3;">        <span style="color:#0000ff;">if</span> (att.ResponseType != <span style="color:#0000ff;">null</span>)</li>
<li>        {</li>
<li style="background:#f3f3f3;">            aStatus.Add(att.Address, (<span style="color:#2b91af;">MeetingResponseType</span>)att.ResponseType);</li>
<li>        }</li>
<li style="background:#f3f3f3;">    }</li>
<li></li>
<li style="background:#f3f3f3;">    <span style="color:#2b91af;">RunAsAdmin</span>.Run((site, web) =&gt;</li>
<li>    {</li>
<li style="background:#f3f3f3;">        <span style="color:#2b91af;">SPList</span> Attendees = web.Lists[<span style="color:#a31515;">"Attendees"</span>];</li>
<li>        <span style="color:#0000ff;">foreach</span> (<span style="color:#2b91af;">SPListItem</span> item <span style="color:#0000ff;">in</span> Attendees.Items)</li>
<li style="background:#f3f3f3;">        {</li>
<li>            <span style="color:#2b91af;">SPUser</span> user = web.EnsureUser(item.Title);</li>
<li style="background:#f3f3f3;">            <span style="color:#0000ff;">if</span> (aStatus.ContainsKey(user.Email))</li>
<li>            {</li>
<li style="background:#f3f3f3;">                <span style="color:#2b91af;">MeetingResponseType</span> rtype = aStatus[user.Email];</li>
<li>                item[<span style="color:#a31515;">"Response"</span>] = <span style="color:#2b91af;">ExchangeHelper</span>.ConvertSPMeetingResponse(rtype);</li>
<li style="background:#f3f3f3;">                item.Update();</li>
<li>            }</li>
<li style="background:#f3f3f3;">        }</li>
<li>    });</li>
<li style="background:#f3f3f3;">}</li>
</ol>
</div>
</div>
<p>In refresh attendees function,</p>
<p>We are getting current Meeting information and already created Appointment object. For updating attendees status a meeting request must already be created.<br />
Collecting all Attedees and thier responses in a dictionary (considering performance )<br />
Updating Attendees status in web.Lists["Attendees"] list . We are converting Response type beacuse Exchange.MeetingResponseType has 6 option but Response (Choice)<br />
Column in attendees list only 4 option that none,Accepted,Declined,Tentative</p>
<div style="border:#000080 1px solid;color:#000;font-family:'Courier New', Courier, Monospace;font-size:10pt;">
<div style="background:#000080;color:#fff;font-family:Verdana, Tahoma, Arial, sans-serif;font-weight:bold;padding:2px 5px;">MeetingRequestWebPart -&gt; Update Meeting Request</div>
<div style="background:#ddd;max-height:300px;overflow:auto;">
<ol style="background:#ffffff;margin:0 0 0 3em;padding:0 0 0 5px;" start="173">
<li><span style="color:#0000ff;">public</span> <span style="color:#0000ff;">void</span> UpdateMeetingRequest()</li>
<li style="background:#f3f3f3;">{</li>
<li>    <span style="color:#0000ff;">if</span> (SavedMeetingInfo == <span style="color:#0000ff;">null</span>) <span style="color:#0000ff;">return</span>;</li>
<li style="background:#f3f3f3;">    <span style="color:#2b91af;">ExchangeServiceConnection</span> conn = <span style="color:#0000ff;">new</span> <span style="color:#2b91af;">ExchangeServiceConnection</span>(<span style="color:#2b91af;">SPContext</span>.Current.Web.CurrentUser);</li>
<li>    <span style="color:#2b91af;">SPMeeting</span> currentMeeting = <span style="color:#2b91af;">SPMeeting</span>.GetMeetingInformation(<span style="color:#2b91af;">SPContext</span>.Current.Web);</li>
<li style="background:#f3f3f3;">    <span style="color:#2b91af;">Appointment</span> app = <span style="color:#2b91af;">Appointment</span>.Bind(conn.Service, SavedMeetingInfo.AppointmentID);</li>
<li>    <span style="color:#2b91af;">MeetingInfo</span> info = <span style="color:#2b91af;">MeetingInfo</span>.GetMeetingInfo(currentMeeting);</li>
<li style="background:#f3f3f3;"></li>
<li>    <span style="color:#2b91af;">ExchangeHelper</span>.UpdateAppointment(app, info);</li>
<li style="background:#f3f3f3;"></li>
<li>    <span style="color:#008000;">//Clear All Attendees </span></li>
<li style="background:#f3f3f3;">    app.RequiredAttendees.Clear();</li>
<li>    app.OptionalAttendees.Clear();</li>
<li style="background:#f3f3f3;"></li>
<li>    <span style="color:#008000;">//Add Atteendees from Workspace Attendees List.</span></li>
<li style="background:#f3f3f3;">    AddAttendees(app);</li>
<li></li>
<li style="background:#f3f3f3;">    <span style="color:#0000ff;">try</span></li>
<li>    {</li>
<li style="background:#f3f3f3;">        app.Update(<span style="color:#2b91af;">ConflictResolutionMode</span>.AutoResolve);</li>
<li>        info.AppointmentID = SavedMeetingInfo.AppointmentID;</li>
<li style="background:#f3f3f3;">        InfoMessage = <span style="color:#a31515;">&#8220;Meeting Request sent successfully&#8221;</span>;</li>
<li>    }</li>
<li style="background:#f3f3f3;">    <span style="color:#0000ff;">catch</span> (<span style="color:#2b91af;">Exception</span> ex)</li>
<li>    {</li>
<li style="background:#f3f3f3;">        <span style="color:#2b91af;">ULSLoggingService</span>.LogError(<span style="color:#2b91af;">ULSLoggingService</span>.SMR_ERROR, ex.Message + <span style="color:#2b91af;">Environment</span>.NewLine + ex.StackTrace);</li>
<li>        InfoMessage = <span style="color:#a31515;">&#8220;An Error occured.Please contact your administrator&#8221;</span>;</li>
<li style="background:#f3f3f3;">    }</li>
<li>    UpdateAppointment(info);</li>
<li style="background:#f3f3f3;"></li>
<li>}</li>
</ol>
</div>
</div>
<p>In UpdateMeetingRequest Function ;<br />
First we checking SavedMeetingInfo object is exists.<br />
Creating an exchange connection.<br />
Getting current meeting.<br />
Appointment app = Appointment.Bind(conn.Service, SavedMeetingInfo.AppointmentID); // with this line we are binding already created Appointment object in Exchange. SavedMeetingInfo object contains AppointmentID which i mentioned above.<br />
We are setting old Appointment object with new values by calling ExchangeHelper.UpdateAppointment(app, info);</p>
<p><em>(Basically we are doing in ExchangeHelper.UpdateAppointment something like below:</em><br />
<em>app.Subject = info.Title;<br />
</em> <em>app.Start = info.EventDate;<br />
</em> <em>app.End = info.EndDate;<br />
</em> <em>app.Location = info.Location;<br />
</em> <em>&#8230;.</em> <em>return app;</em> <em>)<br />
</em>Clearing All Attendeess<br />
Add all attendees again</p>
<p>Update Appointment object that will resend all meeting request again via app.Update() command.<br />
Set AppointmentID to new MeetingInfo class instance.<br />
Update new MeetingInfo class via overriding old MeetingInfoClass (SavedMeetingInfo)</p>
<div style="border:#000080 1px solid;color:#000;font-family:'Courier New', Courier, Monospace;font-size:10pt;">
<div style="background:#000080;color:#fff;font-family:Verdana, Tahoma, Arial, sans-serif;font-weight:bold;padding:2px 5px;">MeetingRequestWebPart -&gt; Cancel Meeting Request</div>
<div style="background:#ddd;max-height:300px;overflow:auto;">
<ol style="background:#ffffff;margin:0 0 0 3em;padding:0 0 0 5px;" start="207">
<li><span style="color:#0000ff;">public</span> <span style="color:#0000ff;">void</span> CancelMeetingRequest()</li>
<li style="background:#f3f3f3;">{</li>
<li>    <span style="color:#0000ff;">if</span> (SavedMeetingInfo == <span style="color:#0000ff;">null</span>) <span style="color:#0000ff;">return</span>;</li>
<li style="background:#f3f3f3;">    <span style="color:#2b91af;">ExchangeServiceConnection</span> conn = <span style="color:#0000ff;">new</span> <span style="color:#2b91af;">ExchangeServiceConnection</span>(<span style="color:#2b91af;">SPContext</span>.Current.Web.CurrentUser);</li>
<li>    <span style="color:#2b91af;">SPMeeting</span> currentMeeting = <span style="color:#2b91af;">SPMeeting</span>.GetMeetingInformation(<span style="color:#2b91af;">SPContext</span>.Current.Web);</li>
<li style="background:#f3f3f3;"></li>
<li>    <span style="color:#0000ff;">try</span></li>
<li style="background:#f3f3f3;">    {</li>
<li>        <span style="color:#008000;">//Get existed appointment.</span></li>
<li style="background:#f3f3f3;">        <span style="color:#2b91af;">Appointment</span> app = <span style="color:#2b91af;">Appointment</span>.Bind(conn.Service, SavedMeetingInfo.AppointmentID);</li>
<li>        app.CancelMeeting();</li>
<li style="background:#f3f3f3;"></li>
<li>        ClearAppointment(SavedMeetingInfo);</li>
<li style="background:#f3f3f3;">        InfoMessage = <span style="color:#a31515;">&#8220;Meeting has been canceled successfully.&#8221;</span>;</li>
<li>    }</li>
<li style="background:#f3f3f3;">    <span style="color:#0000ff;">catch</span> (<span style="color:#2b91af;">Exception</span> ex)</li>
<li>    {</li>
<li style="background:#f3f3f3;">        <span style="color:#2b91af;">ULSLoggingService</span>.LogError(<span style="color:#2b91af;">ULSLoggingService</span>.SMR_ERROR, ex.Message + <span style="color:#2b91af;">Environment</span>.NewLine + ex.StackTrace);</li>
<li>        InfoMessage = <span style="color:#a31515;">&#8220;An error occured.Please contact your administrator&#8221;</span>;</li>
<li style="background:#f3f3f3;">    }</li>
<li></li>
<li style="background:#f3f3f3;">}</li>
</ol>
</div>
</div>
<p>In CancelMeetingRequest function:<br />
Like before we are checking SavedMeetInfo is exists , creating an exchange connection object and getting currentmeeting object.<br />
Appointment app = Appointment.Bind(conn.Service, SavedMeetingInfo.AppointmentID); // with this line we are binding already created Appointment object in Exchange.<br />
And Canceling Meeting via app.CancelMeeting() function.<br />
Clearing previously saved MeetingInfo instance from web.properties.<br />
PS: There is a trick when you try removing a property correctly from SPWeb object .Check the fallowing link:<br />
<a href="http://blog.bugrapostaci.com/2012/02/17/clearing-or-removing-a-keyvalue-from-spweb-properties-tipstricks/">http://blog.bugrapostaci.com/2012/02/17/clearing-or-removing-a-keyvalue-from-spweb-properties-tipstricks/</a></p>
<p>Next Article: Part 3 Deployment.</p>
<br />Filed under: <a href='http://blog.bugrapostaci.com/category/sharepoint/sharepoint-2010/'>Sharepoint 2010</a> Tagged: <a href='http://blog.bugrapostaci.com/tag/2010/'>2010</a>, <a href='http://blog.bugrapostaci.com/tag/basic/'>Basic</a>, <a href='http://blog.bugrapostaci.com/tag/field/'>Field</a>, <a href='http://blog.bugrapostaci.com/tag/instanceid/'>InstanceID</a>, <a href='http://blog.bugrapostaci.com/tag/meeting/'>meeting</a>, <a href='http://blog.bugrapostaci.com/tag/part-2/'>Part 2</a>, <a href='http://blog.bugrapostaci.com/tag/powershell/'>PowerShell</a>, <a href='http://blog.bugrapostaci.com/tag/send/'>send</a>, <a href='http://blog.bugrapostaci.com/tag/series/'>Series</a>, <a href='http://blog.bugrapostaci.com/tag/sharepoint/'>Sharepoint</a>, <a href='http://blog.bugrapostaci.com/tag/spm2010/'>SPM2010</a>, <a href='http://blog.bugrapostaci.com/tag/workspace/'>Workspace</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bpostaci.wordpress.com/1085/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bpostaci.wordpress.com/1085/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bpostaci.wordpress.com/1085/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bpostaci.wordpress.com/1085/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bpostaci.wordpress.com/1085/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bpostaci.wordpress.com/1085/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bpostaci.wordpress.com/1085/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bpostaci.wordpress.com/1085/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bpostaci.wordpress.com/1085/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bpostaci.wordpress.com/1085/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bpostaci.wordpress.com/1085/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bpostaci.wordpress.com/1085/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bpostaci.wordpress.com/1085/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bpostaci.wordpress.com/1085/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.bugrapostaci.com&amp;blog=10439536&amp;post=1085&amp;subd=bpostaci&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/df5c41f8bbde32c038065e8709d110dd?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">Postman</media:title>
		</media:content>

		<media:content url="http://bpostaci.files.wordpress.com/2012/02/meetingws.jpg" medium="image">
			<media:title type="html">MeetingWS</media:title>
		</media:content>

		<media:content url="http://bpostaci.files.wordpress.com/2012/02/inmeetingworkspace2.jpg" medium="image">
			<media:title type="html">InMeetingWorkspace2</media:title>
		</media:content>

		<media:content url="http://bpostaci.files.wordpress.com/2012/02/inmeetingworkspace3.jpg" medium="image">
			<media:title type="html">InMeetingWorkspace3</media:title>
		</media:content>
	</item>
		<item>
		<title>How to send Real Meeting Request from Sharepoint 2010 &#8211; part 1</title>
		<link>http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-1/</link>
		<comments>http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-1/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 17:38:01 +0000</pubDate>
		<dc:creator>bpostaci</dc:creator>
				<category><![CDATA[Sharepoint 2010]]></category>
		<category><![CDATA[Api]]></category>
		<category><![CDATA[Appointment]]></category>
		<category><![CDATA[AutoResolve]]></category>
		<category><![CDATA[EWS]]></category>
		<category><![CDATA[meeting]]></category>
		<category><![CDATA[Microsoft.Exchange.WebServices.dll]]></category>
		<category><![CDATA[New-ManagementRoleAssignment]]></category>
		<category><![CDATA[request]]></category>
		<category><![CDATA[send]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[SPMeeting]]></category>

		<guid isPermaLink="false">http://blog.bugrapostaci.com/?p=1043</guid>
		<description><![CDATA[Hello Everyone, Recently I have faced with so many threads for sending meeting requests form Sharepoint .As you know there is not any out of the box feature that able to send real Meeting Request from Sharepoint. If you  ask me , i agree with Microsoft on their perspective about it is not needed to add this feature as build-in  [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.bugrapostaci.com&amp;blog=10439536&amp;post=1043&amp;subd=bpostaci&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hello Everyone,</p>
<p>Recently I have faced with so many threads for sending meeting requests form Sharepoint .As you know there is not any out of the box feature that able to send real Meeting Request from Sharepoint. If you  ask me , i agree with Microsoft on their perspective about it is not needed to add this feature as build-in  and fallowing questions prove that implementation is a bit tricky and restricts flexibility of a global platform product like Sharepoint is not considerable.</p>
<ul>
<li>How much sense it makes to have a “global” solution sending meeting invitations by SharePoint?</li>
<li>Does have each employee or user an Email/Exchange account and Outlook? What about versions , compatibility ?</li>
<li>What are the possible benefits not using Outlook to send invitations and create meeting workspaces?</li>
<li>How many people should create those meetings on the SharePoint platform?</li>
<li>Are there also outside/foreign people who should create those meetings?</li>
<li>Have a similar application like Outlook to use all sharepoint web services to do the job.</li>
</ul>
<p>So in many forums contains solutions and workarounds for solving this issue . One of them is using Workflow and sending request emails . Nice and simple one.<br />
you may see other options with fallowing link:<br />
<a href="http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopment/thread/e18a7b4e-230e-41d4-84df-ba3fda17bec9">http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopment/thread/e18a7b4e-230e-41d4-84df-ba3fda17bec9</a></p>
<p>In this article i am going to tell you more complex but more real solution for this issue. the key point is &#8220;Microsoft Exchange Web Services (EWS) Managed API 1.1 &#8221; . the solution is using EWS in Sharepoint 2010 and sending real meeting requests from sharepoint.</p>
<p>Here is the links for How to send Real Meeting Request From Sharepoint 2010 Series:</p>
<p>http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-1/</p>
<p><a href="http://blog.bugrapostaci.com/2012/02/17/how-to-send-meeting-request-from-sharepoint-2010-part-2/">http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-2/</a><br />
<a href="http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-3-deployment/">http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-3-deployment/</a><br />
<a href="http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-requests-from-sharepoint-2010-part4-usage/">http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-requests-from-sharepoint-2010-part4-usage/</a></p>
<p>For apply this you need some prerequisites :</p>
<p>* Sharepoint Server 2010<br />
* Exchange Server 2010<br />
* Installing Exchange Web Services (EWS) Managed API 1.1 to Sharepoint servers.<br />
* A service Account for Exchange impersonation.<br />
* Visual Studio 2010 (optional)</p>
<p>First we should download EWS Managed API and install the api to sharepoint server 2010 that we are developing on it<br />
For downloading Microsoft Exchange Web Services (EWS) Managed API 1.1 you can use fallowing link:<br />
<a href="http://www.microsoft.com/download/en/details.aspx?id=13480">http://www.microsoft.com/download/en/details.aspx?id=13480</a></p>
<p>Note: I could not publish all code in the article .you can download full project and source code form fallowing link:<br />
<a href="http://spssampleprojects.codeplex.com/releases/view/82359">http://spssampleprojects.codeplex.com/releases/view/82359</a><br />
<a href="http://spssampleprojects.codeplex.com/wikipage?title=Send%20Meeting%20Request%20Sample%20Project.&amp;referringTitle=Home">http://spssampleprojects.codeplex.com/wikipage?title=Send%20Meeting%20Request%20Sample%20Project.&amp;referringTitle=Home</a></p>
<p>1) Open Visual Studio 2010 and  Create a new blank Sharepoint Project and add reference of newly installed api dll &#8220;Microsoft.Exchange.WebServices&#8221;<br />
C:\Program Files\Microsoft\Exchange\Web Services\1.1\Microsoft.Exchange.WebServices.dll</p>
<p><a href="http://bpostaci.files.wordpress.com/2012/02/solution.jpg"><img title="Solution" src="http://bpostaci.files.wordpress.com/2012/02/solution.jpg?w=359&#038;h=327" alt="" width="359" height="327" /></a></p>
<p>2) Add a new VisualWebPart named &#8220;MeetingRequestWebPart&#8221; . We use this web parts only for Meeting Workspaces . in this demo we can only able to manage meeting requests for specific Events which are related to a Sharepoint Meeting Workspace web site.Also you can change the design according your business needs.<br />
The webpart GUI is simple just contains 4 links and information label.</p>
<ul>
<li>Send Meeting Requests (For First send)</li>
<li>ReSend Meeting Requests ( For Changes.)</li>
<li>Refresh Attendees Status</li>
<li>Cancel Meeting</li>
</ul>
<pre>&lt;div&gt;
    &lt;asp:Panel ID="AdminPanel" runat="server" &gt;
        &lt;asp:LinkButton ID="btnSendMeetingRequest" runat="server"&gt;Send Meeting Request&lt;/asp:LinkButton&gt;
        &lt;br /&gt;
        &lt;asp:LinkButton ID="btnReSendMeetingRequest" runat="server"&gt;ReSend Meeting Request&lt;/asp:LinkButton&gt;
        &lt;br /&gt;
            &lt;asp:LinkButton ID="btnRefreshAttendeesStatus" runat="server"&gt;Refresh Attendees Status&lt;/asp:LinkButton&gt;
        &lt;br /&gt;
            &lt;asp:LinkButton ID="btnCancelMeeting" runat="server"&gt;Cancel Meeting&lt;/asp:LinkButton&gt;
        &lt;br /&gt;
    &lt;/asp:Panel&gt;
    &lt;div&gt;
        Information: 
        &lt;asp:Label ID="InformationText" runat="server"&gt;&lt;/asp:Label&gt;
    &lt;/div&gt;
&lt;/div&gt;</pre>
<p>3) We need an account for impersonation.This account is resposible for connecting Exchange Server and manage operations like create,delete,update while impersonating less priviledged account means a user who can able to created an event. In my Example a have &#8220;Blog\MeetingService&#8221; account.</p>
<p>The following prerequisites are required to configure Exchange Impersonation:</p>
<ul>
<li>Administrative credentials for the computer that is running Exchange 2010 that has the Client Access server role installed.</li>
<li>Domain Administrator credentials, or other credentials with the permission to create and assign roles and scopes.</li>
<li>Remote PowerShell installed on the computer from which you will run the commands.</li>
</ul>
<p>Connect your Exchange 2010 server and Open the Exchange Management Shell.</p>
<ul>
<li>Run the <strong>New-ManagementRoleAssignment </strong>cmdlet to add the permission to impersonate to the specified user. The following example shows how to configure Exchange Impersonation to enable a service account to impersonate all other users in an organization.
<div>
<div>
<div id="CodeSnippetContainerCode_6a0b6247-3fef-4c3a-b769-e60832350bb3" dir="ltr">
<div>
<pre>New-ManagementRoleAssignment –Name:impersonationAssignmentName –Role:ApplicationImpersonation –User:Blog\MeetingService</pre>
</div>
</div>
</div>
</div>
</li>
</ul>
<p>For Configuring Exchange Imperonation you can get more info from fallowing article :<br />
<a href="http://msdn.microsoft.com/en-us/library/bb204095%28v=EXCHG.140%29.aspx">http://msdn.microsoft.com/en-us/library/bb204095%28v=EXCHG.140%29.aspx</a></p>
<p>4) Add a new Class named &#8220;ExchangeServiceConnection</p>
<div style="border:#000080 1px solid;color:#000;font-family:'Courier New', Courier, Monospace;font-size:10pt;">
<div style="background:#000080;color:#fff;font-family:Verdana, Tahoma, Arial, sans-serif;font-weight:bold;padding:2px 5px;">ExchangeServiceConnection Class Constructor</div>
<div style="background:#ddd;max-height:300px;overflow:auto;">
<ol style="background:#ffffff;margin:0 0 0 2.5em;padding:0 0 0 5px;" start="24">
<li><span style="color:#0000ff;">public</span> ExchangeServiceConnection()</li>
<li>      {</li>
<li>          <span style="color:#0000ff;">string</span> ExchangeServiceURL = <span style="color:#0000ff;">string</span>.Empty;</li>
<li>          <span style="color:#0000ff;">string</span> UserName = <span style="color:#0000ff;">string</span>.Empty;</li>
<li>          <span style="color:#0000ff;">string</span> Password = <span style="color:#0000ff;">string</span>.Empty;</li>
<li>          <span style="color:#0000ff;">string</span> Domain = <span style="color:#0000ff;">string</span>.Empty;</li>
<li></li>
<li>          <span style="color:#0000ff;">try</span></li>
<li>          {</li>
<li>              ExchangeServiceURL = <span style="color:#2b91af;">WebConfigurationManager</span>.AppSettings[<span style="color:#a31515;">"ExchangeServiceURL"</span>];</li>
<li>              UserName = <span style="color:#2b91af;">WebConfigurationManager</span>.AppSettings[<span style="color:#a31515;">"ExchangeServiceUserName"</span>];</li>
<li>              Password = <span style="color:#2b91af;">WebConfigurationManager</span>.AppSettings[<span style="color:#a31515;">"ExchangeServicePassword"</span>];</li>
<li>              Domain = <span style="color:#2b91af;">WebConfigurationManager</span>.AppSettings[<span style="color:#a31515;">"ExchangeServiceDomain"</span>];</li>
<li>          }</li>
<li>          <span style="color:#0000ff;">catch</span> (<span style="color:#2b91af;">Exception</span> ex)</li>
<li>          {</li>
<li>              <span style="color:#0000ff;">string</span> message = <span style="color:#a31515;">&#8220;Please Add Fallowing records to your webapplication web.config file&#8221;</span> + <span style="color:#2b91af;">Environment</span>.NewLine +</li>
<li>                  <span style="color:#a31515;">&#8220;-&gt;ExchangeServiceURL : Connection url for exchange server exp:https://exchange.domain.local/EWS/Exchange.asmx&#8221;</span> + <span style="color:#2b91af;">Environment</span>.NewLine +</li>
<li>                  <span style="color:#a31515;">&#8220;-&gt;ExchangeServiceUserName: Username exp: exserviceadmin&#8221;</span> + <span style="color:#2b91af;">Environment</span>.NewLine +</li>
<li>                  <span style="color:#a31515;">&#8220;-&gt;ExchangeServicePassword: Password exp: Pass@Word&#8221;</span> + <span style="color:#2b91af;">Environment</span>.NewLine +</li>
<li>                  <span style="color:#a31515;">&#8220;-&gt;ExchangeServiceDomain: Domain exp: DOMAIN&#8221;</span>;</li>
<li></li>
<li>              <span style="color:#2b91af;">ULSLoggingService</span>.LogMonitorable(<span style="color:#2b91af;">ULSLoggingService</span>.SMR_MONITORABLE, message);</li>
<li>              <span style="color:#2b91af;">ULSLoggingService</span>.LogError(<span style="color:#2b91af;">ULSLoggingService</span>.SMR_VERBOSE, ex.Message + <span style="color:#2b91af;">Environment</span>.NewLine + ex.StackTrace);</li>
<li>          }</li>
<li></li>
<li>          <span style="color:#0000ff;">try</span></li>
<li>          {</li>
<li>              <span style="color:#2b91af;">ServicePointManager</span>.ServerCertificateValidationCallback =  <span style="color:#0000ff;">new</span> <span style="color:#2b91af;">RemoteCertificateValidationCallback</span>(RemoteCertificateValidation);</li>
<li>              _service = <span style="color:#0000ff;">new</span> <span style="color:#2b91af;">ExchangeService</span>();</li>
<li>              _service.Credentials = <span style="color:#0000ff;">new</span> <span style="color:#2b91af;">NetworkCredential</span>(UserName, Password, Domain);</li>
<li>              _service.Url = <span style="color:#0000ff;">new</span> <span style="color:#2b91af;">Uri</span>(ExchangeServiceURL);</li>
<li></li>
<li></li>
<li>          }</li>
<li>          <span style="color:#0000ff;">catch</span> (<span style="color:#2b91af;">Exception</span> ex)</li>
<li>          {</li>
<li>              <span style="color:#2b91af;">ULSLoggingService</span>.LogError(<span style="color:#2b91af;">ULSLoggingService</span>.SMR_VERBOSE, ex.Message + <span style="color:#2b91af;">Environment</span>.NewLine + ex.StackTrace);</li>
<li>          }</li>
<li>      }</li>
</ol>
</div>
</div>
<p>Before the begin to tell important part , we should add some AppSettings Keys to our webapplication&#8217;s web.config file.</p>
<pre>    &lt;add key="ExchangeServiceURL" value="https://exchange.blogbugrapostaci.com/EWS/Exchange.asmx" /&gt;
    &lt;add key="ExchangeServiceUserName" value="MeetingService" /&gt;
    &lt;add key="ExchangeServicePassword" value="the password is here" /&gt;
    &lt;add key="ExchangeServiceDomain" value="BLOG" /&gt;</pre>
<p>if you don&#8217;t know your exhcange service url you may get this via PowerShell:<br />
<a href="http://blog.bugrapostaci.com/2012/02/17/getting-serivce-url-of-exchange-server-by-exchange-web-service-ews-api-using-autodiscoverurl/">http://blog.bugrapostaci.com/2012/02/17/getting-serivce-url-of-exchange-server-by-exchange-web-service-ews-api-using-autodiscoverurl/</a><br />
ServicePointManager.ServerCertificateValidationCallback =  new RemoteCertificateValidationCallback(RemoteCertificateValidation);</p>
<p>_service = new ExchangeService();    <span style="color:#003300;">// We are creating new Exchange Service</span><br />
_service.Credentials = new NetworkCredential(UserName, Password, Domain);   <span style="color:#003300;"> //and set our MeetingService account for credentials.we get the information from web.config file .</span><br />
_service.Url = new Uri(ExchangeServiceURL);  <span style="color:#003300;"> //I am using here manuel service url . For getting information about AutoResolve options you should check &#8220;Useful Resources&#8221; section.</span></p>
<p>Exhcange server need a certification configuration. In my test envoriment i havent any certificate so fallowing CallBack provides us bypass validation.</p>
<p>ServicePointManager.ServerCertificateValidationCallback =  new RemoteCertificateValidationCallback(RemoteCertificateValidation);</p>
<pre> public virtual bool RemoteCertificateValidation(Object obj, X509Certificate cert, X509Chain chain, SslPolicyErrors errors)
        {
            // Validate the certificate and return true or false as appropriate.
            // Note that it not a good practice to always return true because not
            // all certificates should be trusted.
            return true;
        }</pre>
<div style="border:#000080 1px solid;color:#000;font-family:'Courier New', Courier, Monospace;font-size:10pt;">
<div style="background:#000080;color:#fff;font-family:Verdana, Tahoma, Arial, sans-serif;font-weight:bold;padding:2px 5px;">ExchangeServiceConnection 2nd Constructor</div>
<div style="background:#ddd;max-height:300px;overflow:auto;">
<ol style="background:#ffffff;margin:0 0 0 2.5em;padding:0 0 0 5px;" start="65">
<li>        <span style="color:#0000ff;">public</span>  ExchangeServiceConnection(<span style="color:#2b91af;">SPUser</span> ImpersonateUser):<span style="color:#0000ff;">this</span>()</li>
<li style="background:#f3f3f3;">        {</li>
<li>            <span style="color:#0000ff;">if</span> (ImpersonateUser == <span style="color:#0000ff;">null</span>)</li>
<li style="background:#f3f3f3;">            {</li>
<li>                <span style="color:#0000ff;">string</span> message= <span style="color:#a31515;">&#8220;SMR -&gt; Impersonation User is NULL&#8221;</span>;</li>
<li style="background:#f3f3f3;">                <span style="color:#2b91af;">ULSLoggingService</span>.LogError(<span style="color:#2b91af;">ULSLoggingService</span>.SMR_ERROR, message);</li>
<li>            }</li>
<li style="background:#f3f3f3;"></li>
<li></li>
<li style="background:#f3f3f3;">                <span style="color:#0000ff;">if</span> (!<span style="color:#0000ff;">string</span>.IsNullOrEmpty(ImpersonateUser.Email))</li>
<li>                {</li>
<li style="background:#f3f3f3;">                    _service.ImpersonatedUserId = <span style="color:#0000ff;">new</span> <span style="color:#2b91af;">ImpersonatedUserId</span>(<span style="color:#2b91af;">ConnectingIdType</span>.SmtpAddress, ImpersonateUser.Email);</li>
<li>                }</li>
<li style="background:#f3f3f3;">                <span style="color:#0000ff;">else</span></li>
<li>                {</li>
<li style="background:#f3f3f3;">                    <span style="color:#0000ff;">string</span> messageFormat = <span style="color:#a31515;">&#8220;SMR -&gt; Incorrect email or user for Impersonation {0}&#8221;</span>;</li>
<li>                    <span style="color:#0000ff;">string</span> message = <span style="color:#0000ff;">string</span>.Format(messageFormat, ImpersonateUser.Name);</li>
<li style="background:#f3f3f3;">                    <span style="color:#2b91af;">ULSLoggingService</span>.LogError(<span style="color:#2b91af;">ULSLoggingService</span>.SMR_ERROR, message);</li>
<li>                    <span style="color:#0000ff;">throw</span> <span style="color:#0000ff;">new</span> <span style="color:#2b91af;">Exception</span>(message);</li>
<li style="background:#f3f3f3;">                }</li>
<li></li>
<li style="background:#f3f3f3;"></li>
<li>        }</li>
</ol>
</div>
</div>
<p>For impersonation i have created a second constructor which getting a SPUser Prameter .<br />
Impersonation operation is very simple</p>
<p>_service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, ImpersonateUser.Email);</p>
<p>5) Add and use fallowing function in your Meeting Request webpart</p>
<div style="border:#000080 1px solid;color:#000;font-family:'Courier New', Courier, Monospace;font-size:10pt;">
<div style="background:#000080;color:#fff;font-family:Verdana, Tahoma, Arial, sans-serif;font-weight:bold;padding:2px 5px;">In WebPart -&gt; Sending Meeting Request</div>
<div style="background:#ddd;max-height:300px;overflow:auto;">
<ol style="background:#ffffff;margin:0 0 0 3em;padding:0 0 0 5px;" start="136">
<li>        <span style="color:#0000ff;">public</span> <span style="color:#0000ff;">void</span> SendMeetingRequest()</li>
<li style="background:#f3f3f3;">        {</li>
<li></li>
<li style="background:#f3f3f3;">            <span style="color:#2b91af;">SPMeeting</span> currentMeeting = <span style="color:#2b91af;">SPMeeting</span>.GetMeetingInformation(<span style="color:#2b91af;">SPContext</span>.Current.Web);</li>
<li>            <span style="color:#2b91af;">MeetingInfo</span> info = <span style="color:#2b91af;">MeetingInfo</span>.GetMeetingInfo(currentMeeting);</li>
<li style="background:#f3f3f3;">            <span style="color:#2b91af;">SPList</span> attendeesList = <span style="color:#2b91af;">SPContext</span>.Current.Web.Lists[<span style="color:#a31515;">"Attendees"</span>];</li>
<li></li>
<li style="background:#f3f3f3;">            <span style="color:#2b91af;">ExchangeServiceConnection</span> conn = <span style="color:#0000ff;">new</span> <span style="color:#2b91af;">ExchangeServiceConnection</span>(<span style="color:#2b91af;">SPContext</span>.Current.Web.CurrentUser);</li>
<li></li>
<li style="background:#f3f3f3;">            <span style="color:#2b91af;">Appointment</span> app = <span style="color:#2b91af;">ExchangeHelper</span>.CreateAppointment(conn.Service, info);</li>
<li></li>
<li style="background:#f3f3f3;">            <span style="color:#008000;">//Add Attendees from Meeting Workspace Attendees List.</span></li>
<li>            AddAttendees(app);</li>
<li style="background:#f3f3f3;"></li>
<li>            <span style="color:#0000ff;">try</span></li>
<li style="background:#f3f3f3;">            {</li>
<li>                app.Save();</li>
<li style="background:#f3f3f3;">                info.AppointmentID = app.Id.UniqueId;</li>
<li>                InfoMessage = <span style="color:#a31515;">&#8220;Meeting Request sent successfully&#8221;</span>;</li>
<li style="background:#f3f3f3;">            }</li>
<li>            <span style="color:#0000ff;">catch</span> (<span style="color:#2b91af;">Exception</span> ex)</li>
<li style="background:#f3f3f3;">            {</li>
<li>                <span style="color:#2b91af;">ULSLoggingService</span>.LogError(<span style="color:#2b91af;">ULSLoggingService</span>.SMR_ERROR, ex.Message + <span style="color:#2b91af;">Environment</span>.NewLine + ex.StackTrace);</li>
<li style="background:#f3f3f3;">                InfoMessage = <span style="color:#a31515;">&#8220;An Error occured.Please contact your administrator&#8221;</span>;</li>
<li>            }</li>
<li style="background:#f3f3f3;">            SaveAppointment(info);</li>
<li>        }</li>
</ol>
</div>
</div>
<p>The &#8220;MeetingInfo&#8221; class is a serializable data class that stores current meeting information like Meeting Title,Location ,EventDate,EndDate,OrganizerAccount etc. This class collects its data from 3 seperated data store 1) in Meeting Workspace &#8221;Meeting Series&#8221; List&#8217;s item data 2) related &#8220;Calendar&#8221; Event item data and 3) created Exchange AppointmentID and appointment created time.Why we are doing this or why we need another object to store all data ? Beacuse sharepoint objects are not able to serializable .You may need to keep changes and compare them .Also we have to store appointment object information which is created in Exchange Server for finding it when we need.</p>
<p><span style="color:#003300;">//Geting currentMeeting object form &#8220;Meeting Series&#8221; list.</span><br />
SPMeeting currentMeeting = SPMeeting.GetMeetingInformation(SPContext.Current.Web);<br />
<span style="color:#003300;">//Creating a MeetingInfo object and filling it all needed information from currentMeeting object , related Event, !!Appointment data will be add later.</span><br />
MeetingInfo info = MeetingInfo.GetMeetingInfo(currentMeeting);</p>
<p><span style="color:#003300;">//Creating a Exchange Service Connection and Impersonate with current user (By the way in WebPart Page_Load event we are restricting other users can can use this webpart except owner and orginazer of this meeting instance.So we are sure that the current user is owner this meeting.)</span><br />
ExchangeServiceConnection conn = new ExchangeServiceConnection(SPContext.Current.Web.CurrentUser);</p>
<p><span style="color:#003300;">//Creating An Exchange Appointment object</span><br />
Appointment app = ExchangeHelper.CreateAppointment(conn.Service, info);</p>
<p><em>(Basically we are doing in this function something like below:</em><br />
<em>Appointment app = new Appointment(service);</em><br />
<em>app.Subject = info.Title;             </em><br />
<em>app.Start = info.EventDate;             </em><br />
<em>app.End = info.EndDate;             </em><br />
<em>app.Location = info.Location;            </em><br />
<em>&#8230;.</em><br />
<em>return app;</em><br />
<em>)</em></p>
<p><span style="color:#003300;">//Adding all attendees to newly created Appointment object from &#8220;Attendees&#8221; list which is defined in Meeting Workspace.</span><br />
SPList attendeesList = SPContext.Current.Web.Lists["Attendees"]<br />
AddAttendees(app);</p>
<p>app.Save();  <span style="color:#003300;">//Saving the appointment to Exchange.(this will creates a new appointment in Exchange server for current owner and sends meeting request to attendees)</span><br />
info.AppointmentID = app.Id.UniqueId;  <span style="color:#003300;">//<strong>We are storing the ID of the Appointment</strong>.</span> ***</p>
<p>SaveAppointment(info); <span style="color:#003300;">//Saving all information about this appointment to Sharepoint Meeting Workspace in SPWeb.Properties</span></p>
<p><em>(Basically we are doing in this function something like below: </em><br />
<em>       info.RequestSentDate = DateTime.Now;             </em><br />
<em>       web.Properties.Add(info.MeetingIdentifier, MeetingInfo.Serialize(info));                     </em><br />
<em>       web.Properties.Update(); )</em></p>
<p><em><a href="http://bpostaci.files.wordpress.com/2012/02/meetingrequestwebpart.jpg"><img class="alignnone size-full wp-image-1047" title="MeetingRequestWebPart" src="http://bpostaci.files.wordpress.com/2012/02/meetingrequestwebpart.jpg?w=630&#038;h=305" alt="" width="630" height="305" /></a></em></p>
<p>PART 2:<br />
How to send Real Meeting Request from Sharepoint 2010 &#8211; part 2</p>
<p>Here is the some useful resources:</p>
<p>Exchange Server Developer Center<br />
<a href="http://msdn.microsoft.com/en-us/exchange/aa731543">http://msdn.microsoft.com/en-us/exchange/aa731543</a></p>
<p>Working with Authentication in Microsoft Exchange Online<br />
<a href="http://msdn.microsoft.com/en-us/library/gg194011(v=exchg.140).aspx">http://msdn.microsoft.com/en-us/library/gg194011(v=exchg.140).aspx</a></p>
<p>MSDN SPMeeting Class definition<br />
<a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.meetings.spmeeting.aspx">http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.meetings.spmeeting.aspx</a></p>
<br />Filed under: <a href='http://blog.bugrapostaci.com/category/sharepoint/sharepoint-2010/'>Sharepoint 2010</a> Tagged: <a href='http://blog.bugrapostaci.com/tag/api/'>Api</a>, <a href='http://blog.bugrapostaci.com/tag/appointment/'>Appointment</a>, <a href='http://blog.bugrapostaci.com/tag/autoresolve/'>AutoResolve</a>, <a href='http://blog.bugrapostaci.com/tag/ews/'>EWS</a>, <a href='http://blog.bugrapostaci.com/tag/meeting/'>meeting</a>, <a href='http://blog.bugrapostaci.com/tag/microsoft-exchange-webservices-dll/'>Microsoft.Exchange.WebServices.dll</a>, <a href='http://blog.bugrapostaci.com/tag/new-managementroleassignment/'>New-ManagementRoleAssignment</a>, <a href='http://blog.bugrapostaci.com/tag/request/'>request</a>, <a href='http://blog.bugrapostaci.com/tag/send/'>send</a>, <a href='http://blog.bugrapostaci.com/tag/sharepoint/'>Sharepoint</a>, <a href='http://blog.bugrapostaci.com/tag/spmeeting/'>SPMeeting</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bpostaci.wordpress.com/1043/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bpostaci.wordpress.com/1043/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bpostaci.wordpress.com/1043/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bpostaci.wordpress.com/1043/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/bpostaci.wordpress.com/1043/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/bpostaci.wordpress.com/1043/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/bpostaci.wordpress.com/1043/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/bpostaci.wordpress.com/1043/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bpostaci.wordpress.com/1043/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bpostaci.wordpress.com/1043/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bpostaci.wordpress.com/1043/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bpostaci.wordpress.com/1043/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bpostaci.wordpress.com/1043/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bpostaci.wordpress.com/1043/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.bugrapostaci.com&amp;blog=10439536&amp;post=1043&amp;subd=bpostaci&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.bugrapostaci.com/2012/02/17/how-to-send-real-meeting-request-from-sharepoint-2010-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/df5c41f8bbde32c038065e8709d110dd?s=96&#38;d=http%3A%2F%2Fs0.wp.com%2Fi%2Fmu.gif&#38;r=G" medium="image">
			<media:title type="html">Postman</media:title>
		</media:content>

		<media:content url="http://bpostaci.files.wordpress.com/2012/02/solution.jpg" medium="image">
			<media:title type="html">Solution</media:title>
		</media:content>

		<media:content url="http://bpostaci.files.wordpress.com/2012/02/meetingrequestwebpart.jpg" medium="image">
			<media:title type="html">MeetingRequestWebPart</media:title>
		</media:content>
	</item>
	</channel>
</rss>
