<?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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>SharePoint Dev Notes</title><link>http://devspoint.wordpress.com</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/SharepointApplicationDevelopment" /><description>Notes on SharePoint Development</description><language>en</language><image><link>http://devspoint.wordpress.com</link><url>http://s2.wp.com/i/buttonw-com.png</url><title>SharePoint Dev Notes</title></image><lastBuildDate>Thu, 22 Dec 2011 13:15:17 PST</lastBuildDate><generator>http://wordpress.com/</generator><sy:updatePeriod xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">hourly</sy:updatePeriod><sy:updateFrequency xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">1</sy:updateFrequency><atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="search" type="application/opensearchdescription+xml" href="http://devspoint.wordpress.com/osd.xml" title="SharePoint Dev Notes" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/SharepointApplicationDevelopment" /><feedburner:info uri="sharepointapplicationdevelopment" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://devspoint.wordpress.com/?pushpress=hub" /><item><title>Date Range Custom Refiner</title><link>http://feedproxy.google.com/~r/SharepointApplicationDevelopment/~3/kcx7rXpzIQI/</link><category>Search</category><category>SharePoint 2010</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chris Quick</dc:creator><pubDate>Thu, 22 Dec 2011 13:15:13 PST</pubDate><guid isPermaLink="false">http://devspoint.wordpress.com/?p=563</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Recently, I had a project where a group wanted to show an aging report using SharePoint&#8217;s search capabilities. The easiest way to accomplish this is the use of refiners, but I struggled with this quite a bit until I figured out that the left argument of the custom value must ALWAYS be less than the right argument. <span id="more-563"></span>Here was my final refinement XML markup:<br />
<pre class="brush: xml;">
 &lt;Category Title=&quot;Aging&quot; Description=&quot;Aging groups for items based on the submission date&quot;
  Type=&quot;Microsoft.Office.Server.Search.WebControls.ManagedPropertyFilterGenerator&quot;
  MetadataThreshold=&quot;3&quot; NumberOfFiltersToDisplay=&quot;5&quot;
  MaxNumberOfFilters=&quot;0&quot; SortBy=&quot;Custom&quot; ShowMoreLink=&quot;True&quot;
  MappedProperty=&quot;SubmitDate&quot; MoreLinkText=&quot;show more&quot;
  LessLinkText=&quot;show fewer&quot;&gt;
    &lt;CustomFilters MappingType=&quot;RangeMapping&quot; DataType=&quot;Date&quot;
    ValueReference=&quot;Relative&quot; ShowAllInMore=&quot;False&quot;&gt;
      &lt;CustomFilter CustomValue=&quot;0-30 Days&quot;&gt;
        &lt;OriginalValue&gt;-30..0&lt;/OriginalValue&gt;
      &lt;/CustomFilter&gt;
      &lt;CustomFilter CustomValue=&quot;30-60 Days&quot;&gt;
        &lt;OriginalValue&gt;-60..-30&lt;/OriginalValue&gt;
      &lt;/CustomFilter&gt;
      &lt;CustomFilter CustomValue=&quot;60-90 Days&quot;&gt;
        &lt;OriginalValue&gt;-90..-60&lt;/OriginalValue&gt;
      &lt;/CustomFilter&gt;
      &lt;CustomFilter CustomValue=&quot;60-90 Days&quot;&gt;
        &lt;OriginalValue&gt;-120..-90&lt;/OriginalValue&gt;
      &lt;/CustomFilter&gt;
      &lt;CustomFilter CustomValue=&quot;120+ Days&quot;&gt;
        &lt;OriginalValue&gt;..-120&lt;/OriginalValue&gt;
      &lt;/CustomFilter&gt;
    &lt;/CustomFilters&gt;
  &lt;/Category&gt;
</pre><br />
This is part of a much larger application that has several search customizations, but you could use this with any out of the box managed properties dealing with dates.</p>
<p>If you want more details on custom refiners, check out Michal Prisarek&#8217;s <a href="http://www.sharepointanalysthq.com/2010/10/custom-refinement-filters-in-sharepoint-2010/" title="Custom Refinement Filters in SharePoint 2010 Overview" target="_blank">Custom Refinement Filters in SharePoint 2010 Overview</a>. This is a great overview of custom refiners and was one of my jumping off points for this project.</p>
<br />Filed under: <a href='http://devspoint.wordpress.com/category/search/'>Search</a>, <a href='http://devspoint.wordpress.com/category/sharepoint-2010/'>SharePoint 2010</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devspoint.wordpress.com/563/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devspoint.wordpress.com/563/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devspoint.wordpress.com/563/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devspoint.wordpress.com/563/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devspoint.wordpress.com/563/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devspoint.wordpress.com/563/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devspoint.wordpress.com/563/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devspoint.wordpress.com/563/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devspoint.wordpress.com/563/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devspoint.wordpress.com/563/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devspoint.wordpress.com/563/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devspoint.wordpress.com/563/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devspoint.wordpress.com/563/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devspoint.wordpress.com/563/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;blog=16939628&amp;post=563&amp;subd=devspoint&amp;ref=&amp;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=kcx7rXpzIQI:i1CbZLfM1QM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=kcx7rXpzIQI:i1CbZLfM1QM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=kcx7rXpzIQI:i1CbZLfM1QM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?i=kcx7rXpzIQI:i1CbZLfM1QM:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SharepointApplicationDevelopment/~4/kcx7rXpzIQI" height="1" width="1"/>]]></content:encoded><description>Recently, I had a project where a group wanted to show an aging report using SharePoint&amp;#8217;s search capabilities. The easiest way to accomplish this is the use of refiners, but I struggled with this quite a bit until I figured &amp;#8230; &lt;a href="http://devspoint.wordpress.com/2011/12/22/date-range-custom-refiner/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;amp;blog=16939628&amp;amp;post=563&amp;amp;subd=devspoint&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devspoint.wordpress.com/2011/12/22/date-range-custom-refiner/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://1.gravatar.com/avatar/30f2d885b61294f912f0c6ae28912b54?s=96&amp;d=&amp;r=G" medium="image">
			<media:title type="html">cquick001</media:title>
		</media:content><feedburner:origLink>http://devspoint.wordpress.com/2011/12/22/date-range-custom-refiner/</feedburner:origLink></item><item><title>Send Email using PowerShell</title><link>http://feedproxy.google.com/~r/SharepointApplicationDevelopment/~3/9p6KKbx9YmY/</link><category>Scripting</category><category>PowerShell</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chris Quick</dc:creator><pubDate>Thu, 08 Dec 2011 07:15:17 PST</pubDate><guid isPermaLink="false">http://devspoint.wordpress.com/?p=556</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>While this isn&#8217;t directly related to SharePoint, there may be some times that you need to run a long running operation with PowerShell and would like to receive an email notification when the operation is completed. Here is a quick function you can place into most any script and then call to send notifications.<br />
<span id="more-556"></span><br />
Since most SharePoint implementations are already configured to allow email notifications to be sent (alerts) you may be able to allow your scripts to also send you alerts. Here&#8217;s the script:<br />
<pre class="brush: powershell;">
function send-notification($subject, $detail) {
    $message = New-Object System.Net.Mail.MailMessage
    $message.Subject = $subject
    $message.Body = $detail
    $message.To.Add(&quot;recipient@domain.com&quot;)
    $message.From = &quot;sender@domain.com&quot;
    
    $client = New-Object System.Net.Mail.SMTPClient -ArgumentList &quot;smtp.domain.com&quot;
    $client.Send($message)
}
</pre></p>
<p>To make use of the function, just simply call it with the necessary parameters:<br />
<pre class="brush: powershell;">
send-notification -subject &quot;$dbname Attached&quot; -detail &quot;The content database $dbname has completed the database attach upgrade. Please review the logs in Central Administration as soon as possible.&quot;
</pre><br />
Enjoy!</p>
<p><strong>Edit 12/8/2011:</strong> If you would like to send to multiple users, you can do the following:<br />
<pre class="brush: powershell;">
$message.To.Add(&quot;nextemail@domain.com&quot;)
$message.To.Add(&quot;anotherperson@domain.com&quot;)
#You can also CC and BCC
$message.Cc.Add(&quot;firstcc@domain.com&quot;)
$message.Bcc.Add(&quot;firstbcc@domain.com&quot;)
</pre></p>
<br />Filed under: <a href='http://devspoint.wordpress.com/category/scripting/powershell/'>PowerShell</a>, <a href='http://devspoint.wordpress.com/category/scripting/'>Scripting</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devspoint.wordpress.com/556/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devspoint.wordpress.com/556/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devspoint.wordpress.com/556/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devspoint.wordpress.com/556/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devspoint.wordpress.com/556/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devspoint.wordpress.com/556/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devspoint.wordpress.com/556/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devspoint.wordpress.com/556/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devspoint.wordpress.com/556/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devspoint.wordpress.com/556/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devspoint.wordpress.com/556/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devspoint.wordpress.com/556/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devspoint.wordpress.com/556/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devspoint.wordpress.com/556/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;blog=16939628&amp;post=556&amp;subd=devspoint&amp;ref=&amp;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=9p6KKbx9YmY:-vT0P0iBDV8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=9p6KKbx9YmY:-vT0P0iBDV8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=9p6KKbx9YmY:-vT0P0iBDV8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?i=9p6KKbx9YmY:-vT0P0iBDV8:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SharepointApplicationDevelopment/~4/9p6KKbx9YmY" height="1" width="1"/>]]></content:encoded><description>While this isn&amp;#8217;t directly related to SharePoint, there may be some times that you need to run a long running operation with PowerShell and would like to receive an email notification when the operation is completed. Here is a quick &amp;#8230; &lt;a href="http://devspoint.wordpress.com/2011/12/08/send-email-using-powershell/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;amp;blog=16939628&amp;amp;post=556&amp;amp;subd=devspoint&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devspoint.wordpress.com/2011/12/08/send-email-using-powershell/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://1.gravatar.com/avatar/30f2d885b61294f912f0c6ae28912b54?s=96&amp;d=&amp;r=G" medium="image">
			<media:title type="html">cquick001</media:title>
		</media:content><feedburner:origLink>http://devspoint.wordpress.com/2011/12/08/send-email-using-powershell/</feedburner:origLink></item><item><title>Get User Roles using jQuery and SPServices</title><link>http://feedproxy.google.com/~r/SharepointApplicationDevelopment/~3/1oCjRkEnMv4/</link><category>jQuery</category><category>Scripting</category><category>SharePoint 2007</category><category>SharePoint 2010</category><category>Tips and Tricks</category><category>SharePoint Roles</category><category>SPServices</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chris Quick</dc:creator><pubDate>Wed, 07 Dec 2011 11:20:30 PST</pubDate><guid isPermaLink="false">http://devspoint.wordpress.com/?p=552</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>If you ever have a need to get the roles a user is assigned using jQuery – here&#8217;s how. You will need to get jQuery (www.jquery.com) and SPServices (spservices.codeplex.com). Then you can perform the following:<br />
<span id="more-552"></span><br />
<pre class="brush: jscript;">
    function getCurrentUserRole() {
        $().SPServices({
            operation: &quot;GetRolesAndPermissionsForCurrentUser&quot;,
            async: false,
            completefunc: function (xData, Status) {
                if( Status == &quot;success&quot;) {
                    $(xData.responseXML).find(&quot;[nodeName=Role]&quot;).each(function () {
                        if($(this).attr(&quot;Name&quot;) == &quot;Full Control&quot;) {
                            // THE USER IS ASSIGNED THE FULL CONTROL ROLE
                        }
                        if($(this).attr(&quot;Name&quot;) == &quot;Approver&quot;) {
                            // THE USER IS ASSIGNED THE APPROVER ROLE
                        }
                    });
                }
            }
        });
    }
</pre></p>
<p>You can check for any role that is defined in SharePoint (this includes roles you might create, i.e. Contribute No Delete). Using this, you could provide UI cues or change the UI for certain users. Remember, this does not &#8220;secure&#8221; a site. It only responds to the roles the user is assigned.</p>
<br />Filed under: <a href='http://devspoint.wordpress.com/category/scripting/jquery/'>jQuery</a>, <a href='http://devspoint.wordpress.com/category/scripting/'>Scripting</a>, <a href='http://devspoint.wordpress.com/category/sharepoint-2007/'>SharePoint 2007</a>, <a href='http://devspoint.wordpress.com/category/sharepoint-2010/'>SharePoint 2010</a>, <a href='http://devspoint.wordpress.com/category/tips-and-tricks/'>Tips and Tricks</a> Tagged: <a href='http://devspoint.wordpress.com/tag/sharepoint-roles/'>SharePoint Roles</a>, <a href='http://devspoint.wordpress.com/tag/spservices/'>SPServices</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devspoint.wordpress.com/552/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devspoint.wordpress.com/552/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devspoint.wordpress.com/552/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devspoint.wordpress.com/552/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devspoint.wordpress.com/552/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devspoint.wordpress.com/552/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devspoint.wordpress.com/552/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devspoint.wordpress.com/552/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devspoint.wordpress.com/552/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devspoint.wordpress.com/552/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devspoint.wordpress.com/552/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devspoint.wordpress.com/552/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devspoint.wordpress.com/552/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devspoint.wordpress.com/552/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;blog=16939628&amp;post=552&amp;subd=devspoint&amp;ref=&amp;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=1oCjRkEnMv4:Y9_4hH8iysw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=1oCjRkEnMv4:Y9_4hH8iysw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=1oCjRkEnMv4:Y9_4hH8iysw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?i=1oCjRkEnMv4:Y9_4hH8iysw:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SharepointApplicationDevelopment/~4/1oCjRkEnMv4" height="1" width="1"/>]]></content:encoded><description>If you ever have a need to get the roles a user is assigned using jQuery – here&amp;#8217;s how. You will need to get jQuery (www.jquery.com) and SPServices (spservices.codeplex.com). Then you can perform the following: You can check for any &amp;#8230; &lt;a href="http://devspoint.wordpress.com/2011/12/07/get-user-roles-using-jquery-and-spservices/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;amp;blog=16939628&amp;amp;post=552&amp;amp;subd=devspoint&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devspoint.wordpress.com/2011/12/07/get-user-roles-using-jquery-and-spservices/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://1.gravatar.com/avatar/30f2d885b61294f912f0c6ae28912b54?s=96&amp;d=&amp;r=G" medium="image">
			<media:title type="html">cquick001</media:title>
		</media:content><feedburner:origLink>http://devspoint.wordpress.com/2011/12/07/get-user-roles-using-jquery-and-spservices/</feedburner:origLink></item><item><title>Using the SharePoint 2010 Client Object Model to return user information</title><link>http://feedproxy.google.com/~r/SharepointApplicationDevelopment/~3/B4tWV7LBPys/</link><category>jQuery</category><category>SharePoint Client Object Model</category><category>SharePoint 2010 Client Object Model</category><category>SharePoint Search</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chris Quick</dc:creator><pubDate>Fri, 21 Oct 2011 08:30:24 PDT</pubDate><guid isPermaLink="false">http://devspoint.wordpress.com/?p=543</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>In a recent project, I needed a way to quickly get some additional details about a user from the user information list. The project is making use of search and in the core results the only item being returned is the display name of the author. Since I needed to get some more details on the user, I needed a quick way to lookup the user by display name from the user information list.</p>
