<?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:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:yt="http://gdata.youtube.com/schemas/2007" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
   <channel>
      <title>Team blog of MCS @ Middle East and Africa</title>
      <description>Pipes Output</description>
      <link>http://pipes.yahoo.com/pipes/pipe.info?_id=b26888f5dfa09c81da8f7f87d3e90de4</link>
      <atom:link rel="next" href="http://pipes.yahoo.com/pipes/pipe.run?_id=b26888f5dfa09c81da8f7f87d3e90de4&amp;_render=rss&amp;page=2" />
      <pubDate>Fri, 24 May 2013 01:49:35 +0000</pubDate>
      <generator>http://pipes.yahoo.com/pipes/</generator>
      <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/yahoo/UZdL" /><feedburner:info uri="yahoo/uzdl" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
         <title>Securing Dynamic Data ASP.NET SQL Azure Published Web Site with ACS and Facebook as an Identity Provider</title>
         <link>http://feedproxy.google.com/~r/yahoo/UZdL/~3/ozjfckehj7I/securing-dynamic-data-asp-net-sql-azure-published-web-site-with-acs-and-facebook-as-an-identity-provider.aspx</link>
         <description>&lt;h1&gt;&lt;span lang="EN-US" style=""&gt;The Scenario      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/h1&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style=""&gt;I wanted to implement an Azure web site that is using the Azure Access Control Service and integrates with an external identity provider to authenticate and authorize users. At first I thought of using Windows Live ID but it has a problem that the only claim offered by WLID is the unique identified which is simply a number and represents nothing from the user. Then I thought why not make things more interesting and use Facebook. I think things got more interesting than I thought. &lt;/span&gt;&lt;span lang="EN-US" style="font-family:wingdings;"&gt;&lt;span style=""&gt;J&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US" style=""&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style=""&gt;I wanted to implement a Dynamic database access web site so that it generates the views on top of an existing SQL Azure database and lets the end user manipulate the database tables and filter them. This is using Linq-to-SQL classes. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style=""&gt;I am using Visual Studio 2012 latest version. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h1&gt;&lt;span lang="EN-US" style=""&gt;The Steps highlights      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/h1&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style=""&gt;The steps at a glance of how to get this up and going are as below: &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpFirst" style=""&gt;&lt;span lang="EN-US" style=""&gt;&lt;span style=""&gt;1-&lt;span style="font:7pt/normal;font-size-adjust:none;font-stretch:normal;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;&lt;span lang="EN-US" style=""&gt;Create your project: &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72pt;"&gt;&lt;span lang="EN-US" style=""&gt;&lt;span style=""&gt;a.&lt;span style="font:7pt/normal;font-size-adjust:none;font-stretch:normal;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;&lt;span lang="EN-US" style=""&gt;Create your database. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72pt;"&gt;&lt;span lang="EN-US" style=""&gt;&lt;span style=""&gt;b.&lt;span style="font:7pt/normal;font-size-adjust:none;font-stretch:normal;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;&lt;span lang="EN-US" style=""&gt;Create a new Dynamic ASP.NET project. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72pt;"&gt;&lt;span lang="EN-US" style=""&gt;&lt;span style=""&gt;c.&lt;span style="font:7pt/normal;font-size-adjust:none;font-stretch:normal;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;&lt;span lang="EN-US" style=""&gt;Add a Linq-To-SQL model to your database. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72pt;"&gt;&lt;span lang="EN-US" style=""&gt;&lt;span style=""&gt;d.&lt;span style="font:7pt/normal;font-size-adjust:none;font-stretch:normal;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;&lt;span lang="EN-US" style=""&gt;Change the Framework version of the project. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72pt;"&gt;&lt;span lang="EN-US" style=""&gt;&lt;span style=""&gt;e.&lt;span style="font:7pt/normal;font-size-adjust:none;font-stretch:normal;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;&lt;span lang="EN-US" style=""&gt;Set the “&lt;/span&gt;&lt;span style="background:white;color:black;line-height:107%;font-family:consolas;font-size:9.5pt;"&gt;ScaffoldAllTables&lt;/span&gt;&lt;span lang="EN-US" style=""&gt;” to true. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style=""&gt;&lt;span lang="EN-US" style=""&gt;&lt;span style=""&gt;2-&lt;span style="font:7pt/normal;font-size-adjust:none;font-stretch:normal;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;&lt;span lang="EN-US" style=""&gt;Download the latest “Identity and access tool” &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style=""&gt;&lt;span lang="EN-US" style=""&gt;&lt;span style=""&gt;3-&lt;span style="font:7pt/normal;font-size-adjust:none;font-stretch:normal;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;&lt;span lang="EN-US" style=""&gt;Create a new Azure web site and download the publishing settings. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style=""&gt;&lt;span lang="EN-US" style=""&gt;&lt;span style=""&gt;4-&lt;span style="font:7pt/normal;font-size-adjust:none;font-stretch:normal;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;&lt;span lang="EN-US" style=""&gt;Setup your identify provider: &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72pt;"&gt;&lt;span lang="EN-US" style=""&gt;&lt;span style=""&gt;a.&lt;span style="font:7pt/normal;font-size-adjust:none;font-stretch:normal;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;&lt;span lang="EN-US" style=""&gt;Create a new Azure ACS namespace &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72pt;"&gt;&lt;span lang="EN-US" style=""&gt;&lt;span style=""&gt;b.&lt;span style="font:7pt/normal;font-size-adjust:none;font-stretch:normal;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10414497</guid>
         <pubDate>Sat, 27 Apr 2013 16:06:11 +0000</pubDate>
      <feedburner:origLink>http://blogs.msdn.com/b/momalek/archive/2013/04/27/securing-dynamic-data-asp-net-sql-azure-published-web-site-with-acs-and-facebook-as-an-identity-provider.aspx</feedburner:origLink></item>
      <item>
         <title>SharePoint Group Calendar, Adding default users</title>
         <link>http://feedproxy.google.com/~r/yahoo/UZdL/~3/oqNwIpp1lPw/sharepoint-group-calendar-adding-default-users.aspx</link>
         <description>&lt;h1&gt;The Problem&lt;/h1&gt;  &lt;p&gt;One feature of SharePoint is to create a calendar and make it a group calendar. This allows the user to see the schedule of list of people at the same time on the same view as per the image below.&lt;/p&gt;  &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/8666.image_5F00_7CDE8183.png"&gt;&lt;img title="image" style="display:inline;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/3173.image_5F00_thumb_5F00_3AF79C35.png" width="853" height="397"/&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;To configure the Calendar as a group Calendar you need to edit the List settings and then click on “&lt;a rel="nofollow" target="_blank" href="https://spsites.microsoft.com/sites/momalek/_layouts/15/ListGeneralSettings.aspx?List=%7BE6016C6E%2DB99E%2D4D1F%2DB354%2DF4C8FB88DAEB%7D"&gt;List name, description and navigation&lt;/a&gt;” and finally select the radio button as per the image below.&lt;/p&gt;  &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/0755.image_5F00_11A05437.png"&gt;&lt;img title="image" style="display:inline;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/1030.image_5F00_thumb_5F00_36BD9EA3.png" width="552" height="477"/&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;So all this is SharePoint out of the box functionality. So where is the problem?&lt;/p&gt;  &lt;p&gt;The problem is that to get the view of all calendar of your work group every time you open the calendar view you need to add each one of them individually! And I could not find any way to persist this information so that it would open the calendar view automatically with the people added as per the list you see in the first image. So lets get to work.&lt;/p&gt;  &lt;h1&gt;The Solution&lt;/h1&gt;  &lt;p&gt;The way I fixed this is using Java script. &lt;/p&gt;  &lt;p&gt;To be able to do this I used the following script.&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="862" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="860"&gt;         &lt;table cellspacing="0" cellpadding="2" width="847" border="1"&gt;&lt;tbody&gt;             &lt;tr&gt;               &lt;td valign="top" width="845"&gt;                 &lt;blockquote&gt;                   &lt;p&gt;var sel = SP.UI.ApplicationPages.CalendarSelector.instance().getSelector(1, 'WPQ12');                      &lt;br /&gt;sel.selectEntities(ret, true); &lt;/p&gt;                 &lt;/blockquote&gt;               &lt;/td&gt;             &lt;/tr&gt;           &lt;/tbody&gt;&lt;/table&gt;          &lt;p&gt;You need two things to be able to perform the above script, the ID of the calendar web part (WPQ12 above) and the XML script to be able to add the required individuals. The way to do this is to follow the following steps:            &lt;br /&gt;&lt;/p&gt;          &lt;h3&gt;Step 1: Getting the XML to add the required users&lt;/h3&gt;          &lt;ol&gt;           &lt;li&gt;Install and start Fiddler&lt;/li&gt;            &lt;li&gt;Click on the ribbon on the small arrow below “people” then “Add Person or Group”              &lt;br /&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/4643.image_5F00_2D816362.png"&gt;&lt;img title="image" style="display:inline;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/7608.image_5F00_thumb_5F00_251D8E0B.png" width="430" height="244"/&gt;&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;This will give you the dialog to select the users, add all required users to be added by default to the Calendar view and then click “Ok” as image below              &lt;br /&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/0743.image_5F00_02E58285.png"&gt;&lt;img title="image" style="display:inline;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/2500.image_5F00_thumb_5F00_5202CB19.png" width="732" height="666"/&gt;&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;See Fiddler log to find an entry to add the users as per the below.              &lt;br /&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/3482.image_5F00_75DB7CA6.png"&gt;&lt;img title="image" style="display:inline;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/3173.image_5F00_thumb_5F00_69012688.png" width="773" height="45"/&gt;&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;Then click on the response as text view you will find the Entities string as per the image below.              &lt;br /&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/5557.image_5F00_06FF347D.png"&gt;&lt;img title="image" style="display:inline;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/6622.image_5F00_thumb_5F00_59DA21E1.png" width="811" height="452"/&gt;&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;Copy this text to be used later in your script.&lt;/li&gt;         &lt;/ol&gt;          &lt;h3&gt;Step 2: Getting the web part ID&lt;/h3&gt;          &lt;ol&gt;           &lt;li&gt;Open the page with the calendar web part&lt;/li&gt;            &lt;li&gt;Open the IE developer tools (F12)&lt;/li&gt;            &lt;li&gt;Click on the selector arrow and then on the calendar web part (most top level)&lt;/li&gt;            &lt;li&gt;In the developer tools view you should see Id of the web part as below              &lt;br /&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/0361.image_5F00_035DC748.png"&gt;&lt;img title="image" style="display:inline;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/6710.image_5F00_thumb_5F00_22343B26.png" width="779" height="224"/&gt;&lt;/a&gt; &lt;/li&gt;         &lt;/ol&gt;          &lt;h3&gt;Step 3: Create the required script file&lt;/h3&gt;          &lt;ol&gt;           &lt;li&gt;Use the information gathered to construct a JS file as below&lt;/li&gt;         &lt;/ol&gt;          &lt;table cellspacing="0" cellpadding="2" width="827" border="1"&gt;&lt;tbody&gt;             &lt;tr&gt;               &lt;td valign="top" width="825"&gt;                 &lt;p&gt;function _firstTime() { &lt;/p&gt;                  &lt;p&gt;//need to select the calendar tab so we can override the onlick method on some of the buttons.                    &lt;br /&gt;SelectRibbonTab('Ribbon.Calendar.Calendar', true); &lt;/p&gt;                  &lt;p&gt;//give the ribbon time to load                    &lt;br /&gt;setTimeout('_doWireUp();',2000); &lt;/p&gt;                  &lt;p&gt;} &lt;/p&gt;                  &lt;p&gt;function _doWireUp()                    &lt;br /&gt; {                     &lt;br /&gt; //change the onclick event for the group buttons to make sure it reloads our default group                     &lt;br /&gt;var weekElem = document.getElementById('Ribbon.Calendar.Calendar.Scope.WeekGroup-Large');                     &lt;br /&gt; if(weekElem)                     &lt;br /&gt;weekElem.onclick = function() {setTimeout('_setDefaultResources();',1000);return false;}; &lt;/p&gt;                  &lt;p&gt;var dayElem = document.getElementById('Ribbon.Calendar.Calendar.Scope.DayGroup-Large'); &lt;/p&gt;                  &lt;p&gt;if(dayElem)                    &lt;br /&gt;dayElem.onclick = function() {setTimeout('_setDefaultResources();',1000);return false;}; &lt;/p&gt;                  &lt;p&gt;_setDefaultResources();                    &lt;br /&gt; } &lt;/p&gt;                  &lt;p&gt;function _setDefaultResources() {&lt;/p&gt;                  &lt;p&gt;&lt;font color="#ff0000"&gt;// This is the entities XML from step1&lt;/font&gt;                     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; var ret ='&amp;#92;u003cEntities c…………………………………………………………………………………………………………..&amp;#92;u002fEntities&amp;#92;u003e'; &lt;/p&gt;                  &lt;p&gt;&lt;font color="#ff0000"&gt;// Put here the web part ID from step 2&lt;/font&gt; &lt;/p&gt;                  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; var sel = SP.UI.ApplicationPages.CalendarSelector.instance().getSelector(1, 'WPQ12');                    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sel.selectEntities(ret, true);&lt;/td&gt;&lt;/table&gt;&lt;/td&gt;&lt;/table&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10409882</guid>
         <pubDate>Wed, 10 Apr 2013 06:22:23 +0000</pubDate>
      <feedburner:origLink>http://blogs.msdn.com/b/momalek/archive/2013/04/10/sharepoint-group-calendar-adding-default-users.aspx</feedburner:origLink></item>
      <item>
         <title>A Small trick: How to extract a BizTalk BAM definition from an Excel sheet without installing Excel client</title>
         <link>http://feedproxy.google.com/~r/yahoo/UZdL/~3/QhwD7QKIlKg/a-small-trick-how-to-extract-a-biztalk-bam-definition-from-an-excel-sheet-without-installing-excel-client.aspx</link>
         <description>&lt;p&gt;This is a small trick that I have been doing for sometime now and wanted to share. The scenario is that you have prepared the BizTalk BAM definition and you ready to deploy it to the production environment, you run the bm.exe command and you see the situation; the BAM definition file is an Excel sheet and since you do not have Excel installed on the production server the installation has failed. &lt;img class="wlEmoticon wlEmoticon-sadsmile" alt="Sad smile" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/1464.wlEmoticon_2D00_sadsmile_5F00_71E702AB.png"/&gt;&lt;/p&gt;  &lt;p&gt;The options you have are either to your back to your development environment and export the XML from the Excel sheet or to install Excel on the production environment (not really an option).&lt;/p&gt;  &lt;p&gt;The trick is actually to open the Excel sheet in notepad as a normal text file and you would see something like this:&lt;/p&gt;  &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/4682.image_5F00_1129A97F.png"&gt;&lt;img style="display:inline;background-image:none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/6761.image_5F00_thumb_5F00_34962817.png" width="856" height="345"/&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;WOW wait a minute this XML seems familiar, right?&lt;/p&gt;  &lt;p&gt;Well you are correct this is the XML definition for the BAM view and activity. So simply copy this text and paste it in a new XML document and there you have it the XML definition of your BAM activity &lt;img class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/0804.wlEmoticon_2D00_smile_5F00_3ED726AA.png"/&gt;&lt;/p&gt;  &lt;p&gt;Happy BizTalking &lt;img class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/5265.wlEmoticon_2D00_winkingsmile_5F00_451DFD38.png"/&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10397045" width="1" height="1"&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10397045</guid>
         <pubDate>Tue, 26 Feb 2013 06:36:51 +0000</pubDate>
      <feedburner:origLink>http://blogs.msdn.com/b/momalek/archive/2013/02/26/a-small-trick-how-to-extract-a-biztalk-bam-definition-from-an-excel-sheet-without-installing-excel-client.aspx</feedburner:origLink></item>
      <item>
         <title>How to configure SQL Database mail so send emails using Office 365 (Exchange Online): A walkthrough</title>
         <link>http://feedproxy.google.com/~r/yahoo/UZdL/~3/gHagDZeppp4/how-to-configure-sql-database-mail-so-send-emails-using-office-365-exchange-online-a-walkthrough.aspx</link>
         <description>&lt;h1 style="margin:10pt 0cm 0pt;line-height:normal;clear:none;list-style-type:disc;"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:15pt;" color="#17365d"&gt;&lt;font style="font-weight:bold;"&gt;Introduction&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/h1&gt;  &lt;p style="margin:0cm 0cm 10pt;list-style-type:disc;" class="MsoNormal"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;" color="#000000"&gt;SQL Server has a feature called database mail. This feature allows the database server to send emails to any external entity using SMTP server. The problem happens if you have installed an on-premise SQL server and an online (Office 365) Exchange server in the cloud. How can you use this Exchange server in the cloud to send database emails?&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 10pt;list-style-type:disc;" class="MsoNormal"&gt;&lt;font color="#000000" face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;This blog post provides a complete walkthrough on how to configure this. This is based on the description provided in the KB article &lt;/font&gt;&lt;/font&gt;&lt;font style="font-size:11pt;"&gt;&lt;a rel="nofollow" style="cursor:auto;" target="_blank" href="http://support.microsoft.com/kb/2600912"&gt;&lt;font color="#0000ff" face="Calibri"&gt;&lt;u&gt;http://support.microsoft.com/kb/2600912&lt;/u&gt;&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;" color="#000000"&gt;.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;h1 style="margin:10pt 0cm 0pt;line-height:normal;clear:none;list-style-type:disc;"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:15pt;" color="#17365d"&gt;&lt;font style="font-weight:bold;"&gt;The Walkthrough&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/h1&gt;  &lt;p style="margin:0cm 0cm 10pt;list-style-type:disc;" class="MsoNormal"&gt;&lt;font face="Calibri"&gt;&lt;font color="#000000"&gt;&lt;span style=""&gt;&lt;font style="font-size:11pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:11pt;"&gt;The steps start with the following.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;h2 style="margin:10pt 0cm 0pt;line-height:normal;clear:none;list-style-type:disc;"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:13pt;" color="#17365d"&gt;&lt;font style="font-weight:bold;"&gt;Step 1: Get the SMTP settings for your Exchange online server&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/h2&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;list-style-type:disc;" class="MsoListParagraphCxSpFirst"&gt;&lt;font color="#000000"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;1-&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;Go to the address &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font style="font-size:11pt;"&gt;&lt;a rel="nofollow" style="cursor:auto;" target="_blank" href="http://dev.office.com"&gt;&lt;font color="#0000ff" face="Calibri"&gt;&lt;u&gt;http://dev.office.com&lt;/u&gt;&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;" color="#000000"&gt; to sign up for a trial account for office 365.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;font color="#000000"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;2-&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;After the exchange service is provisioned go to the tenant administration page and click on Outlook&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;    &lt;br /&gt;&lt;span style=""&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/1212.clip_5F00_image0024_5F00_3E3E7712.jpg"&gt;&lt;img style="border:0px currentcolor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" title="clip_image002[4]" border="0" alt="clip_image002[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/4035.clip_5F00_image0024_5F00_thumb_5F00_745FEF61.jpg" width="789" height="327"/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;font color="#000000"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;3-&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;Click on the “&lt;span style=""&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/3858.clip_5F00_image0034_5F00_1FC4105C.jpg"&gt;&lt;img style="margin:0px;border:0px currentcolor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" title="clip_image003[4]" border="0" alt="clip_image003[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/4848.clip_5F00_image0034_5F00_thumb_5F00_70FE57B9.jpg" width="21" height="20"/&gt;&lt;/a&gt;&lt;/span&gt;” icon and then click options&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;    &lt;br /&gt;&lt;span style=""&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/3872.clip_5F00_image0054_5F00_05177443.jpg"&gt;&lt;img style="margin:0px;border:0px currentcolor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" title="clip_image005[4]" border="0" alt="clip_image005[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/4848.clip_5F00_image0054_5F00_thumb_5F00_23158237.jpg" width="209" height="232"/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;font color="#000000"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;4-&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;Click on “Settings for POP or IMAP access…”&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;    &lt;br /&gt;&lt;span style=""&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/7585.clip_5F00_image0074_5F00_07FCB329.jpg"&gt;&lt;img style="margin:0px;border:0px currentcolor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" title="clip_image007[4]" border="0" alt="clip_image007[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/7585.clip_5F00_image0074_5F00_thumb_5F00_1030D8C0.jpg" width="570" height="706"/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 10pt 36pt;list-style-type:disc;" class="MsoListParagraphCxSpLast"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10396764</guid>
         <pubDate>Mon, 25 Feb 2013 13:17:55 +0000</pubDate>
      <feedburner:origLink>http://blogs.msdn.com/b/momalek/archive/2013/02/25/how-to-configure-sql-database-mail-so-send-emails-using-office-365-exchange-online-a-walkthrough.aspx</feedburner:origLink></item>
      <item>
         <title>SharePoint Provider Hosted App Walkthrough: Part 1 Preparation</title>
         <link>http://feedproxy.google.com/~r/yahoo/UZdL/~3/bAX51KYkJnc/sharepoint-provider-hosted-app-walkthrough-part-1-preparation.aspx</link>
         <description>&lt;p style="margin:0cm 0cm 10pt;list-style-type:disc;" class="MsoNormal"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;" color="#000000"&gt;SharePoint and office development model is changing to a new App model. This is the new development model for SharePoint. In this blog series I will walk you through creating a provider hosted SharePoint App that is hosted in an App part. This will show the following key features:&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;list-style-type:disc;" class="MsoListParagraphCxSpFirst"&gt;&lt;font color="#000000"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;font face="Symbol"&gt;&lt;font style="font-size:11pt;"&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;How to prepare your environment for your App development?&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;font color="#000000"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;font face="Symbol"&gt;&lt;font style="font-size:11pt;"&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;How to develop a provider hosted App that is hosted in Azure websites and linked to SharePoint Online?&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;font color="#000000"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;font face="Symbol"&gt;&lt;font style="font-size:11pt;"&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;How to use the Client Object Model (CSOM) to read and write data back to SharePoint using the credentials of the logged in user?&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;font color="#000000"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;font face="Symbol"&gt;&lt;font style="font-size:11pt;"&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;How to handle multi-tenancy in your App?&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 10pt 36pt;list-style-type:disc;" class="MsoListParagraphCxSpLast"&gt;&lt;font color="#000000"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;font face="Symbol"&gt;&lt;font style="font-size:11pt;"&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;How to package and sell your App on the market place?&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 10pt;list-style-type:disc;" class="MsoNormal"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;" color="#000000"&gt;In this blog post (which is first of the series) I will provide some introduction and then will walk you through how to prepare and test your development environment with your first hello world provider hosted App.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;h1 style="margin:10pt 0cm 0pt;line-height:normal;clear:none;list-style-type:disc;"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:15pt;" color="#17365d"&gt;&lt;font style="font-weight:bold;"&gt;Introduction&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/h1&gt;  &lt;p style="margin:0cm 0cm 10pt;list-style-type:disc;" class="MsoNormal"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;" color="#000000"&gt;So the question here is, why the new development model? Looking back at SharePoint 2010, the common development approaches had a few challenges associated with them. &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 10pt;list-style-type:disc;" class="MsoNormal"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;" color="#000000"&gt;With Farm Solutions, AKA Fully Trusted Solutions, custom code was deployed to the server. These types of solutions generally meant there were a lot of things to deploy to the server, even if they were all deployed in a SharePoint solution package. This also meant that most deployments required a server touch as an IT Pro with console access would need to upload the solution to the server’s solution store for deployment. In addition server outages and most SharePoint errors could usually be traced to custom code deployed to the server. These types of solutions are only available with on-prem deployments and not with hosted deployments that only allow sandbox solutions.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 10pt;list-style-type:disc;" class="MsoNormal"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;" color="#000000"&gt;Sandbox solutions have their own challenges in that they are limited in the number of things you can do. Developers can work within a subset of the full server-side API and are blocked from making external database or web service calls. &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 10pt;list-style-type:disc;" class="MsoNormal"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;" color="#000000"&gt;Both of these options, farm &amp;amp; sandbox solutions, require the developer to have a solid understanding and be familiar with the SharePoint server-side API.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 10pt;list-style-type:disc;" class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;" color="#000000"&gt;To address many of the challenges developers and site owners had in previous versions of SharePoint, Microsoft has introduced a new development option for SharePoint 2013: The SharePoint App Model.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 10pt;list-style-type:disc;" class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;" color="#000000"&gt;In this new model apps do not necessary live within SharePoint. Instead the app’s business logic executes within the context of the client (browser) or externally from SharePoint. This external option could be another non-SharePoint Web server or a cloud server. Apps are also more secure in that when they need to access SharePoint resources such as lists and libraries they must be explicitly granted permissions to do so. This is implemented using OAuth. When an app is created, the developer specifies which permission the app needs in order to function. When the app is installed, the user installing the app is prompted to accept the permission requests the app needs (if they deny the permissions, the app is not installed). Once granted permissions, the apps can then talk to SharePoint using the Client Side Object Model (CSOM) or using some of the new OData services in SharePoint.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 10pt;list-style-type:disc;" class="MsoNormal"&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10396578</guid>
         <pubDate>Sun, 24 Feb 2013 16:24:47 +0000</pubDate>
      <feedburner:origLink>http://blogs.msdn.com/b/momalek/archive/2013/02/24/sharepoint-provider-hosted-app-walkthrough-part-1-preparation.aspx</feedburner:origLink></item>
      <item>
         <title>Create a password dialog for Visual Studio deployment project</title>
         <link>http://feedproxy.google.com/~r/yahoo/UZdL/~3/uiW9vY9nlWw/create-a-password-dialog-for-visual-studio-deployment-project.aspx</link>
         <description>&lt;p style="margin:0cm 0cm 0pt;" class="Publishwithline"&gt;&lt;font style="font-size:12pt;"&gt;&lt;/font&gt;&lt;/p&gt;&lt;div style="border-width:medium medium 1pt;border-style:none none solid;border-color:currentcolor currentcolor rgb(79, 129, 189);padding:0cm 0cm 2pt;list-style-type:disc;"&gt;&lt;p style="margin:2pt 0cm 0pt;padding:0cm;" class="underline"&gt;&lt;font style="font-size:1pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;   &lt;font style="font-size:12pt;"&gt;&lt;/font&gt;&lt;/div&gt; &lt;font style="font-size:12pt;"&gt;&lt;/font&gt;  &lt;p style="margin:0cm 0cm 6pt;list-style-type:disc;" class="PadderBetweenControlandBody"&gt;&lt;font style="font-size:1pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt; &lt;font style="font-size:12pt;"&gt;&lt;/font&gt;  &lt;h1 style="margin:10pt 0cm 0pt;line-height:normal;clear:none;list-style-type:disc;"&gt;&lt;font style="font-size:15pt;"&gt;Introduction&lt;/font&gt;&lt;/h1&gt; &lt;font style="font-size:12pt;"&gt;&lt;/font&gt;  &lt;p style="margin:0cm 0cm 10pt;list-style-type:disc;" class="MsoNormal"&gt;&lt;font style="font-size:11pt;"&gt;Most of us have worked with Visual Studio deployment projects to create setup projects for components we developed. In many cases we used the custom user interface dialogs that come with Visual Studio to take extra parameters from the user. The problem happens when you require extra parameters than Visual Studio provides or custom user interface dialogs. In my case what I needed is a dialog to take username and password fields from the user and hence I wanted to apply a style to one of the edit box controls to be a password field. In the following I will show you how to create a new custom dialog and how to mark an edit box as a password field.&lt;/font&gt;&lt;/p&gt; &lt;font style="font-size:12pt;"&gt;&lt;/font&gt;  &lt;h1 style="margin:10pt 0cm 0pt;line-height:normal;clear:none;list-style-type:disc;"&gt;&lt;font style="font-size:15pt;"&gt;How to create a custom Visual Studio Setup dialog?&lt;/font&gt;&lt;/h1&gt; &lt;font style="font-size:12pt;"&gt;&lt;/font&gt;  &lt;p style="margin:0cm 0cm 10pt;list-style-type:disc;" class="MsoNormal"&gt;&lt;font style="font-size:11pt;"&gt;Visual Studio setup project has the functionality to add extra dialogs from a library of custom dialogs as shown in the figure below.     &lt;br /&gt;&lt;/font&gt;&lt;span style=""&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/2625.clip_5F00_image002_5F00_611CD161.jpg"&gt;&lt;img style="margin:0px;border:0px currentcolor;display:inline;background-image:none;" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/2210.clip_5F00_image002_5F00_thumb_5F00_6C65E59E.jpg" width="576" height="420"/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;font style="font-size:12pt;"&gt;&lt;/font&gt;  &lt;p style="margin:0cm 0cm 10pt;list-style-type:disc;" class="MsoNormal"&gt;&lt;font style="font-size:11pt;"&gt;So what I wanted to do is to customize one of the three textboxes dialog and create new one where I change one of the fields to be a password field. To do this you will need ORCA MSI editor from the Windows SDK Components for Windows Installer Developers &lt;a rel="nofollow" style="cursor:auto;" target="_blank" href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa370834(v=vs.85).aspx"&gt;here&lt;/a&gt;. The steps are as follows.&lt;/font&gt;&lt;/p&gt; &lt;font style="font-size:12pt;"&gt;&lt;/font&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;list-style-type:disc;" class="MsoListParagraphCxSpFirst"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;font style="font-size:11pt;"&gt;1-&lt;/font&gt;&lt;span style="line-height:normal;font-size-adjust:none;font-stretch:normal;"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;&lt;font style="font-size:11pt;"&gt;Close the Visual Studio.&lt;/font&gt;&lt;/p&gt; &lt;font style="font-size:12pt;"&gt;&lt;/font&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;font style="font-size:11pt;"&gt;2-&lt;/font&gt;&lt;span style="line-height:normal;font-size-adjust:none;font-stretch:normal;"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;&lt;font style="font-size:11pt;"&gt;Browse to the folder “C:&amp;#92;Program Files (x86)&amp;#92;Microsoft Visual Studio 10.0&amp;#92;Common7&amp;#92;Tools&amp;#92;Deployment&amp;#92;VsdDialogs&amp;#92;0”and make a copy of the file “VsdCustomText3Dlg.wid” and rename it to “VsdUsernamePasswordDlg.wid”&lt;/font&gt;&lt;/p&gt; &lt;font style="font-size:12pt;"&gt;&lt;/font&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;font style="font-size:11pt;"&gt;3-&lt;/font&gt;&lt;span style="line-height:normal;font-size-adjust:none;font-stretch:normal;"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;&lt;font style="font-size:11pt;"&gt;Open the file “VsdUsernamePasswordDlg.wid”in ORCA.     &lt;br /&gt;&lt;/font&gt;&lt;span style=""&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/6825.clip_5F00_image004_5F00_56BB8734.jpg"&gt;&lt;img style="margin:0px;border:0px currentcolor;display:inline;background-image:none;" title="clip_image004" border="0" alt="clip_image004" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/3683.clip_5F00_image004_5F00_thumb_5F00_32D2AFDA.jpg" width="576" height="304"/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;font style="font-size:12pt;"&gt;&lt;/font&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;font style="font-size:11pt;"&gt;4-&lt;/font&gt;&lt;span style="line-height:normal;font-size-adjust:none;font-stretch:normal;"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;&lt;font style="font-size:11pt;"&gt;Change all occurrences of “CustomTextC”to “CustomTextD” in all tables and all values.&lt;/font&gt;&lt;/p&gt; &lt;font style="font-size:12pt;"&gt;&lt;/font&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style=""&gt;&lt;span style=""&gt;&lt;font style="font-size:11pt;"&gt;5-&lt;/font&gt;&lt;span style="line-height:normal;font-size-adjust:none;font-stretch:normal;"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;&lt;font style="font-size:11pt;"&gt;In the module signature table make sure you edit the GUID and replace it with a new GUID     &lt;br /&gt;&lt;/font&gt;&lt;span style=""&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/3364.clip_5F00_image006_5F00_102E715F.jpg"&gt;&lt;img style="margin:0px;border:0px currentcolor;display:inline;background-image:none;" title="clip_image006" border="0" alt="clip_image006" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/3364.clip_5F00_image006_5F00_thumb_5F00_2484111D.jpg" width="641" height="378"/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;font style="font-size:12pt;"&gt;&lt;/font&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10350824</guid>
         <pubDate>Wed, 19 Sep 2012 13:58:10 +0000</pubDate>
      <feedburner:origLink>http://blogs.msdn.com/b/momalek/archive/2012/09/19/create-a-password-dialog-for-visual-studio-deployment-project.aspx</feedburner:origLink></item>
      <item>
         <title>Hyper-V Physical to virtual: Moving a natively booted VHD to be a real virtual machine</title>
         <link>http://feedproxy.google.com/~r/yahoo/UZdL/~3/cjep06rFL0g/hyper-v-physical-to-virtual-moving-a-natively-booted-vhd-to-be-a-real-virtual-machine.aspx</link>
         <description>&lt;h2 style="margin:10pt 0cm 0pt;line-height:15pt;clear:none;list-style-type:disc;"&gt;&lt;span lang="EN-US"&gt;&lt;font face="Cambria"&gt;&lt;font style="font-size:13pt;" color="#4f81bd"&gt;&lt;font style="font-weight:bold;"&gt;Introduction&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p style="margin:0cm 0cm 10pt;line-height:13pt;list-style-type:disc;" class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;" color="#000000"&gt;I had a requirement to migrate an existing native boot Windows Server 2008 R2 machine that was booting from an attached VHD on a physical machine to be a virtual machine in Hyper-V. The problem is that this machine had multiple boots and so the booting record was on the physical drive and the VHD image really did not have any booting information. Also because of the fact that it is booting in a physical machine it was using SATA AHCI of that machine and had the drivers to use that which is completely different form the Hyper-V implementation of the feature so I had to switch to Native IDE storage controller instead.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2 style="margin:10pt 0cm 0pt;line-height:15pt;clear:none;list-style-type:disc;"&gt;&lt;span lang="EN-US"&gt;&lt;font face="Cambria"&gt;&lt;font style="font-size:13pt;" color="#4f81bd"&gt;&lt;font style="font-weight:bold;"&gt;Resolution&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p style="margin:0cm 0cm 10pt;line-height:13pt;list-style-type:disc;" class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;" color="#000000"&gt;What I did was first I created a differencing VHD disk from that virtual machine as I wanted to make sure I am not changing anything in the source VHD in case I decided to switch back to native boot. Then I created the virtual machine and used IDE controller for the HDD pointing to the differencing VHD file. Now because the VHD did not have any booting information I had to build it and I had to add the boot manager to that machine. So here are the steps.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;" class="MsoListParagraphCxSpFirst"&gt;&lt;font color="#000000"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;1-&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;Mounted the VHD using the host storage disk management.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;font color="#000000"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;2-&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;Copied the files “bootmgr” and all contents of the folder “Boot” from a similar OS machine (Windows 2008 R2) to the root of the VHD.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;font color="#000000"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;3-&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;Made sure that the copied files still have the system attribute set correctly.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;font color="#000000"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;4-&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;Un-mounted the VHD from the host.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;font color="#000000"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;5-&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;Attached a Windows 2008 R2 setup DVD to the DVD drive of the virtual machine.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;font color="#000000"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;6-&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;Started the Virtual machine and booted from the setup DVD.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;font color="#000000"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;7-&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;Clicked next on the setup screen with default options.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;font color="#000000"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;8-&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;"&gt;Clicked repair my computer and opened command prompt.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10337655</guid>
         <pubDate>Tue, 07 Aug 2012 21:28:47 +0000</pubDate>
      <feedburner:origLink>http://blogs.msdn.com/b/momalek/archive/2012/08/08/hyper-v-physical-to-virtual-moving-a-natively-booted-vhd-to-be-a-real-virtual-machine.aspx</feedburner:origLink></item>
      <item>
         <title>ADFS 2.0 Client Certificate Authentication using test certificates</title>
         <link>http://feedproxy.google.com/~r/yahoo/UZdL/~3/TIHaq7bzz-o/adfs-2-0-client-certificate-authentication-using-test-certificates.aspx</link>
         <description>&lt;h2 style="margin:10pt 0cm 0pt;line-height:15pt;clear:none;list-style-type:disc;"&gt;&lt;span lang="EN-US"&gt;&lt;font face="Cambria"&gt;&lt;font style="font-size:13pt;" color="#4f81bd"&gt;&lt;font style="font-weight:bold;"&gt;Introduction&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p style="margin:0cm 0cm 10pt;line-height:13pt;list-style-type:disc;" class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;" color="#000000"&gt;I was developing a WCF based solution that required services to be authenticated using ADFS 2.0. The requirement was that the clients will be using client based certificates to authenticate to services. If you have a complete AD CS solution implemented that wouldn’t have been that difficult since the platform already takes care of most of the stuff already mentioned here but I wanted to test this scenario with my own testing certificates that are generated using command line tool “makecert.exe” and not a CA.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2 style="margin:10pt 0cm 0pt;line-height:15pt;clear:none;list-style-type:disc;"&gt;&lt;span lang="EN-US"&gt;&lt;font face="Cambria"&gt;&lt;font style="font-size:13pt;" color="#4f81bd"&gt;&lt;font style="font-weight:bold;"&gt;The Solution&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p style="margin:0cm 0cm 10pt;line-height:13pt;list-style-type:disc;" class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;" color="#000000"&gt;The steps that you need to follow are:&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;" class="MsoListParagraphCxSpFirst"&gt;&lt;span style="line-height:16pt;" lang="EN-US"&gt;&lt;span style=""&gt;&lt;font color="#1f497d"&gt;&lt;font face="Symbol"&gt;&lt;font style="font-size:14pt;"&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;" color="#000000"&gt;Step 1: Create a claims aware WCF service using WIF.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="line-height:16pt;" lang="EN-US"&gt;&lt;span style=""&gt;&lt;font color="#1f497d"&gt;&lt;font face="Symbol"&gt;&lt;font style="font-size:14pt;"&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;" color="#000000"&gt;Step 2: Add ADFS as an STS to the WCF service.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="line-height:16pt;" lang="EN-US"&gt;&lt;span style=""&gt;&lt;font color="#1f497d"&gt;&lt;font face="Symbol"&gt;&lt;font style="font-size:14pt;"&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;" color="#000000"&gt;Step 3: Add this as a relying party in ADFS using the generated metadata.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="line-height:16pt;" lang="EN-US"&gt;&lt;span style=""&gt;&lt;font color="#1f497d"&gt;&lt;font face="Symbol"&gt;&lt;font style="font-size:14pt;"&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;" color="#000000"&gt;Step 4: Build a client application and add a service reference.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="line-height:16pt;" lang="EN-US"&gt;&lt;span style=""&gt;&lt;font color="#1f497d"&gt;&lt;font face="Symbol"&gt;&lt;font style="font-size:14pt;"&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;" color="#000000"&gt;Step 5: Change the issuer address to make sure it is using the ADFS certificate endpoint.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="line-height:16pt;" lang="EN-US"&gt;&lt;span style=""&gt;&lt;font color="#1f497d"&gt;&lt;font face="Symbol"&gt;&lt;font style="font-size:14pt;"&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;" color="#000000"&gt;Step 6: Create a Certificate to Act as Your Client Root Certificate Authority.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="line-height:16pt;" lang="EN-US"&gt;&lt;span style=""&gt;&lt;font color="#1f497d"&gt;&lt;font face="Symbol"&gt;&lt;font style="font-size:14pt;"&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;" color="#000000"&gt;Step 7: Create a Certificate Revocation List File from the Root Certificate.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="line-height:16pt;" lang="EN-US"&gt;&lt;span style=""&gt;&lt;font color="#1f497d"&gt;&lt;font face="Symbol"&gt;&lt;font style="font-size:14pt;"&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:normal;"&gt;&lt;font face="Times New Roman"&gt;&lt;font style="font-size:7pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Calibri"&gt;&lt;font style="font-size:11pt;" color="#000000"&gt;Step 8: Install Your Client Root Certificate Authority on the Client and Server Machines&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10336778</guid>
         <pubDate>Fri, 03 Aug 2012 23:03:50 +0000</pubDate>
      <feedburner:origLink>http://blogs.msdn.com/b/momalek/archive/2012/08/04/adfs-2-0-client-certificate-authentication-using-test-certificates.aspx</feedburner:origLink></item>
      <item>
         <title>HIS hidden gem: Disable BiDi reversal</title>
         <link>http://feedproxy.google.com/~r/yahoo/UZdL/~3/eXzVMAe3Akc/his-hidden-gem-disable-bidi-reversal.aspx</link>
         <description>&lt;p&gt;Recently I was working on a very complex integration project using BizTalk Server 2010 stack. This project involved integrating with legacy IBM mainframe system. The integration involved working with BizTalk Adapter for Host Applications to call Mainframe hosted applications as part of specific processes. The application mainly involved passing parameters to this COBOL application and getting the results back. Some of the parameters and results returned contained Arabic latters and characters. Arabic is a considered a complex language which requires complex language processor which is called a Transcriber. If you are familiar with the Arabic language it needs to actions to be rendered correctly:&lt;/p&gt;  &lt;p&gt;1- The shape of the Arabic letters changes according to their context; meaning that the way we write the latter differs depending upon which letter is before and after the letter we are writing. This phase we call the shaping phase.&lt;/p&gt;  &lt;p&gt;2- The second phase is the reversal; Arabic language is written from right to left and hence the characters need to be reversed for it to be rendered correctly. This phase we call the reversal phase.&lt;/p&gt;  &lt;p&gt;Usually when you are dealing with Arabic programs and languages you need to execute both these phases for correct display of the sentence. Now HIS 2010 contains a special engine that deals with complex languages such as Arabic this is the TransBIDI.dll and by default this is working as normal and performs both phases as expected.&lt;/p&gt;  &lt;p&gt;The problem we faced while integrating with the COBOL program is that it required only the execution of the shaping phase but wanted the letters not to be reversed! Although this (for me) is a strange request and initially I started to think about some sort of customizations and complex scenarios to my surprise I have found that HIS server (starting of HIS 2004) recognized this need and provided a solution to it. Although the KB article I have found talks about the DB2 adapter I found that it applies to all HIS host adapters including the Host Application adapter. Here is an excerpt of the KB article on how to apply this hot fix.&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="894"&gt;         &lt;p&gt;This hotfix enables the CP420PhysicalStorage registry value. You can use this registry value to define how the OLE DB Provider for DB2 treats the string data according to the physical storage. By default, after you apply this hotfix, Host Integration Server 2004 reverses the string data that is sent to the mainframe or received from the mainframe. However, for some mainframe programs, you may not want Host Integration Server 2004 to reverse the string data.            &lt;br /&gt;To force Host Integration Server 2004 to process the string data without reversing the data, add the CP420PhysicalStorage registry value to the Host Integration Server 2004-based computer. To create the registry value, follow these steps:             &lt;br /&gt;&lt;b&gt;Warning&lt;/b&gt; Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.&lt;/p&gt;          &lt;p&gt;1. Click &lt;b&gt;Start&lt;/b&gt;, click &lt;b&gt;Run&lt;/b&gt;, type &lt;b&gt;regedit&lt;/b&gt;, and then click &lt;b&gt;OK&lt;/b&gt;.&lt;/p&gt;          &lt;p&gt;2. Locate the following registry key:&lt;/p&gt;          &lt;p&gt;HKEY_LOCAL_MACHINE&amp;#92;SOFTWARE&amp;#92;Microsoft&amp;#92;Host Integration Server&lt;/p&gt;          &lt;p&gt;3. Right-click &lt;b&gt;Host Integration Server&lt;/b&gt;, point to &lt;b&gt;New&lt;/b&gt;, and then click &lt;b&gt;DWORD Value&lt;/b&gt;.&lt;/p&gt;          &lt;p&gt;4. Type &lt;b&gt;CP420PhysicalStorage&lt;/b&gt; as the name of the registry value, and then press ENTER.&lt;/p&gt;          &lt;p&gt;5. Double-click &lt;b&gt;CP420PhysicalStorage&lt;/b&gt;, type &lt;b&gt;1&lt;/b&gt; in the &lt;b&gt;Value data&lt;/b&gt; box, and then click &lt;b&gt;OK&lt;/b&gt;.&lt;/p&gt;          &lt;p&gt;To return Host Integration Server to the default value and reverse the string data, set the CP420PhysicalStorage registry value to 0.&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;The complete KB article can be found here: &lt;a rel="nofollow" target="_blank" href="http://support.microsoft.com/default.aspx?scid=KB;EN-US;890353"&gt;http://support.microsoft.com/default.aspx?scid=KB;EN-US;890353&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I hope this saves someone else’s day as it saved mine &lt;img class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/1803.wlEmoticon_2D00_winkingsmile_5F00_5A7C3AC9.png"/&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10310676" width="1" height="1"&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10310676</guid>
         <pubDate>Sat, 26 May 2012 11:23:34 +0000</pubDate>
      <feedburner:origLink>http://blogs.msdn.com/b/momalek/archive/2012/05/26/his-hidden-gem-disable-bidi-reversal.aspx</feedburner:origLink></item>
      <item>
         <title>Solved: Moving SharePoint 2010 Designer Workflows between Sites</title>
         <link>http://feedproxy.google.com/~r/yahoo/UZdL/~3/0xTGy8UCsAU/solved-moving-sharepoint-2010-designer-workflows-between-sites.aspx</link>
         <description>&lt;p&gt;In man occasions you would be faced by the need to move workflows you developed using SharePoint designer from one site to another. This might be the case if for example you developed and tested the workflow on a testing environment and now wants to move to the production environment without the need to re-develop the workflow.&lt;/p&gt;  &lt;p&gt;The steps to perform this is rather simple:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Export the workflow to Visio. &lt;/li&gt;    &lt;li&gt;Edit the VWI archive and delete the configuration file. &lt;/li&gt;    &lt;li&gt;Import the workflow back to your destination site. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;So open the SharePoint designer and open the source site. click on the workflows link on the left and then the workflow you want to move. Click on the ribbon on export to Visio button.&lt;/p&gt;  &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/5415.image_5F00_054C33F5.png"&gt;&lt;img style="display:inline;background-image:none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/5700.image_5F00_thumb_5F00_0DEC8C81.png" width="856" height="245"/&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now rename the file exported (VWI file) to be a ZIP file and open it with Windows Explorer. You will find a file named “workflow.xoml.wfconfig.xml” &lt;/p&gt;  &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/1777.image_5F00_379FE1A7.png"&gt;&lt;img style="display:inline;background-image:none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/2235.image_5F00_thumb_5F00_6E2D8CEB.png" width="862" height="215"/&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Just delete this file. Now rename the archive back to be a VWI file.&lt;/p&gt;  &lt;p&gt;Now open the destination site and click the import from Visio and browse to the edited VWI file. This will allow you to re-associate your workflow as if it was created or exported from Visio rather than the designer while preserving any development made in the workflow it self.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10296195" width="1" height="1"&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10296195</guid>
         <pubDate>Sun, 22 Apr 2012 09:31:09 +0000</pubDate>
      <feedburner:origLink>http://blogs.msdn.com/b/momalek/archive/2012/04/22/solved-moving-sharepoint-2010-designer-workflows-between-sites.aspx</feedburner:origLink></item>
   </channel>
</rss><!-- fe1.yql.bf1.yahoo.com compressed/chunked Fri May 24 01:49:35 UTC 2013 -->