<p><span id="more-543"></span>The Client Object Model in SharePoint 2010 is accessible using JavaScript, so I decided that I would make use of this, coupled with jQuery, to provide the necessary details for each author returned in a set of search results. The search results page is configured to show 10 results at a time, so I know there will only be ten calls to get the information needed. Also, this search center is looking for items already contained within the specified site, so making use of the user information list is possible because the authors will have entries in the list due to their activity on the site.</p>
<p>First, I use jQuery to get my custom container that contains the author information. I have already modified the core results XSLT and I know the markup for the container I will be using.</p>
<p><pre class="brush: jscript;">
function loadUserData() {
     $(&quot;.authordetails&quot;).each(function () {
          var authorName = $(this).text();
          updateAuthorDetails(authorname, this);
     });
}
</pre></p>
<p>The <b>updateAuthorDetails</b> method makes use of the SharePoint 2010 client object model to retrieve the user details. This method is passed two arguments, the name of the author (this is the display name) and the target container to update with additional details. </p>
<p><pre class="brush: jscript;">
	function updateAuthorDetails(userName, target){
		// Use the client context to get the user.
		var clientContext = new SP.ClientContext.get_current();
		var web = clientContext.get_web();
		
		// Get the user information list for the current site
		var userInfoList = web.get_siteUserInfoList();
		
		// Define the query to get the user by the display name of the user.
		var camlQuery = new SP.CamlQuery();
		camlQuery.set_viewXml(&quot;&lt;View&gt;&lt;Query&gt;&lt;Where&gt;&lt;Eq&gt;&lt;FieldRef Name=\'Title\'/&gt;&lt;Value Type=\'Text\'&gt;&quot; + userName + &quot;&lt;/Value&gt;&lt;/Eq&gt;&lt;/Where&gt;&lt;/Query&gt;&lt;RowLimit&gt;1&lt;/RowLimit&gt;&lt;/View&gt;&quot;);
		
		// Load the items into a variable
		var colListItem = userInfoList.getItems(camlQuery);
		clientContext.load(colListItem);
		
		// Execute the query and set up the profile information
		clientContext.executeQueryAsync(
			function (sender, args) {
		             var item = colListItem.itemAt(0);
                             /*
                               use the list item to perform my updates 
                               to the container using jQuery
                             */
			},
			function (sender, args) {
				return null;
			});
	}
</pre></p>
<p>The final result of my efforts looks a little like the following:<br />
<a href="http://devspoint.files.wordpress.com/2011/10/2011-10-21_0925.png"><img src="http://devspoint.files.wordpress.com/2011/10/2011-10-21_0925.png?w=640" alt="" title="2011-10-21_0925"   class="aligncenter size-full wp-image-548" /></a></p>
<br />Filed under: <a href='http://devspoint.wordpress.com/category/scripting/jquery/'>jQuery</a>, <a href='http://devspoint.wordpress.com/category/sharepoint-2010/sharepoint-client-object-model/'>SharePoint Client Object Model</a> Tagged: <a href='http://devspoint.wordpress.com/tag/jquery/'>jQuery</a>, <a href='http://devspoint.wordpress.com/tag/sharepoint-2010-client-object-model/'>SharePoint 2010 Client Object Model</a>, <a href='http://devspoint.wordpress.com/tag/sharepoint-search/'>SharePoint Search</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devspoint.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devspoint.wordpress.com/543/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devspoint.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devspoint.wordpress.com/543/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devspoint.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devspoint.wordpress.com/543/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devspoint.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devspoint.wordpress.com/543/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devspoint.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devspoint.wordpress.com/543/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devspoint.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devspoint.wordpress.com/543/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devspoint.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devspoint.wordpress.com/543/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;blog=16939628&amp;post=543&amp;subd=devspoint&amp;ref=&amp;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=B4tWV7LBPys:tUNb_FtsCQA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=B4tWV7LBPys:tUNb_FtsCQA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=B4tWV7LBPys:tUNb_FtsCQA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?i=B4tWV7LBPys:tUNb_FtsCQA:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SharepointApplicationDevelopment/~4/B4tWV7LBPys" height="1" width="1"/>]]></content:encoded><description>In a recent project, I needed a way to quickly get some additional details about a user from the user information list. The project is making use of search and in the core results the only item being returned is &amp;#8230; &lt;a href="http://devspoint.wordpress.com/2011/10/21/using-the-sharepoint-2010-client-object-model-to-return-user-information/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;amp;blog=16939628&amp;amp;post=543&amp;amp;subd=devspoint&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devspoint.wordpress.com/2011/10/21/using-the-sharepoint-2010-client-object-model-to-return-user-information/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">2</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://1.gravatar.com/avatar/30f2d885b61294f912f0c6ae28912b54?s=96&amp;d=&amp;r=G" medium="image">
			<media:title type="html">cquick001</media:title>
		</media:content><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://devspoint.files.wordpress.com/2011/10/2011-10-21_0925.png" medium="image">
			<media:title type="html">2011-10-21_0925</media:title>
		</media:content><feedburner:origLink>http://devspoint.wordpress.com/2011/10/21/using-the-sharepoint-2010-client-object-model-to-return-user-information/</feedburner:origLink></item><item><title>SharePoint Conference Breakout Sessions</title><link>http://feedproxy.google.com/~r/SharepointApplicationDevelopment/~3/nyMvRMwgvhY/</link><category>Uncategorized</category><category>#SPC11</category><category>SharePoint Conference</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chris Quick</dc:creator><pubDate>Sat, 01 Oct 2011 07:39:03 PDT</pubDate><guid isPermaLink="false">http://devspoint.wordpress.com/?p=537</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>For those of you interested, here is a list of the breakout sessions I&#8217;m planning to attend:</p>
<table>
<tbody>
<tr>
<td>Session Title: Creating Beautiful and Engaging Web Sites with SharePoint 2010</td>
</tr>
<tr>
<td>Session Code: SPC216</td>
</tr>
<tr>
<td>Speaker(s):  <a href="http://www.mssharepointconference.com/Pages/Secure/myspc-05-person.aspx?ProfileGuid=9fdc1486-d935-4eda-afb2-91fc67c1a70b">Randy  Drisgill </a> , <a href="http://www.mssharepointconference.com/Pages/Secure/myspc-05-person.aspx?ProfileGuid=17ed01f5-8314-4394-8fe8-9a85dc74af9e">John  Ross </a></td>
</tr>
<tr>
<td>Presented By: MVP</td>
</tr>
<tr>
<td>Level: 200</td>
</tr>
<tr>
<td>Abstract: The process of building, branding and delivering a beautiful web site is more than just skin deep. In this session we will walk you through best practices for planning, creating and deploying engaging web sites with SharePoint 2010. We will also share best practices around the branding process with lessons learned and examples from real world SharePoint branding projects.</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td>Session Title: Got iPads, Android tablets, smart phones and Windows devices? Managing Office 2010 endpoints in an Interoperable and multi-device World</td>
</tr>
<tr>
<td>Session Code: SPC350</td>
</tr>
<tr>
<td>Speaker(s):  <a href="http://www.mssharepointconference.com/Pages/Secure/myspc-05-person.aspx?ProfileGuid=af6c988a-8c2d-473f-96e7-d9effdd1751d">Jeremy  Chapman </a></td>
</tr>
<tr>
<td>Presented By: Microsoft</td>
</tr>
<tr>
<td>Level: 300</td>
</tr>
<tr>
<td>Abstract: For your organization to take the best advantage of SharePoint, your users need the power of the Office 2010 Suite.  Desktop IT pros are faced with several methods to deliver Microsoft Office to client computers. Office offers a wide range of deployment options, ranging from the well proven setup program MSI installation to VDI, terminal services, and application virtualization. However, rarely does just one method meet the needs of an entire organization. This session discusses approaches to delivering Office 2010 to your users, from UI and access considerations to deployment methods and extensibility. We show you how to merge on-premises, Microsoft Office 365 cloud and web services environments highlighting potential impacts to your network performance and data security.</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td>Session Title: Developing and Extending Enterprise Content Management features</td>
</tr>
<tr>
<td>Session Code: SPC406</td>
</tr>
<tr>
<td>Speaker(s):  <a href="http://www.mssharepointconference.com/Pages/Secure/myspc-05-person.aspx?ProfileGuid=52eb07f4-2ae3-482c-875e-5c10b23aae79">Paul Swider</a></td>
</tr>
<tr>
<td>Presented By: Partner</td>
</tr>
<tr>
<td>Level: 400</td>
</tr>
<tr>
<td>Abstract: Do you know how to fully leverage the rich set of APIs SharePoint provides for building new features or extending existing Enterprise Content Management (ECM) features?  The ECM programming model can be used to extend the functionality and create custom document management solutions. In addition SharePoint 2010 introduces the Managed Metadata store as the enterprise tool for managing taxonomy. In this session you will learn how to add rich ECM functionality to your SharePoint sites using members of the taxonomy and document management object model. When you complete the session you will understand how to use the rich document management namespace.</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td>Session Title: Seven Habits of Highly Effective SharePoint Developers</td>
</tr>
<tr>
<td>Session Code: SPC208</td>
</tr>
<tr>
<td>Speaker(s):  <a href="http://www.mssharepointconference.com/Pages/Secure/myspc-05-person.aspx?ProfileGuid=4eada471-b096-412e-903b-3149202eb1d9">John  Rymer </a></td>
</tr>
<tr>
<td>Presented By: Analyst</td>
</tr>
<tr>
<td>Level: 200</td>
</tr>
<tr>
<td>Abstract: Forrester Vice President and Principal Analyst John Rymer, who has led over 12 SharePoint workshops in 9 different cities around the globe, will share best practices and critical success factors for a SharePoint application-development strategy. Distilled from his client workshop experiences, best practices research, and an unprecedented new Forrester survey on SharePoint adoption and deployment patterns, John will highlight the people, process, and technology behind successful SharePoint development organizations – both on premise and in the cloud.</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td>Session Title: Making your SharePoint Websites Sing on Smartphones</td>
</tr>
<tr>
<td>Session Code: SPC366</td>
</tr>
<tr>
<td>Speaker(s):  <a href="http://www.mssharepointconference.com/Pages/Secure/myspc-05-person.aspx?ProfileGuid=553b331d-ec53-4c74-80b0-415bb7613996">Chris  Auld </a> , <a href="http://www.mssharepointconference.com/Pages/Secure/myspc-05-person.aspx?ProfileGuid=d69cfdce-9668-4515-abd9-e546ffd4e9b8">Gavin Barron</a></td>
</tr>
<tr>
<td>Presented By: MVP</td>
</tr>
<tr>
<td>Level: 300</td>
</tr>
<tr>
<td>Abstract: Chances are, you are either reading this abstract on your smartphone or have one in your pocket. This session will cover how to ship a great smartphone ready web site on top of SharePoint 2010. You’ll learn how to identify and target content at specific devices as well as how to re-purpose core site content. You’ll learn some HTML 5 techniques including methods to deliver rich media across all devices and finally they will address the designer-developer interaction as it relates to smaller form factors and device based testing.</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td>Session Title: Developing SharePoint applications with HTML5 and JQuery</td>
</tr>
<tr>
<td>Session Code: SPC338</td>
</tr>
<tr>
<td>Speaker(s):  <a href="http://www.mssharepointconference.com/Pages/Secure/myspc-05-person.aspx?ProfileGuid=e40d928b-2e46-47f0-adf3-94ce62a27e9e">Ted Pattison</a></td>
</tr>
<tr>
<td>Presented By: Microsoft</td>
</tr>
<tr>
<td>Level: 300</td>
</tr>
<tr>
<td>Abstract: You should consider using HTML5 and JQuery to build a great user experience in your SharePoint applications! SharePoint provides a robust platform to build applications, many of which can use HTML 5 and jQuery. These types of applications are very flexible as they can be deployed in the SharePoint sandbox and run both on premise and on SharePoint Online in the cloud. In this session you will learn how to get started with SharePoint client side development using HTML 5 and jQuery.</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td>Session Title: SharePoint Infrastructure for Geographically Distributed Organizations</td>
</tr>
<tr>
<td>Session Code: SPC388</td>
</tr>
<tr>
<td>Speaker(s):  <a href="http://www.mssharepointconference.com/Pages/Secure/myspc-05-person.aspx?ProfileGuid=680800ce-7f7f-4e11-b0ca-d10756823b91">David McNamee</a></td>
</tr>
<tr>
<td>Presented By: Microsoft</td>
</tr>
<tr>
<td>Level: 300</td>
</tr>
<tr>
<td>Abstract: SharePoint requires careful planning when it is deployed into a geographically distributed organization. This session will explore tactics and strategies to handle issues of low bandwidth, high latency, and unreliable connectivity. These will include the distribution of SharePoint services and the impact of client applications and cloud-based services such as Office 365.</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td>Session Title: Developing and Getting the Most from Sandboxed Solutions</td>
</tr>
<tr>
<td>Session Code: SPC336</td>
</tr>
<tr>
<td>Speaker(s):  <a href="http://www.mssharepointconference.com/Pages/Secure/myspc-05-person.aspx?ProfileGuid=40f5fe7a-b5e3-4368-91b9-f387f7758093">Michael  Ammerlaan </a></td>
</tr>
<tr>
<td>Presented By: Microsoft</td>
</tr>
<tr>
<td>Level: 300</td>
</tr>
<tr>
<td>Abstract: Want to learn how to get the most from your Sandboxed Solutions? This session will dive deep on what is possible and how to best take advantage of declarative solutions and sandbox code. We will cover things you never thought possible and teach you how to build applications that are as powerful as they are easy to deploy. Come and hear directly from a member of the SharePoint Developer team to hear insights and background on this quietly powerful tool.</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td>Session Title: Advanced SharePoint Data Access with Silverlight</td>
</tr>
<tr>
<td>Session Code: SPC400</td>
</tr>
<tr>
<td>Speaker(s):  <a href="http://www.mssharepointconference.com/Pages/Secure/myspc-05-person.aspx?ProfileGuid=15c70492-525f-4cab-a215-7ff14e6d341c">Robert German</a> , <a href="http://www.mssharepointconference.com/Pages/Secure/myspc-05-person.aspx?ProfileGuid=c7346f77-8297-4dfd-8260-af7fe7595baf">Ryan Sockalosky</a></td>
</tr>
<tr>
<td>Presented By: Microsoft</td>
</tr>
<tr>
<td>Level: 400</td>
</tr>
<tr>
<td>Abstract: SharePoint and Silverlight make an unbeatable combination for building great web applications. In this session, you will learn how to develop these solutions more easily than ever with Visual Studio 2010 and SharePoint&#8217;s new client object model and WCF Data services. We&#8217;ll cover all aspects of data access from Silverlight in Sharepoint, such as how to deal with large datasets, working with shared services, piggybacking data on the web page, external data access and more.</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td>Session Title: Solving Enterprise Search Challenges with SharePoint 2010</td>
</tr>
<tr>
<td>Session Code: SPC392</td>
</tr>
<tr>
<td>Speaker(s):  <a href="http://www.mssharepointconference.com/Pages/Secure/myspc-05-person.aspx?ProfileGuid=95312a30-6d18-4a96-bffb-0efee78ab0e5">Matthew McDermott</a></td>
</tr>
<tr>
<td>Presented By: MVP</td>
</tr>
<tr>
<td>Level: 300</td>
</tr>
<tr>
<td>Abstract: As companies seek to deliver more value with fewer IT dollars they turn to SharePoint 2010 to deliver on the promise of “more for less”. SharePoint 2010 Search offers a great deal of functionality beyond simple document search that can be derived through configuration and user interface customization. This session presents strategies for handling special search scenarios like line of business data, images and video. This session also presents techniques for rendering metadata and presenting the result in a way that is actionable to end users. The tips and techniques are presented as patterns that can be used in many different search situations: Search Results Configuration Overview, Rendering metadata in search results, Video Search and Presentation, Creating a 360 degree view of your line of business data, Creating actionable search results.</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td>Session Title: Generating Business Documents using Word Automation Services and Open XML</td>
</tr>
<tr>
<td>Session Code: SPC349</td>
</tr>
<tr>
<td>Speaker(s):  <a href="http://www.mssharepointconference.com/Pages/Secure/myspc-05-person.aspx?ProfileGuid=bfde5b08-7a9b-4db6-93d5-067b7a781098">Scot Hillier</a></td>
</tr>
<tr>
<td>Presented By: MVP</td>
</tr>
<tr>
<td>Level: 300</td>
</tr>
<tr>
<td>Abstract: The process of creating Word documents is at the core of many business activities. Unfortunately, document creation often uses a tedious, manual approach involving copying content from existing documents and line-of-business systems. Such manual approaches are error-prone and time consuming. In this session, we will examine a complete solution for generating Word documents based on catalogs of pre-defined content elements and templates. The session will begin with a demonstration of the complete solution, which supports creating sales proposals from catalogs of content related to people, places, customers, and markets. Following the demonstration, we will take a deep dive into the document generation engine with an emphasis on Word Automation Services and Open XML. In particular, we&#8217;ll see how Word Automation Services can convert content into reusable elements, and then how Open XML can use those elements to assemble a document. Attendees will exit the session with great new ideas for streamlining the document preparation process at their organization.</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td>Session Title: Access &amp; Office 365: Rapid Cloud App Development on Office 365 with Access Services</td>
</tr>
<tr>
<td>Session Code: SPC301</td>
</tr>
<tr>
<td>Speaker(s):  <a href="http://www.mssharepointconference.com/Pages/Secure/myspc-05-person.aspx?ProfileGuid=2587820d-a1dc-401d-bcfa-c5a97ced50a4">Steven  Greenberg </a></td>
</tr>
<tr>
<td>Presented By: Microsoft</td>
</tr>
<tr>
<td>Level: 300</td>
</tr>
<tr>
<td>Abstract: Microsoft Access is the fastest, easiest way to build cloud apps for Office 365. These apps have all the great qualities you’d expect from Office 365 – anywhere availability, great reliability/security and a modern web user interface. And the app development experience is targeted for Information Workers, so you can build them cost effectively as well.</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td>Session Title: Deep Dive on SharePoint Ribbon Development &amp; Extensibility</td>
</tr>
<tr>
<td>Session Code: SPC402</td>
</tr>
<tr>
<td>Speaker(s):  <a href="http://www.mssharepointconference.com/Pages/Secure/myspc-05-person.aspx?ProfileGuid=3a2d5db5-1e53-4da6-ad10-561f44e01cd0">Chris O&#8217;Brien</a> , <a href="http://www.mssharepointconference.com/Pages/Secure/myspc-05-person.aspx?ProfileGuid=ce1ffca4-5948-4269-bd0f-21a7ae82d52f">Andrew  Connell </a></td>
</tr>
<tr>
<td>Presented By: MVP</td>
</tr>
<tr>
<td>Level: 400</td>
</tr>
<tr>
<td>Abstract: Take advantage of the Ribbon in your SharePoint applications for a tightly integrated and great user experience! Developers can customize and extend the ribbon for custom solutions. In this session we&#8217;ll examine the different components of the ribbon as well as how to create page components, asynchronous callbacks and prompt the user with intuitive dialogs. Best of all you can do all this from the sandbox and avoid getting admins involved in deploying farm solutions!</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td>Session Title: Data Access with Search and the KeywordQuery API</td>
</tr>
<tr>
<td>Session Code: SPC334</td>
</tr>
<tr>
<td>Speaker(s):  <a href="http://www.mssharepointconference.com/Pages/Secure/myspc-05-person.aspx?ProfileGuid=c99ad0d1-6bf1-4803-a91b-cf231a24bc4b">Phil Wicklund</a></td>
</tr>
<tr>
<td>Presented By: MVP</td>
</tr>
<tr>
<td>Level: 300</td>
</tr>
<tr>
<td>Abstract: Search and metadata is probably the most under-utilized technique for getting at SharePoint data. The unfortunate thing is this isn’t because there’s not potential; in fact the search APIs for SharePoint Search and FAST for SharePoint will blow your hair back with what’s possible. This session will provide a primer into the search APIs, as well as discuss real world examples of when search is the best data access solution.</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td>Session Title: Step-by-step: Building Search Driven Applications That Matter</td>
</tr>
<tr>
<td>Session Code: SPC393</td>
</tr>
<tr>
<td>Speaker(s):  <a href="http://www.mssharepointconference.com/Pages/Secure/myspc-05-person.aspx?ProfileGuid=bfde5b08-7a9b-4db6-93d5-067b7a781098">Scot Hillier</a></td>
</tr>
<tr>
<td>Presented By: MVP</td>
</tr>
<tr>
<td>Level: 300</td>
</tr>
<tr>
<td>Abstract: Search-based solutions are applications that use a search page as the primary interface, such as image or travel search in Bing.  SharePoint 2010 offers developers new ways to extend search and create search-based solutions and in this session attendees will learn to create solutions such as task management, calendar management, navigation, and cloud connectors. The aim of this session is to prove that a wide variety of customer requests can be solved with a search-driven app. Attendees will leave with many new ideas for using search to deliver end-user productivity.</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td>Session Title: How Microsoft Built Academy, it&#8217;s Social Video Platform</td>
</tr>
<tr>
<td>Session Code: SPC353</td>
</tr>
<tr>
<td>Speaker(s):  <a href="http://www.mssharepointconference.com/Pages/Secure/myspc-05-person.aspx?ProfileGuid=f036a43a-24c5-4cc6-902d-50bf25797ada">Austin  Winters </a></td>
</tr>
<tr>
<td>Presented By: Microsoft</td>
</tr>
<tr>
<td>Level: 300</td>
</tr>
<tr>
<td>Abstract: Have you been considering ways to deliver more social experiences to your employees? Are you curious about how to design rich portal experiences that easily present both community and governed assets? In this session we will explore how Microsoft built Academy on SharePoint 2010 while leveraging social, search and enterprise taxonomy  to drive compelling solutions and content.</td>
</tr>
</tbody>
</table>
<br />Filed under: <a href='http://devspoint.wordpress.com/category/uncategorized/'>Uncategorized</a> Tagged: <a href='http://devspoint.wordpress.com/tag/spc11/'>#SPC11</a>, <a href='http://devspoint.wordpress.com/tag/sharepoint-conference/'>SharePoint Conference</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devspoint.wordpress.com/537/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devspoint.wordpress.com/537/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devspoint.wordpress.com/537/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devspoint.wordpress.com/537/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devspoint.wordpress.com/537/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devspoint.wordpress.com/537/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devspoint.wordpress.com/537/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devspoint.wordpress.com/537/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devspoint.wordpress.com/537/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devspoint.wordpress.com/537/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devspoint.wordpress.com/537/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devspoint.wordpress.com/537/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devspoint.wordpress.com/537/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devspoint.wordpress.com/537/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;blog=16939628&amp;post=537&amp;subd=devspoint&amp;ref=&amp;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=nyMvRMwgvhY:rK8hwVri9IA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=nyMvRMwgvhY:rK8hwVri9IA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=nyMvRMwgvhY:rK8hwVri9IA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?i=nyMvRMwgvhY:rK8hwVri9IA:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SharepointApplicationDevelopment/~4/nyMvRMwgvhY" height="1" width="1"/>]]></content:encoded><description>For those of you interested, here is a list of the breakout sessions I&amp;#8217;m planning to attend: Session Title: Creating Beautiful and Engaging Web Sites with SharePoint 2010 Session Code: SPC216 Speaker(s):  Randy  Drisgill , John  Ross Presented By: MVP Level: 200 Abstract: The process &amp;#8230; &lt;a href="http://devspoint.wordpress.com/2011/10/01/sharepoint-conference-breakout-sessions/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;amp;blog=16939628&amp;amp;post=537&amp;amp;subd=devspoint&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devspoint.wordpress.com/2011/10/01/sharepoint-conference-breakout-sessions/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://1.gravatar.com/avatar/30f2d885b61294f912f0c6ae28912b54?s=96&amp;d=&amp;r=G" medium="image">
			<media:title type="html">cquick001</media:title>
		</media:content><feedburner:origLink>http://devspoint.wordpress.com/2011/10/01/sharepoint-conference-breakout-sessions/</feedburner:origLink></item><item><title>jQuery Mobile and SharePoint</title><link>http://feedproxy.google.com/~r/SharepointApplicationDevelopment/~3/Vn_ygLPtHM8/</link><category>Development Approaches</category><category>jQuery</category><category>SharePoint 2010</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chris Quick</dc:creator><pubDate>Fri, 26 Aug 2011 10:10:10 PDT</pubDate><guid isPermaLink="false">http://devspoint.wordpress.com/?p=523</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>As an experiment, I decided to explore the use of <a href="http://jquerymobile.com" target="_blank">jQuery mobile</a> with SharePoint. My goal is to simply expose company news for as many mobile devices as possible in a single location. Like many organizations, our <a href="http://www.tribridge.com" target="_blank">consulting firm</a> delivers news internally via our intranet portal (based on SharePoint) and through public press releases available for anyone in the world.</p>
<p><span id="more-523"></span></p>
<h1>Scenario</h1>
<p>Our organization has grown and we have several new employees. There is a need to help these new employees find a central place to obtain news. We also have existing employees that have expressed a desire to know more about what other teams are doing, since we all like to celebrate the successes of our company. Much of this information has been centralized within our SharePoint portal, but this is not always a convenient place to view since many of our consultants are highly mobile and may only have a few minutes to review email and news between flights or meetings with clients. However, all of our consultants are making use of some type of smartphone, so if there were a way to present this information on those devices a quick update can happen almost anywhere. Even though our consultants use smartphones, we&#8217;ve found that our smartphone preference is as diverse as our skillsets, so developing a single native application for each platform (iOS, Android, Windows Phone, etc.) would just be too expensive.</p>
<h1>Assumptions</h1>
<p>It is assumed that your SharePoint environment is available outside any corporate firewalls and can be navigated directly from your mobile device. I am also assuming that you have an understanding of how to use the technologies described in this document and I have provided links at the end of this post to these tools where you can discover more information. I will provide brief description for jQuery mobile, but I refer you to their documentation for full details on how to use the framework.</p>
<h1>Goals</h1>
<p>The goals for this project are quite simple, to centralize news and provide it on as many devices as possible. We also want to reuse as much of our existing skill sets as possible &#8211; we have a lot of experience working with web technologies including HTML and SharePoint.</p>
<h1>Technologies Available</h1>
<p>The first step is to identify the available ways to retrieve our news feeds. SharePoint can provide our feeds via RSS or we can make use of the <a href="http://spservices.codeplex.com" target="_blank">SPServices</a> library by Marc Anderson to work with SharePoint&#8217;s web services.</p>
<p>The most difficult portion of the project will be retrieving external newsfeeds via RSS. This is because I will have to make cross-domain calls &#8212; something that is considered a security risk. For this, Google provides a way for us to use their <a href="http://code.google.com/apis/feed/v1/devguide.html" target="_blank">Feed API</a> and return our feed as JSON.</p>
<p>Finally to support mobile devices, we will make use of the <a href="http://jquerymobile.com" target="_blank">jQuery Mobile</a> plug-in. This plug-in is still in beta, but it looks very promising and supports a very large number of devices.</p>
<h1>Solution</h1>
<p>The final solution is made up of four HTML pages hosted in a SharePoint document library and a shared JavaScript file referenced on all of the pages.</p>
<h2>default.htm</h2>
<p>First, the entry point into the solution is default.htm and begins the end-user experience. Using HTML pages instead of ASPX pages allows full control of the markup produced by the solution. I did some initial experiments with data view web parts hosted on ASPX pages, but the data view web parts prefers to be wrapped in a form element. This would occasionally break the markup required for jQuery mobile. It also insured page-to-page navigation would require non-ajax navigation.</p>
<p>This page acts as a menu for each of the various news areas, allowing the employee the choice to review each section of content.</p>
<p><pre class="brush: xml;">
&lt;!DOCTYPE html&gt;
&lt;html&gt;

&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&gt;
&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot;&gt;
&lt;title&gt;Tribridge News&lt;/title&gt;
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;../../Scripts/jquerymobile/jquery.mobile-1.0b2.min.css&quot;&gt;
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;news.css&quot;&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;https://www.google.com/jsapi?key=&lt;PROVIDE YOUR GOOGLE API KEY&gt;&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
google.load(&quot;feeds&quot;, &quot;1&quot;);
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;../../Scripts/jquery/jquery-1.6.2.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;../../Scripts/jquery.SPServices-0.6.2.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;../../Scripts/jquerymobile/jquery.mobile-1.0b2.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;jquery.jgfeed-min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;news.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;

&lt;body&gt;

&lt;div data-role=&quot;page&quot; id=&quot;Main&quot; class=&quot;tribridge-page&quot;&gt;
	&lt;div data-role=&quot;header&quot; class=&quot;tribridge-header&quot;&gt;
		&lt;h1&gt;News&lt;/h1&gt;
	&lt;/div&gt;
	&lt;div data-role=&quot;content&quot; class=&quot;tribridge-content&quot;&gt;
		&lt;div class=&quot;page-logo&quot;&gt;
		&lt;/div&gt;
		&lt;ul data-role=&quot;listview&quot; data-inset=&quot;true&quot; class=&quot;tribridge-listview&quot; data-dividertheme=&quot;a&quot;&gt;
			&lt;li data-role=&quot;list-divider&quot;&gt;Internal News&lt;/li&gt;
			&lt;li&gt;&lt;a href=&quot;golive.htm&quot;&gt;Go Live Announcements&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href=&quot;tribridgenews.htm&quot;&gt;Tribridge News&lt;/a&gt;&lt;/li&gt;
			&lt;li data-role=&quot;list-divider&quot;&gt;Public News&lt;/li&gt;
			&lt;li&gt;&lt;a href=&quot;public.htm&quot;&gt;Press Releases&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/div&gt;
	&lt;div data-role=&quot;footer&quot; class=&quot;tribridge-footer&quot;&gt;&lt;h1&gt;&amp;copy;2011 Tribridge&lt;/h1&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;/body&gt;

&lt;/html&gt;

</pre></p>
<p>jQuery Mobile makes use of specific markup for a page. This is usually an external <strong>div</strong> tag with several internal <strong>div</strong> tags for headers, footer, content and navigational elements. According to the documentation, you can also use HTML 5 tags such as <strong>header</strong>, <strong>footer</strong>, etc.</p>
<p>jQuery Mobile also makes use of attributes to help the framework know what to do with each element. These attributes are outlined in the documentation for the framework, but they all begin with <strong>data-</strong>. The final markup of this page is very clean and remains very simple so the employee can very clearly see the available options.<br />
<a href="http://devspoint.files.wordpress.com/2011/08/2011-08-26_1126.png"><img class="aligncenter size-full wp-image-528" title="2011-08-26_1126" src="http://devspoint.files.wordpress.com/2011/08/2011-08-26_1126.png?w=640" alt=""   /></a></p>
<h2>news.js</h2>
<p>Next, because jQuery mobile makes use of ajax for default navigation, any script located on a secondary page will not execute, however, jQuery mobile does handle this by providing a few new events. In a typical jQuery scenario, you will make use of <strong>$(document).ready(&#8230;)</strong> to initialize your functions. This will change in jQuery mobile to <strong>$(&#8220;#PageID&#8221;).live(&#8220;pagecreate&#8221;,function (event) {&#8230;})</strong>. Once you get used to this, you are pretty much dealing with jQuery syntax.</p>
<p>I have three pages where content will be dynamically retrieved and placed into the page, so I need to create three page creation events in the jQuery Mobile framework.</p>
<p><pre class="brush: jscript;">
$(&quot;#GoLiveNews&quot;).live(&quot;pagecreate&quot;,function (event) {
	loadGoLiveNews();
});

$(&quot;#PublicNews&quot;).live(&quot;pagecreate&quot;,function (event) {
	loadPublicNews();
});

$(&quot;#TribridgeNews&quot;).live(&quot;pagecreate&quot;,function (event) {
	loadTribridgeNews();
});
</pre></p>
<p>You can see here that I&#8217;m executing different functions depending upon which page is loaded. Each individual HTML page has a jQuery page with the cooresponding ID indicated in the jQuery selector.</p>
<p>Both <strong>loadGoLiveNews</strong> and <strong>loadPublicNews</strong> are making use of SPServices to retrieve the data from SharePoint. Because these pages are hosted in SharePoint, the employee is already authenticated so there are no issues with SPServices (as long as you are working within the same domain).</p>
<p><pre class="brush: jscript;">
function loadGoLiveNews() {
	$().SPServices({
		operation: &quot;GetListItems&quot;,
		CAMLQuery: &quot;&lt;Query&gt;...&lt;/Query&gt;&quot;,
		CAMLViewFields: &quot;&lt;ViewFields&gt;...&lt;/ViewFields&gt;&quot;,
		listName: &quot;Pages&quot;,
		CAMLRowLimit: 10,
		webURL: &quot;https://...&quot;,
		completefunc: function (xData, Status) {
			if(Status == &quot;success&quot;) {
				$(xData.responseXML).find(&quot;[nodeName='z:row']&quot;).each(function () {
					html = &quot;&lt;li&gt;&lt;a href=\&quot;#\&quot;&gt;&lt;h2&gt;&quot; + $(this).attr(&quot;ows_Title&quot;) + &quot;&lt;/h2&gt;&lt;p&gt;&quot; + $(this).attr(&quot;ows_...&quot;) + &quot;&lt;/p&gt;&lt;/a&gt;&lt;/li&gt;&quot;;
					$(&quot;#NewsItems&quot;).append(html);
				});
				$(&quot;#NewsItems&quot;).listview(&quot;refresh&quot;)
			}
		}
	});
}
</pre></p>
<p>There are a few things to notice concerning the SPServices call, mainly as it relates to jQuery mobile. Since I am attaching new items to an existing list view, I will have to refresh the list view after all of the new items are added, (<strong>$(&#8220;#NewsItems&#8221;).listview(&#8220;refresh&#8221;)</strong>. This notifies the jQuery mobile framework to work its magic on the new html markup added to the DOM.</p>
<p>Remember, the public news poses a different issue because it is hosted on a site outside of SharePoint. Because of this, in order to retrieve the RSS feed, I would have to make a cross-domain call. This is frowned on heavily in JavaScript since it is considered a security risk. This is where I make use of Google&#8217;s Feed API. </p>
<p>In the <strong>default.htm</strong> page, there is a call to Google&#8217;s API:<br />
<pre class="brush: xml;">
&lt;script type=&quot;text/javascript&quot; src=&quot;https://www.google.com/jsapi?key=&lt;PROVIDE YOUR GOOGLE API KEY&gt;&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
google.load(&quot;feeds&quot;, &quot;1&quot;);
&lt;/script&gt;
</pre></p>
<p>This will insure the Feed API is ready to use when it is called by the page being loaded. The Feed API returns the RSS feed as JSON, so I can make use of this easily to generate my list of news.</p>
<p><pre class="brush: jscript;">
function loadPublicNews() {
	$.jGFeed(&quot;http://www.tribridge.com/News.rss.ashx&quot;,
	function (feeds) {
		if(!feeds){
			alert(&quot;Unable to load news...&quot;);
		}
		for(var i=0; i&lt;feeds.entries.length; i++){
			var entry = feeds.entries[i];
			html = &quot;&lt;li&gt;&lt;a href=\&quot;&quot; + entry.link + &quot;\&quot; rel=\&quot;external\&quot;&gt;&lt;h2&gt;&quot; + entry.title + &quot;&lt;/h2&gt;&lt;p&gt;&quot; + entry.author + &quot;&lt;/p&gt;&lt;/a&gt;&lt;/li&gt;&quot;;
			$(&quot;#NewsItems&quot;).append(html);
		}
		$(&quot;#NewsItems&quot;).listview(&quot;refresh&quot;);
	},50);
}
</pre></p>
<p>Notice that the HTML being generated in the function has the <strong>rel</strong> attribute set to external. This tells the jQuery Mobile Framework to break out of the AJAX navigation. Since I am sending the employees to the official site, there is no need to keep them in my mobile application.</p>
<h2>golives.htm, tribridgenews.htm and publicnews.htm</h2>
<p>Apart from unique ID&#8217;s for each jQuery Mobile Page, these pages are identical.<br />
<pre class="brush: xml;">
&lt;!DOCTYPE html&gt;
&lt;html&gt;

&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&gt;
&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot;&gt;
&lt;title&gt;Tribridge News&lt;/title&gt;
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;../../Scripts/jquerymobile/jquery.mobile-1.0b2.min.css&quot;&gt;
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;news.css&quot;&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;https://www.google.com/jsapi?key=&lt;YOUR GOOGLE API KEY&gt;&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
google.load(&quot;feeds&quot;, &quot;1&quot;);
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;../../Scripts/jquery/jquery-1.6.2.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;../../Scripts/jquery.SPServices-0.6.2.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;../../Scripts/jquerymobile/jquery.mobile-1.0b2.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;jquery.jgfeed-min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;news.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;div data-role=&quot;page&quot; class=&quot;tribridge-page&quot; id=&quot;PublicNews&quot;&gt;
	&lt;div data-role=&quot;header&quot; class=&quot;tribridge-header&quot;&gt;
		&lt;a href=&quot;default.htm&quot; data-role=&quot;button&quot; data-inline=&quot;true&quot; data-icon=&quot;back&quot; data-theme=&quot;c&quot; data-direction=&quot;reverse&quot;&gt;Main&lt;/a&gt;
		&lt;h1&gt;Public News&lt;/h1&gt;
	&lt;/div&gt;
	&lt;div class=&quot;tribridge-content&quot; data-role=&quot;content&quot;&gt;
		&lt;div class=&quot;page-logo&quot;&gt;&lt;/div&gt;
		&lt;ul data-role=&quot;listview&quot; class=&quot;tribridge-listview&quot; id=&quot;NewsItems&quot; data-inset=&quot;true&quot;&gt;
		&lt;/ul&gt;
	&lt;/div&gt;
	&lt;div class=&quot;tribridge-footer&quot; data-role=&quot;footer&quot;&gt;
		&lt;h1&gt;&amp;copy;2011 Tribridge&lt;/h1&gt;
	&lt;/div&gt;
&lt;/div&gt;

&lt;/body&gt;

&lt;/html&gt;

</pre><br />
Notice that this page also has all of the same script references as <strong>default.htm</strong>. This will insure that if this page is navigated to directly, it will still execute as expected. The final result appears as follows:<br />
<a href="http://devspoint.files.wordpress.com/2011/08/2011-08-26_1153.png"><img src="http://devspoint.files.wordpress.com/2011/08/2011-08-26_1153.png?w=640" alt="" title="2011-08-26_1153"   class="aligncenter size-full wp-image-531" /></a><br />
I hope this article was informative and helps you find business areas where you can leverage SharePoint data on mobile platforms. I am eagerly awaiting the non-beta release of this framework. </p>
<p>I don&#8217;t see jQuery Mobile being the best way to present your entire SharePoint environment to an employee, but this example should demonstrate there may business scenarios where a solution similar to this would be beneficial &#8212; perhaps things as simple as sharing team contacts to as complex as a issue logging system used by service technicians deployed to the field. </p>
<p>If you develop something using jQuery mobile and SharePoint, I would love to hear about it!  </p>
<h1>Links</h1>
<ol>
<li><a href="http://jquery.com" target="_blank">jQuery 1.6.2</a></li>
<li><a href="http://jquerymobile.com" target='_blank'>jQuery Mobile 1.0 Beta 2</li>
<li><a href="http://spservices.codeplex.com" target="_blank">SPServices 0.6.2</li>
<li><a href="http://code.google.com/apis/feed/v1/devguide.html" target="_blank">Google Feed API</a></li>
<li><a href="http://code.google.com/apis/loader/signup.html" target="_blank">Sign-up for a Google API Key</a></li>
</ol>
<br />Filed under: <a href='http://devspoint.wordpress.com/category/development-approaches/'>Development Approaches</a>, <a href='http://devspoint.wordpress.com/category/scripting/jquery/'>jQuery</a>, <a href='http://devspoint.wordpress.com/category/sharepoint-2010/'>SharePoint 2010</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devspoint.wordpress.com/523/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devspoint.wordpress.com/523/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devspoint.wordpress.com/523/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devspoint.wordpress.com/523/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devspoint.wordpress.com/523/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devspoint.wordpress.com/523/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devspoint.wordpress.com/523/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devspoint.wordpress.com/523/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devspoint.wordpress.com/523/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devspoint.wordpress.com/523/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devspoint.wordpress.com/523/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devspoint.wordpress.com/523/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devspoint.wordpress.com/523/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devspoint.wordpress.com/523/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;blog=16939628&amp;post=523&amp;subd=devspoint&amp;ref=&amp;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=Vn_ygLPtHM8:ElbKN7oxpZ4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=Vn_ygLPtHM8:ElbKN7oxpZ4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=Vn_ygLPtHM8:ElbKN7oxpZ4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?i=Vn_ygLPtHM8:ElbKN7oxpZ4:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SharepointApplicationDevelopment/~4/Vn_ygLPtHM8" height="1" width="1"/>]]></content:encoded><description>As an experiment, I decided to explore the use of jQuery mobile with SharePoint. My goal is to simply expose company news for as many mobile devices as possible in a single location. Like many organizations, our consulting firm delivers &amp;#8230; &lt;a href="http://devspoint.wordpress.com/2011/08/26/jquery-mobile-and-sharepoint/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;amp;blog=16939628&amp;amp;post=523&amp;amp;subd=devspoint&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devspoint.wordpress.com/2011/08/26/jquery-mobile-and-sharepoint/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">6</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://1.gravatar.com/avatar/30f2d885b61294f912f0c6ae28912b54?s=96&amp;d=&amp;r=G" medium="image">
			<media:title type="html">cquick001</media:title>
		</media:content><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://devspoint.files.wordpress.com/2011/08/2011-08-26_1126.png" medium="image">
			<media:title type="html">2011-08-26_1126</media:title>
		</media:content><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://devspoint.files.wordpress.com/2011/08/2011-08-26_1153.png" medium="image">
			<media:title type="html">2011-08-26_1153</media:title>
		</media:content><feedburner:origLink>http://devspoint.wordpress.com/2011/08/26/jquery-mobile-and-sharepoint/</feedburner:origLink></item><item><title>PowerShell – Great for Documentation</title><link>http://feedproxy.google.com/~r/SharepointApplicationDevelopment/~3/-SL3f2d-GGY/</link><category>SharePoint 2010</category><category>Tips and Tricks</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chris Quick</dc:creator><pubDate>Tue, 26 Jul 2011 10:00:52 PDT</pubDate><guid isPermaLink="false">http://devspoint.wordpress.com/?p=519</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Today, I needed to quickly make some documentation for a client to show them how many content databases they have and the total number of site collections that currently exist in their environment. PowerShell came to the rescue beautifully and helped me solve the problem.<span id="more-519"></span></p>
<p>First, I wanted to know what PowerShell commands were available to me, so I located a <a href="http://sptwentyten.wordpress.com/2009/10/20/list-all-sharepoint-2010-powershell-commands/" target="_blank">blog post</a> by Adam Preston detailing how to dump all of the commands to a text file. Once you have the commands, you can make use of PowerShell&#8217;s <em>Get-Help </em>command to get the syntax and description of the command.</p>
<p>Armed with this, I discovered the <em>Get-SPContentDatabase </em>commandlet that iterates over all the available content databases in the farm. Executing Get-SPContentDatabase without any parameters will return every content database in the farm. However, the list format was not the desired format.</p>
<p>Further research lead me to create my own table format:</p>
<p><em>$a = @{Expression={$_.Name};Label=&#8221;Database Name&#8221;;width=70},@{Expression={$_.CurrentSiteCount};Label=&#8221;Sites&#8221;;width=10}</em></p>
<p>This format makes sure there is plenty of room for a long database name and then gives the ability to show how many site collections are in the database. Now, my command is:</p>
<p><em>Get-SPContentDatabase -WebApplication http://mycoolintranet.mycompany.com | format-table $a &gt; ContentDatabases.txt</em></p>
<p>When the command completes, I can simply open up the text file and begin my documentation.<em><br />
</em></p>
<br />Filed under: <a href='http://devspoint.wordpress.com/category/sharepoint-2010/'>SharePoint 2010</a>, <a href='http://devspoint.wordpress.com/category/tips-and-tricks/'>Tips and Tricks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devspoint.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devspoint.wordpress.com/519/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devspoint.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devspoint.wordpress.com/519/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devspoint.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devspoint.wordpress.com/519/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devspoint.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devspoint.wordpress.com/519/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devspoint.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devspoint.wordpress.com/519/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devspoint.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devspoint.wordpress.com/519/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devspoint.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devspoint.wordpress.com/519/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;blog=16939628&amp;post=519&amp;subd=devspoint&amp;ref=&amp;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=-SL3f2d-GGY:lgNkEDDBfj0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=-SL3f2d-GGY:lgNkEDDBfj0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=-SL3f2d-GGY:lgNkEDDBfj0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?i=-SL3f2d-GGY:lgNkEDDBfj0:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SharepointApplicationDevelopment/~4/-SL3f2d-GGY" height="1" width="1"/>]]></content:encoded><description>Today, I needed to quickly make some documentation for a client to show them how many content databases they have and the total number of site collections that currently exist in their environment. PowerShell came to the rescue beautifully and &amp;#8230; &lt;a href="http://devspoint.wordpress.com/2011/07/26/powershell-great-for-documentation/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;amp;blog=16939628&amp;amp;post=519&amp;amp;subd=devspoint&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devspoint.wordpress.com/2011/07/26/powershell-great-for-documentation/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://1.gravatar.com/avatar/30f2d885b61294f912f0c6ae28912b54?s=96&amp;d=&amp;r=G" medium="image">
			<media:title type="html">cquick001</media:title>
		</media:content><feedburner:origLink>http://devspoint.wordpress.com/2011/07/26/powershell-great-for-documentation/</feedburner:origLink></item><item><title>Getting User Information for Access Web Database</title><link>http://feedproxy.google.com/~r/SharepointApplicationDevelopment/~3/ka7vi2gCnb0/</link><category>Access 2010</category><category>Access Services</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chris Quick</dc:creator><pubDate>Wed, 06 Jul 2011 05:30:33 PDT</pubDate><guid isPermaLink="false">http://devspoint.wordpress.com/?p=512</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>This past week I began exploring some of the capabilities in the new Access Web Database template. This template allows you to create a no-code database and upload it to a SharePoint 2010 server &#8212; thus allowing business users to quickly create and host small databases for business related tasks.</p>
<p><span id="more-512"></span></p>
<p>My first task was to create a data macro that would add a new user to the database when the published web database is visited the first time. Additionally, each return I would like to capture the number of times the user visited and when they visited the site last.</p>
<p>In order to capture this information I created a table named Users that included the columns UserLogin, UserWebID, UserDisplayName, UserEmailAddress, FirstVisitDate, LastVisitDate, TotalVisits. I created a data macro that would handle the add/update procedure (more in a later blog post) and then set my default form to update the user when the form is loaded.</p>
<p>I needed a way to get the information about the user &#8212; and Access did not disappoint. Making use of the CurrentWebUser method, I can obtain information about the user; however, the method requires a parameter &#8212; this is an enumeration that took some time to locate, so here is a <a href="http://msdn.microsoft.com/en-us/library/ff193202.aspx" target="_blank">link to the documentation</a> on MSDN.</p>
<table>
<tbody>
<tr>
<th>Name</th>
<th>Value</th>
<th>Description</th>
</tr>
<tr>
<td><strong>acWebUserEmail</strong></td>
<td>3</td>
<td>The current user&#8217;s e-mail address.</td>
</tr>
<tr>
<td><strong>acWebUserID</strong></td>
<td>0</td>
<td>The current user&#8217;s member ID.</td>
</tr>
<tr>
<td><strong>acWebUserLoginName</strong></td>
<td>2</td>
<td>The current user&#8217;s login name.</td>
</tr>
<tr>
<td><strong>acWebUserName</strong></td>
<td>1</td>
<td>The current user&#8217;s display name.</td>
</tr>
</tbody>
</table>
<p>Knowing the enumeration helps when I need to use this information to create a new user in my database &#8212; and I can use the user&#8217;s email address with another data macro to send them a welcome email when they first visit the site!</p>
<br />Filed under: <a href='http://devspoint.wordpress.com/category/microsoft-office/office-2010/access-2010/'>Access 2010</a>, <a href='http://devspoint.wordpress.com/category/sharepoint-2010/access-services/'>Access Services</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devspoint.wordpress.com/512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devspoint.wordpress.com/512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devspoint.wordpress.com/512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devspoint.wordpress.com/512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devspoint.wordpress.com/512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devspoint.wordpress.com/512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devspoint.wordpress.com/512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devspoint.wordpress.com/512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devspoint.wordpress.com/512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devspoint.wordpress.com/512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devspoint.wordpress.com/512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devspoint.wordpress.com/512/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devspoint.wordpress.com/512/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devspoint.wordpress.com/512/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;blog=16939628&amp;post=512&amp;subd=devspoint&amp;ref=&amp;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=ka7vi2gCnb0:Vao8ddaepEw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=ka7vi2gCnb0:Vao8ddaepEw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=ka7vi2gCnb0:Vao8ddaepEw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?i=ka7vi2gCnb0:Vao8ddaepEw:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SharepointApplicationDevelopment/~4/ka7vi2gCnb0" height="1" width="1"/>]]></content:encoded><description>This past week I began exploring some of the capabilities in the new Access Web Database template. This template allows you to create a no-code database and upload it to a SharePoint 2010 server &amp;#8212; thus allowing business users to &amp;#8230; &lt;a href="http://devspoint.wordpress.com/2011/07/06/getting-user-information-for-access-web-database/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;amp;blog=16939628&amp;amp;post=512&amp;amp;subd=devspoint&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devspoint.wordpress.com/2011/07/06/getting-user-information-for-access-web-database/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">2</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://1.gravatar.com/avatar/30f2d885b61294f912f0c6ae28912b54?s=96&amp;d=&amp;r=G" medium="image">
			<media:title type="html">cquick001</media:title>
		</media:content><feedburner:origLink>http://devspoint.wordpress.com/2011/07/06/getting-user-information-for-access-web-database/</feedburner:origLink></item><item><title>Microsoft Access – Good for Prototyping?</title><link>http://feedproxy.google.com/~r/SharepointApplicationDevelopment/~3/4DreJwgiOz4/</link><category>Access 2010</category><category>Access Services</category><category>Development Approaches</category><category>Office 2010</category><category>SharePoint 2010</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chris Quick</dc:creator><pubDate>Thu, 16 Jun 2011 11:54:04 PDT</pubDate><guid isPermaLink="false">http://devspoint.wordpress.com/?p=507</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Over the past few days, I&#8217;ve been intrigued by some of the creative solutions being offered via Microsoft Access and Access Services. This is an area that I had never really considered until I saw the following video:</p>
<span style="text-align:center; display: block;"><a href="http://devspoint.wordpress.com/2011/06/16/microsoft-access-good-for-prototyping/"><img src="http://img.youtube.com/vi/Tmjjqv8XD-c/2.jpg" alt="" /></a></span>
<p>In this short video, an Access solution is quickly demonstrated that made me wonder, how was this done? After sharing with my co-worker <a href="http://twitter.com/benmcmann" target="_blank">Ben McMann</a>, we set off to find some ideas on how Access is being used. My first one lead me to the Access Team Blog:</p>
<p><a href="http://blogs.office.com/b/microsoft-access/archive/2011/06/13/social-media-done-easy.aspx" target="_blank">Social Media Done Easy (Access Blog)</a></p>
<p>After a little more discovery, Ben gave me this link with some exceptional information:</p>
<p><a href="http://channel9.msdn.com/Shows/Access/The-Access-Show-Making-Beautiful-Access-Web-Applications" target="_blank">The Access Show &#8211; Making Beautiful Access Web Applications</a></p>
<p>It looks like there are some real good examples of where Access can be used by Information Workers to create ad-hoc business solutions to solve some of their common day-to-day tasks. Now, it&#8217;s time to get Access Services configured on my Development Virtual Machine and start playing with some ideas!</p>
<p>&nbsp;</p>
<br />Filed under: <a href='http://devspoint.wordpress.com/category/microsoft-office/office-2010/access-2010/'>Access 2010</a>, <a href='http://devspoint.wordpress.com/category/sharepoint-2010/access-services/'>Access Services</a>, <a href='http://devspoint.wordpress.com/category/development-approaches/'>Development Approaches</a>, <a href='http://devspoint.wordpress.com/category/microsoft-office/office-2010/'>Office 2010</a>, <a href='http://devspoint.wordpress.com/category/sharepoint-2010/'>SharePoint 2010</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devspoint.wordpress.com/507/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devspoint.wordpress.com/507/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devspoint.wordpress.com/507/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devspoint.wordpress.com/507/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devspoint.wordpress.com/507/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devspoint.wordpress.com/507/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devspoint.wordpress.com/507/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devspoint.wordpress.com/507/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devspoint.wordpress.com/507/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devspoint.wordpress.com/507/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devspoint.wordpress.com/507/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devspoint.wordpress.com/507/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devspoint.wordpress.com/507/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devspoint.wordpress.com/507/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;blog=16939628&amp;post=507&amp;subd=devspoint&amp;ref=&amp;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=4DreJwgiOz4:W5gzfQEpQ_4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=4DreJwgiOz4:W5gzfQEpQ_4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=4DreJwgiOz4:W5gzfQEpQ_4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?i=4DreJwgiOz4:W5gzfQEpQ_4:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SharepointApplicationDevelopment/~4/4DreJwgiOz4" height="1" width="1"/>]]></content:encoded><description>Over the past few days, I&amp;#8217;ve been intrigued by some of the creative solutions being offered via Microsoft Access and Access Services. This is an area that I had never really considered until I saw the following video: In this &amp;#8230; &lt;a href="http://devspoint.wordpress.com/2011/06/16/microsoft-access-good-for-prototyping/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;amp;blog=16939628&amp;amp;post=507&amp;amp;subd=devspoint&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devspoint.wordpress.com/2011/06/16/microsoft-access-good-for-prototyping/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://1.gravatar.com/avatar/30f2d885b61294f912f0c6ae28912b54?s=96&amp;d=&amp;r=G" medium="image">
			<media:title type="html">cquick001</media:title>
		</media:content><feedburner:origLink>http://devspoint.wordpress.com/2011/06/16/microsoft-access-good-for-prototyping/</feedburner:origLink></item><item><title>Split Multi-Value Strings using XSLT</title><link>http://feedproxy.google.com/~r/SharepointApplicationDevelopment/~3/pafr4N1U8Hg/</link><category>Customization</category><category>Development Approaches</category><category>SharePoint 2010</category><category>Content Query Web Part</category><category>XSLT</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chris Quick</dc:creator><pubDate>Fri, 29 Apr 2011 07:00:43 PDT</pubDate><guid isPermaLink="false">http://devspoint.wordpress.com/?p=475</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>As I&#8217;m working with a client for presenting categories, I needed to build a quick and easy way to split multiple managed metadata strings into multiple hyperlinks so filters could be applied. The managed metadata is set to store multiple values &#8212; and they appear as follows:</p>
<p>Option 1; Option 2; Option 3;<span id="more-475"></span></p>
<p>All of the data is being presented using a Content Query Web Part that makes use of the new dynamic filtering feature of the new CQWP in SharePoint 2010. I needed a way to iterate through the available options on a single item and generate a hyperlink with the appropriate filter added to the query string.</p>
<p>Splitting these up really is fairly easy using a recursive template (begins on line 33, called from line 20):</p>
<p><pre class="brush: xml;">
&lt;!-- CUSTOM ITEM STYLE FOR CQWP --&gt;
  &lt;?xml:namespace prefix = xsl /&gt;
&lt;xsl:template mode=&quot;itemstyle&quot; match=&quot;Row[@Style='IdeaStyle']&quot; name=&quot;IdeaStyle&quot;&gt;
  &lt;DIV class=Idea&gt;
     &lt;DIV class=LeftContainer&gt;
        &lt;DIV class=Points&gt;
           &lt;H2&gt;&lt;xsl:value-of select=&quot;@Point_x005F_x0020_Value&quot;&gt;&lt;/xsl:value-of&gt;&lt;/H2&gt;
           &lt;H4&gt;POINTS&lt;/H4&gt;
        &lt;/DIV&gt;
     &lt;/DIV&gt;
     &lt;DIV class=RightContainer&gt;
        &lt;DIV class=IdeaBody&gt;
           &lt;H1&gt;&lt;xsl:value-of select=&quot;@Title&quot;&gt;&lt;/xsl:value-of&gt;&lt;/H1&gt;
           &lt;DIV class=IdeaBodyContent&gt;
              &lt;xsl:value-of select=&quot;@Idea_x005F_x0020_Text&quot; disable-output-escaping=&quot;yes&quot;&gt;&lt;/xsl:value-of&gt;
           &lt;/DIV&gt;
           &lt;DIV class=Tags&gt;
              &lt;STRONG&gt;Filed Under: &lt;/STRONG&gt;
                        &lt;!-- TIME TO SPLIT UP THE METADATA FIELD --&gt;
              &lt;xsl:call-template name=&quot;outputLinks&quot;&gt;
                                &lt;!-- Aircraft contains my metadata --&gt;
                 &lt;xsl:with-param name=&quot;list&quot; select=&quot;@Aircraft&quot;&gt;&lt;/xsl:with-param&gt;
              &lt;/xsl:call-template&gt;
           &lt;/DIV&gt;
        &lt;/DIV&gt;
     &lt;/DIV&gt;
     &lt;DIV style=&quot;CLEAR: both&quot;&gt;&lt;/DIV&gt;
  &lt;/DIV&gt;
  &lt;/xsl:template&gt;

&lt;!-- RECURSIVE TEMPLATE, KEEPS CALLING ITSELF
     UNTIL ALL ITEMS ARE PROCESSED --&gt;
  &lt;xsl:template name=&quot;outputLinks&quot;&gt;
     &lt;xsl:param name=&quot;list&quot;&gt;&lt;/xsl:param&gt;
        &lt;!-- GET EVERYTHING IN FRONT OF THE FIRST DELIMETER --&gt;
     &lt;xsl:variable name=&quot;first&quot; select=&quot;substring-before($list,';')&quot;&gt;&lt;/xsl:variable&gt;

        &lt;!-- STORE ANYTHING LEFT IN ANOTHER VARIABLE --&gt;
     &lt;xsl:variable name=&quot;remaining&quot; select=&quot;substring-after($list,';')&quot;&gt;&lt;/xsl:variable&gt;
     &lt;A&gt;
        &lt;xsl:attribute name=&quot;href&quot;&gt;
           ./IdeasFiltered.aspx?System=&lt;xsl:value-of select=&quot;$first&quot;&gt;&lt;/xsl:value-of&gt;
        &lt;/xsl:attribute&gt;
        &lt;xsl:value-of select=&quot;$first&quot;&gt;&lt;/xsl:value-of&gt;
     &lt;/A&gt;;

        &lt;!-- CHECK TO SEE IF ANYTHING IS LEFT --&gt;
     &lt;xsl:if test=&quot;$remaining&quot;&gt;
                &lt;!-- CALL THE TEMPLATE AGAIN USING THE NEW VARIABLE
                     FOR THE PARAMETER --&gt;
        &lt;xsl:call-template name=&quot;outputLinks&quot;&gt;
           &lt;xsl:with-param name=&quot;list&quot; select=&quot;$remaining&quot;&gt;&lt;/xsl:with-param&gt;
        &lt;/xsl:call-template&gt;
     &lt;/xsl:if&gt;
  &lt;/xsl:template&gt;
</pre></p>
<p>Be careful with this because you can bring a web-front end to a halt if it gets caught in a recursive loop that never ends. You could potentially pass another parameter in to store the number of iterations and increment that each time the function is called, backing out if you reach a maximum number of iterations.</p>
<br />Filed under: <a href='http://devspoint.wordpress.com/category/customization/'>Customization</a>, <a href='http://devspoint.wordpress.com/category/development-approaches/'>Development Approaches</a>, <a href='http://devspoint.wordpress.com/category/sharepoint-2010/'>SharePoint 2010</a> Tagged: <a href='http://devspoint.wordpress.com/tag/content-query-web-part/'>Content Query Web Part</a>, <a href='http://devspoint.wordpress.com/tag/sharepoint-2010/'>SharePoint 2010</a>, <a href='http://devspoint.wordpress.com/tag/xslt/'>XSLT</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devspoint.wordpress.com/475/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devspoint.wordpress.com/475/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devspoint.wordpress.com/475/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devspoint.wordpress.com/475/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devspoint.wordpress.com/475/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devspoint.wordpress.com/475/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devspoint.wordpress.com/475/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devspoint.wordpress.com/475/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devspoint.wordpress.com/475/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devspoint.wordpress.com/475/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devspoint.wordpress.com/475/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devspoint.wordpress.com/475/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devspoint.wordpress.com/475/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devspoint.wordpress.com/475/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;blog=16939628&amp;post=475&amp;subd=devspoint&amp;ref=&amp;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=pafr4N1U8Hg:l-JDgvt3wN8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=pafr4N1U8Hg:l-JDgvt3wN8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=pafr4N1U8Hg:l-JDgvt3wN8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?i=pafr4N1U8Hg:l-JDgvt3wN8:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SharepointApplicationDevelopment/~4/pafr4N1U8Hg" height="1" width="1"/>]]></content:encoded><description>As I&amp;#8217;m working with a client for presenting categories, I needed to build a quick and easy way to split multiple managed metadata strings into multiple hyperlinks so filters could be applied. The managed metadata is set to store multiple &amp;#8230; &lt;a href="http://devspoint.wordpress.com/2011/04/29/split-multi-value-strings-using-xslt/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;amp;blog=16939628&amp;amp;post=475&amp;amp;subd=devspoint&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devspoint.wordpress.com/2011/04/29/split-multi-value-strings-using-xslt/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">5</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://1.gravatar.com/avatar/30f2d885b61294f912f0c6ae28912b54?s=96&amp;d=&amp;r=G" medium="image">
			<media:title type="html">cquick001</media:title>
		</media:content><feedburner:origLink>http://devspoint.wordpress.com/2011/04/29/split-multi-value-strings-using-xslt/</feedburner:origLink></item><item><title>Open the SharePoint 2010 Modal Dialog</title><link>http://feedproxy.google.com/~r/SharepointApplicationDevelopment/~3/KxN7ZYdMhq8/</link><category>Development Approaches</category><category>Scripting</category><category>SharePoint 2010</category><category>SharePoint Client Object Model</category><category>SharePoint 2010 Client Object Model</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chris Quick</dc:creator><pubDate>Thu, 28 Apr 2011 06:30:28 PDT</pubDate><guid isPermaLink="false">http://devspoint.wordpress.com/?p=481</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>If you have a need to open a modal dialog for user interaction, here&#8217;s how you can accomplish it the &#8220;SharePoint 2010&#8243; way.<span id="more-481"></span></p>
<p>To start, create a new javascript function to handle opening the dialog. In the function, an options class will need to be created with the appropriate options for using SP.UI.ModalDialog.showModalDialog(options) method. These include the url, dimensions and any callback operations. There is also a querystring parameter that needs to be added to have SharePoint automatically turn off the &#8220;chrome&#8221; that is not necessary for a dialog. You can simply add <strong>&#8220;&amp;IsDlg=1&#8243;</strong> to any SharePoint URL and the chrome will be turned off.</p>
<p>Here&#8217;s a script I&#8217;m using for my current project to open a form allowing users to add comments to an item.</p>
<p><pre class="brush: xml;">
&lt;script type=&quot;text/javascript&quot;&gt;
function OpenEditDialog(item_title, item_id){
        var options = {
            url:&quot;http://sp2010dev/SitePages/NewComment.aspx?ItemID=&quot; + item_id + &quot;&amp;title=&quot; + item_title + &quot;&amp;IsDlg=1&quot;,
            width: 500,
            height: 300,
            dialogReturnValueCallback: DialogCallback
            };

        SP.UI.ModalDialog.showModalDialog(options);
    }

    function DialogCallback(dialogResult, returnValue){               }
&lt;/script&gt;
</pre></p>
<p>The final step is to simply create a hyperlink or some other method of calling this function.</p>
<p><pre class="brush: xml;">
&lt;a href=&quot;#&quot; onclick=&quot;OpenEditDialog('Title',14);&quot;&gt;Add A Comment&lt;/a&gt;
</pre></p>
<br />Filed under: <a href='http://devspoint.wordpress.com/category/development-approaches/'>Development Approaches</a>, <a href='http://devspoint.wordpress.com/category/scripting/'>Scripting</a>, <a href='http://devspoint.wordpress.com/category/sharepoint-2010/'>SharePoint 2010</a>, <a href='http://devspoint.wordpress.com/category/sharepoint-2010/sharepoint-client-object-model/'>SharePoint Client Object Model</a> Tagged: <a href='http://devspoint.wordpress.com/tag/sharepoint-2010/'>SharePoint 2010</a>, <a href='http://devspoint.wordpress.com/tag/sharepoint-2010-client-object-model/'>SharePoint 2010 Client Object Model</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devspoint.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devspoint.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devspoint.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devspoint.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devspoint.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devspoint.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devspoint.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devspoint.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devspoint.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devspoint.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devspoint.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devspoint.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devspoint.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devspoint.wordpress.com/481/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;blog=16939628&amp;post=481&amp;subd=devspoint&amp;ref=&amp;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=KxN7ZYdMhq8:1Jt46F7LgOk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=KxN7ZYdMhq8:1Jt46F7LgOk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=KxN7ZYdMhq8:1Jt46F7LgOk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?i=KxN7ZYdMhq8:1Jt46F7LgOk:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SharepointApplicationDevelopment/~4/KxN7ZYdMhq8" height="1" width="1"/>]]></content:encoded><description>If you have a need to open a modal dialog for user interaction, here&amp;#8217;s how you can accomplish it the &amp;#8220;SharePoint 2010&amp;#8243; way. To start, create a new javascript function to handle opening the dialog. In the function, an options &amp;#8230; &lt;a href="http://devspoint.wordpress.com/2011/04/28/open-the-sharepoint-2010-modal-dialog/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;amp;blog=16939628&amp;amp;post=481&amp;amp;subd=devspoint&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devspoint.wordpress.com/2011/04/28/open-the-sharepoint-2010-modal-dialog/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">4</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://1.gravatar.com/avatar/30f2d885b61294f912f0c6ae28912b54?s=96&amp;d=&amp;r=G" medium="image">
			<media:title type="html">cquick001</media:title>
		</media:content><feedburner:origLink>http://devspoint.wordpress.com/2011/04/28/open-the-sharepoint-2010-modal-dialog/</feedburner:origLink></item><item><title>Using Rules to Passively Insure Postive or Negative Values in InfoPath</title><link>http://feedproxy.google.com/~r/SharepointApplicationDevelopment/~3/aSfjca0Z924/</link><category>InfoPath 2007</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chris Quick</dc:creator><pubDate>Wed, 27 Apr 2011 12:00:44 PDT</pubDate><guid isPermaLink="false">http://devspoint.wordpress.com/?p=489</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Several projects that I have completed using InfoPath over the last few months have made use of numerical values for calculations. For example, a recent form was used upon employee termination to determine if the employee owed money to the organization or if the organization owed money to the employee. It makes a significant difference if the form is allowed to present both deductions and additions as positive values, so we pursued a path to transparently pick up the appropriate numbers. If the person completing the form enters a positive number into a field that expects a negative number, the value is silently converted for the employee without any prompts or error messages. If the employee enters the values as negative, then nothing needs to be corrected. Here&#8217;s how this was accomplished.</p>
<p><span id="more-489"></span>From either the data source view or the form designer, right click on the field that needs to either be a positive or a negative value and select rules. This will bring up the rules designer that will be used for the remaining steps. Add a new rule and give the rule a name (I prefer to name my rules according to the expected outcome).</p>
<p><a href="http://devspoint.files.wordpress.com/2011/04/rulesinsurepositive.png"><img class="aligncenter size-full wp-image-490" title="Infopath Rule Dialog - Set Positive" src="http://devspoint.files.wordpress.com/2011/04/rulesinsurepositive.png?w=640" alt=""   /></a></p>
<p>A condition needs to be created so that the field is only modified if the value entered is a negative value. The formula should be something like the following: <em>[FIELD] is less than 0</em>. This will check the value of the field and if a value less than zero (a negative value) is provided execute the actions of the rule.</p>
<p>Next, add an action to set a field&#8217;s value.</p>
<p><a href="http://devspoint.files.wordpress.com/2011/04/infopath-setaction.png"><img class="aligncenter size-full wp-image-491" title="InfoPath-SetAction" src="http://devspoint.files.wordpress.com/2011/04/infopath-setaction.png?w=640" alt=""   /></a></p>
<p>Click on the button to the right of the text box to select the field to set. This should be the field that should be a positive value. Next, click on the formula button (fx) for the value text box. The formula should be -1 * [FIELD]. You can easily insert the field by clicking on Insert Field or Group and selecting the field you need changed.</p>
<p><a href="http://devspoint.files.wordpress.com/2011/04/infopath-setnegativeformula.png"><img class="aligncenter size-full wp-image-492" title="InfoPath-SetNegativeFormula" src="http://devspoint.files.wordpress.com/2011/04/infopath-setnegativeformula.png?w=640" alt=""   /></a></p>
<p>Since any negative number multiplied by -1 is the positive of the same value, you get the positive value of the value entered. This same benefit plays out for places the form must have negative numbers. Now, when entering data into the form as a negative value where a positive value is expected, InfoPath will execute the rule and change the value accordingly.</p>
<p><a href="http://devspoint.files.wordpress.com/2011/04/infopath-negative-example-before.png"><img class="aligncenter size-full wp-image-493" title="InfoPath-Negative-Example-Before" src="http://devspoint.files.wordpress.com/2011/04/infopath-negative-example-before.png?w=640" alt=""   /></a></p>
<p><a href="http://devspoint.files.wordpress.com/2011/04/infopath-negative-example-after.png"><img class="aligncenter size-full wp-image-494" title="InfoPath-Negative-Example-After" src="http://devspoint.files.wordpress.com/2011/04/infopath-negative-example-after.png?w=640" alt=""   /></a></p>
<br />Filed under: <a href='http://devspoint.wordpress.com/category/microsoft-office/office-2007/infopath-2007/'>InfoPath 2007</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devspoint.wordpress.com/489/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devspoint.wordpress.com/489/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devspoint.wordpress.com/489/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devspoint.wordpress.com/489/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devspoint.wordpress.com/489/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devspoint.wordpress.com/489/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devspoint.wordpress.com/489/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devspoint.wordpress.com/489/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devspoint.wordpress.com/489/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devspoint.wordpress.com/489/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devspoint.wordpress.com/489/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devspoint.wordpress.com/489/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devspoint.wordpress.com/489/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devspoint.wordpress.com/489/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;blog=16939628&amp;post=489&amp;subd=devspoint&amp;ref=&amp;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=aSfjca0Z924:DyVPkxhI51Q:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=aSfjca0Z924:DyVPkxhI51Q:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=aSfjca0Z924:DyVPkxhI51Q:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?i=aSfjca0Z924:DyVPkxhI51Q:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SharepointApplicationDevelopment/~4/aSfjca0Z924" height="1" width="1"/>]]></content:encoded><description>Several projects that I have completed using InfoPath over the last few months have made use of numerical values for calculations. For example, a recent form was used upon employee termination to determine if the employee owed money to the &amp;#8230; &lt;a href="http://devspoint.wordpress.com/2011/04/27/using-rules-to-passively-insure-postive-or-negative-values-in-infopath/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;amp;blog=16939628&amp;amp;post=489&amp;amp;subd=devspoint&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devspoint.wordpress.com/2011/04/27/using-rules-to-passively-insure-postive-or-negative-values-in-infopath/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://1.gravatar.com/avatar/30f2d885b61294f912f0c6ae28912b54?s=96&amp;d=&amp;r=G" medium="image">
			<media:title type="html">cquick001</media:title>
		</media:content><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://devspoint.files.wordpress.com/2011/04/rulesinsurepositive.png" medium="image">
			<media:title type="html">Infopath Rule Dialog - Set Positive</media:title>
		</media:content><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://devspoint.files.wordpress.com/2011/04/infopath-setaction.png" medium="image">
			<media:title type="html">InfoPath-SetAction</media:title>
		</media:content><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://devspoint.files.wordpress.com/2011/04/infopath-setnegativeformula.png" medium="image">
			<media:title type="html">InfoPath-SetNegativeFormula</media:title>
		</media:content><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://devspoint.files.wordpress.com/2011/04/infopath-negative-example-before.png" medium="image">
			<media:title type="html">InfoPath-Negative-Example-Before</media:title>
		</media:content><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://devspoint.files.wordpress.com/2011/04/infopath-negative-example-after.png" medium="image">
			<media:title type="html">InfoPath-Negative-Example-After</media:title>
		</media:content><feedburner:origLink>http://devspoint.wordpress.com/2011/04/27/using-rules-to-passively-insure-postive-or-negative-values-in-infopath/</feedburner:origLink></item><item><title>Convert Color Scheme Designer 3 to XAML Resources</title><link>http://feedproxy.google.com/~r/SharepointApplicationDevelopment/~3/6vB2kUfn-DY/</link><category>Silverlight</category><category>Tips and Tricks</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chris Quick</dc:creator><pubDate>Mon, 11 Apr 2011 15:30:53 PDT</pubDate><guid isPermaLink="false">http://devspoint.wordpress.com/?p=462</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>In a recent project, I wanted a quick way to change out color schemes for a Silverlight project. One resource that I have used to build sample color schemes is the <a href="http://colorschemedesigner.com/" target="_blank">Color Scheme Designer 3</a> by <a href="http://www.pixy.cz/index-en.html" target="_blank">Petr Stanicek</a>. The designer allows the color scheme to be exported to an XML file, but the format doesn&#8217;t lend itself to being quickly imported as a XAML resource file &#8212; so I decided to write a little console application to convert it to a XAML resource friendly file. You could also simply to an XSLT transformation, but this was used as a way for me to learn to use LINQ to XML to both read and write XML files. If you find this useful, enjoy &#8212; but this is so I can have a reference to it at a later time.</p>
<p><span id="more-462"></span></p>
<p><pre class="brush: csharp; wrap-lines: false;">
    public class SchemeConverter
    {
        static void ConvertTheme(String inFileName, String outFileName)
        {
            XElement doc = XElement.Load(inFileName);

            var colorsets = (from set in doc.Descendants(XName.Get(&quot;colorset&quot;))
                             select new ColorSet
                                 {
                                     Title = set.Attribute(XName.Get(&quot;title&quot;)).Value,
                                     Colors = (from color in set.Descendants(XName.Get(&quot;color&quot;))
                                               select new Color
                                               {
                                                   Title = color.Attribute(XName.Get(&quot;id&quot;)).Value,
                                                   RGB = color.Attribute(XName.Get(&quot;rgb&quot;)).Value
                                               }).ToList()
                                 }).ToList();

            XNamespace defaultNamespace = XNamespace.Get(&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;);
            XNamespace x = XNamespace.Get(&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;);

            XElement silverDoc = new XElement(defaultNamespace + &quot;ResourceDictionary&quot;,
                                new XAttribute(XNamespace.Xmlns + &quot;x&quot;, x));

            foreach (ColorSet CS in colorsets)
            {
                foreach(Color C in CS.Colors)
                {
                    XElement FullColor = new XElement(&quot;Color&quot;, new XAttribute(x + &quot;Key&quot;, C.Title.ToUpper() + &quot;-FULL&quot;), &quot;#FF&quot; + C.RGB.ToUpper());
                    XElement ThreeQuarterColor = new XElement(&quot;Color&quot;, new XAttribute(x + &quot;Key&quot;, C.Title.ToUpper() + &quot;-THREEQUARTER&quot;), &quot;#BF&quot; + C.RGB.ToUpper());
                    XElement HalfColor = new XElement(&quot;Color&quot;, new XAttribute(x + &quot;Key&quot;, C.Title.ToUpper() + &quot;-HALF&quot;), &quot;#80&quot; + C.RGB.ToUpper());
                    XElement OneQuarterColor = new XElement(&quot;Color&quot;, new XAttribute(x + &quot;Key&quot;, C.Title.ToUpper() + &quot;-ONEQUARTER&quot;), &quot;#40&quot; + C.RGB.ToUpper());
                    XElement ClearColor = new XElement(&quot;Color&quot;, new XAttribute(x + &quot;Key&quot;, C.Title.ToUpper() + &quot;-CLEAR&quot;), &quot;#00&quot; + C.RGB.ToUpper());

                    silverDoc.Add(FullColor);
                    silverDoc.Add(ThreeQuarterColor);
                    silverDoc.Add(HalfColor);
                    silverDoc.Add(OneQuarterColor);
                    silverDoc.Add(ClearColor);
                }
            }

            silverDoc.Save(outFileName);
        }
    }
</pre></p>
<br />Filed under: <a href='http://devspoint.wordpress.com/category/sharepoint-2010/silverlight/'>Silverlight</a>, <a href='http://devspoint.wordpress.com/category/tips-and-tricks/'>Tips and Tricks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devspoint.wordpress.com/462/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devspoint.wordpress.com/462/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devspoint.wordpress.com/462/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devspoint.wordpress.com/462/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devspoint.wordpress.com/462/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devspoint.wordpress.com/462/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devspoint.wordpress.com/462/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devspoint.wordpress.com/462/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devspoint.wordpress.com/462/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devspoint.wordpress.com/462/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devspoint.wordpress.com/462/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devspoint.wordpress.com/462/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devspoint.wordpress.com/462/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devspoint.wordpress.com/462/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;blog=16939628&amp;post=462&amp;subd=devspoint&amp;ref=&amp;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=6vB2kUfn-DY:tAAB0Ye7eJE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=6vB2kUfn-DY:tAAB0Ye7eJE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=6vB2kUfn-DY:tAAB0Ye7eJE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?i=6vB2kUfn-DY:tAAB0Ye7eJE:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SharepointApplicationDevelopment/~4/6vB2kUfn-DY" height="1" width="1"/>]]></content:encoded><description>In a recent project, I wanted a quick way to change out color schemes for a Silverlight project. One resource that I have used to build sample color schemes is the Color Scheme Designer 3 by Petr Stanicek. The designer &amp;#8230; &lt;a href="http://devspoint.wordpress.com/2011/04/11/convert-color-scheme-designer-3-to-xaml-resources/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;amp;blog=16939628&amp;amp;post=462&amp;amp;subd=devspoint&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devspoint.wordpress.com/2011/04/11/convert-color-scheme-designer-3-to-xaml-resources/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://0.gravatar.com/avatar/221a03032c53f83f95cc14032fcaa369?s=96&amp;d=&amp;r=G" medium="image">
			<media:title type="html">christopherquick</media:title>
		</media:content><feedburner:origLink>http://devspoint.wordpress.com/2011/04/11/convert-color-scheme-designer-3-to-xaml-resources/</feedburner:origLink></item><item><title>InfoPath over jQuery?</title><link>http://feedproxy.google.com/~r/SharepointApplicationDevelopment/~3/G7ST7krg5Jc/</link><category>Development Approaches</category><category>InfoPath 2007</category><category>jQuery</category><category>SharePoint 2007</category><category>SPServices</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chris Quick</dc:creator><pubDate>Thu, 31 Mar 2011 10:23:51 PDT</pubDate><guid isPermaLink="false">http://devspoint.wordpress.com/?p=452</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>A recent project had my team asking some really difficult questions on what technology should be applied to a business problem. We had been tasked to create a specialized survey in SharePoint that  would need to change based on the items selected for each question. The  question would present five or six possible answers, but all other answers might need to be cleared if a specific answer was selected.</p>
<p>For  example, the question might read &#8220;Who needs to sign-off on this  project?&#8221; and include &#8220;Information Technology, Public Relations,  Marketing, Executive Leadership and No Sign-off Required&#8221; as possible  answers. The person completing the survey could select any combination  of the first four options. However; if the person completing the survey  selected No Sign-off Required, all of the other answers become irrelevant  so they should be cleared.</p>
<p><span id="more-452"></span>We looked at several options for presenting this in a graphically friendly way while allowing the data to be stored in SharePoint. We also needed a way to allow a high degree of customization of the survey without the site owner being required to open up Visual Studio or start hacking through a bunch of JavaScript code. Technologies that we explored included:</p>
<ol>
<li>Adobe Flash</li>
<li>Microsoft Silverlight</li>
<li>SharePoint Web-Part(s)</li>
<li>jQuery / jQuery UI</li>
<li>InfoPath</li>
</ol>
<p>Flash was discarded pretty quickly due to the lack of available programmers and a client policy that discourages the use of Flash for internal business applications. Silverlight was discarded after some debate since the client is not yet ready to support on-going development of Silverlight Business RIA&#8217;s (they have an extensive .Net developer pool, but have not yet moved into Silverlight or WPF). SharePoint Web-Part(s) were eventually discarded due to the necessity of including a solution file for a one-off requirement. The team just couldn&#8217;t find any other business needs that justified custom web-parts, especially since this is a SharePoint 2007 implementation that is being migrated at some point before the project could be completed. This left jQuery and InfoPath as the most likely candidates.</p>
<p>InfoPath was initially discarded because the site owner wanted to emulate a Flash survey as closely as possible. We started down the path using jQuery with jQuery UI. Three custom lists were created in SharePoint: one to hold all of the questions, one to hold all of the possible answers to each question and one to hold the results of the survey. A form was dynamically created from the questions and answers stored in the SharePoint lists using <a href="http://spservices.codeplex.com" target="_blank">SPServices</a>. The person completing the survey would navigate through a wizard presenting each of the questions. When completed, the survey was then submitted back to SharePoint using SPServices and stored in a list where further actions could be taken at a later time.</p>
<p>It took us over two weeks to build the solution and almost 900 lines of  JavaScript had been written and tested. After successfully completing the requirements, we were discouraged because the end result did not meet our performance requirements (we suspected this might be the case as the solution was becoming more complex).  We even changed our web service calls from synchronous to asynchronous to try to solve the problem, but we still hit a performance barrier. So, we had to turn back to the only other technology available &#8212; InfoPath.</p>
<p>It took us less than an hour to create the InfoPath form using the questions required for the survey. By placing the questions and answers directly into InfoPath, this reduced our dependence upon maintaining questions and answers in two different lists. The site owner now had a familiar interface for modifying questions and answers in the same location &#8212; by simply editing the InfoPath template.</p>
<p>We began creating rules for each of the questions in the survey to perform the exclusive selection operation defined in the business case.  Setting up conditions and actions was much easier and ultimately more maintainable for the site owner if the structure of the question needed to change. Once the form was completed, it was published directly to a form library on the SharePoint site and set to use browser rendering. Key properties from the survey were promoted into columns within SharePoint that could be analyzed by workflow or exposed using views. The entire time from the initial design of the form to deployment in a production environment was about 8 hours.</p>
<p>The point of this case study is to help us consider how to tackle the business challenges we face in  SharePoint. We must consider all of the tools available to us and match  that with the goals of our client. We must also measure the requirements against the business problem we are attempting to solve. Our client was happy with the appearance of the jQuery solution, but the performance was not what they expected and the ability to change the presentation was not as easy as they desired. Conversely, InfoPath exceeded our expectations to solve the business problem. The rules and validation logic dialogs accelerated the development of the required business logic and the site owner had a much easier way to modify the verbiage of the survey as needed.</p>
<p>We demonstrated in this exercise that meeting the business requirement with out of the box tools requires much less effort and a can provide a more maintainable solution for site owners. As an added bonus, this form can be replicated to other sites quickly by simply changing the publishing location or saving the form library as a list template. Having a reusable solution like this increases the value to the client because it reduces the overhead of recreating the tool if it is ever needed again. Also, by using out of the box capabilities we have reduced the risks involved with migration to SharePoint 2010.</p>
<br />Filed under: <a href='http://devspoint.wordpress.com/category/development-approaches/'>Development Approaches</a>, <a href='http://devspoint.wordpress.com/category/microsoft-office/office-2007/infopath-2007/'>InfoPath 2007</a>, <a href='http://devspoint.wordpress.com/category/scripting/jquery/'>jQuery</a>, <a href='http://devspoint.wordpress.com/category/sharepoint-2007/'>SharePoint 2007</a> Tagged: <a href='http://devspoint.wordpress.com/tag/infopath-2007/'>InfoPath 2007</a>, <a href='http://devspoint.wordpress.com/tag/jquery/'>jQuery</a>, <a href='http://devspoint.wordpress.com/tag/sharepoint-2007/'>SharePoint 2007</a>, <a href='http://devspoint.wordpress.com/tag/spservices/'>SPServices</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devspoint.wordpress.com/452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devspoint.wordpress.com/452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devspoint.wordpress.com/452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devspoint.wordpress.com/452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devspoint.wordpress.com/452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devspoint.wordpress.com/452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devspoint.wordpress.com/452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devspoint.wordpress.com/452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devspoint.wordpress.com/452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devspoint.wordpress.com/452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devspoint.wordpress.com/452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devspoint.wordpress.com/452/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devspoint.wordpress.com/452/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devspoint.wordpress.com/452/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;blog=16939628&amp;post=452&amp;subd=devspoint&amp;ref=&amp;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=G7ST7krg5Jc:C1BCh7t-EWA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=G7ST7krg5Jc:C1BCh7t-EWA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=G7ST7krg5Jc:C1BCh7t-EWA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?i=G7ST7krg5Jc:C1BCh7t-EWA:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SharepointApplicationDevelopment/~4/G7ST7krg5Jc" height="1" width="1"/>]]></content:encoded><description>A recent project had my team asking some really difficult questions on what technology should be applied to a business problem. We had been tasked to create a specialized survey in SharePoint that would need to change based on the &amp;#8230; &lt;a href="http://devspoint.wordpress.com/2011/03/31/infopath-over-jquery/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;amp;blog=16939628&amp;amp;post=452&amp;amp;subd=devspoint&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devspoint.wordpress.com/2011/03/31/infopath-over-jquery/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">4</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://1.gravatar.com/avatar/30f2d885b61294f912f0c6ae28912b54?s=96&amp;d=&amp;r=G" medium="image">
			<media:title type="html">cquick001</media:title>
		</media:content><feedburner:origLink>http://devspoint.wordpress.com/2011/03/31/infopath-over-jquery/</feedburner:origLink></item><item><title>MS Word Special Characters “MAY” break SharePoint Web Services</title><link>http://feedproxy.google.com/~r/SharepointApplicationDevelopment/~3/6mAKtmiR5co/</link><category>CAML</category><category>jQuery</category><category>SharePoint 2007</category><category>Lists Web Service</category><category>Microsoft Word</category><category>SPServices</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chris Quick</dc:creator><pubDate>Mon, 28 Mar 2011 12:00:04 PDT</pubDate><guid isPermaLink="false">http://devspoint.wordpress.com/?p=441</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Today I was working with a client to resolve an issue with a jQuery solution we provided several months ago. The solution is a policy and procedures site that makes use of several filtered views with jQuery providing some &#8220;enhancements&#8221;. The &#8220;enhancements&#8221; were being handled dynamically with jQuery and the <a href="http://spservices.codeplex.com/" target="_blank">SPServices</a> library by Marc Anderson.</p>
<p><span id="more-441"></span></p>
<p>Suddenly, queries that were working would no longer work and users were getting error messages. Once the investigation was underway, we discovered the following error in the XML parsing using Firebug:</p>
<div style="padding-left:30px;">XML Parsing  Error: reference to invalid character number Location:  moz-nullprincipal:{3da9cb2f-1ded-400f-bb9e-3c38e76f6474} Line Number  1579, Column 36:</div>
<div style="padding-left:30px;">vti_title:SW|Installation Planning <span style="color:#ff0000;">&amp;#19</span>;</div>
<p>I began <a href="http://spservices.codeplex.com/discussions/248939" target="_blank">working</a> with Marc Anderson and the supporters of the SPServices library to troubleshoot the error. After some great suggestions, I opened up the U2U CAML builder and executed my query again. I received the tell-tale error message that proved this error was occurring on the server:</p>
<div id="attachment_442" class="wp-caption aligncenter" style="width: 247px"><a href="http://devspoint.files.wordpress.com/2011/03/u2uerror.png"><img class="size-full wp-image-442" title="u2uerror" src="http://devspoint.files.wordpress.com/2011/03/u2uerror.png?w=640" alt="XML Parsing Error with U2U"   /></a><p class="wp-caption-text">Example XML Parsing Error using U2U CAML Builder</p></div>
<p>It appears this causes a server side parsing error that cannot be mitigated since the MetaInfo field is automatically included with all web-service results from the GetListItems method of the Lists web service. The resolution was to change the Title field and remove the offending character.</p>
<br />Filed under: <a href='http://devspoint.wordpress.com/category/caml/'>CAML</a>, <a href='http://devspoint.wordpress.com/category/scripting/jquery/'>jQuery</a>, <a href='http://devspoint.wordpress.com/category/sharepoint-2007/'>SharePoint 2007</a> Tagged: <a href='http://devspoint.wordpress.com/tag/jquery/'>jQuery</a>, <a href='http://devspoint.wordpress.com/tag/lists-web-service/'>Lists Web Service</a>, <a href='http://devspoint.wordpress.com/tag/microsoft-word/'>Microsoft Word</a>, <a href='http://devspoint.wordpress.com/tag/sharepoint-2007/'>SharePoint 2007</a>, <a href='http://devspoint.wordpress.com/tag/spservices/'>SPServices</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devspoint.wordpress.com/441/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devspoint.wordpress.com/441/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devspoint.wordpress.com/441/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devspoint.wordpress.com/441/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devspoint.wordpress.com/441/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devspoint.wordpress.com/441/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devspoint.wordpress.com/441/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devspoint.wordpress.com/441/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devspoint.wordpress.com/441/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devspoint.wordpress.com/441/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devspoint.wordpress.com/441/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devspoint.wordpress.com/441/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devspoint.wordpress.com/441/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devspoint.wordpress.com/441/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;blog=16939628&amp;post=441&amp;subd=devspoint&amp;ref=&amp;feed=1" width="1" height="1" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=6mAKtmiR5co:EoRJeSQr5Dc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=6mAKtmiR5co:EoRJeSQr5Dc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?a=6mAKtmiR5co:EoRJeSQr5Dc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/SharepointApplicationDevelopment?i=6mAKtmiR5co:EoRJeSQr5Dc:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SharepointApplicationDevelopment/~4/6mAKtmiR5co" height="1" width="1"/>]]></content:encoded><description>Today I was working with a client to resolve an issue with a jQuery solution we provided several months ago. The solution is a policy and procedures site that makes use of several filtered views with jQuery providing some &amp;#8220;enhancements&amp;#8221;. &amp;#8230; &lt;a href="http://devspoint.wordpress.com/2011/03/28/ms-word-special-characters-may-break-sharepoint-web-services/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devspoint.wordpress.com&amp;amp;blog=16939628&amp;amp;post=441&amp;amp;subd=devspoint&amp;amp;ref=&amp;amp;feed=1" width="1" height="1" /&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devspoint.wordpress.com/2011/03/28/ms-word-special-characters-may-break-sharepoint-web-services/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://1.gravatar.com/avatar/30f2d885b61294f912f0c6ae28912b54?s=96&amp;d=&amp;r=G" medium="image">
			<media:title type="html">cquick001</media:title>
		</media:content><media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://devspoint.files.wordpress.com/2011/03/u2uerror.png" medium="image">
			<media:title type="html">u2uerror</media:title>
		</media:content><feedburner:origLink>http://devspoint.wordpress.com/2011/03/28/ms-word-special-characters-may-break-sharepoint-web-services/</feedburner:origLink></item></channel></rss>

