<?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:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:series="http://unfoldingneurons.com/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Marc D Anderson's Blog</title>
	
	<link>http://sympmarc.com</link>
	<description>A Knowledge Management Zealot Speaks Out</description>
	<lastBuildDate>Tue, 29 May 2012 17:19:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/MarcDAndersonsBlog" /><feedburner:info uri="marcdandersonsblog" /><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://sympmarc.com/?pushpress=hub" /><geo:lat>42.324397</geo:lat><geo:long>-71.139331</geo:long><feedburner:emailServiceId>MarcDAndersonsBlog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FMarcDAndersonsBlog" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FMarcDAndersonsBlog" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FMarcDAndersonsBlog" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/MarcDAndersonsBlog" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FMarcDAndersonsBlog" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FMarcDAndersonsBlog" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FMarcDAndersonsBlog" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.addtoany.com/?linkname=Marc%20D%20Anderson%27s%20Blog&amp;linkurl=http%3A%2F%2Ffeeds.feedburner.com%2FMarcDAndersonsBlog&amp;type=feed" src="http://www.addtoany.com/addfr-b.gif">Add to Any Feed Reader</feedburner:feedFlare><feedburner:browserFriendly>Thanks for subscribing to my blog. I hope you find some things useful. Let me know how I'm doing -- leave me a comment (or two).</feedburner:browserFriendly><item>
		<title>The Content Query Web Part (CQWP) and the ddwrt Namespace</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/eKzSsUFomAw/</link>
		<comments>http://sympmarc.com/2012/05/29/the-content-query-web-part-cqwp-and-the-ddwrt-namespace/#comments</comments>
		<pubDate>Tue, 29 May 2012 17:17:03 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Content Query Web Part]]></category>
		<category><![CDATA[CQWP]]></category>
		<category><![CDATA[Data View Web Part]]></category>
		<category><![CDATA[ddwrt: namespace]]></category>
		<category><![CDATA[DVWP]]></category>
		<category><![CDATA[itemstyles.xsl]]></category>
		<category><![CDATA[XSL]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=15410</guid>
		<description><![CDATA[I&#8217;m positive I&#8217;ve run into this little issue before, but since I don&#8217;t seem to have done a post on it, I stymied myself again. A client of mine spotted a nice post from Ben Tedder (@bentedder) showing how to Create a Classifieds Listing using SharePoint 2010. It uses a bunch of Content Query Web &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/05/29/the-content-query-web-part-cqwp-and-the-ddwrt-namespace/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m positive I&#8217;ve run into this little issue before, but since I don&#8217;t seem to have done a post on it, I stymied myself again.</p>
<p>A client of mine spotted a nice post from Ben Tedder (<a href="http://twitter.com/bentedder" target="_blank">@bentedder</a>) showing how to <a href="http://www.bentedder.com/create-a-classifieds-listing-using-sharepoint-2010/" target="_blank">Create a Classifieds Listing using SharePoint 2010</a>. It uses a bunch of Content Query Web Part (CQWPs) to build up a sort of virtual bulletin board where people can post things they have for sale, help they need, upcoming community events, etc. Ben has been doing a lot of really cool stuff with <a href="http://spservices.codeplex.com/" target="_blank">SPServices</a>, so I&#8217;m familiar with his stuff and know that the quality level is high.</p>
<p>Ben&#8217;s post gives a nice outline of how to create this type of solution, and we decided I&#8217;d implement it. Normally I&#8217;d jump straight to the Data View Web Part (DVWP) for something like this, but there&#8217;s some appeal to the CQWP in this case. It&#8217;s not unlikely that they will want to change both how the categories are laid out on the page and what categories are available, and there&#8217;s no reason to involve a developer at that point; the CQWP is pretty easily adjusted by a reasonably sophisticated user.</p>
<p>When I first dropped Ben&#8217;s template into the ItemStyles.xsl file, saved it, and refreshed my page, I got an error. No worries, I figured, I must have missed a closing tag or comma or something. About an hour and a half later, I&#8217;d tried every version of paring the XSL down that I could think of and had pretty much isolated the issue to where I was displaying the Created date. But I couldn&#8217;t for the life of me figure out why it wouldn&#8217;t work.</p>
<p>Time for a drive to get some lunch, and within five minutes the answer had occurred to me. (I&#8217;m a big proponent of separating myself from the physical location where something has me stumped – I find it lets my mind wander into different territory.)</p>
<p>The problem was that the ddwrt namespace wasn&#8217;t registered in ItemStyles.xsl. What that means is that where I was using the ddwrt:FormatDateTIme function, SharePoint had no idea what I was talking about, and it threw an error. When I displayed the Created date without using the ddwrt function, it worked just fine.</p>
<div class="important_block message-block"><p class="printonly"><strong>Important!</strong></p>If you&#8217;re not familiar with the ddwrt namespace, you should be if you write any XSL at all for SharePoint. The only article I&#8217;ve ever found which explains it is one on MSDN from Serge van den Oever<br />
which he wrote way back in 2005 called <a href="http://msdn.microsoft.com/en-us/library/dd583143(v=office.11).aspx" target="_blank">SharePoint Data View Web Part Extension Functions in the ddwrt Namespace</a>. It&#8217;s such an important namespace, it always amazes me that this is the only article which explains it on Microsoft&#8217;s site.</div>
<p>Once back in the saddle, I looked at one of my trusty DVWPs and figured out where the references need to be. Here&#8217;s the top of the ItemStyles.xsl file before I edited it:</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/05/SNAGHTML1de513ac.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="SNAGHTML1de513ac" src="http://sympmarc.com/wp-content/uploads/2012/05/SNAGHTML1de513ac_thumb.png" alt="SNAGHTML1de513ac" width="913" height="189" border="0" /></a></p>
<p>and after I added the reference to the ddwrt namespace.</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/05/SNAGHTML1de594eb.png"><img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="SNAGHTML1de594eb" src="http://sympmarc.com/wp-content/uploads/2012/05/SNAGHTML1de594eb_thumb.png" alt="SNAGHTML1de594eb" width="904" height="200" border="0" /></a></p>
<p>It&#8217;s a simple little change, but absolutely necessary if you want to use the ddwrt namespace functions in your CQWPs.</p>
<p>Now, with this post, I&#8217;m happy that I won&#8217;t paint myself into this corner again, and hopefully it&#8217;ll help a few of you to stay out of that corner as well.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/aKxGvJbGfJrWezsrhgsVW9GSFpY/0/da"><img src="http://feedads.g.doubleclick.net/~a/aKxGvJbGfJrWezsrhgsVW9GSFpY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/aKxGvJbGfJrWezsrhgsVW9GSFpY/1/da"><img src="http://feedads.g.doubleclick.net/~a/aKxGvJbGfJrWezsrhgsVW9GSFpY/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=eKzSsUFomAw:JNpNyNRc_-M:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/eKzSsUFomAw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/05/29/the-content-query-web-part-cqwp-and-the-ddwrt-namespace/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/05/29/the-content-query-web-part-cqwp-and-the-ddwrt-namespace/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=the-content-query-web-part-cqwp-and-the-ddwrt-namespace</feedburner:origLink></item>
		<item>
		<title>Moving Lists from Hosted WSS 3.0 to Office365 – The Manual Way</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/_k5CINAiBYo/</link>
		<comments>http://sympmarc.com/2012/05/28/moving-lists-from-hosted-wss-3-0-to-office365the-manual-way/#comments</comments>
		<pubDate>Mon, 28 May 2012 18:18:09 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[list templates]]></category>
		<category><![CDATA[MAKECAB.EXE]]></category>
		<category><![CDATA[SharePoint 2007]]></category>
		<category><![CDATA[SharePoint 2010]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=15400</guid>
		<description><![CDATA[It&#8217;s a long holiday weekend here in the U.S., I&#8217;ve been sick with some sort of flu for all of it, and it&#8217;s really nice and sunny outside. So what am I doing? Trying to migrate my Sympraxis Consulting demo site from my FPWeb-hosted WSS 3.0 site (yeah, I&#8217;m a little behind) to my Office365 &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/05/28/moving-lists-from-hosted-wss-3-0-to-office365the-manual-way/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s a long holiday weekend here in the U.S., I&#8217;ve been sick with some sort of flu for all of it, and it&#8217;s really nice and sunny outside. So what am I doing? Trying to migrate my Sympraxis Consulting demo site from my <a href="http://fpweb.net" target="_blank">FPWeb</a>-hosted WSS 3.0 site (yeah, I&#8217;m a little behind) to my <a href="http://office365.com" target="_blank">Office365</a> SharePoint 2010 site. Call me crazy. I&#8217;ve been avoiding doing this because I knew that somehow it would be a bit of a nightmare, and it is, of course. But it&#8217;s going to happen today, darn it.</p>
<p>This should be an easy thing, but of course it&#8217;s not. When I try to do things like this, I try first to be an end user. Can I do what I want simply by using the options I have through the UI? I always want to understand how a &#8220;real person&#8221; would do what I want to do. If that doesn&#8217;t work, then I think about writing code of some sort. If coding doesn&#8217;t seem worth it, I look at third party tool. In this case, it&#8217;s a one-time activity, so it doesn&#8217;t really seem to merit writing code *or* looking at third party tools, so let&#8217;s start with the UI.</p>
<p>The site is fairly large, if you consider over 10Mb large. That&#8217;s the limit on saving the site as a template with its content. No one list is all that big, so I just figured I&#8217;d move each list manually. It&#8217;s no problem to save each one of them as a template with its content.</p>
<p>Unfortunately, when you save a list as a template in SharePoint 2007, upload the resulting STP file to SharePoint 2010 and attempt to instantiate a new list based on that template, you get this error:</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/05/image3.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/05/image_thumb3.png" alt="image" width="1012" height="600" border="0" /></a></p>
<p>Erg. I poked around the Web a bit and found a post entitled <a href="http://pradeephegde.wordpress.com/2010/07/16/moving-a-list-template-from-moss-2007-to-sharepoint-2010/" target="_blank">Moving a list template from MOSS 2007 to SharePoint 2010</a>, which sounded like exactly what I wanted. It didn&#8217;t sound too &#8220;end user&#8221; to me, though. After some more searching and whining on Twitter, I decided to try the approach in the post anyway.</p>
<p>It does work, but it feels a bit too manual and frumpy. Here are the steps that work.</p>
<p>First, save your list as a template with the content like usual. If you need to understand how to do that, there are lots of instructions out there. Next, save the resulting STP file to a local repository somewhere. I created a folder on my desktop and just poked all the STPs into it.</p>
<p>Here&#8217;s where it gets messy. Rename the STP file you want to work with to a CAB extension. Ignore the Windows warning about making the file unusable, of course. Then open the file with WinZIP or your compression program of choice. One of the problems with this approach is that most compression programs (I checked <a href="http://winzip.com/" target="_blank">WinZIp</a>, <a href="http://7-zip.org/" target="_blank">7Zip</a>, and <a href="http://www.rarlab.com/" target="_blank">WinRAR</a>) will read a CAB file, but won&#8217;t write to one.</p>
<p>Next, extract the manifest.xml file from the CAB file. You can then edit the manifest.xml file in any program you choose – I love SharePoint Designer, so that&#8217;s what I&#8217;m using. Near the top of the file, you&#8217;ll see where the SharePoint version is specified:</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/05/SNAGHTML18d99915.png"><img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="SNAGHTML18d99915" src="http://sympmarc.com/wp-content/uploads/2012/05/SNAGHTML18d99915_thumb.png" alt="SNAGHTML18d99915" width="622" height="235" border="0" /></a></p>
<p>You want to simply change the &#8220;3&#8243; to a &#8220;4&#8243;.</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/05/SNAGHTML18d277df.png"><img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="SNAGHTML18d277df" src="http://sympmarc.com/wp-content/uploads/2012/05/SNAGHTML18d277df_thumb.png" alt="SNAGHTML18d277df" width="695" height="275" border="0" /></a></p>
<p>Yup, that&#8217;s enough right there to trick SharePoint 2010 into liking the list template.</p>
<p>Now, we have to repackage the manifest.xml file back into a CAB file. To do this, you&#8217;ll need MAKECAB.EXE file. I have it on my system, probably because I have Visual Studio installed. If you don&#8217;t have it, I&#8217;m sure you can find it on the Web somewhere.</p>
<p>To repackage a CAB file which only has a manifest.xml file, you type something like:</p>
<p><code>makecab manifest.xml SalesOpportunities.cab</code></p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/05/image4.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/05/image_thumb4.png" alt="image" width="640" height="91" border="0" /></a></p>
<p>In some cases, I only see the manifest.xml file in the original CAB file to start, and in others I&#8217;ve got some files with 000 extensions. The 000 files look like they are the custom list forms I&#8217;ve created, and I found that I need to add them to my CAB files as well. However, SharePoint 2010 doesn&#8217;t seem like those custom forms once I&#8217;ve instantiated the list, so there&#8217;s a little more cleanup required on the back end. Without including them, though, I can&#8217;t access the list settings page through the UI.</p>
<p>Since I had to add multiple files to the CAB, I needed to create a directive file, as explained in <a href="http://dataerror.blogspot.com/2005/10/makecab-part-2-compress-multiple-files.html" target="_blank">this post</a>.</p>
<p>Here&#8217;s an example of a DDF file (in this case, SalesOpportunities.ddf):</p>
<pre class="brush: plain; title: ; notranslate">
.OPTION EXPLICIT

.Set CabinetNameTemplate=SalesOpportunities.CAB
.Set Cabinet=on
.Set Compress=on

"manifest.xml"
"00000000.000"
"40000000.000"
</pre>
<p>If you need a directive file, then you type something like this:</p>
<p><code>makecab /F SalesOpportunities.ddf</code></p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/05/image5.png"><img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/05/image_thumb5.png" alt="image" width="636" height="143" border="0" /></a></p>
<p>Now rename the CAB file that you just created to have an STP extension and upload it to your SharePoint 2010 List Template Gallery in the root of your Site Collection.</p>
<p>You should now be able to create a new list based on the template you just uploaded without any problems. I&#8217;ve done 4 lists so far with no bad side effects that I can discern. Note that you will need to reconnect any Lookup columns, though, so if you are using a lot of them (like I am), then this isn&#8217;t such a great method.</p>
<p>With one of my larger lists, I got this error, but as far as I can tell, the list is totally fine.</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/05/image6.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/05/image_thumb6.png" alt="image" width="1013" height="629" border="0" /></a></p>
<p>With all of this, your mileage may vary, of course, and it&#8217;s definitely a hack. A hack that seems to work, but a hack just the same. Boy, doesn&#8217;t it seem like this should be something that you can do more simply? I don&#8217;t want to get an admin involved (I&#8217;m my own admin), I can&#8217;t touch the back end on the source system or the destination system, and I only need to do this once. Well at least I&#8217;ve gotten a good blog post out of it and I&#8217;ve learned a few things.</p>
<p>All in all, it probably would have been easier to simply create the lists manually in SharePoint 2010 (remember that I have no WSPs to work from – this is all ad hoc stuff), go into Datasheet view, and paste the items from 2007 into the 2010 list. But what fun would that have been?</p>
<p>But wait, there&#8217;s more! Ben Niaulin (<a href="http://twitter.com/bniaulin" target="_blank">@bniaulin</a>) at <a href="http://en.share-gate.com/" target="_blank">ShareGate</a> saw my whining on Twitter and pointed out that as an MVP, I can have a free version of their tool, which ought to help with this whole exercise. While I&#8217;m well on the way to making this happen manually using the steps above, I&#8217;ll give ShareGate a try and add an update in a follow up post.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/E1JJdV_yWpdTIw_WNJrmOEGqhXI/0/da"><img src="http://feedads.g.doubleclick.net/~a/E1JJdV_yWpdTIw_WNJrmOEGqhXI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/E1JJdV_yWpdTIw_WNJrmOEGqhXI/1/da"><img src="http://feedads.g.doubleclick.net/~a/E1JJdV_yWpdTIw_WNJrmOEGqhXI/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=_k5CINAiBYo:9a9KdEi4kQ4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/_k5CINAiBYo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/05/28/moving-lists-from-hosted-wss-3-0-to-office365the-manual-way/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/05/28/moving-lists-from-hosted-wss-3-0-to-office365the-manual-way/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=moving-lists-from-hosted-wss-3-0-to-office365the-manual-way</feedburner:origLink></item>
		<item>
		<title>SPServices v0.7.1 Has Hit 6000 Downloads In Just Three Months</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/sPKdgJkXbj8/</link>
		<comments>http://sympmarc.com/2012/05/15/spservices-v0-7-1-has-hit-6000-downloads-in-just-three-months/#comments</comments>
		<pubDate>Tue, 15 May 2012 12:53:25 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery library for SharePoint Web Services]]></category>
		<category><![CDATA[SPServices]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=15357</guid>
		<description><![CDATA[There have been many milestones in the SPServices saga, but this one sort of caught my eye and since I got a screen grab, I figured I&#8217;d do a quick post.. Even with over 48,000 total downloads of all of the versions I&#8217;ve released, this version seems to have really taken off, hitting 6,000 downloads &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/05/15/spservices-v0-7-1-has-hit-6000-downloads-in-just-three-months/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>There have been many milestones in the <a href="http://spservices.codeplex.com/" target="_blank">SPServices</a> saga, but this one sort of caught my eye and since I got a screen grab, I figured I&#8217;d do a quick post.. Even with over 48,000 total downloads of all of the versions I&#8217;ve released, this version seems to have really taken off, hitting 6,000 downloads in three months.</p>
<p>Here&#8217;s the screen grab from May 13. It&#8217;s sort of poetic that it was three months to the day when it hit 6,000, making it a clean 2,000 downloads per month so far.</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/05/image2.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/05/image_thumb2.png" alt="image" width="309" height="204" border="0" /></a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/3gY-ay6iOS-eVnTiz2U5Ar56j4o/0/da"><img src="http://feedads.g.doubleclick.net/~a/3gY-ay6iOS-eVnTiz2U5Ar56j4o/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/3gY-ay6iOS-eVnTiz2U5Ar56j4o/1/da"><img src="http://feedads.g.doubleclick.net/~a/3gY-ay6iOS-eVnTiz2U5Ar56j4o/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=sPKdgJkXbj8:qvHsNZM6KcM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/sPKdgJkXbj8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/05/15/spservices-v0-7-1-has-hit-6000-downloads-in-just-three-months/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/05/15/spservices-v0-7-1-has-hit-6000-downloads-in-just-three-months/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=spservices-v0-7-1-has-hit-6000-downloads-in-just-three-months</feedburner:origLink></item>
		<item>
		<title>Using SPFilterDropdown to Reorder Options in a Dropdown on a SharePoint Form</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/fxCvtBRo_Hg/</link>
		<comments>http://sympmarc.com/2012/05/11/using-spfilterdropdown-to-reorder-options-in-a-dropdown-on-a-sharepoint-form/#comments</comments>
		<pubDate>Fri, 11 May 2012 15:06:35 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery library for SharePoint Web Services]]></category>
		<category><![CDATA[Lookup Columns]]></category>
		<category><![CDATA[SPFilterDropdown]]></category>
		<category><![CDATA[SPServices]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=15331</guid>
		<description><![CDATA[Many times when you have a dropdown column in your lists, you&#8217;d like to show the values sorted in a different order than alphabetically. Sure, you can use a Choice column and order the choices in any way you&#8217;d like. However, in the cases where you want the dopdown to be based on a Site &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/05/11/using-spfilterdropdown-to-reorder-options-in-a-dropdown-on-a-sharepoint-form/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Many times when you have a dropdown column in your lists, you&#8217;d like to show the values sorted in a different order than alphabetically. Sure, you can use a Choice column and order the choices in any way you&#8217;d like. However, in the cases where you want the dopdown to be based on a Site Column which is a Lookup into a list, you can&#8217;t specify the sort order. I prefer using a Lookup column in almost all cases because it means that an admin (or any user with permission, really) can update the values in a list context rather than a column settings context. We also often end up storing other information about the values in the list, which we can&#8217;t do with a Choice column.</p>
<p>Here&#8217;s an example. I have a Site Column called Recommendation. It&#8217;s a pretty common idea: what&#8217;s our view on a particular stock or bond? We may want to recommend to our clients that the stock should be a Strong Buy, Buy, Hold, or Sell. If we add those values to a list as the source for a Lookup column, they will be ordered like this: [Buy, Hold, Sell, Strong Buy]. That&#8217;s not how we logically think of things, so it&#8217;s not great.</p>
<p><a title="SPServices" href="http://spservices.codeplex.com" target="_blank">SPServices</a> to the rescue! If we add a column to the source list which contains the sort order we want, we can make things look the way we need them to work. In my list below, I have a column called, logically enough, SortOrder. Note that it contains values which will sort the recommendation options the way we want.</p>
<div id="attachment_15332" class="wp-caption aligncenter" style="width: 284px"><a href="http://sympmarc.com/wp-content/uploads/2012/05/5-11-2012-10-36-39.jpg"><img class="size-full wp-image-15332" title="Recommendations Datasheet View" src="http://sympmarc.com/wp-content/uploads/2012/05/5-11-2012-10-36-39.jpg" alt="Recommendations Datasheet View" width="274" height="120" /></a><p class="wp-caption-text">Recommendations Datasheet View</p></div>
<p>Then, in the forms where I use the Recommendation column, I can add a call to the <a title="SPFilterDropdown" href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPFilterDropdown" target="_blank">SPFilterDropdown</a> function which takes care of things for me. No, the function name really doesn&#8217;t indicate that it could help with this &#8211; I built it to let you filter the options in a dropdown based on a column in the source list &#8211; but there&#8217;s a little trick you can use. If you specify a condition in your CAMLquery which always evaluates to true and specify a relationshipListSortColumn, the function will sort the values the way you want.</p>
<p>For my example above, I specify SortOrder as the relationshipListSortColumn, and set the CAMLQuery to give me all items where the Title does not equal an empty string. That will return all of the items, they will be sorted by SortOrder, and the dropdown will look just the way we want it to.</p>
<div id="attachment_15335" class="wp-caption aligncenter" style="width: 321px"><a href="http://sympmarc.com/wp-content/uploads/2012/05/5-11-2012-11-03-04.jpg"><img class="size-full wp-image-15335" title="Recommendation Dropdown" src="http://sympmarc.com/wp-content/uploads/2012/05/5-11-2012-11-03-04.jpg" alt="Recommendation Dropdown" width="311" height="68" /></a><p class="wp-caption-text">Recommendation Dropdown</p></div>
<pre class="brush: xml; title: ; notranslate">
// If the Recommendation column exists, sort it as indicated in the source list
$().SPServices.SPFilterDropdown({
 relationshipWebURL: &quot;/&quot;, // The source list for the Recommendation site Column is in the root site
 relationshipList: &quot;Recommendations&quot;,
 relationshipListColumn: &quot;Title&quot;,
 relationshipListSortColumn: &quot;SortOrder&quot;,
 columnName: &quot;Recommendation&quot;,
 CAMLQuery: &quot;&lt;Neq&gt;&lt;FieldRef Name='Title' /&gt;&lt;Value Type='Text'&gt;&lt;/Value&gt;&lt;/Neq&gt;&quot;, // Get all values by specifying a non-blank Title
 debug: true // Debug mode on while we're developing
});
</pre>

<p><a href="http://feedads.g.doubleclick.net/~a/lCTD5uKXtHl_adjKyE7NuFAy35Q/0/da"><img src="http://feedads.g.doubleclick.net/~a/lCTD5uKXtHl_adjKyE7NuFAy35Q/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/lCTD5uKXtHl_adjKyE7NuFAy35Q/1/da"><img src="http://feedads.g.doubleclick.net/~a/lCTD5uKXtHl_adjKyE7NuFAy35Q/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=fxCvtBRo_Hg:Nj5YfEqI4lk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/fxCvtBRo_Hg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/05/11/using-spfilterdropdown-to-reorder-options-in-a-dropdown-on-a-sharepoint-form/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/05/11/using-spfilterdropdown-to-reorder-options-in-a-dropdown-on-a-sharepoint-form/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=using-spfilterdropdown-to-reorder-options-in-a-dropdown-on-a-sharepoint-form</feedburner:origLink></item>
		<item>
		<title>But Is jQuery Already Loaded?</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/UuXT_Tdg07o/</link>
		<comments>http://sympmarc.com/2012/05/10/but-is-jquery-already-loaded/#comments</comments>
		<pubDate>Thu, 10 May 2012 13:49:16 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Firebug]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[IE8]]></category>
		<category><![CDATA[IE9]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery library for SharePoint Web Services]]></category>
		<category><![CDATA[SPServices]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=15314</guid>
		<description><![CDATA[JQuery (Photo credit: Wikipedia) Many end users are taking advantage of all of the goodness that jQuery provides, whether by adding simple effects like a sliding Quick Launch, more sophisticated form enhancements like SPCascadeDropdowns from SPServices, or even writing their own scripts for more complex solutions. More than ever, the distinction between &#8220;end user&#8221; and &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/05/10/but-is-jquery-already-loaded/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<div class="mceTemp">
<dl class="wp-caption alignright zemanta-img" style="width: 310px;">
<dt class="wp-caption-dt"><a href="http://en.wikipedia.org/wiki/File:JQuery_logo.svg" target="_blank"><img class="zemanta-img-inserted zemanta-img-configured" title="JQuery" src="http://sympmarc.com/wp-content/uploads/2012/05/300px-JQuery_logo.svg_1.png" alt="JQuery" width="300" height="73" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">JQuery (Photo credit: Wikipedia)</dd>
</dl>
<p>Many end users are taking advantage of all of the goodness that <a href="http://jquery.com" target="_blank">jQuery</a> provides, whether by adding simple effects like a sliding Quick Launch, more sophisticated form enhancements like <a href="http://spservices.codeplex.com/wikipage?title=$().SPServices.SPCascadeDropdowns" target="_blank">SPCascadeDropdowns</a> from <a href="http://spservices.codeplex.com/" target="_blank">SPServices</a>, or even writing their own scripts for more complex solutions. More than ever, the distinction between &#8220;end user&#8221; and &#8220;developer&#8221; is blurring. IMO, that&#8217;s a good thing, but it also introduces complications, of course.</p>
</div>
<p>As one of those end users, you owe it to yourself to talk to your SharePoint team to explain what you are doing and to find out if jQuery is already loaded in the environment. In many cases, it will already be loaded in the master page or a page layout so that it is readily available across the Site Collection. The version that is loaded can also have an impact on how plugins function, making some of them effectively useless if there&#8217;s a version mismatch.</p>
<p>I know that in some cases, even finding the person who might know what&#8217;s loaded in the master page or what the plans may be is well nigh impossible. In those cases, here&#8217;s a trick to find out what&#8217;s up.</p>
<p>In a Internet Explorer browser window with the page you want to work with open, hit F12 to open the Developer Tools, and go to the Console. The screenshot below is from IE9, where there is a separate Console tab:</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/05/SNAGHTML562e339.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;" title="SNAGHTML562e339" src="http://sympmarc.com/wp-content/uploads/2012/05/SNAGHTML562e339_thumb.png" alt="SNAGHTML562e339" width="413" height="354" border="0" /></a></p>
<p>If you&#8217;re in IE8, the Console is hidden under the Script tab, as below.</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/05/SNAGHTML5632086.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;" title="SNAGHTML5632086" src="http://sympmarc.com/wp-content/uploads/2012/05/SNAGHTML5632086_thumb.png" alt="SNAGHTML5632086" width="396" height="339" border="0" /></a></p>
<p>If you&#8217;re in an older version of IE, well, I don&#8217;t have a screenshot for you. You may also not have the Developer Tools available, as it was a separate download with IE7 and below.</p>
<p>In Firefox, you&#8217;ll need the firebug add-in. If you have it, you can hit F12 to open Firebug. The Console tab is the first one on the left:</p>
<p style="text-align: center;"><a href="http://sympmarc.com/wp-content/uploads/2012/05/SNAGHTML56920f4.png"><img class="aligncenter" style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin-top: 0px; margin-bottom: 0px; display: inline; background-image: none;" title="SNAGHTML56920f4" src="http://sympmarc.com/wp-content/uploads/2012/05/SNAGHTML56920f4_thumb.png" alt="SNAGHTML56920f4" width="528" height="254" border="0" /></a></p>
<p>Once you&#8217;ve gotten to the Console, wherever it is, type the line I show in each of the screenshots above:</p>
<pre class="brush: jscript; title: ; notranslate">
jQuery.fn.jquery
</pre>
<p>Depending on where you are, you&#8217;ll then either hit enter or click on the Run button.</p>
<p>Somewhere on the screen, you&#8217;ll see a display like this one, which shows that jQuery version 1.7.1 is loaded&#8230;</p>
<p style="text-align: center;"><a href="http://sympmarc.com/wp-content/uploads/2012/05/SNAGHTML56b32de.png"><img class="aligncenter" style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="SNAGHTML56b32de" src="http://sympmarc.com/wp-content/uploads/2012/05/SNAGHTML56b32de_thumb.png" alt="SNAGHTML56b32de" width="218" height="258" border="0" /></a></p>
<p>&#8230;or you&#8217;ll see something like&#8230;</p>
<p style="text-align: center;"><a href="http://sympmarc.com/wp-content/uploads/2012/05/SNAGHTML56d0846.png"><img class="aligncenter" style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin-top: 0px; margin-bottom: 0px; display: inline; background-image: none;" title="SNAGHTML56d0846" src="http://sympmarc.com/wp-content/uploads/2012/05/SNAGHTML56d0846_thumb.png" alt="SNAGHTML56d0846" width="315" height="334" border="0" /></a></p>
<p>&#8230;which tells you that jQuery isn&#8217;t loaded at all.</p>
<p>At that point, at least you&#8217;ll know what you are dealing with. If the version number isn&#8217;t what you need (I sometimes still see jQuery 1.3.2 loaded in a master page, which is ancient) then you&#8217;ll need to talk to your SharePoint team about updating it.</p>
<p>Tip &#8216;o the skimmer to Matt Bramer (@ionline247) for the exact syntax&#8230;</p>
<!-- tweet id : 200574868524236800 --><style type='text/css'>#bbpBox_200574868524236800 a { text-decoration:none; color:#2FC2EF; }#bbpBox_200574868524236800 a:hover { text-decoration:underline; }</style><div id='bbpBox_200574868524236800' class='bbpBox' style='padding:20px; margin:5px 0; background-color:#1A1B1F; background-image:url(http://a0.twimg.com/profile_background_images/442930030/web-binary-background.jpg);'><div style='background:#fff; padding:10px; margin:0; min-height:48px; color:#666666; -moz-border-radius:5px; -webkit-border-radius:5px;'><span style='width:100%; font-size:18px; line-height:22px;'>@<a href="http://twitter.com/intent/user?screen_name=sympmarc" class="twitter-action">sympmarc</a> @<a href="http://twitter.com/intent/user?screen_name=BinaryJam" class="twitter-action">BinaryJam</a> type in the console: jQuery.fn.jquery;  ~ Give version num and tests whether or not it's loaded.</span><div class='bbp-actions' style='font-size:12px; width:100%; padding:5px 0; margin:0 0 10px 0; border-bottom:1px solid #e6e6e6;'><img align='middle' src='http://sympmarc.com/wp-content/plugins/twitter-blackbird-pie//images/bird.png' /><a title='tweeted on May 10, 2012 9:15 am' href='http://twitter.com/#!/iOnline247/status/200574868524236800' target='_blank'>May 10, 2012 9:15 am</a> via <a href="https://chrome.google.com/extensions/detail/encaiiljifbdbjlphpgpiimidegddhic" rel="nofollow" target="blank">Silver Bird</a><a href='https://twitter.com/intent/tweet?in_reply_to=200574868524236800&related=sympmarc' class='bbp-action bbp-reply-action' title='Reply'><span><em style='margin-left: 1em;'></em><strong>Reply</strong></span></a><a href='https://twitter.com/intent/retweet?tweet_id=200574868524236800&related=sympmarc' class='bbp-action bbp-retweet-action' title='Retweet'><span><em style='margin-left: 1em;'></em><strong>Retweet</strong></span></a><a href='https://twitter.com/intent/favorite?tweet_id=200574868524236800&related=sympmarc' class='bbp-action bbp-favorite-action' title='Favorite'><span><em style='margin-left: 1em;'></em><strong>Favorite</strong></span></a></div><div style='float:left; padding:0; margin:0'><a href='http://twitter.com/intent/user?screen_name=iOnline247'><img style='width:48px; height:48px; padding-right:7px; border:none; background:none; margin:0' src='http://a0.twimg.com/profile_images/2154519473/profPic_normal.jpg' /></a></div><div style='float:left; padding:0; margin:0'><a style='font-weight:bold' href='http://twitter.com/intent/user?screen_name=iOnline247'>@iOnline247</a><div style='margin:0; padding-top:2px'>&#633;&#477;&#623;&#592;&#633;q &#653;&#477;&#613;&#647;&#647;&#592;&#623;&#12304;&#12484;&#12305;</div></div><div style='clear:both'></div></div></div><!-- end of tweet -->
<p>&#8230;and @BinaryJam for asking the question in the first place!</p>
<!-- tweet id : 200566890437951488 --><style type='text/css'>#bbpBox_200566890437951488 a { text-decoration:none; color:#0084B4; }#bbpBox_200566890437951488 a:hover { text-decoration:underline; }</style><div id='bbpBox_200566890437951488' class='bbpBox' style='padding:20px; margin:5px 0; background-color:#C0DEED; background-image:url(http://a0.twimg.com/images/themes/theme1/bg.png); background-repeat:no-repeat'><div style='background:#fff; padding:10px; margin:0; min-height:48px; color:#333333; -moz-border-radius:5px; -webkit-border-radius:5px;'><span style='width:100%; font-size:18px; line-height:22px;'>something I'd love to see in getting started with jQuery articles ".Go view the source of the page, your devs may have already included it"</span><div class='bbp-actions' style='font-size:12px; width:100%; padding:5px 0; margin:0 0 10px 0; border-bottom:1px solid #e6e6e6;'><img align='middle' src='http://sympmarc.com/wp-content/plugins/twitter-blackbird-pie//images/bird.png' /><a title='tweeted on May 10, 2012 8:44 am' href='http://twitter.com/#!/BinaryJam/status/200566890437951488' target='_blank'>May 10, 2012 8:44 am</a> via <a href="http://www.tweetdeck.com" rel="nofollow" target="blank">TweetDeck</a><a href='https://twitter.com/intent/tweet?in_reply_to=200566890437951488&related=sympmarc' class='bbp-action bbp-reply-action' title='Reply'><span><em style='margin-left: 1em;'></em><strong>Reply</strong></span></a><a href='https://twitter.com/intent/retweet?tweet_id=200566890437951488&related=sympmarc' class='bbp-action bbp-retweet-action' title='Retweet'><span><em style='margin-left: 1em;'></em><strong>Retweet</strong></span></a><a href='https://twitter.com/intent/favorite?tweet_id=200566890437951488&related=sympmarc' class='bbp-action bbp-favorite-action' title='Favorite'><span><em style='margin-left: 1em;'></em><strong>Favorite</strong></span></a></div><div style='float:left; padding:0; margin:0'><a href='http://twitter.com/intent/user?screen_name=BinaryJam'><img style='width:48px; height:48px; padding-right:7px; border:none; background:none; margin:0' src='http://a0.twimg.com/profile_images/1524906409/me2_normal.jpg' /></a></div><div style='float:left; padding:0; margin:0'><a style='font-weight:bold' href='http://twitter.com/intent/user?screen_name=BinaryJam'>@BinaryJam</a><div style='margin:0; padding-top:2px'>Binary Jam</div></div><div style='clear:both'></div></div></div><!-- end of tweet -->
<div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/?px"><img class="zemanta-pixie-img" style="border: currentColor; float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=b43f96e7-ad92-4fec-9c38-587ba0f66cb0" alt="Enhanced by Zemanta" /></a></div>

<p><a href="http://feedads.g.doubleclick.net/~a/tDQBx_NTkDUifWyfSwMf5iuhHh8/0/da"><img src="http://feedads.g.doubleclick.net/~a/tDQBx_NTkDUifWyfSwMf5iuhHh8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/tDQBx_NTkDUifWyfSwMf5iuhHh8/1/da"><img src="http://feedads.g.doubleclick.net/~a/tDQBx_NTkDUifWyfSwMf5iuhHh8/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=UuXT_Tdg07o:QBbf6gizo50:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/UuXT_Tdg07o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/05/10/but-is-jquery-already-loaded/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/05/10/but-is-jquery-already-loaded/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=but-is-jquery-already-loaded</feedburner:origLink></item>
		<item>
		<title>The jQuery .css() Function versus CSS</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/UUYtw36Qv5A/</link>
		<comments>http://sympmarc.com/2012/05/08/the-jquery-css-function-versus-css/#comments</comments>
		<pubDate>Tue, 08 May 2012 23:32:10 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=15288</guid>
		<description><![CDATA[A very smart designer who I respect a lot asked me a question today via IM that I thought would make a good post. &#8230;so I know jquery is great for doing things with CSS &#8211; but I think of only using it when I can&#8217;t actually get to the tag or it needs to &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/05/08/the-jquery-css-function-versus-css/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignright" style="width: 310px"><a href="http://commons.wikipedia.org/wiki/File:Css_box_model.svg" target="_blank"><img class="zemanta-img-inserted zemanta-img-configured" title="Box model in CSS" src="http://sympmarc.com/wp-content/uploads/2012/05/300px-Css_box_model.svg_1.png" alt="Box model in CSS" width="300" height="173" /></a><p class="wp-caption-text">Box model in CSS (Photo credit: Wikipedia)</p></div>
<p>A very smart designer who I respect a lot asked me a question today via IM that I thought would make a good post.</p>
<blockquote><p>&#8230;so I know jquery is great for doing things with CSS &#8211; but I think of only using it when I can&#8217;t actually get to the tag or it needs to be changed on a particular event &#8211; but do you think it is better to make CSS changes in jquery vs CSS &#8211; what are the pros and cons here.</p></blockquote>
<p>Here&#8217;s my thinking about this. I would always err on the side of CSS if possible. jQuery should be used to change CSS based upon some sort of user-generated event.</p>
<p>Many people seem to use jQuery to make CSS changes on page load (in a $(document).ready()) when they have trouble getting the CSS selectors right. If the selector is hard to get right in CSS, then it&#8217;ll probably be pretty hard in jQuery as well because the jQuery selector syntax is roughly the same as CSS3 selectors. jQuery gives you the ability to traverse the DOM, of course, so it can be easier to find an &#8220;anchor element&#8221; from which to navigate to the element you want to style.</p>
<p>My mantra is something like:</p>
<blockquote><p>Ask the server to paint the page. Use jQuery to give it behaviors and interactivity.</p></blockquote>
<p>Setting CSS with script on page load violates this in that it&#8217;s doing part of that initial painting. There&#8217;s also going to be at least a small delay until the script loads which can make the page load look &#8220;funny&#8221; (technical term).<br />
You&#8217;ll see a lot of blog posts that show setting CSS on page load with jQuery, but think carefully in each case about whether it makes sense. If you&#8217;re doing it just to get around figuring out the right selectors in your CSS, then think again.</p>
<p>I&#8217;ll admit that sometimes I cheat on this, especially if I happen to have a .js file open instead of a CSS file. But I also try to make a pass back through my scripts to move things into the CSS that ought to have been there in the first place. You should too!</p>
<div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="border: currentColor; float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=62fed57c-9b46-4bae-8de3-80cda73a7f35" alt="Enhanced by Zemanta" /></a></div>

<p><a href="http://feedads.g.doubleclick.net/~a/lH3TC4GhZu9RvF8NpNMvPrX0aRg/0/da"><img src="http://feedads.g.doubleclick.net/~a/lH3TC4GhZu9RvF8NpNMvPrX0aRg/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/lH3TC4GhZu9RvF8NpNMvPrX0aRg/1/da"><img src="http://feedads.g.doubleclick.net/~a/lH3TC4GhZu9RvF8NpNMvPrX0aRg/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=UUYtw36Qv5A:1wVN74ORRRU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/UUYtw36Qv5A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/05/08/the-jquery-css-function-versus-css/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/05/08/the-jquery-css-function-versus-css/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=the-jquery-css-function-versus-css</feedburner:origLink></item>
		<item>
		<title>Configuring Lync Public IM Connectivity on Office365: But Can I Really Use It?</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/alHBNcMEnSI/</link>
		<comments>http://sympmarc.com/2012/05/08/configuring-lync-public-im-connectivity-but-can-i-really-use-it/#comments</comments>
		<pubDate>Tue, 08 May 2012 12:07:53 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Lync]]></category>
		<category><![CDATA[Office365]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=15267</guid>
		<description><![CDATA[I use Office365 on an E1 plan to run my massive business of one. With that plan, I get Exchange, SharePoint, and Lync. It&#8217;s a fantastic deal for about $10 a month and works great for me. I&#8217;ve sort of ignored the Lync component since there are so many other (somewhat better) options out there. &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/05/08/configuring-lync-public-im-connectivity-but-can-i-really-use-it/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">I use <a title="Office365" href="http://office365.com" target="_blank">Office365</a> on an E1 plan to run my massive business of one. With that plan, I get Exchange, SharePoint, and Lync. It&#8217;s a fantastic deal for about $10 a month and works great for me.</p>
<p style="text-align: left;">I&#8217;ve sort of ignored the Lync component since there are so many other (somewhat better) options out there. But it seemed that I should at least get it set up so that I can do videoconferencing with my clients, primarily IM and screensharing. When I went to configure things, I ran into this gem of a <a href="http://onlinehelp.microsoft.com/en-us/office365-enterprises/hh416763.aspx">help page</a> (highlighting mine):</p>
<p style="text-align: left;">
<p style="text-align: center;"><a href="http://sympmarc.com/wp-content/uploads/2012/05/5-8-2012-07-58-26.jpg"><img class="size-full wp-image-15268 aligncenter" title="Public IM Connectivity Help" src="http://sympmarc.com/wp-content/uploads/2012/05/5-8-2012-07-58-26.jpg" alt="Public IM Connectivity Help" width="562" height="411" /></a></p>
<p>I feel like calling the documentation police on this one. I&#8217;ve read the two highlighted sections about 10 times each and they seem to directly contradict each other. Is it me?</p>
<p>If I can&#8217;t use Lync to do real work (IM, screensharing, audio, video) with anyone else who has Lync, then I&#8217;m not sure what the point of having it is. But from this documentation, I really don&#8217;t know!</p>
<p>One additinoal bote: I&#8217;ve got federation witrh external domains set up to work with all but blocked domains. In other words, I want this to be as open as possible:</p>
<p style="text-align: center;"><a href="http://sympmarc.com/wp-content/uploads/2012/05/5-8-2012-08-22-08.jpg"><img class="size-full wp-image-15284 aligncenter" title="5-8-2012 08-22-08" src="http://sympmarc.com/wp-content/uploads/2012/05/5-8-2012-08-22-08.jpg" alt="" width="565" height="190" /></a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/GzDSrpUUlcpWt08u76LInmp2Gt4/0/da"><img src="http://feedads.g.doubleclick.net/~a/GzDSrpUUlcpWt08u76LInmp2Gt4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/GzDSrpUUlcpWt08u76LInmp2Gt4/1/da"><img src="http://feedads.g.doubleclick.net/~a/GzDSrpUUlcpWt08u76LInmp2Gt4/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=alHBNcMEnSI:ZVNmnc4GrY4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/alHBNcMEnSI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/05/08/configuring-lync-public-im-connectivity-but-can-i-really-use-it/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/05/08/configuring-lync-public-im-connectivity-but-can-i-really-use-it/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=configuring-lync-public-im-connectivity-but-can-i-really-use-it</feedburner:origLink></item>
		<item>
		<title>SharePoint Designer Error When Saving a Page with Multiple Data View Web Parts</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/zgHJWvtOPsw/</link>
		<comments>http://sympmarc.com/2012/05/07/sharepoint-designer-error-when-saving-a-page-with-data-view-web-parts/#comments</comments>
		<pubDate>Mon, 07 May 2012 16:55:45 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Data View Web Part]]></category>
		<category><![CDATA[DVWP]]></category>
		<category><![CDATA[SharePoint Designer]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=15259</guid>
		<description><![CDATA[I could probably write an entire book on the strange things that SharePoint Designer does, but I don&#8217;t have time for that. Instead, it&#8217;s yet another blog post. Today I was adding some Data View Web Parts (DWVPs) to a page, and I took the shortcut of copying and pasting the code of one to &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/05/07/sharepoint-designer-error-when-saving-a-page-with-data-view-web-parts/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I could probably write an entire book on the strange things that SharePoint Designer does, but I don&#8217;t have time for that. Instead, it&#8217;s yet another blog post.</p>
<p>Today I was adding some Data View Web Parts (DWVPs) to a page, and I took the shortcut of copying and pasting the code of one to create another in the same page. This always works, but there are some things you have to do to pull it off.</p>
<p>When I went to save the page, I got this rather cryptic error:</p>
<p style="text-align: center;"><a href="http://sympmarc.com/wp-content/uploads/2012/05/SNAGHTMLf1de879.png"><img class="aligncenter" style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="SNAGHTMLf1de879" src="http://sympmarc.com/wp-content/uploads/2012/05/SNAGHTMLf1de879_thumb.png" alt="SNAGHTMLf1de879" width="1074" height="169" border="0" /></a></p>
<blockquote><p>Server error: The URL Pages/Employee Handbook.aspx is invalid. It may refer to a nonexistent file or folder, or refer to a valid file or folder that is not in the current Web.</p></blockquote>
<p>Now, obviously the page existed, as it was the one I was editing, and the path was right, because it was the original location.</p>
<p>After thinking about it for a few minutes, I realized that I had forgotten to change the GUID in the copy of the original DVWP. I had two DVWPs in the same page with the same GUID, which is a no-no. Of course, the error is totally confusing and doesn&#8217;t indicate the actual problem.</p>
<p>If you copy and paste a DVWP&#8217;s code to create a new one, you have to change [at least] two attributes in either the original or the copy. Both the ID and the __WebPartId must be unique. They will look something like this:</p>
<p>ID=&#8221;g_ff043ef3_b944_4912_b32d_6ff419e69761&#8243;</p>
<p>__WebPartId=&#8221;{476FBB3B-91DD-4FDA-A20C-7FB1DA457B09}&#8221;</p>
<p>I admit that I always cheat on this and simply change the last character of the two GUIDs. I know I&#8217;m supposed to use some GUID generator, but the only place that these two GUID must be unique is within the current page.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/l3gR6K3HyreOMW_H_BXm8VD49KI/0/da"><img src="http://feedads.g.doubleclick.net/~a/l3gR6K3HyreOMW_H_BXm8VD49KI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/l3gR6K3HyreOMW_H_BXm8VD49KI/1/da"><img src="http://feedads.g.doubleclick.net/~a/l3gR6K3HyreOMW_H_BXm8VD49KI/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=zgHJWvtOPsw:YIbDZH_YpTs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/zgHJWvtOPsw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/05/07/sharepoint-designer-error-when-saving-a-page-with-data-view-web-parts/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/05/07/sharepoint-designer-error-when-saving-a-page-with-data-view-web-parts/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=sharepoint-designer-error-when-saving-a-page-with-data-view-web-parts</feedburner:origLink></item>
		<item>
		<title>SharePoint Saturday Boston and SharePoint Conference .ORG</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/ZvPEeYxHKl8/</link>
		<comments>http://sympmarc.com/2012/05/01/sharepoint-saturday-boston-and-sharepoint-conference-org/#comments</comments>
		<pubDate>Tue, 01 May 2012 17:24:17 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery library for SharePoint Web Services]]></category>
		<category><![CDATA[SharePoint Conference .ORG]]></category>
		<category><![CDATA[SharePoint Saturday]]></category>
		<category><![CDATA[SharePoint Saturday Boston]]></category>
		<category><![CDATA[SPServices]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=15244</guid>
		<description><![CDATA[I&#8217;ve had a wonderful time over the last four days as an attendee and speaker at two great SharePoint events. The first one was SharePoint Saturday Boston, right in my own backyard at Microsoft&#8217;s offices in Waltham, MA. Helping Pradeepa Siva, Talbott Crowell (@talbott), and Geoff Varosky (@gvaro) with the organizing a bit certainly gave &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/05/01/sharepoint-saturday-boston-and-sharepoint-conference-org/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had a wonderful time over the last four days as an attendee and speaker at two great SharePoint events.</p>
<p><a href="http://sharepointsaturday.org/boston"><img style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin-right: auto; margin-left: auto; display: block; background-image: none;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/05/image_thumb.png" alt="image" width="470" height="98" border="0" /></a></p>
<p>The first one was <a href="http://sharepointsaturday.org/boston" target="_blank">SharePoint Saturday Boston</a>, right in my own backyard at Microsoft&#8217;s offices in Waltham, MA. Helping Pradeepa Siva, Talbott Crowell (<a href="http://twitter.com/talbott" target="_blank">@talbott</a>), and Geoff Varosky (<a href="http://twitter.com/gvaro" target="_blank">@gvaro</a>) with the organizing a bit certainly gave me a new perspective on the complexity of putting a SharePoint Saturday (or any event) together. All of the things that we as attendees take for granted (the coffee showing up at the right time, good pens for the name tags, trash bags) add up to an staggering array of details to manage.</p>
<p>At SharePoint Saturday Boston, I spoke about <a href="http://www.sharepointsaturday.org/boston/meetings/144/FlyingintheCloudNewWaystoDevelopforSharePoint.aspx" target="_blank">Flying in the Cloud: New Ways to Develop in SharePoint</a>. To some degree, it&#8217;s the same sort of stuff (DVWPs, jQuery, SPServices, etc.) that I&#8217;ve been talking about for years now; moving to the Cloud simply makes it all even more useful. As you know if you attended, I didn&#8217;t use many slides (I never do), but <a href="http://sympmarc.com/wp-content/uploads/2012/05/SPSBOS-Anderson-Flying-in-the-Cloud-New-Ways-to-Develop-for-SharePoint.pptx" target="_blank">here they are</a> if you&#8217;d like them. See below for the demo sites.</p>
<p><a href="http://sharepointconference.org"><img style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin-right: auto; margin-left: auto; display: block; background-image: none;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/05/image_thumb1.png" alt="image" width="316" height="97" border="0" /></a></p>
<p>Next was the SharePoint Conference .ORG in Reston, VA, put on by my friends at <a href="http://SusQTech.com" target="_blank">SusQTech</a>. This is a wonderful conference focused on the public sector primarily, but with plenty of great content for anyone working with SharePoint. SusQTech is a somewhat unusual firm in the they combine world-class design talent with world class SharePoint development and admin talent. There aren&#8217;t that many shops that can handle things soup-to-nuts like they can. Plus, they are simply swell people to know.</p>
<p>On Sunday I taught an all day workshop with one of my design heroes, Kyle Schaeffer (<a href="http://twitter.com/kylschaeffer" target="_blank">@kylschaeffer</a>) on <a href="http://www.sharepointconference.org/Sessions/workshops/Pages/default.aspx" target="_blank">SharePoint UI Essentials</a>. If you haven&#8217;t checked out <a href="http://kyleschaeffer.com/" target="_blank">Kyle&#8217;s blog</a> before, you definitely should, especially his work on responsive design and the <a href="http://kyleschaeffer.com/sharepoint/v5-responsive-html5-master-page/" target="_blank">v5 master page</a>. The sold out workshop took the attendees through the gamut of thinking about SharePoint design, from the &#8220;What is HTML and CSS?&#8221; level to customizing master pages and adding jQuery into the mix to enhance the user experience. Kyle and I had a great time teaching together (let&#8217;s do it again soon, Kyle!) and the feedback was really positive.</p>
<p>On Monday, I did a jQuery-focused session called <a href="http://www.sharepointconference.org/Sessions/DesignTrack/Pages/default.aspx" target="_blank">Working Magic with jQuery and SharePoint Web Services</a> in which I showed how you can use jQuery to spice up the user interface and improve the interactions your users have with SharePoint. Of course, using the SOAP Web Services through <a href="http://spservices.codeplex.com/" target="_blank">SPServices</a> and the value-added functions like <a href="http://spservices.codeplex.com/wikipage?title=$().SPServices.SPCascadeDropdowns" target="_blank">SPCascadeDropdowns</a> it contains played a role in the demos. As with most of my sessions, there were few slides, but <a href="http://sympmarc.com/wp-content/uploads/2012/05/SPC_ORG-Anderson-Working-Magic-with-jQuery-and-SharePoint-Web-Services.pptx">here they are</a>.</p>
<p>I used the same demo sites to talk about all of these topics to some degree, focusing on different bits and pieces within them as the topics shifted. If you&#8217;d like to look under the hood on those demos, here are the <a title="Demo Sites" href="http://sympmarc.com/wp-content/uploads/2012/05/Demo-Sites.zip" target="_blank">Middle Tier and Budgets sites</a> saved as WSPs in a ZIP file. They come from Office365, and sometimes that may cause feature mismatches if you try to instantiate them in an on-premises environment. If you have issues, check <a href="http://sympmarc.com/2012/02/06/trials-and-tribulations-migrating-my-demos-site-to-office365-part-two/" target="_blank">my post</a> on the problems I&#8217;ve had, along with the solutions, and ping me if that doesn&#8217;t work.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/H_qDfj74CUus-Yd38uzCxy8okUE/0/da"><img src="http://feedads.g.doubleclick.net/~a/H_qDfj74CUus-Yd38uzCxy8okUE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/H_qDfj74CUus-Yd38uzCxy8okUE/1/da"><img src="http://feedads.g.doubleclick.net/~a/H_qDfj74CUus-Yd38uzCxy8okUE/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=ZvPEeYxHKl8:QjynCK5ap0I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/ZvPEeYxHKl8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/05/01/sharepoint-saturday-boston-and-sharepoint-conference-org/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/05/01/sharepoint-saturday-boston-and-sharepoint-conference-org/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=sharepoint-saturday-boston-and-sharepoint-conference-org</feedburner:origLink></item>
		<item>
		<title>Making Sense of HTML5 with SharePoint: Internet Explorer 9 Capabilities</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/_4Flb4qefDE/</link>
		<comments>http://sympmarc.com/2012/04/26/making-sense-of-html5-with-sharepoint-internet-explorer-9-capabilities/#comments</comments>
		<pubDate>Thu, 26 Apr 2012 14:08:25 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[EndUserSharePoint.com]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=15221</guid>
		<description><![CDATA[Let&#8217;s take as a sort of given that the majority of people who use SharePoint, at least for Intranets, are using Internet Explorer. I know that&#8217;s a big assumption, and in most organizations it&#8217;s not fully true. Many people choose to go rogue from the standards and use other browsers, most front end developers refuse &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/04/26/making-sense-of-html5-with-sharepoint-internet-explorer-9-capabilities/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://sympmarc.com/wp-content/uploads/2012/04/HTML5_Logo_12810.png"><img class="size-full wp-image-14898 alignright" style="margin: 0px 0px 5px 10px;" title="HTML5_Logo_128" src="http://sympmarc.com/wp-content/uploads/2012/04/HTML5_Logo_12810.png" alt="" width="128" height="128" /></a>Let&#8217;s take as a sort of given that the majority of people who use SharePoint, at least for Intranets, are using Internet Explorer. I know that&#8217;s a big assumption, and in most organizations it&#8217;s not fully true. Many people choose to go rogue from the standards and use other browsers, most front end developers refuse to use IE, etc.</p>
<p>So why make the assumption, you might ask? Well, I want to focus first on the HTML5 capabilities that organizations that use SharePoint can reasonably expect to use. Knowing that the majority of real users (maybe not the people reading this article) use IE as their browser means that our palette is somewhat limited. The fact that many users out there in the real world are still using IE8, IE7, or yes, even IE6 makes it even worse.</p>
<p>So let&#8217;s go with the using IE assumption, but allow that the version is IE9. Without that, this HTML5 stuff is all pipe dreams and smoke. When I I use the IE Developer Tools to set IE9 to IE7 or IE8 modes, I get a measly 42 / 500 points at the <a href="http://html5test.com/" target="_blank">HTML5Test</a> site. It&#8217;s hardly worth bothering with HTML5 goodness at that point. The <a href="http://html5please.com" target="_blank">HTML5Please</a> site takes a different slant and gives a good,. clear overview of the capabilities of the different levels of IE. Without IE9, not so much. <a href="http://caniuse.com/" target="_blank">When can I use&#8230;</a> shows every single HTML5 capability in tables for each browser level. The point is, there&#8217;s lots of information out there about what we should use, use with assistance like shims or shivs, use with fallbacks, or avoid. There&#8217;s no real excuse for developing something that won&#8217;t work with a known browser base.</p>
<p>So let&#8217;s look at the major cool HTML5 stuff that we can do if our users are on IE9, taking the majority of the information from looking across the sites mentioned above. I captured the images (yes, they are just images – no interactivity) from the <a href="http://playground.html5rocks.com" target="_blank">HTML5Rocks Playground</a>.</p>
<h3>Elements</h3>
<p style="text-align: center;"><a href="http://sympmarc.com/wp-content/uploads/2012/04/image7.png"><img class="aligncenter" style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="HTML5 Elements" src="http://sympmarc.com/wp-content/uploads/2012/04/image_thumb8.png" alt="HTML5 Elements" width="614" height="438" border="0" /></a></p>
<p>Elements give us ways to prepare our content to live out on the Semantic Web. For us SharePointilists building internally focused applications it may be of less interest, but over time as content gets wrapped in these elements, we&#8217;ll be able to more easily reuse and redisplay content in different contexts.</p>
<h3>Canvas</h3>
<p style="text-align: center;"><a href="http://sympmarc.com/wp-content/uploads/2012/04/image8.png"><img class="aligncenter" style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin-top: 0px; margin-bottom: 0px; display: inline; background-image: none;" title="HTML5 Canvas" src="http://sympmarc.com/wp-content/uploads/2012/04/image_thumb9.png" alt="HTML5 Canvas" width="210" height="163" border="0" /></a></p>
<p>Canvas may be the HTML5 capability that has the most people excited. Canvas gives us a container into which we can add graphics on the fly using script. &#8216;Nuff sed on this one for now. I&#8217;ll show some cool demos later.</p>
<h3>Video</h3>
<p style="text-align: center;"><a href="http://sympmarc.com/wp-content/uploads/2012/04/image9.png"><img class="aligncenter" style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin-top: 0px; margin-bottom: 0px; display: inline; background-image: none;" title="HTML5 Video" src="http://sympmarc.com/wp-content/uploads/2012/04/image_thumb10.png" alt="HTML5 Video" width="326" height="190" border="0" /></a></p>
<p>Everyone loves a good video player, and HTML5 makes it oh-so-easy. Well, sort of. There are some odd inconsistencies due to the different standard which different browsers support, but remember that we&#8217;re focused on IE here, at least for now. We get a nice video player without any plug-ins or add-ons. See <a href="http://html5video.org/" target="_blank">HTML5Video.org</a> for demos and examples.</p>
<h3>Audio</h3>
<p style="text-align: center;"><a href="http://sympmarc.com/wp-content/uploads/2012/04/image10.png"><img class="aligncenter" style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="HTML5 Audio" src="http://sympmarc.com/wp-content/uploads/2012/04/image_thumb11.png" alt="HTML5 Audio" width="455" height="47" border="0" /></a></p>
<p>Similar to the video player, we get an easy to use audio player. It&#8217;s basically the same thing from the user standpoint – it looks like the video player, but without the video part &#8211; but the way we set things up is a little bit different (but still really easy).</p>
<h3>Now What?</h3>
<p>So, that looks like a pretty short list, doesn&#8217;t it? Unfortunately, it is. The more I dig into this HTML5 stuff, the more I feel that while HTML5 as a standard contains a lot of great stuff, the browsers just aren&#8217;t there yet. Or they are too inconsistent for us to reliably build HTML5-based capabilities without using a lot of shimming.</p>
<p>But it&#8217;s not all bad. In the next set of articles in the series, I&#8217;ll show you how to take advantage of the capabilities above and then get into some of the others that you can use with the appropriate shims and fallbacks.</p>
<div style="margin-top:10px;border:3px #000000 solid;border-radius:10px;width:655px;height:80px;">
<div style="float:left;width:375px;position:relative;margin:10px;">This post also appeared on <a target="_blank" href="http://NothingButSharePoint.com">NothingButSharePoint.com</a>&#8216;s <a href="http://www.nothingbutsharepoint.com/sites/eusp" target="_blank">EndUserSharePoint channel</a> on 2012-04-27.  <a target="_blank" href="https://www.nothingbutsharepoint.com/sites/eusp/Pages/Making-Sense-of-HTML5-with-SharePoint-Internet-Explorer-9-Capabilities.aspx">Visit the post</a> there to read additional comments.</div>
<div style="float:right;width:260px;"><a href="http://www.nothingbutsharepoint.com/sites/eusp" target="_blank"><img src="http://sympmarc.com/wp-content/uploads/2009/12/122209_0306_ajquerylibr1.png"></a></div>
</div>

<p><a href="http://feedads.g.doubleclick.net/~a/ap3PnHaAo2988fvMUGvaW0Nyfhc/0/da"><img src="http://feedads.g.doubleclick.net/~a/ap3PnHaAo2988fvMUGvaW0Nyfhc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ap3PnHaAo2988fvMUGvaW0Nyfhc/1/da"><img src="http://feedads.g.doubleclick.net/~a/ap3PnHaAo2988fvMUGvaW0Nyfhc/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=_4Flb4qefDE:e_HNqmQtAmQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/_4Flb4qefDE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/04/26/making-sense-of-html5-with-sharepoint-internet-explorer-9-capabilities/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/04/26/making-sense-of-html5-with-sharepoint-internet-explorer-9-capabilities/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=making-sense-of-html5-with-sharepoint-internet-explorer-9-capabilities</feedburner:origLink></item>
		<item>
		<title>The Amazing Fake Name Generator</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/6TTkxZaHfbM/</link>
		<comments>http://sympmarc.com/2012/04/23/the-amazing-fake-name-generator/#comments</comments>
		<pubDate>Mon, 23 Apr 2012 17:24:20 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Fake Name Generator]]></category>
		<category><![CDATA[identity]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=15177</guid>
		<description><![CDATA[Have you ever wanted to be someone else? Well you can be, just by visiting the Fake Name Generator. At the moment, I&#8217;m Wanda M. Simmons from Raleigh, NC, but not for long. I think I&#8217;d rather be Gregory B. Arevalo of Radcliff, KY. Or Urunna Chiazagomekpele from Morrinsville Waikato in New Zealand. Yesterday Paul Swider &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/04/23/the-amazing-fake-name-generator/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.fakenamegenerator.com/"><img class="size-full wp-image-15178 alignright" title="Fake Name Generator" src="http://sympmarc.com/wp-content/uploads/2012/04/FNGlogo.png" alt="Fake Name Generator" width="286" height="90" /></a>Have you ever wanted to be someone else? Well you can be, just by visiting the <a title="Fake Name Generator" href="http://www.fakenamegenerator.com/" target="_blank">Fake Name Generator</a>. At the moment, I&#8217;m Wanda M. Simmons from Raleigh, NC, but not for long. I think I&#8217;d rather be Gregory B. Arevalo of Radcliff, KY. Or Urunna Chiazagomekpele from Morrinsville Waikato in New Zealand.</p>
<p>Yesterday Paul Swider (<a title="@pswider" href="http://twitter.com/pswider" target="_blank">@pswider</a>) tweeted that he was looking for 20,000 random names to load into a demo he was working on. I&#8217;m not sure whether someone told him about the Fake Name Generator or if he found it by searching, but it was just what he needed.</p>
<p>Not only can you decide to be someone else, you get a complete identity with a First Name, Last Name, Address, Phone, Website, Email Address, Password, Mother&#8217;s Maiden name, Birthday, MasterCard, Expires, CVC2, Occupation, Company, UPS Tracking Number, Blood type, Weight, Height, GUID, Geo coordinates, and QRCode.</p>
<p>If you need a whole heap of identities, like Paul did, you can &#8220;order&#8221; (they&#8217;re free) large sets in many formats.</p>
<p>It&#8217;s a little bit creepy, but it seems to be totally legitimate. The next time you need a lot of fake user data, you&#8217;ll know where to go for it.</p>
<div class="important_block message-block"><p class="printonly"><strong>Important!</strong></p>I was remiss in not giving Mr. Dan Usher (<a title="@usher" href="http://twitter.com/usher" target="_blank">@usher</a>) credit for spotting the Fake Name Generator in the first place. Mea culpa.</div>
<p>From the <a title="FAQs" href="http://www.fakenamegenerator.com/faq.php" target="_blank">FAQs</a>:</p>
<blockquote>
<h3>Is the Fake Name Generator illegal?</h3>
<p>The simple answer is <strong>no</strong>, the Fake Name Generator is not illegal.</p>
<p>We <strong>do not</strong> condone, support, or encourage illegal activity of any kind. We <strong>will</strong> cooperate with law enforcement organizations to assist in the prosecution of anyone that misuses the information we provide or that asks us to provide illegal materials, such as forged documents or genuine credit card numbers.</p>
<p>All of the information we provide, including credit card numbers and national identification numbers, are fake. They can&#8217;t be used to make purchases online or to obtain employment. We cannot and will not provide genuine credit card numbers or national identification numbers.</p></blockquote>

<p><a href="http://feedads.g.doubleclick.net/~a/JpvGWHymU5myddPnZtN2DlOzNZY/0/da"><img src="http://feedads.g.doubleclick.net/~a/JpvGWHymU5myddPnZtN2DlOzNZY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/JpvGWHymU5myddPnZtN2DlOzNZY/1/da"><img src="http://feedads.g.doubleclick.net/~a/JpvGWHymU5myddPnZtN2DlOzNZY/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=6TTkxZaHfbM:rI42bb_-82o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/6TTkxZaHfbM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/04/23/the-amazing-fake-name-generator/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/04/23/the-amazing-fake-name-generator/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=the-amazing-fake-name-generator</feedburner:origLink></item>
		<item>
		<title>Working with SharePoint People Pickers with jQuery: A New Function Called findPeoplePicker</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/VgdVdSmKYl8/</link>
		<comments>http://sympmarc.com/2012/04/22/working-with-sharepoint-people-pickers-with-jquery-a-new-function-called-findpeoplepicker/#comments</comments>
		<pubDate>Mon, 23 Apr 2012 01:08:45 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery library for SharePoint Web Services]]></category>
		<category><![CDATA[People Picker]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=15161</guid>
		<description><![CDATA[I was working with several People Pickers in a form for a client project last week where I needed to set or get their values at various times in the page lifecycle. These things are pesky little compound controls, I often need to find them in the page, and I get tired of writing new script every &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/04/22/working-with-sharepoint-people-pickers-with-jquery-a-new-function-called-findpeoplepicker/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I was working with several People Pickers in a form for a client project last week where I needed to set or get their values at various times in the page lifecycle. These things are pesky little compound controls, I often need to find them in the page, and I get tired of writing new script every time I want to do it. I&#8217;ve posted in the past about how to <a href="http://sympmarc.com/2008/05/08/get-a-people-pickers-current-value-on-a-form/">get the value with JavaScript</a>, <a href="http://sympmarc.com/2008/06/06/set-a-people-pickers-value-on-a-form/">set the value with JavaScript</a>, <a href="http://sympmarc.com/2010/03/16/set-a-people-pickers-value-on-a-form-revisited-with-jquery/">set one with jQuery</a>, and <a href="http://sympmarc.com/?s=people+picker">more</a>. It seemed high time to just write a little function to give me everything I needed in one go.</p>
<p>Here&#8217;s what I came up with:</p>
<div class="important_block message-block"><p class="printonly"><strong>Important!</strong></p>UPDATE 2012-04-24 &#8211; I made a dumb mistake by using :contains() in the selector for thisRow, which occasionally returned unwanted results. I fixed it with the .filter() function below.</div>
<pre class="brush: jscript; title: ; notranslate">
// Find a People Picker in the page
// Returns references to:
//   row - The TR which contains the People Picker (useful if you'd like to hide it at some point)
//   contents - The element which contains the current value
//   currentValue - The current value if it is set
//   checkNames - The Check Names image (in case you'd like to click it at some point)
$.fn.findPeoplePicker = function(options) {

  var opt = $.extend({}, {
    peoplePickerDisplayName: &quot;&quot;,	// The displayName of the People Picker on the form
    valueToSet: &quot;&quot;,			// The value to set the People Picker to. Should be a string containing each username or groupname separated by semi-colons.
    checkNames: true			// If set to true, the Check Names image will be clicked to resolve the names
  }, options);

  // Find the row containing the People Picker
  var thisRow = $(&quot;nobr&quot;).filter(function() {
    return $(this).text() == opt.peoplePickerDisplayName;
  }).closest(&quot;tr&quot;);
  var thisContents = thisRow.find(&quot;div[Title='People Picker']&quot;);
  var thisCheckNames = thisRow.find(&quot;img[Title='Check Names']:first&quot;);
  if(opt.valueToSet.length &gt; 0) thisContents.html(opt.valueToSet);
  if(opt.checkNames) thisCheckNames.click();
  var thisCurrentValue = thisContents.text();

  return {row: thisRow, contents: thisContents, currentValue: thisCurrentValue, checkNames: thisCheckNames};
}
</pre>
<p>This function doesn&#8217;t just find the People Picker in the form, it also allows you to set it and, if you choose, click the Check Names image automagically. It also returns a JSON object which contains references to the important elements which make up the People Picker so that you can work with them later. Unfortunately, the only thing I can key on to find the darn things in the page is the &lt;nobr&gt; element which contains the DisplayName of the column. There&#8217;s just not anything else in the People Pickers which distingishes them from each other other than the standard comment, like so:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!--  FieldName=&quot;Site Contact&quot;
			 FieldInternalName=&quot;Site_x0020_Contact&quot;
			 FieldType=&quot;SPFieldUser&quot;
		   --&gt;
</pre>
<p>Uising that comment has always seemed even less reliable to me than the DisplayName, even though I select for it in SPServices in several places. (If I&#8217;m missing something, please let me know.)</p>
<p>Here are a few example calls:</p>
<pre class="brush: jscript; title: ; notranslate">
// Set the Site Contact to the current user
siteContactPeoplePicker = $().findPeoplePicker({
  peoplePickerDisplayName: &quot;Site Contact&quot;,
  valueToSet: $().SPServices.SPGetCurrentUser()
});
// Find the Stakeholders People Picker in the form for later us
stakeholdersPeoplePicker = $().findPeoplePicker({
  peoplePickerDisplayName: &quot;Stakeholders&quot;,
  checkNames: false
});
</pre>
<p>In the first call, I&#8217;m setting the Site Contact to the current user and resolving the name. In the second call, I&#8217;m getting references to the important objects for the StakeHolders People Picker so that I can set the value variably later, like so:</p>
<pre class="brush: jscript; title: ; notranslate">
// Set the Stakeholders column value
stakeholdersPeoplePicker.contents.html(stakeholderNames);
stakeholdersPeoplePicker.checkNames.click();
</pre>
<p>I think some variation of this would be helpful to add to SPServices, even though it has nothing to do with the Web Services. Would you use it? What else would you want it to do?</p>

<p><a href="http://feedads.g.doubleclick.net/~a/oP4Y70hIg1-XtvCyVW3MMbbcJKo/0/da"><img src="http://feedads.g.doubleclick.net/~a/oP4Y70hIg1-XtvCyVW3MMbbcJKo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/oP4Y70hIg1-XtvCyVW3MMbbcJKo/1/da"><img src="http://feedads.g.doubleclick.net/~a/oP4Y70hIg1-XtvCyVW3MMbbcJKo/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=VgdVdSmKYl8:YxHB5TLh_n0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/VgdVdSmKYl8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/04/22/working-with-sharepoint-people-pickers-with-jquery-a-new-function-called-findpeoplepicker/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/04/22/working-with-sharepoint-people-pickers-with-jquery-a-new-function-called-findpeoplepicker/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=working-with-sharepoint-people-pickers-with-jquery-a-new-function-called-findpeoplepicker</feedburner:origLink></item>
		<item>
		<title>Referencing jQuery, jQueryUI, and SPServices from CDNs</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/TmEDyIy-hs4/</link>
		<comments>http://sympmarc.com/2012/04/20/referencing-jquery-jqueryui-and-spservices-from-cdns/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 18:07:58 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[CDN]]></category>
		<category><![CDATA[cdnjs]]></category>
		<category><![CDATA[Content Editor Web Part]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery library for SharePoint Web Services]]></category>
		<category><![CDATA[jQuery UI]]></category>
		<category><![CDATA[SPServices]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=15148</guid>
		<description><![CDATA[OK, I admit it. Now that SPServices is available on a CDN, I&#8217;m coming around to thinking that CDNs might be a good idea in some cases. I had been balking at using them primarily from a control standpoint, and I&#8217;m still concerned with that aspect. When you host the script and CSS files you &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/04/20/referencing-jquery-jqueryui-and-spservices-from-cdns/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>OK, I admit it. Now that <a title="SPServices" href="http://spservices.codeplex.com" target="_blank">SPServices</a> is <a title="SPServices on cdnjs" href="http://www.cdnjs.com/#/search/jquery.spservices" target="_blank">available on a CDN</a>, I&#8217;m coming around to thinking that CDNs might be a good idea in some cases. I had been balking at using them primarily from a control standpoint, and I&#8217;m still concerned with that aspect. When you host the script and CSS files you are using yourself, you know exactly what you&#8217;re going to get. You control the content, the naming conventions, the storage location, the uptime, everything. With CDNs, many of those things are no longer your problem, but you give up some control. I don&#8217;t think that CDNs are perfect in every situation, but they can sure be useful.</p>
<p>When I was <a href="http://www.sharepointstories.com/2012/04/taking-next-step.html" target="_blank">working with Dan Antion and his team</a> last week, I needed to quickly get something up and running while they were all staring at me, expecting me to perform. (They are the nicest people, but it&#8217;s still unnerving to be on the spot to write great code on demand. It seems that I managed to pull it off.) Rather than trying to go out and download <a title="jQuery" href="http://jquery.com" target="_blank">jQuery</a>, <a title="jQueryUI" href="http://jqueryui.com/" target="_blank">jQueryUI</a>, and SPServices right then, I decided to quickly toss together a txt file I could easily point to in a Content Editor Web Part (CEWP).</p>
<p>Here&#8217;s what I came up with. Google hosts jQuery, jQueryUI, and all of the standard jQueryUI themes, and SPServices is now on cdnjs.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!-- Reference the jQueryUI theme's stylesheet on the Google CDN. Here we're using the &quot;Start&quot; theme --&gt;
&lt;link  type=&quot;text/css&quot; rel=&quot;stylesheet&quot; href=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/themes/start/jquery-ui.css&quot; /&gt;

&lt;!-- Reference jQuery on the Google CDN --&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;!-- Reference jQueryUI on the Google CDN --&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
&lt;!-- Reference SPServices on cdnjs (Cloudflare) --&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://cdnjs.cloudflare.com/ajax/libs/jquery.SPServices/0.7.1a/jquery.SPServices-0.7.1a.min.js&quot;&gt;&lt;/script&gt;
</pre>
<p>I didn&#8217;t realize it at the time, but this txt file has become a standard part of my toolkit already. I&#8217;ve added it to three client environments just since last week. It&#8217;s the A #1 fastest way to get something up and running, even if you know you&#8217;re going to host the files locally later.</p>
<p>You simply add a CEWP to whatever page you want to work on, and then point the Content Link to wherever you&#8217;ve stored the txt file above. I usually use a Document Library in the root site of my Site Collection called ScriptCSS or something like that. You can, of course, just paste the contents of the txt file into your master page if your use of these tools is going to be ubiquitous.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/p5sYxZ63IiaOBbEauyueBd3TXZM/0/da"><img src="http://feedads.g.doubleclick.net/~a/p5sYxZ63IiaOBbEauyueBd3TXZM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/p5sYxZ63IiaOBbEauyueBd3TXZM/1/da"><img src="http://feedads.g.doubleclick.net/~a/p5sYxZ63IiaOBbEauyueBd3TXZM/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=TmEDyIy-hs4:2ktX4YmHjTs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/TmEDyIy-hs4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/04/20/referencing-jquery-jqueryui-and-spservices-from-cdns/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/04/20/referencing-jquery-jqueryui-and-spservices-from-cdns/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=referencing-jquery-jqueryui-and-spservices-from-cdns</feedburner:origLink></item>
		<item>
		<title>Making Sense of HTML5 with SharePoint: Hello World</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/pd7xGWRRGuc/</link>
		<comments>http://sympmarc.com/2012/04/17/making-sense-of-html5-with-sharepoint-hello-world/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 03:11:17 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[EndUserSharePoint.com]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=15117</guid>
		<description><![CDATA[If you&#8217;ve been following along with this series, you&#8217;ve probably been thinking &#8220;Great, but what can I do with HTML5 in SharePoint?&#8221; In other words &#8216;What&#8217;s in it for me?&#8221; Let&#8217;s take a look at a simple example. First of all, as I mentioned in the last article, we need to make some modifications to &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/04/17/making-sense-of-html5-with-sharepoint-hello-world/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><img style="margin: 0px 0px 0px 10px; display: inline; float: right;" src="http://sympmarc.com/wp-content/uploads/2012/04/HTML5_Logo_1285.png" alt="" align="right" />If you&#8217;ve been following along with this series, you&#8217;ve probably been thinking &#8220;Great, but what can I do with HTML5 in SharePoint?&#8221; In other words &#8216;What&#8217;s in it for me?&#8221; Let&#8217;s take a look at a simple example.</p>
<p>First of all, as I mentioned in the last article, we need to make some modifications to the SharePoint master page so that we can take advantage of the HTML5 goodness. It actually gets a bit more complicated than just changing the doctype and a meta tag. Luckily, SharePoint design guru <a href="http://kyleschaeffer.com" target="_blank">Kyle Schaeffer</a> has done the hard work for us and has published <a href="http://kyleschaeffer.com/sharepoint/v5-responsive-html5-master-page/" target="_blank">v5, the Responsive HTML5 Master Page for SharePoint 2010</a>. For this article (and probably many following articles), I&#8217;m going to use Kyle&#8217;s v5 master page to help leapfrog us into HTML5-land. You should be able to follow Kyle&#8217;s instructions pretty easily to get v5.master up and running in your environment. Remember that you should only use it in a test environment for this exercise, as there are many reasons why using the v5 master may not be a good idea for your production sites today.</p>
<p>Once you get v5.master installed, the home page of your site ought to look something like this:</p>
<p style="text-align: center;"><a href="http://sympmarc.com/wp-content/uploads/2012/04/image6.png"><img class="aligncenter" style="background-image: none; margin-top: 0px; margin-bottom: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0pt none;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/04/image_thumb6.png" alt="image" width="833" height="352" border="0" /></a></p>
<p>I&#8217;m keeping the look that Kyle&#8217;s given us in v5.master as is because it&#8217;s distinctive looking and we can easily tell that we&#8217;re doing something different. In addition to getting a great HTML5 setup, v5.master also gives you a responsive design layout. As you start to think about how HTML5 and CSS3 might help you to provide SharePoint support for different screen sizes, responsive design is one approach you might consider. (We should really pause here to give Kyle a big hand; this is truly great work!)</p>
<p>So, we&#8217;ve got v5.master in place and we can now take advantage of HTML5. (I feel a little like Julia Child when she says &#8220;I just happen to have a completed soufflé right here in this other oven.&#8221;) In thinking about what a &#8220;Hello World&#8221; for HTML5 and SharePoint might be, I struggled a little. Regardless what I chose, there had to be some up front work (borrowing Kyle&#8217;s v5.master page gets me past that) and putting the words &#8220;Hello World&#8221; on the page doesn&#8217;t show any real HTML5 goodness. I think I&#8217;ve settled on something simple enough, yet useful enough, to prove that HTML5 can really make your pages sing, and more easily than using other methods.</p>
<p>One of the things we get with HTML5 is some new attributes for input elements. Input elements are the things we use in HTML to get input from the user. So, for instance, the Title column in any SharePoint list is rendered on the list forms as an input element that looks like this:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;input name=&quot;ctl00$m$g_3f366f7e_f974_479a_afcf_552d2de2688e$ctl00$ctl05$ctl00$ctl00$ctl00$ctl04$ctl00$ctl00$TextField&quot; title=&quot;Title&quot; class=&quot;ms-long ms-spellcheck-true&quot; id=&quot;ctl00_m_g_3f366f7e_f974_479a_afcf_552d2de2688e_ctl00_ctl05_ctl00_ctl00_ctl00_ctl04_ctl00_ctl00_TextField&quot; type=&quot;text&quot; maxLength=&quot;255&quot;/&gt;
</pre>
<p>Once you get past the really long (and ugly) name and id attributes, the input element is pretty simple. It has a title attribute that contains the name of the column (&#8216;Title&#8221;), a few CSS classes (&#8220;ms-long ms-spellcheck-true&#8221;), a type (&#8220;text&#8221;), and a maxLength (&#8220;255&#8243;). As far as HTML elements go, it&#8217;s about as straightforward as it gets.</p>
<p>Depending on your branding, the input element will render looking something like this. We&#8217;ve all seen it before.</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/04/4-17-2012-23-15-43.jpg"><img class="size-full wp-image-15121 aligncenter" title="Title Column" src="http://sympmarc.com/wp-content/uploads/2012/04/4-17-2012-23-15-43.jpg" alt="" width="534" height="39" /></a>Now, we&#8217;ve all visited sites where there is a helpful prompt inside the input element that tells us what we should plan to type into it.</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/04/4-17-2012-23-29-17.jpg"><img class="size-full wp-image-15122 aligncenter" title="Title Column with Prompt" src="http://sympmarc.com/wp-content/uploads/2012/04/4-17-2012-23-29-17.jpg" alt="" width="602" height="36" /></a>It&#8217;s a great little mechanism to help a user to understand what they need to do next. We&#8217;ve all become very used to it and while we may not notice it after a while, it can lend a great assist. The nice thing about it is that the prompt text disappears when we put our cursor into the input element and it only reappears if we leave the element without typing a value.</p>
<p>SharePoint doesn&#8217;t give us this behavior out of the box, but we can make it happen with a little script.</p>
<pre class="brush: jscript; title: ; notranslate">
var titleInput = $(&quot;input[title='Title']&quot;);
var promptText = &quot;Please type a title for this item&quot;;

// When we click into the element, remove the prompt text if it is there
titleInput.click(function() {
  if($(this).val() == promptText) $(this).val(&quot;&quot;);
});

// When we leave the element, replace the prompt text if there is no value
titleInput.blur(function() {
  if($(this).val() == &quot;&quot;) $(this).val(promptText);
});

// Set the initial prompt text if there's no value by triggering the blur event
titleInput.blur();
</pre>
<p>That&#8217;s not too complicated, yet it&#8217;s more complicated than it seems like it ought to be. I didn&#8217;t have an example lying around, so I decided to write it from scratch, which took me about ten minutes. I needed to think about the edge conditions (what if there&#8217;s a value but it&#8217;s not the promptText?)</p>
<p>So what does HTML5 gain us that makes this easier? Well, there&#8217;s a new attribute for the input element called &#8220;placeholder&#8221;. To get the behavior that I wanted above, I can simply do this:</p>
<pre class="brush: jscript; title: ; notranslate">
$(&quot;input[title='Title']&quot;).prop(&quot;placeholder&quot;, &quot;Please type a title for this item&quot;);
</pre>
<p>Now you may be saying &#8220;Wait a minute. You&#8217;re still writing script!&#8221; Indeed I am, but it&#8217;s only one line of script. The only reason I need to use script at all is that SharePoint doesn&#8217;t &#8220;know&#8221; anything about the placeholder attribute. (I could write managed code to modify the Title column across the board, but that would be tremendous overkill and may not even be what we want.) All the script is doing is adding the placeholder attribute to the input element, and HTML5 takes care of the rest and we get this in the active DOM:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;input name=&quot;ctl00$m$g_3f366f7e_f974_479a_afcf_552d2de2688e$ctl00$ctl05$ctl00$ctl00$ctl00$ctl04$ctl00$ctl00$TextField&quot; title=&quot;Title&quot; class=&quot;ms-long ms-spellcheck-true&quot; id=&quot;ctl00_m_g_3f366f7e_f974_479a_afcf_552d2de2688e_ctl00_ctl05_ctl00_ctl00_ctl00_ctl04_ctl00_ctl00_TextField&quot; type=&quot;text&quot; maxLength=&quot;255&quot; placeholder= &quot;Please type a title for this item&quot;/&gt;
</pre>
<p>Well, HTML5 doesn&#8217;t actually do anything, but it tells the browser that it should do the prompt text thing. Unfortunately, Internet Explorer 9 doesn&#8217;t support the placeholder attribute yet (check the <a title="HTML5 Test" href="http://html5test.com/" target="_blank">HTML5 Test</a> again) so I had to run through this little exercise in Firefox.</p>
<p>And there&#8217;s the rub again. Since browsers don&#8217;t all behave the same yet, we have to consider which HTML5 capabilities we can use. Kyle&#8217;s v5.master loads<a title="HTML5Shiv" href="http://code.google.com/p/html5shiv/" target="_blank"> HTML5 Shiv</a> if the browser is IE &lt; 9, but that doesn&#8217;t seem to fix it and I didn&#8217;t feel like monkeying with it to get it working in IE. In other words, there are still monsters here for those who are not wary.</p>
<p>So, there you go: a &#8220;Hello World&#8221; exercise, if you will. The real point (in case I didn&#8217;t make it well enough) is that HTML5 gives us easier ways to do some common tasks. In this case it&#8217;s a simple prompt in an input element, but there are more complex tasks (think playing videos, and more) that HTML5 will also make much easier. Stay tuned for more&#8230;</p>
<div style="margin-top:10px;border:3px #000000 solid;border-radius:10px;width:655px;height:80px;">
<div style="float:left;width:375px;position:relative;margin:10px;">This post also appeared on <a target="_blank" href="http://NothingButSharePoint.com">NothingButSharePoint.com</a>&#8216;s <a href="http://www.nothingbutsharepoint.com/sites/eusp" target="_blank">EndUserSharePoint channel</a> on 2012-04-18.  <a target="_blank" href="https://www.nothingbutsharepoint.com/sites/eusp/Pages/Making-Sense-of-HTML5-with-SharePoint-Hello-World.aspx">Visit the post</a> there to read additional comments.</div>
<div style="float:right;width:260px;"><a href="http://www.nothingbutsharepoint.com/sites/eusp" target="_blank"><img src="http://sympmarc.com/wp-content/uploads/2009/12/122209_0306_ajquerylibr1.png"></a></div>
</div>

<p><a href="http://feedads.g.doubleclick.net/~a/cCfLUwzHkU7BQatOLU9h83AKcFc/0/da"><img src="http://feedads.g.doubleclick.net/~a/cCfLUwzHkU7BQatOLU9h83AKcFc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/cCfLUwzHkU7BQatOLU9h83AKcFc/1/da"><img src="http://feedads.g.doubleclick.net/~a/cCfLUwzHkU7BQatOLU9h83AKcFc/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=pd7xGWRRGuc:whTLc22YE3k:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/pd7xGWRRGuc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/04/17/making-sense-of-html5-with-sharepoint-hello-world/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/04/17/making-sense-of-html5-with-sharepoint-hello-world/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=making-sense-of-html5-with-sharepoint-hello-world</feedburner:origLink></item>
		<item>
		<title>When to Choose SPServices vs. the Client Side Object Model (CSOM)</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/hoOAfDQOQEE/</link>
		<comments>http://sympmarc.com/2012/04/12/when-to-choose-spservices-vs-the-client-side-object-model-csom/#comments</comments>
		<pubDate>Thu, 12 Apr 2012 14:22:31 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Client Side Object Model]]></category>
		<category><![CDATA[CSOM]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery library for SharePoint Web Services]]></category>
		<category><![CDATA[SPServices]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14870</guid>
		<description><![CDATA[Mark Rackley (@MrAckley) and I had a Twonversation with Jeff Jones (@SPJeff) about a month ago about when it is good to use SharePoint&#8217;s Client Side Object Model (CSOM) over SPServices. You can see the important bits of that conversation in the image to the right. (Yeah, it&#8217;s taken us forever to get this post done. I &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/04/12/when-to-choose-spservices-vs-the-client-side-object-model-csom/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://sympmarc.com/wp-content/uploads/2012/03/image7.png"><img class="alignright" style="margin: 0px 0px 0px 10px; border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/04/image_thumb79.png" alt="image" width="254" height="480" align="right" border="0" /></a>Mark Rackley (<a href="http://twitter.com/MrAckley" target="_blank">@MrAckley</a>) and I had a Twonversation with Jeff Jones (<a href="twitter.com/spjeff" target="_blank">@SPJeff</a>) about a month ago about when it is good to use SharePoint&#8217;s <a href="http://msdn.microsoft.com/en-us/library/ee537247(v=office.14).aspx" target="_blank">Client Side Object Model (CSOM)</a> over <a href="http://spservices.codeplex.com/" target="_blank">SPServices</a>. You can see the important bits of that conversation in the image to the right. (Yeah, it&#8217;s taken us forever to get this post done. I blame Mark.)</p>
<p>In fact, Mark and I often are asked “When should you use SPServices vs. the CSOM?” Both technologies are script-based, and both allow you to talk to SharePoint through its Web Services. However, there are some important differences to consider when you are deciding which to use,</p>
<p>In this post, Mark and I will try to give you some pros and cons for each. Many of these statements are subjective on purpose; it&#8217;s the way the two of us view the two technologies and shows some of the considerations we take into account as we make architectural choices for our clients.</p>
<h2>Why You Should Be Using SPServices (says Marc)</h2>
<p>SPServices is a jQuery library which I wrote and continue to work on, so I have to admit a strong bias. However, I think there are some clear reasons that you should use it in some cases. It’s not the only answer, but it’s a great tool you can use to solve real business problems.</p>
<p>SPServices exposes a <a href="http://spservices.codeplex.com/wikipage?title=$().SPServices" target="_blank">wide range</a> of SharePoint’s Web Services in either SharePoint 2007 or 2010, letting you interact with the Webs, Users and Groups, Permissions, UserProfileService, and Workflow Web Services, and more. This interaction is consistent between SharePoint 2007 and 2010, so there’s no relearning when you upgrade. (Yes, Virginia, there are still a lot of organizations out there running some flavor of SharePoint 2007.)</p>
<p>SPServices supports anonymous access to read and write to lists, and it works cross-site and cross-domain by simply specifying the webURL in the Web Service operations where it makes sense to do so. Of course, your authentication model has to allow cross-domain access.</p>
<p>The syntax in SPServices is relatively simple and pretty consistent with the way jQuery and other mainstream scripting libraries work these days. All you have to do is pass the Web Service operation you want to call, along with the required parameters in the options. No fuss, no muss. The SOAP Web Services, upon which SPServices is built, return XML and parsing XML with jQuery is old hat for most Web developers. SPServices’ reliance on the jQuery library ensures great cross-browser consistency as well. Most of the code you write using SPServices is going to work exactly the same way regardless of the browser your users have.</p>
<p>Finally, because I continue to develop SPServices &#8211; most frequently based on user input &#8211; it’s highly likely that I’ll make a new option or function available to meet your needs. I put out new releases of SPServices regularly (there were five releases in the last year) and aim to keep the library evolving and staying current with newer versions of jQuery. Obviously, keeping bugs to a minimum is an ever-present goal. Oh, and it’s free to use on Codeplex, under the MIT License.</p>
<h2>Why you should be using the Client Object Model (says Mark)</h2>
<p>Yeah.. yeah.. yeah… SPServices is groovy and all and Marc did a great job with it, but if you are using SharePoint 2010 it should NOT be your first choice when it comes to client side development. Why? I’m so glad you asked!</p>
<p>Unless you need anonymous access or cross site access, SPServices is actually a detriment to your SharePoint sustainability. COM is the only way to go.</p>
<p>Like it or not COM is the future and .asmx web services are the past. You need to learn the current technologies and let the outdated stuff go away. Main stream support for SharePoint 2007 ends in October and vNext is just over the horizon. Microsoft has some pretty smart people and I would not be surprised in the least if they addressed the anonymous access issue in SharePoint 15 as well as some of the other limitations.  So, if you don&#8217;t use COM and rely on older technologies you may very well find yourself rewriting a lot of code when you could have been ahead of the game.</p>
<p>Additionally COM uses RESTful Web Services and can return your data as JSON which means better performance and less data being passed over the wire. Performance is a huge issue with JavaScript and jQuery so from this standpoint alone COM is the better choice. COM is also structured much more like .NET and has a nicer &#8220;feel&#8221; to it for the average .NET developer plus it&#8217;s more developer friendly (&#8220;ows_Title&#8221; anyone?).  Lastly, COM is NOT jQuery based. It is written in ECMAScript (JavaScript to the rest of us) so there are no additional libraries or overhead needed. How’s THAT for compatibility?</p>
<p>I think it’s pretty black and white. SPServices is a great tool that I have used quite effectively, but if you are using SharePoint 2010, want better performance, a better development experience, and a technology that will definitely exist in vNext then you have to use the Client Object Model.</p>
<h2>Summing it up&#8230;</h2>
<p>And because I&#8217;m typing this, I get to say that Mark is all wrong. No, that&#8217;s absolutely NOT the case, All of Mark&#8217;s points are valid, but there isn&#8217;t a one-size-fits-all answer to everything. To help you decide which directions to take for your own organization, we&#8217;ve compiled this list of pros and cons for each option. Do you have other ideas for pros and cons? If so, please post the here in the comments or on <a href="http://www.sharepointhillbilly.com/Lists/Posts/Post.aspx?ID=15" target="_blank">Mark&#8217;s post on his blog</a>.</p>
<div style="margin-top:10px;border:3px #000000 solid;border-radius:10px;width:655px;height:80px;">
<div style="float:left;width:375px;position:relative;margin:10px;">This post also appeared on <a target="_blank" href="http://NothingButSharePoint.com">NothingButSharePoint.com</a>&#8216;s <a href="http://www.nothingbutsharepoint.com/sites/eusp" target="_blank">EndUserSharePoint channel</a> on 2012-04-25.  <a target="_blank" href="https://www.nothingbutsharepoint.com/sites/devwiki/articles/Pages/When-to-Choose-SPServices-vs-the-Client-Side-Object-Model-CSOM.aspx">Visit the post</a> there to read additional comments.</div>
<div style="float:right;width:260px;"><a href="http://www.nothingbutsharepoint.com/sites/eusp" target="_blank"><img src="http://sympmarc.com/wp-content/uploads/2009/12/122209_0306_ajquerylibr1.png"></a></div>
</div>
<h2>SPServices</h2>
<h3>Pros</h3>
<ul>
<li>A <a href="http://spservices.codeplex.com/wikipage?title=$().SPServices">wide range</a> of SharePoint functionality is exposed with the <a href="http://msdn.microsoft.com/en-us/library/ee705814.aspx">SOAP Web Services</a>, much of which is not available in CSOM</li>
<li>Allows anonymous access (assuming it is enabled for the underlying objects)</li>
<li>Works cross-site and cross-domain, assuming that the authentication model you are using allows it</li>
<li>Simpler syntax than the CSOM. Simply pass the required parameters to the Web Service operation, e.g., GetListItems</li>
<li>Built on top of jQuery, which is very good at ensuring cross-browser compatibility</li>
<li>Regularly updated and refined to be compatible with new versions of jQuery and to add new functionality based on user input</li>
<li>Works identically in SharePoint 2007 and 2010 (where the same Web Services exist – see <a href="http://spservices.codeplex.com/wikipage?title=$().SPServices" target="_blank">chart</a>)</li>
</ul>
<h3>Cons</h3>
<ul>
<li>The SOAP Web Services which SPServices wraps is “old” technology which only returns XML</li>
<li>Because the SOAP Web Services are older technology, they may not be supported as long as CSOM</li>
</ul>
<h2>CSOM</h2>
<h3>Pros</h3>
<ul>
<li>Provides access to the “modern” RESTFul Web Services which return JSON or XML based upon your need</li>
<li>Coding patterns mirror .NET, which may make more sense to .NET developers</li>
</ul>
<h3>Cons</h3>
<ul>
<li>No anonymous access</li>
<li>No cross-site or cross-domain capabilities</li>
<li>Complicated syntax which mirrors .NET coding patterns, which may make less sense to Web developers</li>
<li>Have to create your own success and failure methods</li>
</ul>

<p><a href="http://feedads.g.doubleclick.net/~a/MP8N_BkmdqmFfgJn79IFD3FfTPI/0/da"><img src="http://feedads.g.doubleclick.net/~a/MP8N_BkmdqmFfgJn79IFD3FfTPI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/MP8N_BkmdqmFfgJn79IFD3FfTPI/1/da"><img src="http://feedads.g.doubleclick.net/~a/MP8N_BkmdqmFfgJn79IFD3FfTPI/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=hoOAfDQOQEE:JMvBdHldQK8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/hoOAfDQOQEE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/04/12/when-to-choose-spservices-vs-the-client-side-object-model-csom/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/04/12/when-to-choose-spservices-vs-the-client-side-object-model-csom/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=when-to-choose-spservices-vs-the-client-side-object-model-csom</feedburner:origLink></item>
		<item>
		<title>Customizing the Display of a SharePoint 2010 Blog</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/tPF3_kYQU7Y/</link>
		<comments>http://sympmarc.com/2012/04/04/customizing-the-display-of-a-sharepoint-2010-blog/#comments</comments>
		<pubDate>Wed, 04 Apr 2012 17:49:10 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[customization]]></category>
		<category><![CDATA[XLV Web Part]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=15067</guid>
		<description><![CDATA[I&#8217;ve changed pages countless times in SharePoint Designer, but this case, where I wanted to make a relatively small change to the home page of a Blog site, proved especially onerous. In most cases, overriding the default XSL is as simply as editing what&#8217;s there and saving your changes. It would seem that the team &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/04/04/customizing-the-display-of-a-sharepoint-2010-blog/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve changed pages countless times in SharePoint Designer, but this case, where I wanted to make a relatively small change to the home page of a Blog site, proved especially onerous.</p>
<p>In most cases, overriding the default XSL is as simply as editing what&#8217;s there and saving your changes.</p>
<p>It would seem that the team that works on blogs doesn&#8217;t chat with the rest of the product group, because blogs work differently. Blog pages use an XSL file called blog.xsl, which live in the _layouts folder on the Web Front Ends (WFEs).</p>
<p>On the home page of a blog site (default.aspx), there are several XLV Web Parts, but the main one is the one which displays the most recent posts. All I wanted to do in this case was display a different column instead of Created By (@Author) . Because in many organizations someone different that the author is the person who types the post, we had added a Written By column to the Posts list. The logic was simple: if the Written By column had a value, show it, otherwise show the Created By column as usual.</p>
<p>I wanted to keep the XLV Web Part in place in case we needed to work with it in the future, plus the markup it emits is a bit crufty and I didn&#8217;t want to have to replicate it all with a custom DVWP. (In retrospect, this *may* have been easier.)</p>
<p>It should have been pretty easy to make the change, but I went down some rat holes. I don&#8217;t want *you* to go down those rat holes, so here&#8217;s what ended up working.</p>
<p>Open the page in SharePoint Designer, position your cursor on the XLV Web Part which displays the posts and in the List View Tools section of the ribbon, choose Customize XSLT / Customize Entire View.</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/04/image5.png"><img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/04/image_thumb5.png" alt="image" width="642" height="162" border="0" /></a></p>
<p>This pulls the XSL from blog.xsl into the page, in theory so that we can customize it. However, don&#8217;t go down that path; there be monsters. Instead, find the line:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;xsl:include href=&quot;/_layouts/xsl/blog.xsl&quot;/&gt;
</pre>
<p>and Ctrl-Click on the href link to the blog.xsl file. This will open the blog.xsl file in a different SharePoint Designer window for the root of the Site Collection. This is handy, because you now want to save a copy of blog.xsl in a Document Library in the root site of the Site Collection. I usually create a Document Library called XSL anyway to hold frequently-used XSL templates, like the ones I have in my <a title="SPXSLT" href="http://spxslt.codeplex.com" target="_blank">SPXSLT Codeplex Project</a>. I named my copy BlogWrittenBy.xsl.</p>
<p>Close the default.aspx page you opened in the blog site now WITHOUT saving it. Remember? Monsters. Open it again. See, no monsters.</p>
<p>Since we had added a new custom column called Written By, I needed to add it to the ViewFields section so that the XLV Web Part would retrieve values for it:</p>
<pre class="brush: xml; highlight: [12]; title: ; notranslate">
&lt;ViewFields&gt;
  &lt;FieldRef Name=&quot;Title&quot;/&gt;
  &lt;FieldRef Name=&quot;Body&quot;/&gt;
  &lt;FieldRef Name=&quot;Author&quot;/&gt;
  &lt;FieldRef Name=&quot;PostedByWithDate&quot;/&gt;
  &lt;FieldRef Name=&quot;CategoryWithLink&quot;/&gt;
  &lt;FieldRef Name=&quot;Permalink&quot;/&gt;
  &lt;FieldRef Name=&quot;EmailPostLink&quot;/&gt;
  &lt;FieldRef Name=&quot;NumCommentsWithLink&quot;/&gt;
  &lt;FieldRef Name=&quot;PublishedDate&quot;/&gt;
  &lt;FieldRef Name=&quot;PostCategory&quot;/&gt;
  &lt;FieldRef Name=&quot;Written_x0020_By&quot;/&gt;
&lt;/ViewFields&gt;
</pre>
<p>Then I saved the file. Yes, that customizes (or unghosts) the file. I&#8217;m OK with that.</p>
<p>Back to the BlogWrittenBy.xsl file I saved above. I found the section of the XSL where Created By (@Author) is emitted:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;xsl:when test=&quot;@Name='Author'&quot;&gt;&lt;span class=&quot;ms-postfootercolor&quot;&gt;&lt;xsl:value-of select=&quot;'by '&quot;/&gt;&lt;/span&gt;&lt;xsl:text disable-output-escaping=&quot;yes&quot; ddwrt:nbsp-preserve=&quot;yes&quot;&gt;&amp;amp;nbsp;&lt;/xsl:text&gt;&lt;xsl:value-of select=&quot;$thisNode/@Author.span&quot; disable-output-escaping=&quot;yes&quot; /&gt;&lt;/xsl:when&gt;
</pre>
<p>and replaced it with this:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;xsl:when test=&quot;@Name='Author'&quot;&gt;
  &lt;xsl:variable name=&quot;ShowPerson&quot;&gt;
    &lt;xsl:choose&gt;
      &lt;xsl:when test=&quot;string-length($thisNode/@Written_x0020_By.id) &amp;gt; 0&quot;&gt;
        &lt;xsl:value-of select=&quot;$thisNode/@Written_x0020_By.span&quot; disable-output-escaping=&quot;yes&quot;/&gt;
      &lt;/xsl:when&gt;
      &lt;xsl:otherwise&gt;
        &lt;xsl:value-of select=&quot;$thisNode/@Author.span&quot; disable-output-escaping=&quot;yes&quot;/&gt;
      &lt;/xsl:otherwise&gt;
    &lt;/xsl:choose&gt;
  &lt;/xsl:variable&gt;
  &lt;span class=&quot;ms-postfootercolor&quot;&gt;&lt;xsl:value-of select=&quot;$thisNode/../@resource.wss.ByPrefix&quot;/&gt;&lt;/span&gt;&lt;xsl:text disable-output-escaping=&quot;yes&quot; ddwrt:nbsp-preserve=&quot;yes&quot;&gt;&amp;amp;nbsp;&lt;/xsl:text&gt;&lt;xsl:value-of select=&quot;$ShowPerson&quot; disable-output-escaping=&quot;yes&quot; /&gt;
&lt;/xsl:when&gt;
</pre>
<p>This added the conditional logic we wanted.</p>
<p>Next, off to the browser, where I opened the page for editing. In the Tool Pane for the List View Web Part which shows the blog posts, I went to the Miscellaneous section and added a link to my XSL file in the Xsl Link field. In my case, since it was stored in the root of my Site Collection, the link was /XSL/BlogWrittenBy.xsl.</p>
<p>Then I saved the change and voila! Exactly what I wanted.</p>
<p>There are other ways to accomplish what I did here with a deployable feature and managed code, etc. In this case, it was a small farm with only a production environment and a single blog where we wanted to make the change. All you enterprise types just gasped, but this is the reality in many organizations.</p>
<p>Obviously it wasn&#8217;t all as simple as what I outline above. Here are some of the things I found:</p>
<ul>
<li>If I edited the XSL in SharePoint Designer (after the Customize Entire View step), my changes worked great in SharePoint Designer,. However, when I went to the browser, I saw the page the same way it had looked before. I believe this is because the blog.xsl file was pulled in anyway, and no amount of jiggling things could get me past that.</li>
<li>If I tried to add the XSLLink in SharePoint Designer, which ought to work, it always stripped off the leading / in the link to the XSL file. This meant that the link was invalid and blog.xsl was used again.</li>
<li>The sequence I ran through above seems to be the only reliable way to make this work. It&#8217;s pretty quick (after 47 tries) and I did it twice as I was writing this. Of course, I had a copy of the original default.aspx file to work with. Never edit the default files without making a copy.</li>
</ul>
<p>Here are two threads from the MSDN Forums that helped a bit. I didn&#8217;t have any luck with the <code>ddwrt:ghost="hide"</code> approach.</p>
<p><a title="http://social.technet.microsoft.com/Forums/en-ZA/sharepoint2010customization/thread/669d7d94-45ad-4fa0-8fe9-069d44ba07fa" href="http://social.technet.microsoft.com/Forums/en-ZA/sharepoint2010customization/thread/669d7d94-45ad-4fa0-8fe9-069d44ba07fa">http://social.technet.microsoft.com/Forums/en-ZA/sharepoint2010customization/thread/669d7d94-45ad-4fa0-8fe9-069d44ba07fa</a></p>
<p><a title="http://social.technet.microsoft.com/Forums/en-ZA/sharepoint2010customization/thread/9e5862b2-5271-47b8-8c9c-7742b7af55eb" href="http://social.technet.microsoft.com/Forums/en-ZA/sharepoint2010customization/thread/9e5862b2-5271-47b8-8c9c-7742b7af55eb">http://social.technet.microsoft.com/Forums/en-ZA/sharepoint2010customization/thread/9e5862b2-5271-47b8-8c9c-7742b7af55eb</a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/SZo4hvndEwNr7FlWSnPtExUtTGk/0/da"><img src="http://feedads.g.doubleclick.net/~a/SZo4hvndEwNr7FlWSnPtExUtTGk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/SZo4hvndEwNr7FlWSnPtExUtTGk/1/da"><img src="http://feedads.g.doubleclick.net/~a/SZo4hvndEwNr7FlWSnPtExUtTGk/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=tPF3_kYQU7Y:KOgxbdy2ckE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/tPF3_kYQU7Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/04/04/customizing-the-display-of-a-sharepoint-2010-blog/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/04/04/customizing-the-display-of-a-sharepoint-2010-blog/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=customizing-the-display-of-a-sharepoint-2010-blog</feedburner:origLink></item>
		<item>
		<title>Making Sense of HTML5 with SharePoint: Browser Capabilities</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/xNiGXqICjts/</link>
		<comments>http://sympmarc.com/2012/04/02/making-sense-of-html5-with-sharepoint-browser-capabilities/#comments</comments>
		<pubDate>Mon, 02 Apr 2012 18:30:25 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[EndUserSharePoint.com]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=15022</guid>
		<description><![CDATA[In my last article I talked about what HTML5 is and that it will help us get to a more  &#8220;Semantic Web&#8221;, but I didn&#8217;t explain what the W3C standards really mean. Partly that&#8217;s because the process is long and drawn out and murky at best. When I talk about the HTML5 recommendations and standards, &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/04/02/making-sense-of-html5-with-sharepoint-browser-capabilities/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><img style="margin: 0px 0px 0px 10px; display: inline; float: right;" src="http://sympmarc.com/wp-content/uploads/2012/04/HTML5_Logo_1285.png" alt="" align="right" />In my last article I talked about what HTML5 is and that it will help us get to a more  &#8220;Semantic Web&#8221;, but I didn&#8217;t explain what the W3C standards really mean. Partly that&#8217;s because the process is long and drawn out and murky at best. When I talk about the HTML5 recommendations and standards, maybe I should put &#8220;recommendations&#8221; and &#8220;standards&#8221; in bold, flashing text. The word recommendation is closer to the mark. Take that and the fact that the HTML5 standards are in draft mode, and there&#8217;s a lot of loosey-goosy-ness to the whole thing. I&#8217;ve seen quite a few people saying that the HTML5 standard will be finalized in 2022, and they aren&#8217;t really joking. That&#8217;s about par for the course if we look at the life cycles of past HTML standards.</p>
<p>What all that means for browser capabilities is that they are basically all over the place. While each browser team wants to support HTML5 (at least if they want to be as cool as the other kids), they each have different priorities and interpretations of the standard.</p>
<div style="margin-top:10px;border:3px #000000 solid;border-radius:10px;width:655px;height:80px;">
<div style="float:left;width:375px;position:relative;margin:10px;">This post also appeared on <a target="_blank" href="http://NothingButSharePoint.com">NothingButSharePoint.com</a>&#8216;s <a href="http://www.nothingbutsharepoint.com/sites/eusp" target="_blank">EndUserSharePoint channel</a> on 2012-04-03.  <a target="_blank" href="https://www.nothingbutsharepoint.com/sites/eusp/Pages/Making-Sense-of-HTML5-with-SharePoint-Browser-Capabilities.aspx">Visit the post</a> there to read additional comments.</div>
<div style="float:right;width:260px;"><a href="http://www.nothingbutsharepoint.com/sites/eusp" target="_blank"><img src="http://sympmarc.com/wp-content/uploads/2009/12/122209_0306_ajquerylibr1.png"></a></div>
</div>
<h3>The HTML5 Test</h3>
<p>One good way to understand what this all adds up to is to look at a site that I found called <a href="http://html5test.com" target="_blank">The HTML5 Test</a>. It&#8217;s not the only site out there that will tell you how your browser stacks up, but I like the way it gives an overall score and then breaks things out into easy to understand sections.</p>
<p>Because of my consulting work, and even more because of my <a title="SPServices" href="http://spservices.codeplex.com" target="_blank">SPServices</a> development work, I have most of the major browsers on my laptop. Here&#8217;s how the versions of each browser I have stack up on The HTML5 Test:</p>
<table width="547" border="0" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<td align="center" width="279">Internet Explorer 9<br />
Version: 9.0.8112.16421</td>
<td width="266"><a href="http://sympmarc.com/wp-content/uploads/2012/04/image.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/04/image_thumb.png" alt="image" width="240" height="217" border="0" /></a></td>
</tr>
<tr>
<td align="center" width="279">Firefox 11<br />
Version 11.0</td>
<td valign="top"><a href="http://sympmarc.com/wp-content/uploads/2012/04/image1.png"><img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/04/image_thumb1.png" alt="image" width="240" height="215" border="0" /></a></td>
</tr>
<tr>
<td align="center" width="279">Safari 5<br />
Version 5.1.5 (7534.55.3)</td>
<td valign="top" width="266"><a href="http://sympmarc.com/wp-content/uploads/2012/04/image2.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/04/image_thumb2.png" alt="image" width="240" height="216" border="0" /></a></td>
</tr>
<tr>
<td align="center" width="279">Chrome 18<br />
Version 18.0.1025.142 m</td>
<td valign="top" width="266"><a href="http://sympmarc.com/wp-content/uploads/2012/04/image3.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/04/image_thumb3.png" alt="image" width="240" height="214" border="0" /></a></td>
</tr>
<tr>
<td align="center" width="279">Opera 11<br />
Version 11.62 Build 1347</td>
<td valign="top" width="266"><a href="http://sympmarc.com/wp-content/uploads/2012/04/image4.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/04/image_thumb4.png" alt="image" width="201" height="240" border="0" /></a></td>
</tr>
</tbody>
</table>
<p>While it may seem just like a gratuitous way to add a bunch of images to this article to make it longer, I thought it was interesting enough to include the details. As you can see, the scores are all over the place, and none of them are all that close to the maximum of 475. (If you have an eye for this sort of thing, you&#8217;ll note that even these snapshot images don&#8217;t look exactly the same, though they should.) Worst of all, our dear old friend IE9 scores the lowest. If you dig into the details of the scores, you&#8217;ll see that the variations are even harder to think through.</p>
<p>What this tells us is the we have to be very careful to understand what our browser base is for SharePoint if we want to take advantage of the goodness that HTML5 provides. (This is true of any so-called &#8220;front end&#8221; development that you do – you simply *must* know your browser targets and have good strategies to deal with them all.) I haven&#8217;t been able to find any typical browser distribution statistics for SharePoint on the Interwebs, but SharePoint itself can tell you what browsers are visiting your installation if you look at the Web Analytics statistics.</p>
<p>If you are lucky enough to be building your solutions in an organization where the supported browser base is proscriptive (e.g., everyone *must* use IE8 or Firefox 11 or something) then your job may be a little bit easier. However, as the <a href="http://en.wikipedia.org/wiki/BYOD" target="_blank">BYOD movement</a> takes hold, even that luxury is eroding. On the other hand, if you&#8217;re developing for an Internet site, then all bets are off. You&#8217;ll see everything from IE6 to Netscape to Opera to IE10 Beta and back again.</p>
<h3>SharePoint and Browser Support</h3>
<p>SharePoint 2010 itself, while it can be used with just about any browser, is really primed for Internet Explorer. If you look at the out of the box v4.master page, you&#8217;ll find several strong indications of this. In fact, these are the two first things you&#8217;ll need to change to start using HTML5 in SharePoint.</p>
<p>First, there&#8217;s the DOCTYPE.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
</pre>
<p>This doctype tells browsers which standard to adhere to. In this case, it&#8217;s the <strong>XHTML 1.0 Strict</strong> standard. This setting precludes us from getting any HTML5 goodness. To enable HTML5, it&#8217;s a simple matter of changing the doctype to the simpler:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!DOCTYPE html&gt;
</pre>
<p>Next, the v4.master page has a meta tag in the header which forces Internet Explorer into IE8 mode:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=8&quot;/&gt;
</pre>
<p>To allow IE9 to flex the HTML5 muscles that it *does* have, you can change this to:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=9&quot;/&gt;
</pre>
<h3>So Now What?</h3>
<p>As I noted above, even IE9 doesn&#8217;t score all that well on The HTML5 Test. So how can we try to take advantage of HTML5 until Internet Explorer and all of the other browsers catch up to the moving target that is the HTML5 standard?</p>
<p>Well, luckily, there are people out there who understand these issues well and they have written some things that can help.The most well-known option is something called <a title="Modernizr" href="http://modernizr.com/" target="_blank">Modernizr</a>.</p>
<blockquote><p><strong>Modernizr</strong> is an open-source JavaScript library that helps you build the next generation of HTML5 and CSS3-powered websites.</p></blockquote>
<p>Modernizer falls into the class of software known as &#8220;shims&#8221;. Shims let us use functionality which isn&#8217;t there for us yet by mimicking that functionality in a different way or otherwise filling in the gaps. Or, in <a title="Shims" href="http://en.wikipedia.org/wiki/Shim_(computing)" target="_blank">geekspeak from Wikipedia</a>:</p>
<blockquote><p>In <a title="Computer programming" href="http://sympmarc.com/wiki/Computer_programming">computer programming</a>, a <strong>shim</strong> (from <a title="Shim (spacer)" href="http://sympmarc.com/wiki/Shim_(spacer)">shim</a>) or <strong>shiv</strong> is a small <a title="Library (computer science)" href="http://sympmarc.com/wiki/Library_(computer_science)">library</a> that transparently intercepts an <a title="Application programming interface" href="http://sympmarc.com/wiki/Application_programming_interface">API</a> and changes the parameters passed, handles the operation itself, or redirects the operation elsewhere. Shims typically come about when the behavior of an API changes, thereby causing compatibility issues for older applications which still rely on the older functionality. In such cases, the older API can still be supported by a thin <a title="Compatibility layer" href="http://sympmarc.com/wiki/Compatibility_layer">compatibility layer</a> on top of the newer code. Shims can also be used for running programs on different software platforms than they were developed for.</p></blockquote>
<p>Once the browsers catch up, the shim won&#8217;t need to do as much and eventually we&#8217;ll be able to get rid of it. (Don&#8217;t hold your breath &#8211; 2022 is a long way off.)</p>
<p>You can reference Modernizr in your master page to take advantage of HTML5 functionality that the browsers doesn&#8217;t yet provide. It&#8217;s not a silver bullet, of course. You still need to understand your target browser base and think about how you are going to use the new standards to get the best results. Knowing where in all that the shim is going to support you is key.</p>
<p>I&#8217;m not going to go into anything specific that Modernizr can help with in this article, but I will touch upon useful capabilities it provides as we see how we can use HTML5 in SharePoint as we go along.</p>
<p>Don&#8217;t worry; cool demo stuff is coming. I just think that we should understand the basics first.</p>
<h3>Resources</h3>
<ul>
<li><a title="HTML5Test" href="http://html5test.com" target="_blank">The HTML5 Test</a></li>
<li><a href="http://www.wictorwilen.se/Post/Understand-Top-Browser-statistics-in-SharePoint-2010-Web-Analytics.aspx">Understand Top Browser statistics in SharePoint 2010 Web Analytics</a> by Wictor Wilén <a href="http://twitter.com/wictor" target="_blank">(@wictor</a>)</li>
<li><a href="http://blog.drisgill.com/2010/09/html5-and-sharepoint-2010-and-ie9-beta.html">HTML5 and SharePoint 2010 (and the IE9 Beta)</a> by Randy Drisgill (<a title="@drisgill" href="http://twitter.com/drisgill" target="_blank">@drisgill</a>)</li>
<li><a title="Modernizr" href="http://modernizr.com/" target="_blank">Modernizr</a></li>
</ul>

<p><a href="http://feedads.g.doubleclick.net/~a/AGF5O84UNfTKEqaPtzwj-R2BNJk/0/da"><img src="http://feedads.g.doubleclick.net/~a/AGF5O84UNfTKEqaPtzwj-R2BNJk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/AGF5O84UNfTKEqaPtzwj-R2BNJk/1/da"><img src="http://feedads.g.doubleclick.net/~a/AGF5O84UNfTKEqaPtzwj-R2BNJk/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=xNiGXqICjts:rWGNAhEXw7E:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/xNiGXqICjts" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/04/02/making-sense-of-html5-with-sharepoint-browser-capabilities/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/04/02/making-sense-of-html5-with-sharepoint-browser-capabilities/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=making-sense-of-html5-with-sharepoint-browser-capabilities</feedburner:origLink></item>
		<item>
		<title>Cool SPServices Developments Today</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/CYm7FHIFpiY/</link>
		<comments>http://sympmarc.com/2012/03/29/cool-spservices-developments-today/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 03:04:53 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[CDN]]></category>
		<category><![CDATA[cdnjs]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery library for SharePoint Web Services]]></category>
		<category><![CDATA[SPServices]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14991</guid>
		<description><![CDATA[A couple of cool things happened today with SPServices that I thought I&#8217;d capture in a post. First, I saw a couple of tweets this morning from Ryan Kirkman (@ryan_kirkman). Ryan runs a CDN for JavaScript solutions called cdnjs. CDNJS was started in January 2011 as an attempt to speed up the web. It was &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/03/29/cool-spservices-developments-today/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>A couple of cool things happened today with <a href="http://spservices.codeplex.com">SPServices</a> that I thought I&#8217;d capture in a post.</p>
<p>First, I saw a couple of tweets this morning from Ryan Kirkman (<a href="http://twitter.com/ryan_kirkman" target="_blank">@ryan_kirkman</a>). Ryan runs a CDN for JavaScript solutions called <a href="http://cdnjs.com/" target="_blank">cdnjs</a>.</p>
<blockquote><p>CDNJS was started in January 2011 as an attempt to speed up the web. It was hosted on Amazon until <a href="http://cloudflare.com">CloudFlare</a> took over hosting using their own CDN in June 2011.</p>
<p>At the moment the site itself is managed by two passionate web-developers from Australia.   Feel free to get in contact with us at anytime.</p></blockquote>
<!-- tweet id : 185260155301134336 --><style type='text/css'>#bbpBox_185260155301134336 a { text-decoration:none; color:#0084B4; }#bbpBox_185260155301134336 a:hover { text-decoration:underline; }</style><div id='bbpBox_185260155301134336' class='bbpBox' style='padding:20px; margin:5px 0; background-color:#C0DEED; background-image:url(http://a0.twimg.com/images/themes/theme1/bg.png); background-repeat:no-repeat'><div style='background:#fff; padding:10px; margin:0; min-height:48px; color:#333333; -moz-border-radius:5px; -webkit-border-radius:5px;'><span style='width:100%; font-size:18px; line-height:22px;'>@<a href="http://twitter.com/intent/user?screen_name=sympmarc" class="twitter-action">sympmarc</a> @<a href="http://twitter.com/intent/user?screen_name=binaryjam" class="twitter-action">binaryjam</a> Hi guys, I added jquery.SPServices to cdnjs for you: <a href="http://t.co/ivxSl2fQ" rel="nofollow">http://t.co/ivxSl2fQ</a> (file link is here: <a href="http://t.co/5z7h1sIy" rel="nofollow">http://t.co/5z7h1sIy</a>)</span><div class='bbp-actions' style='font-size:12px; width:100%; padding:5px 0; margin:0 0 10px 0; border-bottom:1px solid #e6e6e6;'><img align='middle' src='http://sympmarc.com/wp-content/plugins/twitter-blackbird-pie//images/bird.png' /><a title='tweeted on March 29, 2012 3:00 am' href='http://twitter.com/#!/ryan_kirkman/status/185260155301134336' target='_blank'>March 29, 2012 3:00 am</a> via <a href="http://www.tweetdeck.com" rel="nofollow" target="blank">TweetDeck</a><a href='https://twitter.com/intent/tweet?in_reply_to=185260155301134336&related=sympmarc' class='bbp-action bbp-reply-action' title='Reply'><span><em style='margin-left: 1em;'></em><strong>Reply</strong></span></a><a href='https://twitter.com/intent/retweet?tweet_id=185260155301134336&related=sympmarc' class='bbp-action bbp-retweet-action' title='Retweet'><span><em style='margin-left: 1em;'></em><strong>Retweet</strong></span></a><a href='https://twitter.com/intent/favorite?tweet_id=185260155301134336&related=sympmarc' class='bbp-action bbp-favorite-action' title='Favorite'><span><em style='margin-left: 1em;'></em><strong>Favorite</strong></span></a></div><div style='float:left; padding:0; margin:0'><a href='http://twitter.com/intent/user?screen_name=ryan_kirkman'><img style='width:48px; height:48px; padding-right:7px; border:none; background:none; margin:0' src='http://a0.twimg.com/profile_images/1854658995/twitter_profile_photo_normal.png' /></a></div><div style='float:left; padding:0; margin:0'><a style='font-weight:bold' href='http://twitter.com/intent/user?screen_name=ryan_kirkman'>@ryan_kirkman</a><div style='margin:0; padding-top:2px'>Ryan Kirkman</div></div><div style='clear:both'></div></div></div><!-- end of tweet -->
<p>I&#8217;ve had suggestions from quite a few people over the last six months or so to get SPServices up on cdnjs so that they could reference it there rather than host it locally. I&#8217;ve wanted to do it, but each time I look at the fact that I need to learn how to use git to do it, I&#8217;ve lost steam. I really do want to learn how to use git, and I will (Codeplex just made it available as one of the source control options), but I haven&#8217;t yet. Ryan saw me tweet about that yesterday to Simon (<a href="http://twitter.com/binaryjam" target="_blank">@binaryjam</a>) and posted the <a href="http://www.cdnjs.com/#/search/jquery.spservices ">latest version of SPServices on cdnjs</a> for us. Hooray! (But I still need to learn git.) If you&#8217;d like to use SPServices v0.7.1a from a CDN, you can do so by referencing it at the URL:</p>
<p><a href="http://cdnjs.cloudflare.com/ajax/libs/jquery.SPServices/0.7.1a/jquery.SPServices-0.7.1a.min.js">http://cdnjs.cloudflare.com/ajax/libs/jquery.SPServices/0.7.1a/jquery.SPServices-0.7.1a.min.js</a></p>
<p>I&#8217;ll figure out how to get some of the other recent versions up there as well.</p>
<p>&lt;UPDATE date=&#8221;2012-03-30&#8243;&gt;</p>
<p>Josh McCarty (<a title="@joshmcrty" href="http://twitter.com/joshmcrty" target="_blank">@joshmcrty</a>) was kind enough to add some of the older versions of SPServices to cndjs as well. Take a look at his <a href="https://github.com/cdnjs/cdnjs/pull/210">pull request</a> to see the list. If you&#8217;d like any other versions, please let me know.</p>
<p>&lt;/UPDATE&gt;</p>
<p>The second thing came from a guy named Ben Tedder (<a href="http://twitter.com/bentedder">@bentedder</a>) who has been writing a lot of great posts about SPServices on his <a href="http://www.bentedder.com">blog</a>.</p>
<!-- tweet id : 185434992225157120 --><style type='text/css'>#bbpBox_185434992225157120 a { text-decoration:none; color:#0033FF; }#bbpBox_185434992225157120 a:hover { text-decoration:underline; }</style><div id='bbpBox_185434992225157120' class='bbpBox' style='padding:20px; margin:5px 0; background-color:#A30303; background-image:url(http://a0.twimg.com/profile_background_images/402110831/bentedder.jpg); background-repeat:no-repeat'><div style='background:#fff; padding:10px; margin:0; min-height:48px; color:#B50000; -moz-border-radius:5px; -webkit-border-radius:5px;'><span style='width:100%; font-size:18px; line-height:22px;'>A hand-drawn intro to jQuery SPServices <a href="http://t.co/QZgrcxVy" rel="nofollow">http://t.co/QZgrcxVy</a></span><div class='bbp-actions' style='font-size:12px; width:100%; padding:5px 0; margin:0 0 10px 0; border-bottom:1px solid #e6e6e6;'><img align='middle' src='http://sympmarc.com/wp-content/plugins/twitter-blackbird-pie//images/bird.png' /><a title='tweeted on March 29, 2012 2:35 pm' href='http://twitter.com/#!/bentedder/status/185434992225157120' target='_blank'>March 29, 2012 2:35 pm</a> via <a href="http://www.google.com/" rel="nofollow" target="blank">Google</a><a href='https://twitter.com/intent/tweet?in_reply_to=185434992225157120&related=sympmarc' class='bbp-action bbp-reply-action' title='Reply'><span><em style='margin-left: 1em;'></em><strong>Reply</strong></span></a><a href='https://twitter.com/intent/retweet?tweet_id=185434992225157120&related=sympmarc' class='bbp-action bbp-retweet-action' title='Retweet'><span><em style='margin-left: 1em;'></em><strong>Retweet</strong></span></a><a href='https://twitter.com/intent/favorite?tweet_id=185434992225157120&related=sympmarc' class='bbp-action bbp-favorite-action' title='Favorite'><span><em style='margin-left: 1em;'></em><strong>Favorite</strong></span></a></div><div style='float:left; padding:0; margin:0'><a href='http://twitter.com/intent/user?screen_name=bentedder'><img style='width:48px; height:48px; padding-right:7px; border:none; background:none; margin:0' src='http://a0.twimg.com/profile_images/1747053148/photo_normal.jpg' /></a></div><div style='float:left; padding:0; margin:0'><a style='font-weight:bold' href='http://twitter.com/intent/user?screen_name=bentedder'>@bentedder</a><div style='margin:0; padding-top:2px'>bentedder</div></div><div style='clear:both'></div></div></div><!-- end of tweet -->
<p>I haven&#8217;t had the pleasure to meet Ben (his listing on Twitter puts him in Beijing, China) but I&#8217;ve appreciated his posts. Today he did something unique, at least for SPServices. Here&#8217;s his &#8220;<a href="http://www.bentedder.com/a-hand-drawn-intro-to-jquery-spservices/">Hand-drawn intro to jQuery and SPServices</a>&#8220;. I think it&#8217;s pretty cool.</p>
<p><iframe src="http://www.youtube.com/embed/XPbE-jnrCS8" frameborder="0" width="560" height="315"></iframe></p>

<p><a href="http://feedads.g.doubleclick.net/~a/Z6n-_0yTk61WTE7aVl6F8OxCwew/0/da"><img src="http://feedads.g.doubleclick.net/~a/Z6n-_0yTk61WTE7aVl6F8OxCwew/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Z6n-_0yTk61WTE7aVl6F8OxCwew/1/da"><img src="http://feedads.g.doubleclick.net/~a/Z6n-_0yTk61WTE7aVl6F8OxCwew/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=CYm7FHIFpiY:U800BP_bZDQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/CYm7FHIFpiY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/03/29/cool-spservices-developments-today/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/03/29/cool-spservices-developments-today/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=cool-spservices-developments-today</feedburner:origLink></item>
		<item>
		<title>Making Sense of HTML5 with SharePoint: What Is HTML5?</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/I2y0dZG7g7g/</link>
		<comments>http://sympmarc.com/2012/03/26/making-sense-of-html5-with-sharepoint-what-is-html5/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 13:02:27 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[EndUserSharePoint.com]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Semantic Web]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14934</guid>
		<description><![CDATA[This iteration of HTML is the first in a long time (HTML 4.01 – the current standard &#8211; was published as a W3C Recommendation way back in 1999), and I&#8217;d argue that it&#8217;s the first in the new age of branding, logos, and chiclets for everything that anyone thinks up. Because of this, there has &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/03/26/making-sense-of-html5-with-sharepoint-what-is-html5/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://sympmarc.com/wp-content/uploads/2012/04/HTML5_Logo_1286.png"><img class="size-full wp-image-14898 alignright" title="HTML5_Logo_128" src="http://sympmarc.com/wp-content/uploads/2012/04/HTML5_Logo_1286.png" alt="" width="128" height="128" /></a>This iteration of HTML is the first in a long time (HTML 4.01 – the current standard &#8211; was published as a W3C Recommendation way back in 1999), and I&#8217;d argue that it&#8217;s the first in the new age of branding, logos, and chiclets for everything that anyone thinks up. Because of this, there has been far more hype for HTML5 than we used to see with a new technical standard. In the old days, the techies working directly with a standard might get excited about it, but word spread more slowly and there were few podia from which to extol their virtues.</p>
<p>Nowadays, everything gets a brand and blog posts and press releases, all of which zing around the planet at light speed, and HTML5 is no exception. The HTML5 logo is showing up all over the place &#8211; at least in the places where I hang out. HTML5 has become a term which describes one thing – or many things. Because of this, there&#8217;s some <a href="http://www.zeldman.com/2011/01/27/html5-vs-html/" target="_blank">confusion</a> about what it even is. It may even be a <a href="http://www.nbc.com/saturday-night-live/video/shimmer-floor-wax/1056743/" target="_blank">floor wax and a dessert topping.</a></p>
<div style="margin-top:10px;border:3px #000000 solid;border-radius:10px;width:655px;height:80px;">
<div style="float:left;width:375px;position:relative;margin:10px;">This post also appeared on <a target="_blank" href="http://NothingButSharePoint.com">NothingButSharePoint.com</a>&#8216;s <a href="http://www.nothingbutsharepoint.com/sites/eusp" target="_blank">EndUserSharePoint channel</a> on 2012-03-27.  <a target="_blank" href="https://www.nothingbutsharepoint.com/sites/eusp/Pages/Making-Sense-of-HTML5-with-SharePoint-What-Is-HTML5.aspx">Visit the post</a> there to read additional comments.</div>
<div style="float:right;width:260px;"><a href="http://www.nothingbutsharepoint.com/sites/eusp" target="_blank"><img src="http://sympmarc.com/wp-content/uploads/2009/12/122209_0306_ajquerylibr1.png"></a></div>
</div>
<p>Depending on what you read or who you talk to, you may hear that HTML5 is one of the following:</p>
<ol>
<li>A new standard for the HTML markup language</li>
<li>A melding of new HTML, JavaScript, and CSS capabilities to provide zingy new capabilities</li>
<li>An entirely new way to think about and work with the Web</li>
</ol>
<p>In my opinion, on the spectrum of options 1 to 3 above, HTML5 is definitely the first, is strongly connected to the second, and may well lead to the third.</p>
<p>The truth is, we&#8217;re always inventing a &#8220;brand new Web&#8221;. As time goes by, there are new ways to do things and some truly innovative changes. <a title="jQuery" href="http://jquery.com" target="_blank">jQuery</a> is certainly one of those innovations, as it has allowed us to bring high levels of interactivity to Web pages with far less effort than plain old JavaScript.</p>
<p>When it comes to SharePoint, we have some challenges. Due to SharePoint&#8217;s generally three-year release cycle and the pace of change on the Web, SharePoint is always behind when it comes to the latest Web technologies. Some of us work to enhance past that, but it can be a struggle with a platform that is a static as SharePoint is. The flip side of this, of course, is that SharePoint is an &#8220;enterprise class&#8221; platform that can be far more reliable and predictable than some of its more frequently updated cousins. (Cue laugh track here from many SharePoint developers, but trust me that it&#8217;s true.) There&#8217;s always the danger that today&#8217;s shiny new penny will be tomorrow&#8217;s recycling, so jumping on every hot new technical option right away can be a huge mistake. With SharePoint, Microsoft insulates us from that problem, yet at the same time our options can be somewhat limited.</p>
<p>But enough rhetoric and opinion. What is HTML5 really, anyway?</p>
<p>When I first start to learn about something in the technology space, I&#8217;ll often go and visit the Wikipedia page for it. I don&#8217;t always read all of the definition – oftentimes they go straight into the weeds – but just the first paragraph or two. That gives me a good feeling for what the thing is all about.</p>
<p>Here&#8217;s the first paragraph about <a href="http://en.wikipedia.org/wiki/HTML5" target="_blank">HTML5 on Wikipedia</a> (as of 26 March 2012, footnotes removed):</p>
<blockquote><p><strong>HTML5</strong> is a language for structuring and presenting content for the <a href="http://en.wikipedia.org/wiki/World_Wide_Web">World Wide Web</a>, and is a core technology of the <a href="http://en.wikipedia.org/wiki/Internet">Internet</a> originally proposed by <a href="http://en.wikipedia.org/wiki/Opera_Software">Opera Software</a>. It is the fifth revision of the <a href="http://en.wikipedia.org/wiki/HTML">HTML</a> standard (created in 1990 and standardized as HTML4 as of 1997) and as of March 2012 is still under development. Its core aims have been to improve the language with support for the latest multimedia while keeping it easily readable by humans and consistently understood by computers and devices (<a href="http://en.wikipedia.org/wiki/Web_browser">web browsers</a>, <a href="http://en.wikipedia.org/wiki/Parsing">parsers</a>, etc.). HTML5 is intended to subsume not only <a href="http://en.wikipedia.org/wiki/HTML_4">HTML 4</a>, but <a href="http://en.wikipedia.org/wiki/XHTML">XHTML</a> 1 and <a href="http://en.wikipedia.org/wiki/Document_Object_Model">DOM Level 2 HTML</a> as well.</p></blockquote>
<p>What this tells us is that HTML5 is simply a progression from earlier versions of HTML – no surprise there based on its name. It also tells us that it includes improvements for the &#8220;modern&#8221; things we see on the Web, such as the &#8220;latest multimedia&#8221;. Today that means videos and audio, but it may well mean new things we don&#8217;t even know about down the road. (Anyone remember <a href="http://en.wikipedia.org/wiki/Smell-O-Vision" target="_blank">Smell-o-Vision</a>?) The new HTML5 standard adds new elements and attributes to the HTML standard and also deprecates some others (e.g., font, center).</p>
<p>One of the main goals for HTML5 is to bring us closer to what has been called the &#8220;Semantic Web&#8221;. This is another term I find confusing. Turning again to <a href="http://en.wikipedia.org/wiki/Semantic_web" target="_blank">Wikipedia for a definition</a> (again, as of 26 March 2012, footnotes removed):</p>
<blockquote><p>The <strong>Semantic Web</strong> is a collaborative movement led by the <a href="http://en.wikipedia.org/wiki/World_Wide_Web_Consortium">World Wide Web Consortium</a> (W3C) that promotes common formats for data on the <a href="http://en.wikipedia.org/wiki/World_Wide_Web">World Wide Web</a>. By encouraging the inclusion of <a href="http://en.wikipedia.org/wiki/Semantics">semantic</a> content in web pages, the Semantic Web aims at converting the current web of unstructured documents into a &#8220;web of data&#8221;. It builds on the W3C&#8217;s <a href="http://en.wikipedia.org/wiki/Resource_Description_Framework">Resource Description Framework</a>(RDF).</p>
<p>According to the W3C, &#8220;The Semantic Web provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries.&#8221;</p></blockquote>
<p>Gobbledy-gook, if you ask me. The point is to improve the way we mark up and delineate content in Web pages so that other applications can better understand that content and use it in other contexts. Hopefully that&#8217;s a little clearer, but let me give a very small example.</p>
<p>In a Web page today, we&#8217;re very likely to see something like this markup:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div class=&quot;my-app-title-class&quot;&gt;This is the Title of an Article&lt;/div&gt;
&lt;div class=&quot;my-app-body-class&quot;&gt;Praesent porta massa vel lacus sodales placerat. Nam diam orci, pulvinar eu dapibus bibendum, rutrum in arcu. Etiam lorem mauris, vehicula dignissim commodo ut, tempus id sapien...&lt;/div&gt;
</pre>
<p>This is all well and good. The title is displayed in the user&#8217;s browser with some CSS applied to it that makes it stand out somehow, the body text follows with some appropriate formatting, and they read it &#8211; grand. But other applications can&#8217;t look at that markup and make sense of it unless they understand the arbitrary CSS classes we&#8217;ve decided to use. What the Semantic Web principles say is that we should make it far clearer what that content is.</p>
<p>Here&#8217;s another way to publish that same content:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;article&gt;
  &lt;h1&gt;This is the Title of an Article&lt;/h1&gt;
  &lt;p&gt;Praesent porta massa vel lacus sodales placerat. Nam diam orci, pulvinar eu dapibus bibendum, rutrum in arcu. Etiam lorem mauris, vehicula dignissim commodo ut, tempus id sapien...&lt;/p&gt;
&lt;/article&gt;
</pre>
<p>It&#8217;s a tiny example, but by adding that new article element, we can indicate to other applications that this page contains, well, an article. That&#8217;s the basic idea behind the Semantic Web &#8211; making the content more understandable both internally to the browser and externally to other applications.</p>
<p>The HTML5 standard contains new elements that help to move us closer to the Semantice Web idea. Here is the list, taken from the <a href="http://www.w3.org/TR/html5-diff/#new-elements" target="_blank">HTML5 standard</a>, which helps us to improve structure:</p>
<ul>
<li><a href="http://www.w3.org/TR/html5/sections.html#the-section-element"><code>section</code></a>     represents a generic document or application section. It can be <a title="Headings and sections" href="http://www.w3.org/TR/html5/sections.html#headings-and-sections">used together</a> with the <code>h1</code>, <code>h2</code>, <code>h3</code>, <code>h4</code>, <code>h5</code>, and <code>h6</code> elements to indicate the document structure.</li>
<li><a href="http://www.w3.org/TR/html5/sections.html#the-article-element"><code>article</code></a>     represents an independent piece of content of a document, such as a blog entry or newspaper article.</li>
<li><a href="http://www.w3.org/TR/html5/sections.html#the-aside-element"><code>aside</code></a>     represents a piece of content that is only slightly related to the rest  of the page.</li>
<li><a href="http://www.w3.org/TR/html5/sections.html#the-hgroup-element"><code>hgroup</code></a>     represents the header of a section.</li>
<li><a href="http://www.w3.org/TR/html5/sections.html#the-header-element"><code>header</code></a>     represents a group of introductory or navigational aids.</li>
<li><a href="http://www.w3.org/TR/html5/sections.html#the-footer-element"><code>footer</code></a>     represents a footer for a section and can contain information about the  author, copyright information, etc.</li>
<li><a href="http://www.w3.org/TR/html5/sections.html#the-nav-element"><code>nav</code></a>     represents a section of the document intended for navigation.</li>
<li><a href="http://www.w3.org/TR/html5/grouping-content.html#the-figure-element"><code>figure</code></a>     represents a piece of self-contained flow content, typically referenced as a single unit from the main flow of the document.</li>
<li><a href="http://www.w3.org/TR/html5/grouping-content.html#the-figcaption-element"><code>figcaption</code></a>     can be used as caption (it is optional).</li>
</ul>
<p>As you can hopefully see from this list, we can more clearly indicate what the content in the page actually is, rather than just getting it on the page looking right.</p>
<p>There are many other new elements and attributes, changed elements and attributes, and &#8220;absent&#8221; (or no longer OK) elements and attributes listed in the HTML5 standard. Rather than copying them all into this post, I&#8217;d recommend that you peruse <a href="http://www.w3.org/TR/html5-diff/" target="_blank">HTML5 differences from HTML4</a> if you are interested in the details.</p>
<p>Of course, everyone wants to know about the stuff that will make pages more zingy and fun in SharePoint, and in upcoming articles, I&#8217;ll go into much more detail on those changes. The improvements I touch on above, while not as flashy, may well have a bigger impact on the Web at large. You just may not see the differences right away.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/3g5IGa8FksS2T3tKlokEL-qICUE/0/da"><img src="http://feedads.g.doubleclick.net/~a/3g5IGa8FksS2T3tKlokEL-qICUE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/3g5IGa8FksS2T3tKlokEL-qICUE/1/da"><img src="http://feedads.g.doubleclick.net/~a/3g5IGa8FksS2T3tKlokEL-qICUE/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=I2y0dZG7g7g:0Ik2_Q5zIMw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/I2y0dZG7g7g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/03/26/making-sense-of-html5-with-sharepoint-what-is-html5/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/03/26/making-sense-of-html5-with-sharepoint-what-is-html5/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=making-sense-of-html5-with-sharepoint-what-is-html5</feedburner:origLink></item>
		<item>
		<title>Making Sense of HTML5 with SharePoint: Introduction to the Series</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/1XxfOQ29RFE/</link>
		<comments>http://sympmarc.com/2012/03/20/making-sense-of-html5-with-sharepoint-introduction-to-the-series/#comments</comments>
		<pubDate>Tue, 20 Mar 2012 13:35:09 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[EndUserSharePoint.com]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14896</guid>
		<description><![CDATA[ Many of you have heard that there&#8217;s something new coming, and that it&#8217;s called HTML5. Or maybe that it&#8217;s here but you can&#8217;t take advantage of it due to the browser you use or because you use SharePoint. As with most new things these days, there&#8217;s way too much information available about HTML5 to sift &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/03/20/making-sense-of-html5-with-sharepoint-introduction-to-the-series/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" style="display: inline;" src="http://sympmarc.com/wp-content/uploads/2012/04/HTML5_Logo_1287.png" alt="" width="128" height="128" align="right" /> Many of you have heard that there&#8217;s something new coming, and that it&#8217;s called HTML5. Or maybe that it&#8217;s here but you can&#8217;t take advantage of it due to the browser you use or because you use SharePoint.</p>
<p>As with most new things these days, there&#8217;s way too much information available about HTML5 to sift through. HTML5 is a technology, but it&#8217;s also turned into almost a philosophy about &#8220;modern&#8221; Web development. HTML5, along with the concept of the &#8220;modern&#8221; Web, is an evolving set of ideas and specifications, so it&#8217;s a moving target. The core idea is that with HTML5, we can build lighter, faster, and more interactive Web pages than we could in the past.</p>
<div style="margin-top:10px;border:3px #000000 solid;border-radius:10px;width:655px;height:80px;">
<div style="float:left;width:375px;position:relative;margin:10px;">This post also appeared on <a target="_blank" href="http://NothingButSharePoint.com">NothingButSharePoint.com</a>&#8216;s <a href="http://www.nothingbutsharepoint.com/sites/eusp" target="_blank">EndUserSharePoint channel</a> on 2012-03-20.  <a target="_blank" href="https://www.nothingbutsharepoint.com/sites/eusp/Pages/Making-Sense-of-HTML5-with-SharePoint.aspx">Visit the post</a> there to read additional comments.</div>
<div style="float:right;width:260px;"><a href="http://www.nothingbutsharepoint.com/sites/eusp" target="_blank"><img src="http://sympmarc.com/wp-content/uploads/2009/12/122209_0306_ajquerylibr1.png"></a></div>
</div>
<p>This is the first article in a series that I am going to do here at EndUserSharePoint. Mark Miller and I have discussed the importance of HTML5 to EndUserSharePoint readers, and a series of articles seems to make a good bit of sense. Digging into HTML5 also seems like a natural extension of what I already do with Data View Web Parts (see my series here called <a href="https://www.nothingbutsharepoint.com/sites/eusp/Pages/unlocking-the-mysteries-of-data-view-web-part-xsl-tags-part-1-overview.aspx" target="_blank">Unlocking the Mysteries of Data View Web Part XSL Tags</a>), <a href="http://jquery.com" target="_blank">jQuery</a>, CSS and <a href="http://spservices.codeplex.com/" target="_blank">SPServices</a>, which allows me and many of you to build so-called &#8220;no code&#8221; solutions for SharePoint. Dare I still say developing in <a href="https://www.nothingbutsharepoint.com/sites/eusp/Pages/the-middle-tier-manifesto-an-alternative-approach-to-development-with-microsoft-sharepoint.aspx" target="_blank">SharePoint&#8217;s Middle Tier</a>?</p>
<p>The series will be primarily for the end user crowd, not hard core techies. By that, I mean that I will attempt to make HTML5 more understandable and accessible to those of you who are on the front lines with SharePoint, solving business problems directly. Of course, developers can and should be users of SharePoint, so the series is bound to have interesting information for them as well.</p>
<p>If you <strong>are</strong> a hard-core developer, then this series may not be for you. As I mentioned, there&#8217;s plenty of information about HTML5 out there, whether it be reading the official <a href="http://dev.w3.org/html5/spec/single-page.html" target="_blank">W3C spec</a> or some of the many other &#8220;official&#8221; resources out there. If you&#8217;re a developer dying to use HTML5, you&#8217;re probably consuming as much of that content as you can find already.</p>
<p>While I plan to get into some cool examples of things you can do with HTML5, the series won&#8217;t teach you to be an HTML5 coder. The goal is to help make sense of HTML5 and show some of the cool new things you might think about doing with it. I also hope that by reading the series, you&#8217;ll be able to have more productive discussions with the developers who build your solutions. Of course, this is NothingButSharePoint.com, so everything will be in the context of SharePoint.</p>
<p>In the series, I&#8217;ll try to answer questions like:</p>
<ul>
<li>What is HTML5 and how is it different than what I already know about HTML?</li>
<li>Should I care about HTML5 now or can I wait a while?</li>
<li>How do HTML5 concepts fit into what I do on a daily basis with SharePoint?</li>
<li>What are some of the cool things I can do with HTML5? (Yes, this will get heavy rotation – without cool <span style="color: #555555;">new ways to solve business problems, </span>what&#8217;s the point?)</li>
</ul>
<p>I&#8217;m looking forward to doing the series, and I hope you&#8217;ll want to follow along. Of course, it will be far more interesting if you can tell me what you would like to know more about. I&#8217;ve already gotten some suggestions on a post on my blog called <a href="http://sympmarc.com/2012/02/17/html5-and-sharepoint-what-do-you-want-to-know/" target="_blank">HTML5 and SharePoint: What Do You Want to Know?</a> . Feel free to leave a comment if there are aspects of HTML5 you&#8217;d like to see me write about.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/vgbEshTntsUSFIjs5GKcB7AEl4w/0/da"><img src="http://feedads.g.doubleclick.net/~a/vgbEshTntsUSFIjs5GKcB7AEl4w/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/vgbEshTntsUSFIjs5GKcB7AEl4w/1/da"><img src="http://feedads.g.doubleclick.net/~a/vgbEshTntsUSFIjs5GKcB7AEl4w/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=1XxfOQ29RFE:AUK_Xyc2GeQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/1XxfOQ29RFE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/03/20/making-sense-of-html5-with-sharepoint-introduction-to-the-series/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/03/20/making-sense-of-html5-with-sharepoint-introduction-to-the-series/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=making-sense-of-html5-with-sharepoint-introduction-to-the-series</feedburner:origLink></item>
		<item>
		<title>"An Outlook Address Book entry cannot be used as an e-mail address in a contact."</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/dO5pYK6gmrU/</link>
		<comments>http://sympmarc.com/2012/03/14/an-outlook-address-book-entry-cannot-be-used-as-an-e-mail-address-in-a-contact/#comments</comments>
		<pubDate>Wed, 14 Mar 2012 13:39:07 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[address book]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[Outlook]]></category>
		<category><![CDATA[Outlook 2010]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14884</guid>
		<description><![CDATA[Um, yeah. It&#8217;s almost impossible to figure out what this means. I was trying to move an email address in an existing contact in Outlook 2010 from the E-mail slot to the E-mail 2 slot&#160; and this gem popped up when I tried to paste it. Turning to Bing, nothing of any use.Google, much the &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/03/14/an-outlook-address-book-entry-cannot-be-used-as-an-e-mail-address-in-a-contact/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://sympmarc.com/wp-content/uploads/2012/03/SNAGHTML16655b5e.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="SNAGHTML16655b5e" border="0" alt="SNAGHTML16655b5e" src="http://sympmarc.com/wp-content/uploads/2012/03/SNAGHTML16655b5e_thumb.png" width="572" height="184"></a></p>
<p>Um, yeah. It&#8217;s almost impossible to figure out what this means. I was trying to move an email address in an existing contact in Outlook 2010 from the <strong>E-mail</strong> slot to the <strong>E-mail 2</strong> slot&nbsp; and this gem popped up when I tried to paste it. </p>
<p>Turning to Bing, nothing of any use.Google, much the same. However, I found questions on this at least back to 2004 with Outlook 2003. So what&#8217;s going on?</p>
<p>Well, I have no idea, really, but here&#8217;s the fix that worked for me. First, I copied the existing email address from the <strong>E-mail</strong> slot into the <strong>Notes</strong> field for safekeeping. Then I updated the <strong>E-mail</strong> slot with the new email address I wanted to add and saved the contact. Next I opened the contact up again, copied the old email address out of the <strong>Notes</strong> field and pasted it into the <strong>E-mail 2</strong> slot. This time I was allowed to past the old email address in.</p>
<p>I tried all sorts of variations on this, and what I described above was the only one that worked, but that doesn&#8217;t mean that there isn&#8217;t some smarter way around it. Frankly, I&#8217;m not sure why it works, but it does.</p>
<p>Another one for the &#8220;I just wasted a bunch of time so you don&#8217;t have to&#8221; bucket.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/sOhzx72sKBgadxVDyLHxwl6crbM/0/da"><img src="http://feedads.g.doubleclick.net/~a/sOhzx72sKBgadxVDyLHxwl6crbM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/sOhzx72sKBgadxVDyLHxwl6crbM/1/da"><img src="http://feedads.g.doubleclick.net/~a/sOhzx72sKBgadxVDyLHxwl6crbM/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=dO5pYK6gmrU:1GRIzaz8RWg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/dO5pYK6gmrU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/03/14/an-outlook-address-book-entry-cannot-be-used-as-an-e-mail-address-in-a-contact/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/03/14/an-outlook-address-book-entry-cannot-be-used-as-an-e-mail-address-in-a-contact/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=an-outlook-address-book-entry-cannot-be-used-as-an-e-mail-address-in-a-contact</feedburner:origLink></item>
		<item>
		<title>Fix for Adobe Reader Crashes When Printing</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/jb1PJrJNl3A/</link>
		<comments>http://sympmarc.com/2012/03/13/fix-for-adobe-reader-crashes-when-printing/#comments</comments>
		<pubDate>Tue, 13 Mar 2012 19:41:39 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Adobe PDF]]></category>
		<category><![CDATA[Adobe Reader]]></category>
		<category><![CDATA[printing]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14878</guid>
		<description><![CDATA[This is a silly one, but I&#8217;ve run into it on two machines now. You&#8217;d think with all the updates Adobe forces you to load, one would have fixed this automatically. If you try to print a PDF file in Windows 7 with Adobe Reader X and the application crashes, there&#8217;s a fix. Navigate to &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/03/13/fix-for-adobe-reader-crashes-when-printing/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://sympmarc.com/wp-content/uploads/2012/03/image8.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/03/image_thumb8.png" alt="image" width="442" height="116" border="0" /></a></p>
<p>This is a silly one, but I&#8217;ve run into it on two machines now. You&#8217;d think with all the updates Adobe forces you to load, one would have fixed this automatically.</p>
<p>If you try to print a PDF file in Windows 7 with Adobe Reader X and the application crashes, there&#8217;s a fix. Navigate to <a href="http://kb2.adobe.com/cps/928/cpsid_92870.html" target="_blank">this page</a> and follow the instructions. For posterity, I&#8217;m copying the contents below.</p>
<p>Note: I&#8217;ve found that the suggested restart is unnecessary.</p>
<hr />
<h3>PDF won&#8217;t print | Reader 10.1.2 | Windows</h3>
<p>Reader crashes or hangs when printing</p>
<p>(Windows only) When trying to print, if Reader 10.1.2 crashes, hangs, or nothing happens, please install the patch per the instructions below.</p>
<p><strong>Not your symptoms?</strong> If the printer light blinks, prints only odd or even pages, or asks you to load paper, see <a href="http://kb2.adobe.com/cps/932/cpsid_93254.html">Printer defaults to both sides | Reader, Acrobat 10.1.2</a>.</p>
<h5>Install patch for Reader 10.1.2 (Windows only)</h5>
<ol>
<li>Log in to your Windows computer as an Administrator.</li>
<li>Click the following link to download the patch file: <a href="http://kb2.adobe.com/cps/928/cpsid_92870/attachments/AdobeReaderPatch10.1.2_cpsid_92870.zip">AdobeReaderPatch10.1.2_cpsid_92870.zip</a>.</li>
<li>When prompted &#8220;Do you want to open or save this file?&#8221;, click Open.</li>
<li>Extract the file (also know as &#8216;unzipping&#8217;). The option location varies depending on your operating system and the utility.</li>
<li>Double-click the file &#8220;AdobeReaderPatch10.1.2_cpsid_92870.exe&#8221; to begin the update.</li>
<li>When a prompt notifies you that the update is complete, restart your computer.</li>
</ol>
<h5>Install patch for Reader 10.1.2 in silent mode (Windows only)</h5>
<ol>
<li>Log in to your Windows computer as an Administrator.</li>
<li>Click the following link to download the patch file: <a href="http://kb2.adobe.com/cps/928/cpsid_92870/attachments/AdobeReaderPatch10.1.2_cpsid_92870.zip">AdobeReaderPatch10.1.2_cpsid_92870.zip</a></li>
<li>When prompted &#8220;Do you want to open or save this file?&#8221;, click Open.</li>
<li>Extract the file.</li>
<li>Open the command prompt ‘As Administrator’.</li>
<li>Type the path to the patch file executable, and add the -silent flag on the command line. For example:</li>
</ol>
<ol start="7">
<li>
<pre> &lt;path&gt;AdobeReaderPatch10.1.2_cpsid_92870.exe -silent</pre>
<p>Silent mode supresses all dialog boxes so you do not get a message indicating that the update is complete. The executable posts a log file &#8220;AcroPatchApplication1012.log&#8221; in the temp directory (%temp%).</li>
<li>When the update is complete, restart the computer.</li>
</ol>

<p><a href="http://feedads.g.doubleclick.net/~a/WBh_55z8etxUECiK16Lzw74S87s/0/da"><img src="http://feedads.g.doubleclick.net/~a/WBh_55z8etxUECiK16Lzw74S87s/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/WBh_55z8etxUECiK16Lzw74S87s/1/da"><img src="http://feedads.g.doubleclick.net/~a/WBh_55z8etxUECiK16Lzw74S87s/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=jb1PJrJNl3A:6bQwFHP1mzI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/jb1PJrJNl3A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/03/13/fix-for-adobe-reader-crashes-when-printing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/03/13/fix-for-adobe-reader-crashes-when-printing/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=fix-for-adobe-reader-crashes-when-printing</feedburner:origLink></item>
		<item>
		<title>Fix in the February 2012 CU for Stack Overflows with DVWPs Running Over One Second Limit Imposed by the August 2011 CU</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/E3XkS_gjd3A/</link>
		<comments>http://sympmarc.com/2012/03/11/fix-in-the-february-2012-cu-for-stack-overflows-with-dvwps-running-over-one-second-limit-imposed-by-the-august-2011-cu/#comments</comments>
		<pubDate>Mon, 12 Mar 2012 02:36:14 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[cumulative updates]]></category>
		<category><![CDATA[Data View Web Part]]></category>
		<category><![CDATA[DVWP]]></category>
		<category><![CDATA[XSL]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14855</guid>
		<description><![CDATA[Image via Wikipedia If you&#8217;ve been bitten by the issue I described in my post called August Cumulative Update Causing Stack Overflows with DVWPs Running Over One Second, then you&#8217;ll be happy to know that there may be a solution available to you. An anonymous reader left a comment on the above post the today &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/03/11/fix-in-the-february-2012-cu-for-stack-overflows-with-dvwps-running-over-one-second-limit-imposed-by-the-august-2011-cu/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<div class="mceTemp">
<dl class="wp-caption alignright zemanta-img" style="width: 310px;">
<dt class="wp-caption-dt"><a href="http://commons.wikipedia.org/wiki/File:Assassin_bug_aug08_02.jpg" target="_blank"><img class="zemanta-img-inserted zemanta-img-configured" title="An assassin bug" src="http://sympmarc.com/wp-content/uploads/2012/03/300px-Assassin_bug_aug08_02.jpg" alt="An assassin bug" width="300" height="200" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">Image via Wikipedia</dd>
</dl>
<p>If you&#8217;ve been bitten by the issue I described in my post called <a href="http://sympmarc.com/2011/11/07/august-cumulative-update-causing-stack-overflows-with-dvwps-running-over-one-second/" target="_blank">August Cumulative Update Causing Stack Overflows with DVWPs Running Over One Second</a>, then you&#8217;ll be happy to know that there may be a solution available to you.</p>
</div>
<p>An anonymous reader left a <a href="http://sympmarc.com/2011/11/07/august-cumulative-update-causing-stack-overflows-with-dvwps-running-over-one-second/" target="_blank">comment</a> on the above post the today letting me know that there is a new option provided in the February CU that allows you to increase the timeout from the rather nonsensical one second introduced in the August CU to something more reasonable.</p>
<p>I don&#8217;t have a setup where I can test this right now, so treat it as unconfirmed information, but it looks to be from someone named <a href="http://blogs.msdn.com/66006/ProfileUrlRedirect.ashx">Joerg Sinemus</a>, who works at Microsoft Germany GmbH.</p>
<p>Check out his post with a more complete description of the fix here:</p>
<p><a href="https://blogs.msdn.com/b/joerg_sinemus/archive/2012/03/07/xslt-and-timeout-problem-when-transforming-runs-more-than-one-second.aspx">https://blogs.msdn.com/b/joerg_sinemus/archive/2012/03/07/xslt-and-timeout-problem-when-transforming-runs-more-than-one-second.aspx</a></p>
<p>Here&#8217;s the full text of his post in case it disappears for some reason. Full credit due, of course. That&#8217;s an assassin bug photo. It seemed appropriate.</p>
<blockquote><p>If you run into the problem described in:</p>
<p>2639184 SharePoint 2010: DataForm Web Part displays &#8220;Unable to display this Web Part&#8221;<br />
<a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;2639184">http://support.microsoft.com/default.aspx?scid=kb;EN-US;2639184</a></p>
<p>we might have another solution for you.</p>
<p>Our KB article 2597136 contains the following line that describes the issue but needs some more steps after you have installed the hotfix.</p>
<p>When you try to open a large .xsl file by using a Data Form Web Part (DFWP) on a SharePoint Foundation site, the DFWP does not display the file.</p>
<p>We highly recommend to use the following steps to change the behavior:<br />
Install February 2012 cumulative update (Full Server package) for Microsoft SharePoint Foundation 2010 or SharePoint Server 2010<br />
<a href="http://blogs.msdn.com/b/joerg_sinemus/archive/2012/03/07/sharepoint-2010-and-february-2012-cu.aspx">http://blogs.msdn.com/b/joerg_sinemus/archive/2012/03/07/sharepoint-2010-and-february-2012-cu.aspx</a></p>
<p>The code change is in the Microsoft.SharePoint.DLL with build 14.0.6117.5002 and later also on higher builds as usual.</p>
<p>Now you need to test which value might be a better one than One Second timeout.</p>
<p>On SharePoint Server log in with your Farm Account.<br />
Start PowerShell in an elevated mode; check <a href="http://blogs.msdn.com/b/joerg_sinemus/archive/2010/08/16/what-is-the-difference-between-local-administrator-and-machine-administrator.aspx">http://blogs.msdn.com/b/joerg_sinemus/archive/2010/08/16/what-is-the-difference-between-local-administrator-and-machine-administrator.aspx</a>for more information.</p>
<p>The following code lines will set the timeout to five seconds:</p>
<p>$farm = Get-SPFarm<br />
$farm.XsltTransformTimeOut = 5<br />
$farm.Update()</p>
<p>In a discussion forum I read that two seconds are also a good value but everything depends as usual on the overall performance on the server side.</p></blockquote>
<div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="border: currentColor; float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=31661a6a-b759-4b21-a5f3-e8232f1e6f94" alt="Enhanced by Zemanta" /></a></div>

<p><a href="http://feedads.g.doubleclick.net/~a/-YATSxYJg_7gQF7w8f9Z93delXM/0/da"><img src="http://feedads.g.doubleclick.net/~a/-YATSxYJg_7gQF7w8f9Z93delXM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/-YATSxYJg_7gQF7w8f9Z93delXM/1/da"><img src="http://feedads.g.doubleclick.net/~a/-YATSxYJg_7gQF7w8f9Z93delXM/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=E3XkS_gjd3A:_lw4CtcsgCA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/E3XkS_gjd3A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/03/11/fix-in-the-february-2012-cu-for-stack-overflows-with-dvwps-running-over-one-second-limit-imposed-by-the-august-2011-cu/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/03/11/fix-in-the-february-2012-cu-for-stack-overflows-with-dvwps-running-over-one-second-limit-imposed-by-the-august-2011-cu/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=fix-in-the-february-2012-cu-for-stack-overflows-with-dvwps-running-over-one-second-limit-imposed-by-the-august-2011-cu</feedburner:origLink></item>
		<item>
		<title>Office365 Redmond Slides and Demos</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/IdGpMZrM014/</link>
		<comments>http://sympmarc.com/2012/03/09/office365-redmond-slides-and-demos/#comments</comments>
		<pubDate>Fri, 09 Mar 2012 12:10:46 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Middle Tier]]></category>
		<category><![CDATA[Office365]]></category>
		<category><![CDATA[Office365 Saturday]]></category>
		<category><![CDATA[Redmond]]></category>
		<category><![CDATA[SharePoint Online]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14841</guid>
		<description><![CDATA[I had great fun presenting at Office365 Redmond a few Saturdays ago. Not only was it on the Microsoft campus, but some Microsoft folks were in my session as well. It&#8217;s always interesting to see the reactions from Microsofties when they see how people really use their stuff. My session was entitled &#8220;Flying in the &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/03/09/office365-redmond-slides-and-demos/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://sympmarc.com/wp-content/uploads/2012/03/image6.png"><img class="aligncenter size-full wp-image-14839" title="image.png" src="http://sympmarc.com/wp-content/uploads/2012/03/image6.png" alt="" width="380" height="68" /></a></p>
<p>I had great fun presenting at <a href="http://o365redmond.sharepoint.com" target="_blank">Office365 Redmond</a> a few Saturdays ago. Not only was it on the Microsoft campus, but some Microsoft folks were in my session as well. It&#8217;s always interesting to see the reactions from Microsofties when they see how people really use their stuff.</p>
<p>My session was entitled &#8220;Flying in the Cloud: New Ways to Develop for SharePoint&#8221;. In some ways, the session was very similar to my old &#8220;Developing in SharePoint’s Middle Tier&#8221; presentations, but skewed toward Office365 and working with SharePoint Online. One of the great things about working in SharePoint&#8217;s Middle Tier is that the same approaches just plain work in both environments. There are a few small differences, but they aren&#8217;t of much consequence. I was able to do my demos on my Office365 E1 installation with no problems, since I had <a href="http://sympmarc.com/2012/01/10/trials-and-tribulations-migrating-my-demos-site-to-office365/" target="_blank">worked out my issues</a> with migrating my demo environment from my local VM to SharePoint Online. It wasn&#8217;t a simple thing (though it should have been).</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/03/image5.png"><img class="size-full wp-image-14831 aligncenter" title="image.png" src="http://sympmarc.com/wp-content/uploads/2012/03/image5.png" alt="" width="409" height="75" /></a></p>
<p>It was the inaugural event for Office365 Saturday, and I was interested going in how it would work vis a vis SharePoint Saturday. As it turned out, the majority of sessions were about SharePoint. It&#8217;s not clear if that&#8217;s because Exchange and Lync are less interesting, the communities for those two products aren&#8217;t as strong, or those folks aren&#8217;t as willing to spend a Saturday talking about them. In any case, I think that it&#8217;ll take a few more of these Office365 Saturday events before we all know whether the idea has legs, at least as a separate event from the venerable old SharePoint Saturdays themselves.</p>
<p>I&#8217;ve learned a <a href="http://sympmarc.com/2012/01/10/trials-and-tribulations-migrating-my-demos-site-to-office365/" target="_blank">few things</a> about <a href="http://sympmarc.com/2012/03/08/office365-sharepoint-online-portability-issues-strike-again/" target="_blank">compatibility</a> of solution files (WSPs) between SharePoint Online and on premises installations over the last few weeks. Because of this, I&#8217;m including two WSPs for each demo in a <a href="http://sympmarc.com/wp-content/uploads/2012/03/2012-02-25-O365Redmond1.zip">ZIP file</a>. (The few slides I used are also included.) There is a WSP for on premises and one for Office365 for each of the two demo sites. They aren&#8217;t exactly the same, but they are close enough for you to see all of the important bits and pieces I demonstrated in the session. If you download things and have issues hydrating them, please let me know what those issues are, as I&#8217;m trying to understand as much as I can about these portability considerations.</p>
<p>Thanks to all of the organizers, sponsors, and other speakers for a great day of information and knowledge sharing.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/lb4_r_930N5xtwpK5VHJDWYZKnw/0/da"><img src="http://feedads.g.doubleclick.net/~a/lb4_r_930N5xtwpK5VHJDWYZKnw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/lb4_r_930N5xtwpK5VHJDWYZKnw/1/da"><img src="http://feedads.g.doubleclick.net/~a/lb4_r_930N5xtwpK5VHJDWYZKnw/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=IdGpMZrM014:Lfw6l7JmISE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/IdGpMZrM014" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/03/09/office365-redmond-slides-and-demos/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/03/09/office365-redmond-slides-and-demos/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=office365-redmond-slides-and-demos</feedburner:origLink></item>
		<item>
		<title>Office365 SharePoint Online Portability Issues Strike Again</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/z6Logmv3Nzc/</link>
		<comments>http://sympmarc.com/2012/03/08/office365-sharepoint-online-portability-issues-strike-again/#comments</comments>
		<pubDate>Thu, 08 Mar 2012 18:25:32 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Office365]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[SharePoint Online]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14835</guid>
		<description><![CDATA[I had another situation today where the portability issues between Office365 and an on premises installation reared its ugly head. This is the reverse situation from the issues I had a while ago trying to move my demo sites from my VM to SharePoint Online. Last week, I shared a WSP containing some of my &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/03/08/office365-sharepoint-online-portability-issues-strike-again/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://sympmarc.com/wp-content/uploads/2012/03/image5.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://sympmarc.com/wp-content/uploads/2012/03/image_thumb5.png" width="409" height="75"></a>I had another situation today where the portability issues between Office365 and an on premises installation reared its ugly head. This is the reverse situation from the <a href="http://sympmarc.com/2012/01/10/trials-and-tribulations-migrating-my-demos-site-to-office365/" target="_blank">issues</a> I had a while ago trying to move my demo sites from my VM to SharePoint Online.</p>
<p>Last week, I shared a WSP containing some of my demos with my friend Christian Ståhl (<a href="http://twitter.com/cstahl" target="_blank">@cstahl</a>) at the MVP Summit in Redmond. It was a WSP that I had saved from my SharePoint Online instantiation of my demo sites. When Christian tried to instantiate the solution in his on premises environment, he got the error:</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/03/clip_image001.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px; padding-top: 0px" title="clip_image001" border="0" alt="clip_image001" align="left" src="http://sympmarc.com/wp-content/uploads/2012/03/clip_image001_thumb.jpg" width="334" height="120"></a></p>
<blockquote><p>The site template requires that the Feature<br />{232b3f94-9d6e-4ed6-8d55-04d5a44ac449} be installed in<br />the farm or site collection.</p>
</blockquote>
<p>A little Binglage told me that the 232b3f94-9d6e-4ed6-8d55-04d5a44ac449 GUID represents the <a href="http://social.msdn.microsoft.com/Forums/en-US/sharepoint2010general/thread/db75e011-856c-4c04-b08d-b8c559bb0c3f" target="_blank">HelpCollectionRemoveDefault feature</a>, which is specific to SharePoint Online. (Tip &#8216;o the beret to <a href="http://community.office365.com/members/Rene-D-Modery/default.aspx">Rene Modery </a>@Modery for that <a href="http://community.office365.com/en-us/f/154/p/11772/52712.aspx#52712" target="_blank">tidbit</a>.) Unfortunately, there doesn&#8217;t seem to be any way to disable the feature if you actually need to, which might be a bad idea, anyway. That means that a WSP created in SharePoint Online can&#8217;t by hydrated on premises by a normal person. (AFAIK, it&#8217;s not possible to run PowerShell with SharePoint Online to deactivate the feature.)</p>
<p>The moral of the story seems to be that Office365 saved site templates (WSPs) can be instantiated in Office365 and on premises saved site templates can be instantiated in on premises installations and the twain can rarely meet, at least not easily. As I&#8217;ve said quite a few times before, getting this portability thing right is going to be absolutely imperative for a lot of people to want to use Office365, IMO. My guess is that many people may want to move their content to SharePoint Online and back again over time. This is just way too difficult given these feature mismatch issues.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/G5SJ-re4Blv1fjmZDjjc8u-EyBY/0/da"><img src="http://feedads.g.doubleclick.net/~a/G5SJ-re4Blv1fjmZDjjc8u-EyBY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/G5SJ-re4Blv1fjmZDjjc8u-EyBY/1/da"><img src="http://feedads.g.doubleclick.net/~a/G5SJ-re4Blv1fjmZDjjc8u-EyBY/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=z6Logmv3Nzc:UaZhsf2wiVE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/z6Logmv3Nzc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/03/08/office365-sharepoint-online-portability-issues-strike-again/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/03/08/office365-sharepoint-online-portability-issues-strike-again/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=office365-sharepoint-online-portability-issues-strike-again</feedburner:origLink></item>
		<item>
		<title>Problems With My HP Envy 15 Battery Semi-Solved</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/R5ZftjIGtRo/</link>
		<comments>http://sympmarc.com/2012/03/03/problems-with-my-hp-envy-15-battery-semi-solved/#comments</comments>
		<pubDate>Sat, 03 Mar 2012 06:44:44 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[battery]]></category>
		<category><![CDATA[HP Envy 15]]></category>
		<category><![CDATA[slice]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14826</guid>
		<description><![CDATA[I&#8217;ve been having problems with my HP Envy 15 laptop slice battery. The battery is a unique one, as it fits fully across the entire laptop on the bottom. It&#8217;s a really cool looking thing, but the way it attaches to the bottom of the laptop is, well, stupid. I&#8217;ve had lots of problems with &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/03/03/problems-with-my-hp-envy-15-battery-semi-solved/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been having problems with my <a href="http://sympmarc.com/2010/02/16/my-hp-envy-15-monster-laptop-specs/" target="_blank">HP Envy 15 laptop</a> slice battery. The battery is a unique one, as it fits fully across the entire laptop on the bottom.</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/03/image1.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://sympmarc.com/wp-content/uploads/2012/03/image_thumb1.png" width="378" height="275"></a></p>
<p>It&#8217;s a really cool looking thing, but the way it attaches to the bottom of the laptop is, well, stupid. I&#8217;ve had lots of <a href="http://sympmarc.com/2010/07/27/letter-to-hpsupport-re-my-hp-envy-15-battery-odyssey/" target="_blank">problems</a> with the two slice batteries I have. The little latch things either break easily or don&#8217;t hold the battery on tightly or for very long. There&#8217;s no obvious solution to the latch issue (<a href="http://www.supergluecorp.com/super-glue" target="_blank">Superglue</a>? <a href="http://en.wikipedia.org/wiki/Duct_tape" target="_blank">Duct Tape</a>?), but I was having a different issue as well.</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/03/image2.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://sympmarc.com/wp-content/uploads/2012/03/image_thumb2.png" width="34" height="41"></a>Frequently the slice battery was showing a 100% charge, yet clearly it wasn&#8217;t fully charged, as the laptop only lasted about an hour and a half on the main battery charge. Other times, it showed a lower charge level (today it was 61%), yet the battery meter said &#8220;plugged in, not charging&#8221;.<a href="http://sympmarc.com/wp-content/uploads/2012/03/image3.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://sympmarc.com/wp-content/uploads/2012/03/image_thumb3.png" width="327" height="362"></a></p>
<p>This seems to be a problem not just with my specific machine, but with lots of machines running Windows Vista and Windows 7, based on all of the complaints I read on the Web.</p>
<p>I tried everything I could think of and everything I <a href="http://h30434.www3.hp.com/t5/Notebook-Hardware/HP-Envy-Battery-quot-plugged-in-not-charging-quot/" target="_blank">read</a> about on the Web. Yet there was one more last thought I had, and it seemed to work.</p>
<p>I was leaning on my laptop reading something on the screen and I noticed that the battery meter was showing the little charge animation. When I stopped leaning on the laptop, it stopped charging. It occurred to me to pry up the little prongs on the battery to increase the likelihood of a connection with the bottom of the laptop, and it seems to have done the trick.
<p><a href="http://sympmarc.com/wp-content/uploads/2012/03/image4.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://sympmarc.com/wp-content/uploads/2012/03/image_thumb4.png" width="327" height="362"></a>
<p>&nbsp;</p>
<p>I&#8217;m keeping my fingers crossed that I&#8217;ve finally hit on a solution, but I&#8217;ve also ordered a new main battery and a new slice battery just in case. I can&#8217;t afford to waste time with a down laptop if I can avoid it.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/2z0IF_xq4BZKSP-gsmfcBI50sBU/0/da"><img src="http://feedads.g.doubleclick.net/~a/2z0IF_xq4BZKSP-gsmfcBI50sBU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/2z0IF_xq4BZKSP-gsmfcBI50sBU/1/da"><img src="http://feedads.g.doubleclick.net/~a/2z0IF_xq4BZKSP-gsmfcBI50sBU/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=R5ZftjIGtRo:jAX1MsCJVIE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/R5ZftjIGtRo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/03/03/problems-with-my-hp-envy-15-battery-semi-solved/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/03/03/problems-with-my-hp-envy-15-battery-semi-solved/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=problems-with-my-hp-envy-15-battery-semi-solved</feedburner:origLink></item>
		<item>
		<title>Managing Resources in SharePoint Online (Office365) Site Collections – "You are approaching the maximum storage limit"</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/GF_EdgXXSAY/</link>
		<comments>http://sympmarc.com/2012/03/01/managing-resources-in-sharepoint-online-office365-site-collections-you-are-approaching-the-maximum-storage-limit/#comments</comments>
		<pubDate>Thu, 01 Mar 2012 18:21:29 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[Office365]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[Site Collection]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14814</guid>
		<description><![CDATA[Recently, I ran into a problem on my Office365-based SharePoint site. I&#8217;ve got an E1 account so that I can test how things work in the cloud. When I went to add a new Site Collection, I saw the message below in yellow. This message itself didn&#8217;t make sense to me, since I have only &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/03/01/managing-resources-in-sharepoint-online-office365-site-collections-you-are-approaching-the-maximum-storage-limit/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Recently, I ran into a problem on my <a href="http://www.microsoft.com/en-us/office365/online-software.aspx" target="_blank">Office365</a>-based SharePoint site. I&#8217;ve got an <a href="http://www.microsoft.com/en-us/office365/compare-plans.aspx" target="_blank">E1 account</a> so that I can test how things work in the cloud. When I went to add a new Site Collection, I saw the message below in yellow.
<p><a href="http://sympmarc.com/wp-content/uploads/2012/03/image.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://sympmarc.com/wp-content/uploads/2012/03/image_thumb.png" width="894" height="252"></a>
<p>This message itself didn&#8217;t make sense to me, since I have only uploaded a few tens of megabytes of content to the account so far across the three Site Collections that I had set up at the time. There&#8217;s no way I&#8217;d even started to get close to my storage limits. Note that the screen is also telling me that I have 0 resources and 0 MB available.
<p>The thing that stopped me in my tracks was that the New button on the ribbon was greyed out, so I couldn&#8217;t create a new Site Collection. I checked the online help, and I should have been able to create up to 300 Site Collections (see below), and I only had three so far. Something wasn&#8217;t right.
<p>I filed a service request online with Office365 to try to get things sorted out. Since I did this through the Web site, I assumed, and preferred, that we could work it out through email. I always believe that the way a customer initiates a service request ought to be the default follow up method. The first reply back said that we needed to schedule a phone call to figure this out. This became a theme in the eight emails I received from Microsoft support on this issue.
<p>I say Microsoft support, but it became very clear that this is probably an outsourced function. The answers were only tangentially related to my issue and seemed fairly pat in nature. I tried to point out that I am a SharePoint MVP (I don&#8217;t often haul that into a conversation, but they seemed to think I had no idea what I was doing), but that didn&#8217;t make any difference. The most frustrating part of this was that, even after repeated suggestions from my end, they didn&#8217;t seem to be looking at my account at all. They just sent me standard information about how SharePoint Online works, like the information at the bottom of this post. It wasn&#8217;t that the information wasn&#8217;t interesting to read through. It simply didn&#8217;t address my specific issue, and made it clear that they probably weren&#8217;t looking at my account at all.
<p>Finally, after more suggestions that we had to solve this via phone, we got to the bottom of the issue. It wasn&#8217;t that I was nearing my <strong><em>storage usage</em></strong> limit, but that the <strong><em>storage quota</em></strong> was used up. Here is the message from Microsoft support that finally got me there.<br />
<blockquote>
<p><strong><u>Issue Resolution:-</u></strong>
<p>-&gt; You need to reduce the storage Quota for [MySiteURL] (9450MB) . You need to select that site from &#8220;Site Collection&#8221; and click on &#8220;Storage Quota&#8221; on ribbon and reduce the &#8220;Limit storage quota for each selected site collection to a maximum of: &#8221; .
<p>-&gt; Or you need to add some test users and provide them Licenses so that you would get 500 megabytes (MB) per enterprise user.
<p>This will help you to Increase your MB available and then you would be able to create new site.</p>
</blockquote>
<p>That answer still didn&#8217;t tell me that they had looked at my account (I certainly don&#8217;t need another 500Mb of storage for another user when I&#8217;m only using maybe 20Mb so far). But by reducing the Storage Quota for the existing Site Collections, I got rid of the initial issue. It turned out that I also had to reduce the Resource Usage Quota for the Site Collections so that I wasn&#8217;t bumping up against that total limit as well.
<p><a href="http://sympmarc.com/wp-content/uploads/2012/03/clip_image002.jpg"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://sympmarc.com/wp-content/uploads/2012/03/clip_image002_thumb.jpg" width="644" height="316"></a></p>
<p>&nbsp;</p>
<p>Once I knew the solution, it seemed obvious, of course, but this is certainly something that could be spelled out more clearly on the screen. If I couldn’t figure it out, so it’s bound to be confusing to many others. The other weird thing is that I&#8217;m pretty sure that both the Storage Quota and the Resource Usage Quota were set to the maximum available when I created the Demos Site Collection. I&#8217;m sure that there was a message of some sort, but it must not have been clear enough to help me set the values more intelligently.</p>
<p>Hopefully, the messages for these two issues will be improved in the future, In case they aren&#8217;t, I figured I&#8217;d post what I went through in case someone Bingles the &#8220;You are approaching the maximum storage limit&#8221; message.</p>
<p>Here&#8217;s the useful info I mentioned above about the E1 plan.</p>
<hr />
<h2>Key Features and Specifications</h2>
<p>Table 7 provides a quick look at some of the key features and specifications of SharePoint Online.
<p><strong>Table 7: SharePoint Online key features and specifications</strong><strong></strong><br />
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="bottom" width="243">
<p><strong>Feature</strong></p>
</td>
<td valign="bottom" width="238">
<p><strong>Description</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="243">
<p>Storage (pooled)</p>
</td>
<td width="537">
<p>10 gigabytes (GB) base customer storage plus 500 megabytes (MB) per enterprise user </p>
</td>
</tr>
<tr>
<td valign="top" width="243">
<p>Storage per Kiosk Worker</p>
</td>
<td width="537">
<p>Zero (0). Licensed Kiosk Workers do not bring additional storage allocation.</p>
</td>
</tr>
<tr>
<td valign="top" width="243">
<p>Storage per external user</p>
</td>
<td width="537">
<p>Zero (0). Licensed external users do not bring additional storage allocation.</p>
</td>
</tr>
<tr>
<td valign="top" width="243">
<p>Additional storage (per GB per month); no minimum purchase.</p>
</td>
<td width="537">
<p>$2.50USD/GB/month</p>
</td>
</tr>
<tr>
<td valign="top" width="243">
<p>Site collection storage quotas</p>
</td>
<td width="537">
<p>Up to 100 gigabytes (GB) per site collection</p>
</td>
</tr>
<tr>
<td valign="top" width="243">
<p>My Site storage allocation (does not count against tenant&#8217;s overall storage pool)</p>
</td>
<td width="537">
<p>500 megabytes (MB) of personal storage per My Site (once provisioned)<br />*Note: the storage amount on individual&#8217;s My Site storage cannot be adjusted.</p>
</td>
</tr>
<tr>
<td valign="top" width="243">
<p>Site collections (#) per tenant</p>
</td>
<td width="537">
<p>Up to 300 (non-My Site site collections)</p>
</td>
</tr>
<tr>
<td valign="top" width="243">
<p>Total storage per tenant</p>
</td>
<td width="537">
<p>Up to 5 terabyte (TB) per tenant</p>
</td>
</tr>
<tr>
<td valign="top" width="243">
<p>File upload limit</p>
</td>
<td width="537">
<p>250 megabytes (MB) per file</p>
</td>
</tr>
<tr>
<td valign="top" width="243">
<p>External Users (PALs)</p>
</td>
<td width="537">
<p>50 PALs are included per tenant. Current &#8220;Feature Preview&#8221; allows for usage rights of up to 1000 external users without requiring additional PALs. Microsoft reserves the right to charge for additional PALs beyond 50 at the time the next major Office 365 update.</p>
</td>
</tr>
<tr>
<td valign="top" width="243">
<p>Microsoft Office support</p>
</td>
<td valign="top" width="248">
<p>Microsoft Access 2010 </p>
<p>Microsoft Excel<sup>®</sup> 2007 and 2010 </p>
<p>Microsoft InfoPath<sup>®</sup> 2010 </p>
<p>Outlook 2007 and 2010 </p>
<p>Microsoft OneNote 2010 </p>
<p>PowerPoint 2007 and 2010 </p>
<p>Microsoft SharePoint Designer 2010 </p>
<p>Word 2007 and 2010 </p>
<p>SharePoint Workspace 2010 </p>
<p>Project Professional 2010</p>
</td>
</tr>
<tr>
<td valign="top" width="243">
<p>Browser support </p>
</td>
<td valign="top" width="248">
<p>Internet Explorer 7
<p>Internet Explorer 8
<p>Internet Explorer 9
<p>Firefox 3 and higher
<p>Safari 3.1.2 on Macintosh OS X 10.5
<p>Chrome</p>
</td>
</tr>
<tr>
<td valign="top" width="243">
<p>Mobile device support</p>
</td>
<td valign="top" width="537">
<p>Windows Phone 7.5 codenamed &#8220;Mango&#8221; or later
<p>Windows Mobile<sup>®</sup> 6.1 or later
<p>Nokia S60 3.0 or later
<p>Apple iPhone 3.0 or later
<p>Blackberry 4.2 or later
<p>Android 1.5 or later</p>
</td>
</tr>
</tbody>
</table>
<h2>Storage</h2>
<p>SharePoint Online allocates an initial 10 GB of storage plus 500 MB for each user. This storage is pooled and available for allocation across multiple site collections. For example, an organization of 1,000 users by default would have a base of 510,000 MB (510 GB) of storage.
<p>In addition, users can purchase more SharePoint Online storage in GB increments charged monthly, currently $2.50USD/GB/month.<br />
<h2>Site Storage Quotas</h2>
<p>The SharePoint Online service administrator can set the storage limits for site collections and sites created by users. The minimum storage allocated to a new site collection is 24 megabytes (MB). The maximum storage available for any site collection is up to 100 gigabytes (GB).
<p>The maximum SharePoint Online storage available to a single company&#8217;s tenancy is up to 5 terabytes (TB). <a name="_Toc211413039"></a><a name="_Toc211413040"></a><br />
<table border="0" cellspacing="3" cellpadding="0">
<tbody>
<tr>
<td valign="top">
<p><b>Note </b></p>
</td>
</tr>
<tr>
<td valign="top">For more information about storage quotas, review <a href="http://office.microsoft.com/en-us/sharepoint-online-enterprise-help/sharepoint-online-software-boundaries-and-limits-HA102694293.aspx">SharePoint Online: software boundaries and limits</a> at the Office.com site.</td>
</tr>
</tbody>
</table>
<h2>Site Collections</h2>
<p>A site collection consists of a top-level site and its subsites. SharePoint Online lets users allocate their available storage space across up to 300 site collections. Site collections are often based on departmental boundaries. My Sites (personal site collections) do not count against this overall number of team site oriented site collections, nor do My Sites pull from the pool of storage; each My Site, once provisioned, is allocated 500 megabytes (MB) of personal storage.
<p>Sites within a site collection share common features, such as galleries for templates, content types, Web Parts, and custom solutions uploaded to the site collection solution gallery. A subsite can inherit permissions and navigation structure from its parent site, or these can be specified and managed independently. See the TechNet article <a href="http://technet.microsoft.com/en-us/library/cc262690.aspx">Determine permission levels and groups (SharePoint Server 2010)</a> for details.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/Ng6EIAwG5Ufqrkv1OSJLiktpn3U/0/da"><img src="http://feedads.g.doubleclick.net/~a/Ng6EIAwG5Ufqrkv1OSJLiktpn3U/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Ng6EIAwG5Ufqrkv1OSJLiktpn3U/1/da"><img src="http://feedads.g.doubleclick.net/~a/Ng6EIAwG5Ufqrkv1OSJLiktpn3U/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=GF_EdgXXSAY:AWxTG63dY0M:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/GF_EdgXXSAY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/03/01/managing-resources-in-sharepoint-online-office365-site-collections-you-are-approaching-the-maximum-storage-limit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/03/01/managing-resources-in-sharepoint-online-office365-site-collections-you-are-approaching-the-maximum-storage-limit/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=managing-resources-in-sharepoint-online-office365-site-collections-you-are-approaching-the-maximum-storage-limit</feedburner:origLink></item>
		<item>
		<title>Application-Wide Help in SharePoint Using DVWPs and List-Based Content</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/Zo5AUPH2ZzM/</link>
		<comments>http://sympmarc.com/2012/02/24/application-wide-help-in-sharepoint-using-dvwps-and-list-based-content/#comments</comments>
		<pubDate>Sat, 25 Feb 2012 02:04:55 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Data View Web Part]]></category>
		<category><![CDATA[DVWP]]></category>
		<category><![CDATA[help pages]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14775</guid>
		<description><![CDATA[In a recent client project, we wanted to offer some sort of online help capability. While SharePoint has a help capability built into it (those little icons on every page which usually take you to a page that has nothing to do with what you are actually doing – Microsoft should really fix that), we &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/02/24/application-wide-help-in-sharepoint-using-dvwps-and-list-based-content/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>In a recent client project, we wanted to offer some sort of online help capability. While SharePoint has a help capability built into it (those little <a href="http://sympmarc.com/wp-content/uploads/2012/02/image5.png"><img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/02/image_thumb5.png" alt="image" width="20" height="20" border="0" /></a> icons on every page which usually take you to a page that has nothing to do with what you are actually doing – Microsoft should really fix that), we wanted something a bit different.</p>
<p>In this case, we were using SharePoint uniquely. Without going into all of the specifics, we were using SharePoint as the new front end to a long-standing existing system which was built with .NET on top of SQL. We were going to have hundreds of sites, if not thousands, with every site having exactly the same pages.</p>
<p>The way this worked was that we set up about 20 different page layouts. Each of those page layouts would be used by exactly one page in each site, and we controlled the names of all of the pages. At least in the near- to mid-term, end users wouldn&#8217;t be creating pages of their own. SharePoint would not be used to any significant degree for its collaboration capabilities, but as a way to &#8220;Webify&#8221; the existing application relatively easily.</p>
<p>There are some other really interesting and cool aspects to what we did, but in this post, I want to focus just on the simple help system we built.</p>
<p>Along with all of the identical sites (though each relied on different content and permissions from the back end system) that we were building, we also set up a Training site. The goal for that site was to hold all of the documents and video content that users would need to get up to speed with the system. We also decided to store the help &#8220;pages&#8221; there so that we could reuse the same content for both purposes.</p>
<p>Rather than using a publishing model, we decided to use a list to hold the help content. I&#8217;m a *huge* fan of list-based content over the publishing model for most internal systems. It gives you the possibility of reusing the same content in multiple ways using different delivery channels far more easily. There are those who think otherwise, but there you go. It always depends.</p>
<p>The simple list for the help content looked like this:</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/02/image6.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/02/image_thumb6.png" alt="image" width="647" height="181" border="0" /></a></p>
<p>The actual help content was stored in the Help Text column, which was set up to hold Extended Rich Text. All we needed to know about the content to tie it to the appropriate page was the ASPX Name. This looked like &#8220;BuildingStatistics.aspx&#8221; or &#8220;BuildingReportOverView.aspx&#8221;. (Yes, each site represented a single building.) Every site would have the exact same set of aspx pages, so the scheme was simple, yet robust enough to do what we needed. We just used the Title to hold a nice title for the help page, which you&#8217;ll see below.</p>
<p>Next I added a Data View Web Part (DVWP) into the master page – gasp! A DVWP in the master page!?!? Yes, you can absolutely put DVWPs into master pages. In many cases it might not be a good idea, since it adds overhead to every page that uses it, but that was exactly what we wanted to do in this case. I&#8217;ve done this in quite a few production systems to great effect.</p>
<p>The DVWP in the master page read from the help list and determined just if there was a help item for the page we were on. If there was, the DVWP simply put a help icon into the header of the page, like this one:</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/02/image7.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border-width: 0px;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/02/image_thumb7.png" alt="image" width="54" height="47" border="0" /></a></p>
<p>If we didn&#8217;t have help for that page yet, then the icon didn&#8217;t show up. Simple enough. Here&#8217;s the XSL for that DVWP:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;xsl:template match=&quot;/&quot; xmlns:x=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:d=&quot;http://schemas.microsoft.com/sharepoint/dsp&quot; xmlns:asp=&quot;http://schemas.microsoft.com/ASPNET/20&quot; xmlns:__designer=&quot;http://schemas.microsoft.com/WebParts/v2/DataView/designer&quot; xmlns:SharePoint=&quot;Microsoft.SharePoint.WebControls&quot;&gt;
  &lt;xsl:call-template name=&quot;dvt_1&quot;/&gt;
&lt;/xsl:template&gt;

&lt;xsl:template name=&quot;dvt_1&quot;&gt;
  &lt;xsl:variable name=&quot;PageName&quot;&gt;
    &lt;xsl:call-template name=&quot;GetPageName&quot;&gt;
      &lt;xsl:with-param name=&quot;URL&quot; select=&quot;$URL&quot;/&gt;
    &lt;/xsl:call-template&gt;
  &lt;/xsl:variable&gt;
  &lt;xsl:variable name=&quot;Rows&quot; select=&quot;/dsQueryResponse/Rows/Row[contains(@ASPX_x0020_Name,$PageName) and string-length(@Help_x0020_Text) &amp;gt; 0]&quot;/&gt;
  &lt;xsl:if test=&quot;count($Rows) &amp;gt; 0&quot;&gt;
    &lt;div class=&quot;zzz-help-icon&quot;&gt;
      &lt;a href=&quot;/Training/Help.aspx?FromPage={$PageName}&quot; target=&quot;_blank&quot;&gt;
        &lt;img alt=&quot;Help with this Page&quot; style=&quot;border:0;&quot; src=&quot;/AppImages/Help-icon.png&quot;/&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/xsl:if&gt;
&lt;/xsl:template&gt;

&lt;xsl:template name=&quot;GetPageName&quot;&gt;
  &lt;xsl:param name=&quot;URL&quot;/&gt;
  &lt;xsl:choose&gt;
    &lt;xsl:when test=&quot;contains($URL,'/')&quot;&gt;
      &lt;xsl:call-template name=&quot;GetPageName&quot;&gt;
         &lt;xsl:with-param name=&quot;URL&quot; select=&quot;substring-after($URL,'/')&quot;/&gt;
      &lt;/xsl:call-template&gt;
    &lt;/xsl:when&gt;
    &lt;xsl:otherwise&gt;
      &lt;xsl:value-of select=&quot;$URL&quot;/&gt;
    &lt;/xsl:otherwise&gt;
  &lt;/xsl:choose&gt;
&lt;/xsl:template&gt;
</pre>
<p>When the user clicked on the icon, a new browser window would open up with a help page like the one below. I think we called it something like PageHelp.aspx, and it lived in the Training site. Sorry about the blurred out content, but I think you can see the overall structure of the page.</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/02/image8.png"><img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/02/image_thumb8.png" alt="image" width="1073" height="655" border="0" /></a></p>
<p>The help page simply displayed content from the help list on the left, as well as any associated videos on the right, both with DVWPs. We had the videos hosted on ScreenCast.com for easy streaming and reuse, though they will probably be hosted in-house with the application in the near future.</p>
<p>The help text DVWP&#8217;s XSL looked like this:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;xsl:template match=&quot;/&quot; xmlns:x=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:d=&quot;http://schemas.microsoft.com/sharepoint/dsp&quot; xmlns:asp=&quot;http://schemas.microsoft.com/ASPNET/20&quot; xmlns:__designer=&quot;http://schemas.microsoft.com/WebParts/v2/DataView/designer&quot; xmlns:SharePoint=&quot;Microsoft.SharePoint.WebControls&quot;&gt;
  &lt;xsl:call-template name=&quot;PageHelp&quot;/&gt;
&lt;/xsl:template&gt;

&lt;xsl:template name=&quot;PageHelp&quot;&gt;
  &lt;xsl:variable name=&quot;dvt_StyleName&quot;&gt;Table&lt;/xsl:variable&gt;
  &lt;xsl:variable name=&quot;Rows&quot; select=&quot;/dsQueryResponse/Rows/Row&quot;/&gt;
  &lt;xsl:choose&gt;
    &lt;xsl:when test=&quot;count($Rows) = 0&quot;&gt;
      &lt;xsl:call-template name=&quot;PageHelp.empty&quot;/&gt;
    &lt;/xsl:when&gt;
    &lt;xsl:otherwise&gt;
      &lt;table border=&quot;0&quot; width=&quot;100%&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;
        &lt;xsl:for-each select=&quot;$Rows&quot;&gt;
          &lt;xsl:call-template name=&quot;PageHelp.rowview&quot; /&gt;
        &lt;/xsl:for-each&gt;
      &lt;/table&gt;
    &lt;/xsl:otherwise&gt;
  &lt;/xsl:choose&gt;
&lt;/xsl:template&gt;

&lt;xsl:template name=&quot;PageHelp.rowview&quot;&gt;
  &lt;tr&gt;
    &lt;td class=&quot;ms-vb&quot;&gt;
      &lt;h3&gt;&lt;xsl:value-of select=&quot;@Title&quot;/&gt;&lt;/h3&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td class=&quot;ms-vb&quot;&gt;
      &lt;xsl:value-of select=&quot;@Help_x0020_Text&quot; disable-output-escaping=&quot;yes&quot;/&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
&lt;/xsl:template&gt;

&lt;xsl:template name=&quot;PageHelp.empty&quot;&gt;
  &lt;table border=&quot;0&quot; width=&quot;100%&quot;&gt;
    &lt;tr&gt;
     &lt;td class=&quot;ms-vb&quot;&gt;
        There is no help available for this page.
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;
&lt;/xsl:template&gt;
</pre>
<p>The videos DVWP&#8217;s XSL looked like this:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;xsl:template match=&quot;/&quot; xmlns:x=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:d=&quot;http://schemas.microsoft.com/sharepoint/dsp&quot; xmlns:asp=&quot;http://schemas.microsoft.com/ASPNET/20&quot; xmlns:__designer=&quot;http://schemas.microsoft.com/WebParts/v2/DataView/designer&quot; xmlns:SharePoint=&quot;Microsoft.SharePoint.WebControls&quot;&gt;
  &lt;xsl:call-template name=&quot;dvt_1&quot;/&gt;
&lt;/xsl:template&gt;

&lt;xsl:template name=&quot;dvt_1&quot;&gt;
  &lt;xsl:variable name=&quot;Rows&quot; select=&quot;/dsQueryResponse/Rows/Row&quot;/&gt;
  &lt;xsl:choose&gt;
    &lt;xsl:when test=&quot;count($Rows) = 0&quot;&gt;
      &lt;xsl:call-template name=&quot;dvt_1.empty&quot;/&gt;
    &lt;/xsl:when&gt;
    &lt;xsl:otherwise&gt;
      &lt;table border=&quot;0&quot; width=&quot;100%&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;
        &lt;xsl:call-template name=&quot;dvt_1.body&quot;&gt;
          &lt;xsl:with-param name=&quot;Rows&quot; select=&quot;$Rows&quot;/&gt;&lt;/xsl:call-template&gt;
      &lt;/table&gt;
    &lt;/xsl:otherwise&gt;
  &lt;/xsl:choose&gt;
&lt;/xsl:template&gt;

&lt;xsl:template name=&quot;dvt_1.body&quot;&gt;
  &lt;xsl:param name=&quot;Rows&quot;/&gt;
  &lt;xsl:for-each select=&quot;$Rows&quot;&gt;
    &lt;xsl:call-template name=&quot;dvt_1.rowview&quot; /&gt;
  &lt;/xsl:for-each&gt;
&lt;/xsl:template&gt;

&lt;xsl:template name=&quot;dvt_1.rowview&quot;&gt;
  &lt;tr&gt;
    &lt;td class=&quot;ms-vb&quot;&gt;
      &lt;h3&gt;&lt;xsl:value-of select=&quot;@URL.desc&quot;/&gt;&lt;/h3&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td class=&quot;ms-vb&quot;&gt;
       &lt;object id=&quot;scPlayer&quot;  width=&quot;300&quot; height=&quot;250&quot; type=&quot;application/x-shockwave-flash&quot; data=&quot;http://content.screencast.com/users/[pathtovideos]/media/{@VideoGUID}/mp4h264player.swf&quot; &gt;
        &lt;param name=&quot;movie&quot; value=&quot;http://content.screencast.com/users/[pathtovideos]/media/{@VideoGUID}/mp4h264player.swf&quot; /&gt;
        &lt;param name=&quot;quality&quot; value=&quot;high&quot; /&gt;
        &lt;param name=&quot;bgcolor&quot; value=&quot;#FFFFFF&quot; /&gt;
        &lt;param name=&quot;flashVars&quot; value=&quot;thumb=http://content.screencast.com/users/[pathtovideos]/media/{@VideoGUID}/FirstFrame.jpg&amp;amp;containerwidth=1283&amp;amp;containerheight=877&amp;amp;analytics=UA-24180918-1&amp;amp;content=http://content.screencast.com/users/[pathtovideos]/media/{@VideoGUID}/{@VideoFilename}&amp;amp;blurover=false&quot; /&gt;
        &lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;
        &lt;param name=&quot;scale&quot; value=&quot;showall&quot; /&gt;
        &lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot; /&gt;
        &lt;param name=&quot;base&quot; value=&quot;http://content.screencast.com/users/[pathtovideos]/media/{@VideoGUID}/&quot; /&gt;
        &lt;iframe type=&quot;text/html&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; style=&quot;overflow:hidden;&quot; src=&quot;http://www.screencast.com/users/[pathtovideos]/media/{@VideoGUID}/embed&quot; height=&quot;877&quot; width=&quot;1283&quot; &gt;&lt;/iframe&gt;
      &lt;/object&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
&lt;/xsl:template&gt;

&lt;xsl:template name=&quot;dvt_1.empty&quot;&gt;
  &lt;table border=&quot;0&quot; width=&quot;100%&quot;&gt;
    &lt;tr&gt;
      &lt;td class=&quot;ms-vb&quot;&gt;
        There are no training videos available for this page.
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;
&lt;/xsl:template&gt;
</pre>
<p>Note that I&#8217;ve replace the actual path to the videos at ScreenCast.com with [pathtovideos] above. We had several columns in the video list that contained the bits of information that we needed for each video: @VideoFilename and @VideoGUID. If the videos were hosted elsewhere, the pieces of information you would need as well as the player specifics would undoubtedly be different.</p>
<p>By keeping things simple and list-based, we very rapidly (in a matter of hours) built out a robust help capability for the whole system. If need be, it can be extended to display other types of content on the help page, such as documents. We could also make the ASPX Page column a multi-select lookup if we wanted to be able to offer up the same help content for multiple pages within the same site.</p>
<p>All in all, we were pretty proud of this as a solution. Simple, yet elegant at the same time. That&#8217;s always a good feeling.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/umtTZhWXO4d7rBQnVclNWtkaB_M/0/da"><img src="http://feedads.g.doubleclick.net/~a/umtTZhWXO4d7rBQnVclNWtkaB_M/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/umtTZhWXO4d7rBQnVclNWtkaB_M/1/da"><img src="http://feedads.g.doubleclick.net/~a/umtTZhWXO4d7rBQnVclNWtkaB_M/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=Zo5AUPH2ZzM:KGAdhT19C7I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/Zo5AUPH2ZzM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/02/24/application-wide-help-in-sharepoint-using-dvwps-and-list-based-content/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/02/24/application-wide-help-in-sharepoint-using-dvwps-and-list-based-content/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=application-wide-help-in-sharepoint-using-dvwps-and-list-based-content</feedburner:origLink></item>
		<item>
		<title>HTML5 and SharePoint: What Do You Want to Know?</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/tvsRVEpLRlk/</link>
		<comments>http://sympmarc.com/2012/02/17/html5-and-sharepoint-what-do-you-want-to-know/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 15:01:15 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[SilverLight]]></category>
		<category><![CDATA[SPServices]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14759</guid>
		<description><![CDATA[I&#8217;m planning to dig into HTML5 topics as a natural extension of my SPServices work. This post isn&#8217;t muck of a post, but more of a placeholder to collect ideas from you. I&#8217;m interested in what you&#8217;d like to know about HTML5, what you think you&#8217;d like to do with it connected to SharePoint, and what &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/02/17/html5-and-sharepoint-what-do-you-want-to-know/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m planning to dig into HTML5 topics as a natural extension of my <a title="SPServices" href="http://spservices.codeplex.com" target="_blank">SPServices</a> work. This post isn&#8217;t muck of a post, but more of a placeholder to collect ideas from you. I&#8217;m interested in what you&#8217;d like to know about HTML5, what you think you&#8217;d like to do with it connected to SharePoint, and what concerns you have about it vis a vis things like SilverLight.</p>
<p>If you have questions, comments, or thoughts, please post them as comments.</p>
<p>Thanks!</p>

<p><a href="http://feedads.g.doubleclick.net/~a/qEzLenxLrTY4_kXXXvzLVmq67qU/0/da"><img src="http://feedads.g.doubleclick.net/~a/qEzLenxLrTY4_kXXXvzLVmq67qU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/qEzLenxLrTY4_kXXXvzLVmq67qU/1/da"><img src="http://feedads.g.doubleclick.net/~a/qEzLenxLrTY4_kXXXvzLVmq67qU/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=tvsRVEpLRlk:gBBndkqbzJI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/tvsRVEpLRlk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/02/17/html5-and-sharepoint-what-do-you-want-to-know/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/02/17/html5-and-sharepoint-what-do-you-want-to-know/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=html5-and-sharepoint-what-do-you-want-to-know</feedburner:origLink></item>
		<item>
		<title>Bug in SPServices v0.7.1 with UpdateListItems Fixed in v0.7.1a</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/ES-vPfDmgds/</link>
		<comments>http://sympmarc.com/2012/02/15/bug-in-spservices-v0-7-1-with-updatelistitems-fixed-in-v0-7-1a/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 13:39:39 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery library for SharePoint Web Services]]></category>
		<category><![CDATA[SPServices]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14752</guid>
		<description><![CDATA[I&#8217;ll admit that I sometimes make mistakes. Here&#8217;s a clear one. When I made some changes to the way I initialize the default options in SPServices to help slim down the footprint, I missed testing a few things. Luckily, alert SPServices user mbroschat caught it very soon after I released v0.7.1 and I was able to &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/02/15/bug-in-spservices-v0-7-1-with-updatelistitems-fixed-in-v0-7-1a/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://spservices.codeplex.com/"><img class="alignright" title="logo.jpg" src="http://sympmarc.com/wp-content/uploads/2010/03/logo3.jpg" alt="" width="312" height="85" align="left" /></a><br />
I&#8217;ll admit that I sometimes make mistakes. Here&#8217;s a clear one. When I made some changes to the way I initialize the default options in <a title="SPServices" href="http://spservices.codeplex.com" target="_blank">SPServices</a> to help slim down the footprint, I missed testing a few things. Luckily, alert SPServices user <a id="PostedByLink4" href="http://www.codeplex.com/site/users/view/mbroschat">mbroschat</a> caught it very soon after I released v0.7.1 and I was able to get a fix in place quickly.</p>
<p>If you see a script error like</p>
<blockquote><p>line 20<br />
char 11560<br />
&#8216;updates.length&#8217; is null or not an object code: 0</p></blockquote>
<p>then you are seeing the bug. I used to initialize most of the default values for the options to empty strings (&#8220;&#8221;), but I removed that wasteful code in v0.7.1. Unfortunately I missed this one effect in my testing.</p>
<p>If you&#8217;ve downloaded v0.7.1, then please return to the <a title="SPServices" href="http://spservices.codeplex.com" target="_blank">SPServices site</a> on Codeplex and download the replacement v0.7.1a. It contains a fix for this issue and no other changes.</p>
<p>Sorry for any issues.</p>
<div class="wp-caption aligncenter" style="width: 310px"><a href="http://commons.wikipedia.org/wiki/File:Green_bug.svg"><img class="zemanta-img-inserted zemanta-img-configured" title="SVG version of Bug silk.png by Avatar" src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/63/Green_bug.svg/300px-Green_bug.svg.png" alt="SVG version of Bug silk.png by Avatar" width="300" height="301" /></a><p class="wp-caption-text">Image via Wikipedia</p></div>
<div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="border: currentColor; float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=ece0b584-4358-4bb3-a753-9c355716e29e" alt="Enhanced by Zemanta" /></a></div>

<p><a href="http://feedads.g.doubleclick.net/~a/9GEatvnQpNgkOQcN91_F-iL2iLc/0/da"><img src="http://feedads.g.doubleclick.net/~a/9GEatvnQpNgkOQcN91_F-iL2iLc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/9GEatvnQpNgkOQcN91_F-iL2iLc/1/da"><img src="http://feedads.g.doubleclick.net/~a/9GEatvnQpNgkOQcN91_F-iL2iLc/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=ES-vPfDmgds:ktvud76lnuo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/ES-vPfDmgds" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/02/15/bug-in-spservices-v0-7-1-with-updatelistitems-fixed-in-v0-7-1a/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/02/15/bug-in-spservices-v0-7-1-with-updatelistitems-fixed-in-v0-7-1a/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=bug-in-spservices-v0-7-1-with-updatelistitems-fixed-in-v0-7-1a</feedburner:origLink></item>
		<item>
		<title>SPServices Example: UserProfileService.GetUserProfileByName</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/SgPCnGbcBRg/</link>
		<comments>http://sympmarc.com/2012/02/15/spservices-example-userprofileservice-getuserprofilebyname/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 09:01:16 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[GetUserProfileByName]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery library for SharePoint Web Services]]></category>
		<category><![CDATA[SPServices]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14742</guid>
		<description><![CDATA[People post working bits of code all the time on the SPServices site at Codeplex, and I don&#8217;t always do a good job of making them known to others. Usually I add good examples to the documentation pages, but I don&#8217;t always get to it. Sometimes by seeing what someone else has done, we get &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/02/15/spservices-example-userprofileservice-getuserprofilebyname/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>People post working bits of code all the time on the <a href="http://spservices.codeplex.com/" target="_blank">SPServices site at Codeplex</a>, and I don&#8217;t always do a good job of making them known to others. Usually I add good examples to the documentation pages, but I don&#8217;t always get to it. Sometimes by seeing what someone else has done, we get inklings of what we may be able to do ourselves. Of course, there&#8217;s also the willy-nilly copy-and-paste from the Interwebs approach, but I discourage using others&#8217; code (including mine) without understanding what it does.</p>
<p>All that said, <a href="http://www.codeplex.com/site/users/view/nileshc">nileshc</a> posted a nice little snippet the other day that I thought I&#8217;d share. SPServices has a function called <a href="http://spservices.codeplex.com/wikipage?title=$().SPServices.SPGetCurrentUser" target="_blank">SPGetCurrentUser</a> that returns, well, information about the current user. I wrote it early on based on a trick from Einar Otto Stangvik (<a href="http://twitter.com/einaros" target="_blank">@einaros</a>). It&#8217;s a good function because it works with any version or license of SharePoint (2007 and 2010), but it&#8217;s not exactly efficient or elegant. It basically loads the _layouts/userdisp.aspx page and screen scrapes the values from it. (Who knew that screen scraping would once again be cool, and even useful?)</p>
<p>If you&#8217;re using MOSS or SharePoint Server 2010, then you also have the User Profile Service at your disposal. <a href="http://www.codeplex.com/site/users/view/nileshc">nileshc</a>&#8216;s example takes advantage of this Web Service to grab information about the current user from the User Profile using <a title="GetUserProfileByName" href="http://spservices.codeplex.com/wikipage?title=GetUserProfileByName" target="_blank">GetUserProfileByName</a> instead, which gives you a lot more to work with. I&#8217;ve adapted nileshc&#8217;s script slightly to make the call to SPGetCurrentUser if the logon isn&#8217;t currently known.</p>
<pre class="brush: jscript; title: ; notranslate">
function get_user_profile_by_login(login) {

  var user = {};

  var params = {
    operation: 'GetUserProfileByName',
    async: false,
    completefunc: function (xData, Status) {
      $(xData.responseXML).SPFilterNode(&quot;PropertyData&quot;).each(function() {
        user[$(this).find(&quot;Name&quot;).text()] = $(this).find(&quot;Value&quot;).text();
      }); // end each

      // Easy names
      user.login = user.AccountName;
      user.full_name = user.PreferredName;
      user.email = user.WorkEmail;

    } // end completefunc
  };

  if (login != null) {
    params.accountName = login;
  } else {
    params.accountName = $().SPServices.SPGetCurrentUser({
      fieldName: &quot;Name&quot;
    });
  }

  $().SPServices(params);

  return user;
}</pre>

<p><a href="http://feedads.g.doubleclick.net/~a/85y-jKbS4KtIyTrszL8O-0OlTGs/0/da"><img src="http://feedads.g.doubleclick.net/~a/85y-jKbS4KtIyTrszL8O-0OlTGs/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/85y-jKbS4KtIyTrszL8O-0OlTGs/1/da"><img src="http://feedads.g.doubleclick.net/~a/85y-jKbS4KtIyTrszL8O-0OlTGs/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=SgPCnGbcBRg:Jm8I0rx8xeM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/SgPCnGbcBRg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/02/15/spservices-example-userprofileservice-getuserprofilebyname/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/02/15/spservices-example-userprofileservice-getuserprofilebyname/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=spservices-example-userprofileservice-getuserprofilebyname</feedburner:origLink></item>
		<item>
		<title>Cleaning Up Old VMWare Workstation Snapshots</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/96R5hrbE6Fw/</link>
		<comments>http://sympmarc.com/2012/02/14/cleaning-up-old-vmware-workstation-snapshots/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 09:29:22 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[virtual machine]]></category>
		<category><![CDATA[VMWare Workstation]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14731</guid>
		<description><![CDATA[I&#8217;m a big fan of VMWare Workstation, as it allows me to have virtual machines which represent all sorts of machine states. Of course, if you&#8217;re reading this blog, you probably know all about VMs and why they are useful. I&#8217;ve noticed over time that my blazing fast SSDs seemed to just get more and &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/02/14/cleaning-up-old-vmware-workstation-snapshots/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.vmware.com/products/workstation/overview.html"><img class="alignright" style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin-right: auto; margin-left: auto; display: block; background-image: none;" title="VMWare Workstation" src="http://sympmarc.com/wp-content/uploads/2012/02/image_thumb4.png" alt="VMWare Workstation" width="491" height="238" border="0" /></a>I&#8217;m a big fan of <a href="http://www.vmware.com/products/workstation/overview.html" target="_blank">VMWare Workstation</a>, as it allows me to have virtual machines which represent all sorts of machine states. Of course, if you&#8217;re reading this blog, you probably know all about VMs and why they are useful.</p>
<p>I&#8217;ve noticed over time that my blazing fast SSDs seemed to just get more and more full, and way beyond the level I&#8217;d expect with that I&#8217;m doing. In many cases I&#8217;ve deleted old snapshots of VMs just to free up more space. It wasn&#8217;t what I wanted to do (I wanted to keep the snapshots so that I could choose to go back to them) but it was a fast way to get a large amount of space.</p>
<p>Sometimes I got a message that said something like &#8220;Not enough space available to clean up deleted files. Free up 6.2Gb more space.&#8221; I didn&#8217;t just ignore those messages, but I didn&#8217;t pay much attention, either. I assumed that the old files would get cleaned up at some point.</p>
<p>It turns out I was wrong. I had a whole bunch of old disk files I didn&#8217;t need from snapshots I&#8217;d already deleted in the Snapshot Manager.</p>
<p>After some poking around on the Interwebs, I found some ideas about how to clean up that space. First, I copied some very large files (not VMs) off onto one of my backup drives, which freed up about 20Gb on my C: drive. Then I opened one of my big VMs without starting it and went to the Snapshot Manager. I created a new snapshot and then immediately deleted it. During that cleanup, VMWare cleaned up all of the old, unneeded files as well.</p>
<p>Now I&#8217;m back to having 20 or 30Gb free on my C: drive all the time. Oh, I&#8217;ll fill it up soon enough, but at least it&#8217;ll be with something I actually want to have there.</p>
<p><a href="http://www.vmware.com/products/converter/"><img class="alignleft size-full wp-image-14739" title="VMWare vCenter Converter" src="http://sympmarc.com/wp-content/uploads/2012/02/2-13-2012-16-57-38.png" alt="VMWare vCenter Converter" width="411" height="82" /></a>Another useful tool you can use with VMWare is the <a href="http://www.vmware.com/products/converter/">vCenter Converter</a>. Using this tool, you can &#8220;convert&#8221; a VM from one location on your hard drive to another. Any uneccessary files are left behind and you can safely delete them. (Do yourself a favor and keep a copy for a while until you are sure all is well.)</p>

<p><a href="http://feedads.g.doubleclick.net/~a/s-LgHiLt_7r54fE9NQmGMeRJ6Jg/0/da"><img src="http://feedads.g.doubleclick.net/~a/s-LgHiLt_7r54fE9NQmGMeRJ6Jg/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/s-LgHiLt_7r54fE9NQmGMeRJ6Jg/1/da"><img src="http://feedads.g.doubleclick.net/~a/s-LgHiLt_7r54fE9NQmGMeRJ6Jg/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=96R5hrbE6Fw:tvz6VJJlvIg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/96R5hrbE6Fw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/02/14/cleaning-up-old-vmware-workstation-snapshots/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/02/14/cleaning-up-old-vmware-workstation-snapshots/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=cleaning-up-old-vmware-workstation-snapshots</feedburner:origLink></item>
		<item>
		<title>jQuery Library for SharePoint Web Services (SPServices) v0.7.1 Released</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/vVBeJn28t08/</link>
		<comments>http://sympmarc.com/2012/02/13/jquery-library-for-sharepoint-web-services-spservices-v0-7-1-released/#comments</comments>
		<pubDate>Mon, 13 Feb 2012 18:31:48 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery library for SharePoint Web Services]]></category>
		<category><![CDATA[SPServices]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14724</guid>
		<description><![CDATA[Today I&#8217;m releasing SPServices v0.7.1. If you are using an earlier version of SPServices, I strongly suggest that you upgrade to this version. Not only does it have some cool new stuff in it, I&#8217;ve managed to squeeze some considerable performance improvments out of some of the most used functions, like SPCascadeDropdowns and SPDisplayRelatedInfo. In my &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/02/13/jquery-library-for-sharepoint-web-services-spservices-v0-7-1-released/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://spservices.codeplex.com/"><img class="alignright" title="logo.jpg" src="http://sympmarc.com/wp-content/uploads/2010/03/logo3.jpg" alt="" width="312" height="85" align="left" /></a>Today I&#8217;m releasing <a title="SPServices v0.7.1" href="http://spservices.codeplex.com/releases/view/77486" target="_blank">SPServices v0.7.1</a>. If you are using an earlier version of SPServices, I <strong>strongly</strong> suggest that you upgrade to this version. Not only does it have some cool new stuff in it, I&#8217;ve managed to squeeze some considerable performance improvments out of some of the most used functions, like SPCascadeDropdowns and SPDisplayRelatedInfo. In my test environments, I see a noticeable improvement in both function.</p>
<p>While v0.7.1 is only a point release and follows its sibling v0.7.0 quickly, it actually contains far more changes.</p>
<p>One of the cool new things is a new function called <a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPXmlToJson">$().SPXmlToJson</a>. I&#8217;ve gotten quite a few requests over the years for SPServices to output JSON rather than just XML. I&#8217;ve resisted to some degree because it wasn&#8217;t entirely clear how many people might use it. As jQuery has become a more and more common part of the SharePoint development toolset, it seemed to finally make sense to add it in. Keep in mind that I can&#8217;t ask SharePoint for JSON from the SOAP Web Services; they return XML. What SPXmlToJson does is take that XML output and convert it into JSON. Of course that introduces some overhead, so use it wisely. This first implementation is firmly aimed at GetListItems, but it will also work with other &#8220;flat&#8221; XML. As folks express a need for enhancements to the function, I&#8217;ll try to work on them.</p>
<p>Another nice enhancement is to allow you to request that SPCascadeDropdowns and SPDisplayRelatedInfo perform their logic using the item IDs rather than the item values. The latter is more the approach that SharePoint uses in many cases, but the former is a far more robust and database-like approach.</p>
<p>I&#8217;ve also added in some of the missing Web Service operations that people have asked for, including Lists.ApplyContentTypeToList, Lists.CreateContentType, Lists.DeleteContentType, Lists.GetListItemChanges, Lists.UndoCheckOut, Lists.UpdateContentType, SiteData.GetWeb, SiteData.GetSite, and SiteData.GetSiteUrl.</p>
<p>There are numerous other performance improvements and some edge condition bugs I&#8217;ve managed to fix.</p>
<p>I&#8217;ll be updating the documentation over the next day or so. Keep in mind that the documentation always represents the capabilities of the <strong>current</strong> version.</p>
<p>Here are the details on some of what is included in this release; see all items in the Issue Tracker <a href="http://spservices.codeplex.com/workitem/list/advanced?keyword=&amp;status=Open%2b%28not%2bclosed%29&amp;type=All&amp;priority=All&amp;release=SPServices%2b0.7.1&amp;assignedTo=All&amp;component=All&amp;sortField=LastUpdatedDate&amp;sortDirection=Descending&amp;size=25" target="_blank">here</a>.</p>
<h3>New Functionality</h3>
<table>
<tbody>
<tr>
<th>Alpha</th>
<th>Issue Tracker Item</th>
<th>Function</th>
<th>Operation</th>
<th>Description</th>
</tr>
<tr>
<td>ALPHA3-6</td>
<td><a href="http://spservices.codeplex.com/workitem/9755">9755</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPXmlToJson">$().SPXmlToJson</a></td>
<td><em>NA</em></td>
<td>Convert XML data to JSON</td>
</tr>
<tr>
<td>ALPHA11</td>
<td><a href="http://spservices.codeplex.com/workitem/9751">9751</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPDisplayRelatedInfo">$().SPServices.SPDisplayRelatedInfo</a></td>
<td><em>NA</em></td>
<td>SPDisplayRelatedInfo Matching on ID Instead of Text</td>
</tr>
<tr>
<td>ALPHA11</td>
<td><a href="http://spservices.codeplex.com/workitem/633">633</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPCascadeDropdowns">$().SPServices.SPCascadeDropdowns</a></td>
<td><em>NA</em></td>
<td>SPCascadeDropdowns() &#8211; Using IDs on Query to populate child column rather than values</td>
</tr>
</tbody>
</table>
<p>ALPHA13 &#8211; Streamlined SPXmlToJson. This is RC1 for the new function.</p>
<h3>New Operations</h3>
<table>
<tbody>
<tr>
<th>Alpha</th>
<th>Web Service</th>
<th>Operation</th>
<th>Options</th>
<th>MSDN Documentation</th>
<th>Issue Tracker Item</th>
</tr>
<tr>
<td>ALPHA1</td>
<td>Lists</td>
<td>GetVersionCollection</td>
<td>[WebURL], strlistID, strlistItemID, strFieldName</td>
<td><a href="http://msdn.microsoft.com/en-us/library/lists.lists.getversioncollection(v=office.12).aspx">Lists.GetVersionCollection Method</a></td>
<td><a href="http://spservices.codeplex.com/workitem/8322">8322</a></td>
</tr>
<tr>
<td>ALPHA2</td>
<td>SiteData</td>
<td>GetSite</td>
<td>[WebURL]</td>
<td><a href="http://msdn.microsoft.com/en-us/library/ms773417(v=office.12).aspx">SiteData.GetSite Method</a></td>
<td><a href="http://spservices.codeplex.com/workitem/9718">9718</a></td>
</tr>
<tr>
<td>ALPHA2</td>
<td>SiteData</td>
<td>GetSiteUrl</td>
<td>Url</td>
<td><a href="http://msdn.microsoft.com/en-us/library/ms774895(v=office.12).aspx">SiteData.GetSiteUrl Method</a></td>
<td><a href="http://spservices.codeplex.com/workitem/9718">9718</a></td>
</tr>
</tbody>
</table>
<p>ALPHA12 Lists.ApplyContentTypeToList, Lists.CreateContentType, Lists.DeleteContentType, Lists.GetListItemChanges, Lists.UndoCheckOut, Lists.UpdateContentType, SiteData.GetWeb</p>
<h3>Bug Fixes and Efficiency</h3>
<table>
<tbody>
<tr>
<th>Alpha</th>
<th>Issue Tracker Item</th>
<th>Function</th>
<th>Description</th>
</tr>
<tr>
<td>ALPHA2</td>
<td><a href="http://spservices.codeplex.com/workitem/9754">9754</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices">$().SPServices</a></td>
<td>New Internal Function: siteDataFixSOAPEnvelope</td>
</tr>
<tr>
<td>ALPHA2</td>
<td><a href="http://spservices.codeplex.com/workitem/9744">9744</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPComplexToSimpleDropdown">$().SPServices.SPComplexToSimpleDropdown</a></td>
<td>Bug in SPComplexToSimpleDropdown</td>
</tr>
<tr>
<td>ALPHA5</td>
<td><a href="http://spservices.codeplex.com/workitem/7705">7705</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPUpdateMultipleListItems">$().SPServices.SPUpdateMultipleListItems</a></td>
<td>SPUpdateMultipleListItems &#8211; Add completefunc</td>
</tr>
<tr>
<td>ALPHA6</td>
<td><a href="http://spservices.codeplex.com/workitem/9785">9785</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPFilterDropdown">$().SPServices.SPFilterDropdown</a></td>
<td>Extend SPFilterDropdown with CAMLQueryOptions or RecursiveAll</td>
</tr>
<tr>
<td>ALPHA7</td>
<td><a href="http://spservices.codeplex.com/workitem/9793">9793</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPCascadeDropdowns">$().SPServices.SPCascadeDropdowns</a></td>
<td>SPCascadeDropdowns Performance Tweaks</td>
</tr>
<tr>
<td>ALPHA7</td>
<td><a href="http://spservices.codeplex.com/workitem/9794">9794</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPDisplayRelatedInfo">$().SPServices.SPDisplayRelatedInfo</a></td>
<td>SPDisplayRelatedInfo Performance Tweaks</td>
</tr>
<tr>
<td>ALPHA8</td>
<td><a href="http://spservices.codeplex.com/workitem/7876">7876</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPCascadeDropdowns">$().SPServices.SPCascadeDropdowns</a></td>
<td>SPCascadeDropdowns &#8211; 1 parent; multiple children</td>
</tr>
<tr>
<td>ALPHA9</td>
<td><a href="http://spservices.codeplex.com/workitem/9810">9810</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPCascadeDropdowns">$().SPServices.SPCascadeDropdowns</a></td>
<td>SPCascadeDropdowns Shouldn&#8217;t Show Null Values</td>
</tr>
<tr>
<td>ALPHA9</td>
<td><a href="http://spservices.codeplex.com/workitem/9811">9811</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPComplexToSimpleDropdown">$().SPServices.SPComplexToSimpleDropdown</a></td>
<td>completefunc not called in SPComplexToSimpleDropdown</td>
</tr>
<tr>
<td>ALPHA10</td>
<td><a href="http://spservices.codeplex.com/workitem/9789">9789</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPComplexToSimpleDropdown">$().SPServices.SPComplexToSimpleDropdown</a></td>
<td>SPComplexToSimpleDropdown when column is not required</td>
</tr>
</tbody>
</table>

<p><a href="http://feedads.g.doubleclick.net/~a/LfvTzVKyvsU2DQUM8MLGXFbtxrQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/LfvTzVKyvsU2DQUM8MLGXFbtxrQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/LfvTzVKyvsU2DQUM8MLGXFbtxrQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/LfvTzVKyvsU2DQUM8MLGXFbtxrQ/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=vVBeJn28t08:jKBHz0QdDnE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/vVBeJn28t08" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/02/13/jquery-library-for-sharepoint-web-services-spservices-v0-7-1-released/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/02/13/jquery-library-for-sharepoint-web-services-spservices-v0-7-1-released/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=jquery-library-for-sharepoint-web-services-spservices-v0-7-1-released</feedburner:origLink></item>
		<item>
		<title>Trials and Tribulations: Migrating My Demos Site to Office365 – Part Two</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/FN_ci6Dr8QE/</link>
		<comments>http://sympmarc.com/2012/02/06/trials-and-tribulations-migrating-my-demos-site-to-office365-part-two/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 17:37:40 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Chris Beckett]]></category>
		<category><![CDATA[Microsoft Certified Professional]]></category>
		<category><![CDATA[Middle Tier]]></category>
		<category><![CDATA[Office365]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[SharePoint Online]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14711</guid>
		<description><![CDATA[Well, it took me a while, but I solve this problem. In my first post about it, I explained how I was having trouble figuring out what features installed in my local VM were causing the problems instantiating my demo site in Office365 &#8211; SharePoint Online. I got stuck with the feature that has the &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/02/06/trials-and-tribulations-migrating-my-demos-site-to-office365-part-two/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://office365.com"><img class="alignright size-full wp-image-14717" title="Office365" src="http://sympmarc.com/wp-content/uploads/2012/02/2-6-2012-12-26-40.png" alt="Office365" width="198" height="62" /></a>Well, it took me a while, but I solve this problem. In my <a title="Trials and Tribulations: Migrating My Demos Site to Office365" href="http://sympmarc.com/2012/01/10/trials-and-tribulations-migrating-my-demos-site-to-office365/" target="_blank">first post</a> about it, I explained how I was having trouble figuring out what features installed in my local VM were causing the problems instantiating my demo site in Office365 &#8211; SharePoint Online.</p>
<p>I got stuck with the feature that has the GUID af6d9aec-7c38-4dda-997f-cc1ddbb87c92. When I wrote the post and tweeted about it, Chris Beckett (<a title="@SharePointBits" href="http://twitter.com/sharepointbits" target="_blank">@sharepointbits</a>) did some digging to find out what the feature was all about. It seemed that a forced deactivation was probably the right next step. (Check the comments on my original post for the details from Chris.) Then I got busy and didn&#8217;t get to it again until today.</p>
<p>Since I&#8217;m speaking at the first <a title="Office365 Saturday Redmond" href="http://o365redmond.sharepoint.com" target="_blank">Office365 Saturday out in Redmond</a> in a few weeks, I really needed to get my demos copied up into my Office365 site. What sort of talk would it be if I just waved my hands and said &#8220;Imagine that this demos is taking place in Office365?&#8221;</p>
<p>Today I finally got back to it. The first thing I did was look for some hints about how to work with features using PowerShell. I&#8217;ve done a little bit with PowerShell on and off, but not frequently enough to remember all the commands.</p>
<p>I found the perfect post from Corey Roth (<a title="@coreyroth" href="http://twitter.com/coreyroth" target="_blank">@coreyroth</a>) called <a title="Activating and Deactivating Features with PowerShell in SharePoint 2010" href="http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2011/01/04/activating-and-deactivating-features-with-powershell-in-sharepoint-2010.aspx" target="_blank">Activating and Deactivating Features with PowerShell in SharePoint 2010</a>. It had exactly the right examples to help me and it was written at exactly the right level (PowerShell newbie). Yeah, I know I should be loving PowerShell and doing all sorts of things with it every waking moment, but the way I work with SharePoint I rarely need it.</p>
<p>First, I wanted to see what the feature actually was, just to verify what Chris told me and to make sure that I wouldn&#8217;t be shooting myself in the foot by deactivating it. Easy as pie with Corey&#8217;s example:</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/02/2-6-2012-12-02-24.png"><img class="aligncenter size-full wp-image-14714" title="What is af6d9aec-7c38-4dda-997f-cc1ddbb87c92 " src="http://sympmarc.com/wp-content/uploads/2012/02/2-6-2012-12-02-24.png" alt="What is af6d9aec-7c38-4dda-997f-cc1ddbb87c92 " width="641" height="76" /></a></p>
<p>It was indeed something to do with Web Analytics Custom Reports, something which I don&#8217;t care about at all in my VM, so I was fine with getting rid of it.</p>
<p>On to the next PowerShell command to deactivate the feature:</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/02/2-6-2012-11-28-15.png"><img class="aligncenter size-full wp-image-14713" title="Deactivating af6d9aec-7c38-4dda-997f-cc1ddbb87c92 " src="http://sympmarc.com/wp-content/uploads/2012/02/2-6-2012-11-28-15.png" alt="Deactivating af6d9aec-7c38-4dda-997f-cc1ddbb87c92 " width="641" height="112" /></a></p>
<p>That was pretty painless. I saved the site I wanted to move to Office365 as a template again and uploaded it to the Office365 Solution Gallery.</p>
<p>This time when I went to create a new site, it worked! Yippee!</p>
<p>I&#8217;m sticking with my original points on this, though. One shouldn&#8217;t need a <a title="Microsoft Certified Master on Microsoft SharePoint Server 2010" href="http://www.microsoft.com/learning/en/us/certification/master-sharepoint.aspx" target="_blank">Microsoft Certified Master on Microsoft SharePoint Server 2010</a>&#8216;s help (that would be Chris) to move a site from one environment to another. Clearly, this isn&#8217;t my forte in the SharePoint space, but I still say that the error messages should be clearer and also suggest a way to a resolution. And I still think that poor Sandie, my intrepid SharePoint administrator, would be stuck in this case unless she is very good at what she does. It shouldn&#8217;t be so opaque and difficult.</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=b7e932dd-5855-4874-a2cf-d1c4e33552c1" alt="Enhanced by Zemanta" /></a></div>

<p><a href="http://feedads.g.doubleclick.net/~a/9-33rfY4l2WnO7psfaBbedTSsRs/0/da"><img src="http://feedads.g.doubleclick.net/~a/9-33rfY4l2WnO7psfaBbedTSsRs/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/9-33rfY4l2WnO7psfaBbedTSsRs/1/da"><img src="http://feedads.g.doubleclick.net/~a/9-33rfY4l2WnO7psfaBbedTSsRs/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=FN_ci6Dr8QE:funcnAGM88k:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/FN_ci6Dr8QE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/02/06/trials-and-tribulations-migrating-my-demos-site-to-office365-part-two/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/02/06/trials-and-tribulations-migrating-my-demos-site-to-office365-part-two/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=trials-and-tribulations-migrating-my-demos-site-to-office365-part-two</feedburner:origLink></item>
		<item>
		<title>jQuery Library for SharePoint Web Services (SPServices) v0.7.1 Beta 1 Available</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/4ZmqXinZA4c/</link>
		<comments>http://sympmarc.com/2012/02/06/jquery-library-for-sharepoint-web-services-spservices-v0-7-1-beta-1-available/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 14:41:17 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery library for SharePoint Web Services]]></category>
		<category><![CDATA[SPServices]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14706</guid>
		<description><![CDATA[Today I&#8217;ve posted the first beta for SPServices v0.7.1. While it is only a point release, it contains more significant changes than its sibling, v0.7.0, which was mainly focused on publishing a version which would work with jQuery 1.7. If you are willing and able, I&#8217;d appreciate you testing this beta in any places where you &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/02/06/jquery-library-for-sharepoint-web-services-spservices-v0-7-1-beta-1-available/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://spservices.codeplex.com/"><img class="alignright" title="logo.jpg" src="http://sympmarc.com/wp-content/uploads/2010/03/logo3.jpg" alt="" width="312" height="85" align="left" /></a>Today I&#8217;ve posted the first beta for <a title="SPServices v0.7.1" href="http://spservices.codeplex.com/releases/view/77486" target="_blank">SPServices v0.7.1</a>. While it is only a point release, it contains more significant changes than its sibling, v0.7.0, which was mainly focused on publishing a version which would work with jQuery 1.7.</p>
<p>If you are willing and able, I&#8217;d appreciate you testing this beta in any places where you are currently using earlier versions of SPServices so that you can help identify any regressions. I&#8217;ve made some significant changes to the core capabilities of SPServices which will make it smaller and more efficient.</p>
<p>Here are the full details on what is included in this release:</p>
<p>See all items in the Issue Tracker <a href="http://spservices.codeplex.com/workitem/list/advanced?keyword=&amp;status=Open%2b%28not%2bclosed%29&amp;type=All&amp;priority=All&amp;release=SPServices%2b0.7.1&amp;assignedTo=All&amp;component=All&amp;sortField=LastUpdatedDate&amp;sortDirection=Descending&amp;size=25" target="_blank">here</a>.</p>
<h3>New Functionality</h3>
<table>
<tbody>
<tr>
<th>Alpha</th>
<th>Issue Tracker Item</th>
<th>Function</th>
<th>Operation</th>
<th>Description</th>
</tr>
<tr>
<td>ALPHA3-6</td>
<td><a href="http://spservices.codeplex.com/workitem/9755">9755</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPXmlToJson">$().SPXmlToJson</a></td>
<td><em>NA</em></td>
<td>Convert XML data to JSON</td>
</tr>
<tr>
<td>ALPHA11</td>
<td><a href="http://spservices.codeplex.com/workitem/9751">9751</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPDisplayRelatedInfo">$().SPServices.SPDisplayRelatedInfo</a></td>
<td><em>NA</em></td>
<td>SPDisplayRelatedInfo Matching on ID Instead of Text</td>
</tr>
<tr>
<td>ALPHA11</td>
<td><a href="http://spservices.codeplex.com/workitem/633">633</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPCascadeDropdowns">$().SPServices.SPCascadeDropdowns</a></td>
<td><em>NA</em></td>
<td>SPCascadeDropdowns() &#8211; Using IDs on Query to populate child column rather than values</td>
</tr>
</tbody>
</table>
<p>ALPHA13 &#8211; Streamlined SPXmlToJson. This is RC1 for the new function.</p>
<h3>New Operations</h3>
<table>
<tbody>
<tr>
<th>Alpha</th>
<th>Web Service</th>
<th>Operation</th>
<th>Options</th>
<th>MSDN Documentation</th>
<th>Issue Tracker Item</th>
</tr>
<tr>
<td>ALPHA1</td>
<td>Lists</td>
<td>GetVersionCollection</td>
<td>[WebURL], strlistID, strlistItemID, strFieldName</td>
<td><a href="http://msdn.microsoft.com/en-us/library/lists.lists.getversioncollection(v=office.12).aspx">Lists.GetVersionCollection Method</a></td>
<td><a href="http://spservices.codeplex.com/workitem/8322">8322</a></td>
</tr>
<tr>
<td>ALPHA2</td>
<td>SiteData</td>
<td>GetSite</td>
<td>[WebURL]</td>
<td><a href="http://msdn.microsoft.com/en-us/library/ms773417(v=office.12).aspx">SiteData.GetSite Method</a></td>
<td><a href="http://spservices.codeplex.com/workitem/9718">9718</a></td>
</tr>
<tr>
<td>ALPHA2</td>
<td>SiteData</td>
<td>GetSiteUrl</td>
<td>Url</td>
<td><a href="http://msdn.microsoft.com/en-us/library/ms774895(v=office.12).aspx">SiteData.GetSiteUrl Method</a></td>
<td><a href="http://spservices.codeplex.com/workitem/9718">9718</a></td>
</tr>
</tbody>
</table>
<p>ALPHA12 Lists.ApplyContentTypeToList, Lists.CreateContentType, Lists.DeleteContentType, Lists.GetListItemChanges, Lists.UndoCheckOut, Lists.UpdateContentType, SiteData.GetWeb</p>
<h3>Bug Fixes and Efficiency</h3>
<table>
<tbody>
<tr>
<th>Alpha</th>
<th>Issue Tracker Item</th>
<th>Function</th>
<th>Description</th>
</tr>
<tr>
<td>ALPHA2</td>
<td><a href="http://spservices.codeplex.com/workitem/9754">9754</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices">$().SPServices</a></td>
<td>New Internal Function: siteDataFixSOAPEnvelope</td>
</tr>
<tr>
<td>ALPHA2</td>
<td><a href="http://spservices.codeplex.com/workitem/9744">9744</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPComplexToSimpleDropdown">$().SPServices.SPComplexToSimpleDropdown</a></td>
<td>Bug in SPComplexToSimpleDropdown</td>
</tr>
<tr>
<td>ALPHA5</td>
<td><a href="http://spservices.codeplex.com/workitem/7705">7705</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPUpdateMultipleListItems">$().SPServices.SPUpdateMultipleListItems</a></td>
<td>SPUpdateMultipleListItems &#8211; Add completefunc</td>
</tr>
<tr>
<td>ALPHA6</td>
<td><a href="http://spservices.codeplex.com/workitem/9785">9785</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPFilterDropdown">$().SPServices.SPFilterDropdown</a></td>
<td>Extend SPFilterDropdown with CAMLQueryOptions or RecursiveAll</td>
</tr>
<tr>
<td>ALPHA7</td>
<td><a href="http://spservices.codeplex.com/workitem/9793">9793</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPCascadeDropdowns">$().SPServices.SPCascadeDropdowns</a></td>
<td>SPCascadeDropdowns Performance Tweaks</td>
</tr>
<tr>
<td>ALPHA7</td>
<td><a href="http://spservices.codeplex.com/workitem/9794">9794</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPDisplayRelatedInfo">$().SPServices.SPDisplayRelatedInfo</a></td>
<td>SPDisplayRelatedInfo Performance Tweaks</td>
</tr>
<tr>
<td>ALPHA8</td>
<td><a href="http://spservices.codeplex.com/workitem/7876">7876</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPCascadeDropdowns">$().SPServices.SPCascadeDropdowns</a></td>
<td>SPCascadeDropdowns &#8211; 1 parent; multiple children</td>
</tr>
<tr>
<td>ALPHA9</td>
<td><a href="http://spservices.codeplex.com/workitem/9810">9810</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPCascadeDropdowns">$().SPServices.SPCascadeDropdowns</a></td>
<td>SPCascadeDropdowns Shouldn&#8217;t Show Null Values</td>
</tr>
<tr>
<td>ALPHA9</td>
<td><a href="http://spservices.codeplex.com/workitem/9811">9811</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPComplexToSimpleDropdown">$().SPServices.SPComplexToSimpleDropdown</a></td>
<td>completefunc not called in SPComplexToSimpleDropdown</td>
</tr>
<tr>
<td>ALPHA10</td>
<td><a href="http://spservices.codeplex.com/workitem/9789">9789</a></td>
<td><a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPComplexToSimpleDropdown">$().SPServices.SPComplexToSimpleDropdown</a></td>
<td>SPComplexToSimpleDropdown when column is not required</td>
</tr>
</tbody>
</table>

<p><a href="http://feedads.g.doubleclick.net/~a/JS1sMjDXaheyn6GxtduHY0jjCe8/0/da"><img src="http://feedads.g.doubleclick.net/~a/JS1sMjDXaheyn6GxtduHY0jjCe8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/JS1sMjDXaheyn6GxtduHY0jjCe8/1/da"><img src="http://feedads.g.doubleclick.net/~a/JS1sMjDXaheyn6GxtduHY0jjCe8/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=4ZmqXinZA4c:426s5DW919c:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/4ZmqXinZA4c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/02/06/jquery-library-for-sharepoint-web-services-spservices-v0-7-1-beta-1-available/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/02/06/jquery-library-for-sharepoint-web-services-spservices-v0-7-1-beta-1-available/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=jquery-library-for-sharepoint-web-services-spservices-v0-7-1-beta-1-available</feedburner:origLink></item>
		<item>
		<title>New Book: SharePoint at Work – Tricks, Traps, and Bold Opinions: The Best of EndUserSharePoint.com</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/2CjEV7aGlwE/</link>
		<comments>http://sympmarc.com/2012/02/02/new-book-sharepoint-at-work-tricks-traps-and-bold-opinions-the-best-of-endusersharepoint-com/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 13:42:08 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[EndUserSharePoint.com]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14677</guid>
		<description><![CDATA[It was a great honor that Mark Miller asked me to contribute to his new book called SharePoint at Work &#8211; Tricks, Traps, and Bold Opinions: The Best of EndUserSharePoint.com. The book is going to press now and the goal is to have copies available at SPTechCon in San Francisco later this month. (Sadly, I&#8217;m &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/02/02/new-book-sharepoint-at-work-tricks-traps-and-bold-opinions-the-best-of-endusersharepoint-com/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://sympmarc.com/wp-content/uploads/2012/02/image2.png"><img class="alignright" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-style: initial; border-color: initial; border-image: initial; border-width: 0px;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/02/image_thumb2.png" alt="image" width="404" height="528" align="right" border="0" /></a>It was a great honor that Mark Miller asked me to contribute to his new book called <strong>SharePoint at Work &#8211; Tricks, Traps, and Bold Opinions: The Best of EndUserSharePoint.com.</strong> The book is going to press now and the goal is to have copies available at <a title="SPTechCon" href="http://sptechcon.com" target="_blank">SPTechCon</a> in San Francisco later this month. (Sadly, I&#8217;m missing SPTechCon this time around – it&#8217;s one of my favorite SharePoint events, run by the great folks at <a title="BZ Media" href="http://www.bzmedia.com/" target="_blank">BZ Media</a>.) I got these cover shots from the wonderful Natasha Felshman (<a title="@TeamEUSP" href="http://twitter.com/TeamEUSP" target="_blank">@TeamEUSP</a>) last night and wanted to share them.</p>
<p>Here&#8217;s the blurb from Amazon.com about the book:</p>
<blockquote><p>If you’re a SharePoint site manager or administrator, you finally have a handy single-source reference to help you through the tough SharePoint learning curve. Written by Mark Miller and his stable of well-known contributors at EndUserSharePoint.com, this book contains the most helpful articles from this popular site—fully updated for SharePoint 2010.</p>
<p>Each chapter focuses on core issues that vex SharePoint administrators when it comes to setting up and managing sites. You’ll learn tried-and-true solutions for creating charts and graphs, joining views in SharePoint lists, building a SharePoint Scripting Resource Center, along with many other topics. Join the tens of thousands of SharePoint site administrators who have found solid advice from Mark Miller and his crew.</p>
<p>Table of Contents:</p>
<ul>
<li>Chapter 1: The SharePoint Maturity Model by Sadalit Van Buren</li>
<li>Chapter 2: Empower the Power User by Kerri Abraham</li>
<li>Chapter 3: jQuery to the Rescue by Jim Bob Howard</li>
<li>Chapter 4: Unlocking the Mysteries of the SharePoint Data View Web Part XSL Tags by Marc D. Anderson</li>
<li>Chapter 5: Hyperlinks in the Data View Web Part by Laura Rogers</li>
<li>Chapter 6: Building a Quote of the Day Web Part in SharePoint 2010 by Waldek Mastykarz</li>
<li>Chapter 7: SPJS Charts for SharePoint by Alexander Bautz</li>
<li>Chapter 8: Taming the Elusive Calculated Column – Logic Functions by Dessie Lunsford</li>
<li>Chapter 9: Creating Document Libraries with Mixed Content Sources by Eric Alexander</li>
<li>Chapter 10: SharePoint 2010 Tab Page by Peter Allen</li>
<li>Chapter 11: A Global Navigation Solution across Site Collections by Peter Allen</li>
</ul>
</blockquote>
<p>I&#8217;m certainly looking forward to reading the other chapters, as I haven&#8217;t gotten the chance yet. These folks are all great at what they do and I expect that every chapter is going to be useful in many ways. Each of us took one of our favorite or most popular articles from <a title="EndUserSharePoint.com" href="https://www.nothingbutsharepoint.com/sites/eusp" target="_blank">EndUserSharePoint.com</a> and expanded upon it or added to it. It was a bit of a humbling experience for me, frankly. when I look back at some of my older writing, I tend to wince a bit, as some of it is not very good. (My hope is that I&#8217;m less not-very-good these days, at least.)</p>
<p>The book is <a title="Amazon Link" href="http://www.amazon.com/SharePoint-2010-Work-Tricks-Opinions/dp/1449321003/" target="_blank">available</a> for pre-order at Amazon.com for 45% off!</p>
<p style="text-align: center;"><a href="http://sympmarc.com/wp-content/uploads/2012/02/image3.png"><img class="aligncenter" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-style: initial; border-color: initial; border-image: initial; margin-top: 0px; margin-bottom: 0px; border-width: 0px;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/02/image_thumb3.png" alt="image" width="377" height="504" border="0" /></a></p>
<p style="text-align: left;">Neigh.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/g1RbaRgT2R9uKQPI9lSQd5RM5So/0/da"><img src="http://feedads.g.doubleclick.net/~a/g1RbaRgT2R9uKQPI9lSQd5RM5So/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/g1RbaRgT2R9uKQPI9lSQd5RM5So/1/da"><img src="http://feedads.g.doubleclick.net/~a/g1RbaRgT2R9uKQPI9lSQd5RM5So/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=2CjEV7aGlwE:ogZemU8aiNk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/2CjEV7aGlwE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/02/02/new-book-sharepoint-at-work-tricks-traps-and-bold-opinions-the-best-of-endusersharepoint-com/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/02/02/new-book-sharepoint-at-work-tricks-traps-and-bold-opinions-the-best-of-endusersharepoint-com/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=new-book-sharepoint-at-work-tricks-traps-and-bold-opinions-the-best-of-endusersharepoint-com</feedburner:origLink></item>
		<item>
		<title>Error: “SharePoint Foundation cannot deserialize the Web Part”</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/d6UbishoiLg/</link>
		<comments>http://sympmarc.com/2012/02/01/error-sharepoint-foundation-cannot-deserialize-the-web-part/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 20:11:44 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[deserialize]]></category>
		<category><![CDATA[SharePoint 2010]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14663</guid>
		<description><![CDATA[Here&#8217;s another one of those &#8220;Why didn&#8217;t I ever figure this out before?&#8221; things. Many times when I&#8217;m editing pages in SharePoint Designer and everything is going along swimmingly, suddenly I hear the Jaws theme and I get an error like this: One of the properties of the Web Part has an incorrect format. Microsoft &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/02/01/error-sharepoint-foundation-cannot-deserialize-the-web-part/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<div class="mceTemp"></div>
<p>Here&#8217;s another one of those &#8220;Why didn&#8217;t I ever figure this out before?&#8221; things. Many times when I&#8217;m editing pages in SharePoint Designer and everything is going along swimmingly, suddenly I hear the <a href="http://www.marthas-vineyard-vacation-tips.com/jaws-theme-song.html" target="_blank">Jaws theme</a> and I get an error like this:</p>
<p style="text-align: center;"><a href="http://sympmarc.com/wp-content/uploads/2012/02/SNAGHTML3b45b3c.png"><img class="aligncenter" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-style: initial; border-color: initial; border-image: initial; margin-top: 0px; margin-bottom: 0px; border-width: 0px;" title="SNAGHTML3b45b3c" src="http://sympmarc.com/wp-content/uploads/2012/02/SNAGHTML3b45b3c_thumb.png" alt="SNAGHTML3b45b3c" width="580" height="261" border="0" /></a></p>
<blockquote><p>One of the properties of the Web Part has an incorrect format. Microsoft<br />
SharePoint Foundation cannot deserialize the Web Part. Check the format of the<br />
properties and try again.</p></blockquote>
<p>Of course, the error message is as clear as mud. What happens is that SharePoint Designer messes with the properties of a Web Part, making them unintelligible to SharePoint on the server.</p>
<p style="text-align: left;">Here&#8217;s what I mean. If you look at the code below, you&#8217;ll see that the values for the properties are not on the same line as the tags which enclose them.</p>
<p style="text-align: center;"><a href="http://sympmarc.com/wp-content/uploads/2012/02/image.png"><img class="aligncenter" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0pt none;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/02/image_thumb.png" alt="image" width="1012" height="201" border="0" /></a></p>
<p>In this closer view, I&#8217;ve added arrows pointing to two instances of the issue, though every line from 133-141 demonstrates the problem.</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/02/image1.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/02/image_thumb1.png" alt="image" width="178" height="178" border="0" /></a></p>
<p>The fix is amazingly simple, but a little tedious. All you need to do is fix the code so that the tags enclose the values again, and you&#8217;re good to go.</p>
<p style="text-align: center;"><a href="http://sympmarc.com/wp-content/uploads/2012/02/SNAGHTML3bdc8be.png"><img class="aligncenter" style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-style: initial; border-color: initial; border-image: initial; margin-top: 0px; margin-bottom: 0px; border-width: 0px;" title="SNAGHTML3bdc8be" src="http://sympmarc.com/wp-content/uploads/2012/02/SNAGHTML3bdc8be_thumb.png" alt="SNAGHTML3bdc8be" width="666" height="527" border="0" /></a></p>
<p>I haven&#8217;t figured out a pattern where SharePoint Designer decides to go all flaky on me like this other than &#8220;it does it sometimes&#8221;. It&#8217;s yet another reason to commit to keeping your code nice and clean and well-formatted so that you can spot issues like this easily.</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=7408d2bd-0175-46c8-a529-ff9026f9c394" alt="Enhanced by Zemanta" /></a></div>

<p><a href="http://feedads.g.doubleclick.net/~a/HiPUrehD-TIaddCS5pUkew8nbRY/0/da"><img src="http://feedads.g.doubleclick.net/~a/HiPUrehD-TIaddCS5pUkew8nbRY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/HiPUrehD-TIaddCS5pUkew8nbRY/1/da"><img src="http://feedads.g.doubleclick.net/~a/HiPUrehD-TIaddCS5pUkew8nbRY/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=d6UbishoiLg:naCqb6_Pe8I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/d6UbishoiLg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/02/01/error-sharepoint-foundation-cannot-deserialize-the-web-part/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/02/01/error-sharepoint-foundation-cannot-deserialize-the-web-part/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=error-sharepoint-foundation-cannot-deserialize-the-web-part</feedburner:origLink></item>
		<item>
		<title>New SPServices Page on Facebook</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/3zvK-BfUbXM/</link>
		<comments>http://sympmarc.com/2012/01/27/new-spservices-page-on-facebook/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 13:05:38 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery library for SharePoint Web Services]]></category>
		<category><![CDATA[SPServices]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14647</guid>
		<description><![CDATA[Yesterday, due to a suggestion from Stefan Bauer (@StfBauer) (though he wasn&#8217;t the first, truth be told), I created a Facebook page for SPServices. I&#8217;ll use it to post some of the same information that you see here, but obviously it&#8217;ll be more SPServices-focused. Christian Stahl (@CStahl) pointed out that it&#8217;ll be a great place &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/01/27/new-spservices-page-on-facebook/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"></div>
<p><a style="color: #ff4b33; font-size: 13px;" href="http://spservices.codeplex.com" target="_blank"><img style="border-style: initial; border-color: initial; border-image: initial; border-width: 0px;" title="SPServices" src="http://sympmarc.com/wp-content/uploads/2012/01/logo250x150.jpg" alt="SPServices" width="250" height="68" align="right" border="0" /></a>Yesterday, due to a suggestion from Stefan Bauer (<a title="@StfBauer" href="http://twitter.com/StfBauer" target="_blank">@StfBauer</a>) (though he wasn&#8217;t the first, truth be told), I created a <a title="SPServices on Facebook" href="http://www.facebook.com/pages/SPServices/286155178106865" target="_blank">Facebook page</a> for <a title="SPServices" href="http://spservices.codeplex.com" target="_blank">SPServices</a>. I&#8217;ll use it to post some of the same information that you see here, but obviously it&#8217;ll be more SPServices-focused.</p>
<p>Christian Stahl (<a title="@CStahl" href="http://twitter.com/CStahl" target="_blank">@CStahl</a>) pointed out that it&#8217;ll be a great place for folks to post information about how they are using SPServices in the wild, and I totally agree. Sometimes people use the discussions on the Codeplex site to do this, but I doubt that very many people see the posts. Perhaps using the ubiquitousness of Facebook will help get the word out more.</p>
<p>Let me know what other things you might find useful on the Facebook page, and enjoy!</p>
<div class="mceTemp"></div>

<p><a href="http://feedads.g.doubleclick.net/~a/OmNLhuf9wLEMrt4pkw_6KtV1HbE/0/da"><img src="http://feedads.g.doubleclick.net/~a/OmNLhuf9wLEMrt4pkw_6KtV1HbE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/OmNLhuf9wLEMrt4pkw_6KtV1HbE/1/da"><img src="http://feedads.g.doubleclick.net/~a/OmNLhuf9wLEMrt4pkw_6KtV1HbE/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=3zvK-BfUbXM:xbw_AvN5dx8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/3zvK-BfUbXM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/01/27/new-spservices-page-on-facebook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/01/27/new-spservices-page-on-facebook/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=new-spservices-page-on-facebook</feedburner:origLink></item>
		<item>
		<title>SPServices v0.7.1ALPHA13 Available for Testing</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/BdHBKNa2QS4/</link>
		<comments>http://sympmarc.com/2012/01/20/spservices-v0-7-1alpha13-available-for-testing/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 21:25:57 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery library for SharePoint Web Services]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[SPCascadeDropdowns]]></category>
		<category><![CDATA[SPDisplayRelatedInfo]]></category>
		<category><![CDATA[SPFilterDropdown]]></category>
		<category><![CDATA[SPServices]]></category>
		<category><![CDATA[SPXmlToJson]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14638</guid>
		<description><![CDATA[Faster and more furious, that&#8217;s what I always aim for. I&#8217;ve been working hard on this next release of SPServices. I&#8217;ve been lucky to have some down time between projects to do it. Yes, I&#8217;m happy to have the gap so that I can do more and do it better; I&#8217;ve been able to make &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/01/20/spservices-v0-7-1alpha13-available-for-testing/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://sympmarc.com/2012/01/11/spservices-v0-7-1alpha8-available-for-testing/">Faster and more furious</a>, that&#8217;s what I always aim for.</p>
<p><a style="color: #ff4b33; font-size: 13px;" href="http://spservices.codeplex.com" target="_blank"><img style="border-style: initial; border-color: initial; border-image: initial; border-width: 0px;" title="SPServices" src="http://sympmarc.com/wp-content/uploads/2012/01/logo250x150.jpg" alt="SPServices" width="250" height="68" align="right" border="0" /></a></p>
<div>
<p>I&#8217;ve been working hard on this next release of <a title="SPServices" href="http://spservices.codeplex.com" target="_blank">SPServices</a>. I&#8217;ve been lucky to have some down time between projects to do it. Yes, I&#8217;m happy to have the gap so that I can do more and do it better; I&#8217;ve been able to make even more significant improvements because I&#8217;ve has the focused time. It&#8217;s a great feeling to look at my old code and know that I can do a lot better now. This version of SPServices is going to be leaner and faster than ever before. As I tweeted the other day:</p>
<!-- tweet id : 159710194287378432 --><style type='text/css'>#bbpBox_159710194287378432 a { text-decoration:none; color:#0084B4; }#bbpBox_159710194287378432 a:hover { text-decoration:underline; }</style><div id='bbpBox_159710194287378432' class='bbpBox' style='padding:20px; margin:5px 0; background-color:#C0DEED; background-image:url(http://a0.twimg.com/images/themes/theme1/bg.png); background-repeat:no-repeat'><div style='background:#fff; padding:10px; margin:0; min-height:48px; color:#333333; -moz-border-radius:5px; -webkit-border-radius:5px;'><span style='width:100%; font-size:18px; line-height:22px;'>Developing, documenting & maintaining open source software is a hell of a good way to become a better developer.</span><div class='bbp-actions' style='font-size:12px; width:100%; padding:5px 0; margin:0 0 10px 0; border-bottom:1px solid #e6e6e6;'><img align='middle' src='http://sympmarc.com/wp-content/plugins/twitter-blackbird-pie//images/bird.png' /><a title='tweeted on January 18, 2012 2:54 pm' href='http://twitter.com/#!/sympmarc/status/159710194287378432' target='_blank'>January 18, 2012 2:54 pm</a> via <a href="http://www.hootsuite.com" rel="nofollow" target="blank">HootSuite</a><a href='https://twitter.com/intent/tweet?in_reply_to=159710194287378432&related=sympmarc' class='bbp-action bbp-reply-action' title='Reply'><span><em style='margin-left: 1em;'></em><strong>Reply</strong></span></a><a href='https://twitter.com/intent/retweet?tweet_id=159710194287378432&related=sympmarc' class='bbp-action bbp-retweet-action' title='Retweet'><span><em style='margin-left: 1em;'></em><strong>Retweet</strong></span></a><a href='https://twitter.com/intent/favorite?tweet_id=159710194287378432&related=sympmarc' class='bbp-action bbp-favorite-action' title='Favorite'><span><em style='margin-left: 1em;'></em><strong>Favorite</strong></span></a></div><div style='float:left; padding:0; margin:0'><a href='http://twitter.com/intent/user?screen_name=sympmarc'><img style='width:48px; height:48px; padding-right:7px; border:none; background:none; margin:0' src='http://a3.twimg.com/profile_images/1124059643/Marc_hi-res_-_Copy_normal.jpg' /></a></div><div style='float:left; padding:0; margin:0'><a style='font-weight:bold' href='http://twitter.com/intent/user?screen_name=sympmarc'>@sympmarc</a><div style='margin:0; padding-top:2px'>Marc D Anderson</div></div><div style='clear:both'></div></div></div><!-- end of tweet -->
<p>Alpha13, which I just posted is, I think, a good one to think of as RC1. Before I get too busy again with client work, I want to get it out there for some of you to test. If you are an SPServices user and can do some testing, especially regression testing, I&#8217;d really appreciate it.</p>
<p>There&#8217;s also some new stuff that I&#8217;ve built into the last few alphas:</p>
<ul>
<li>Better error messages for SPCascadeDropdowns, SPDisplayRelatedInfo, and SPFilterDropdown. If you have debug mode on and the listName is incorrect, you&#8217;ll get a clearer message.</li>
<li>Improvements to the new <a title="SPXmlToJson" href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPXmlToJson" target="_blank">SPXmlToJson</a> function. All of the documented options now work as advertised and I&#8217;ve optimized the code quite a bit.</li>
<li>SPCascadeDropdowns and SPDisplayRelatedInfo now have a matchOnId option. If matchOnId is set to true, the ID of the Lookup column is used rather than the text value. This can be handy where the same text value means different things, like the place-name of <a title="Springfield" href="http://en.wikipedia.org/wiki/Springfield_(toponym)" target="_blank">Springfield</a>, which can be found in 34 of the US States. By default the behavior of the function remains the same, of course.</li>
<li>New operations: Lists.ApplyContentTypeToList, Lists.CreateContentType, Lists.DeleteContentType, Lists.GetListItemChanges, Lists.UndoCheckOut, Lists.UpdateContentType, SiteData.GetWeb</li>
<li>Numerous (and I do mean numerous) improvements for efficiency.</li>
</ul>
<p>Enjoy, and let me know if you have a chance to try it out.</p>
</div>

<p><a href="http://feedads.g.doubleclick.net/~a/ryN0Ao_J_gG4TwIPAKvmqZlrAhw/0/da"><img src="http://feedads.g.doubleclick.net/~a/ryN0Ao_J_gG4TwIPAKvmqZlrAhw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ryN0Ao_J_gG4TwIPAKvmqZlrAhw/1/da"><img src="http://feedads.g.doubleclick.net/~a/ryN0Ao_J_gG4TwIPAKvmqZlrAhw/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=BdHBKNa2QS4:qOpphjl9yyk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/BdHBKNa2QS4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/01/20/spservices-v0-7-1alpha13-available-for-testing/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/01/20/spservices-v0-7-1alpha13-available-for-testing/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=spservices-v0-7-1alpha13-available-for-testing</feedburner:origLink></item>
		<item>
		<title>SPServices v0.7.1ALPHA8 Available for Testing</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/yQWNQpEI9r4/</link>
		<comments>http://sympmarc.com/2012/01/11/spservices-v0-7-1alpha8-available-for-testing/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 20:56:20 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery library for SharePoint Web Services]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[SPCascadeDropdowns]]></category>
		<category><![CDATA[SPServices]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14627</guid>
		<description><![CDATA[Yup, the alphas are coming fast and furious these days. I just posted a new alpha of SPServices v0.7.1. The most significant change in this alpha is the ability to have multiple child columns for a parent column in SPCascadeDropdowns. This was something I always intended it to do, but the last time I tried &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/01/11/spservices-v0-7-1alpha8-available-for-testing/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Yup, the alphas are coming fast and furious these days.</p>
<p><a href="http://spservices.codeplex.com" target="_blank"><img style="border-style: initial; border-color: initial; border-image: initial; border-width: 0px;" title="SPServices" src="http://sympmarc.com/wp-content/uploads/2012/01/logo250x150.jpg" alt="SPServices" width="250" height="68" align="right" border="0" /></a>I just posted a new alpha of <a href="http://spservices.codeplex.com/releases/view/77486" target="_blank">SPServices v0.7.1</a>. The most significant change in this alpha is the ability to have multiple child columns for a parent column in <a title="SPCascadeDropdowns" href="http://spservices.codeplex.com/wikipage?title=$().SPServices.SPCascadeDropdowns" target="_blank">SPCascadeDropdowns</a>. This was something I always intended it to do, but the last time I tried to work through it, probably well over a year ago, I wasn&#8217;t up to the challenge. This time I was, and I think that the function may also even be a teeny bit faster than it was in ALPHA7.</p>
<p>Here&#8217;s an example. In this simple list form, I&#8217;ve got a parent column called State and two child columns, one called City and the other called Second City.</p>
<p><img class="aligncenter size-full wp-image-14629" title="1-11-2012 15-44-28" src="http://sympmarc.com/wp-content/uploads/2012/01/1-11-2012-15-44-28.png" alt="" width="630" height="226" /></p>
<p>By making two calls to SPCascadeDropdowns, both City and Second City are filtered based on the choice of State. I&#8217;ve also chosen to convert Second City from a &#8220;complex&#8221; dropdown to a &#8220;simple&#8221; dropdown by setting the simpleChild option to true.</p>
<pre class="brush: jscript; title: ; notranslate">
$().SPServices.SPCascadeDropdowns({
  relationshipList: &quot;Cities&quot;,
  relationshipListParentColumn: &quot;State&quot;,
  relationshipListChildColumn: &quot;Title&quot;,
  parentColumn: &quot;State&quot;,
  childColumn: &quot;City&quot;, // Child 1
  debug: true
});
$().SPServices.SPCascadeDropdowns({
  relationshipList: &quot;Cities&quot;,
  relationshipListParentColumn: &quot;State&quot;,
  relationshipListChildColumn: &quot;Title&quot;,
  parentColumn: &quot;State&quot;,
  childColumn: &quot;Second City&quot;, // Child 2
  simpleChild: true,
  debug: true
});
</pre>
<p>Enjoy, and let me know if you have a chance to try it out.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/vCJPTqvR70cqIC8CkTCwZpoQWI4/0/da"><img src="http://feedads.g.doubleclick.net/~a/vCJPTqvR70cqIC8CkTCwZpoQWI4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/vCJPTqvR70cqIC8CkTCwZpoQWI4/1/da"><img src="http://feedads.g.doubleclick.net/~a/vCJPTqvR70cqIC8CkTCwZpoQWI4/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=yQWNQpEI9r4:NpkT5cmD5Cg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/yQWNQpEI9r4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/01/11/spservices-v0-7-1alpha8-available-for-testing/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/01/11/spservices-v0-7-1alpha8-available-for-testing/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=spservices-v0-7-1alpha8-available-for-testing</feedburner:origLink></item>
		<item>
		<title>Trials and Tribulations: Migrating My Demos Site to Office365</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/GhOJa0wnceU/</link>
		<comments>http://sympmarc.com/2012/01/10/trials-and-tribulations-migrating-my-demos-site-to-office365/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 17:02:47 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Middle Tier]]></category>
		<category><![CDATA[Office365]]></category>
		<category><![CDATA[SharePoint Online]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14610</guid>
		<description><![CDATA[Over a year ago, I built myself a virtual machine in VMWare Workstation so that I could hack around with it. I&#8217;ve used it for some client development, but mostly it&#8217;s where I work on the demos I use when I speak at events. Recently, when FPWeb decided to get out of the Exchange hosting &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/01/10/trials-and-tribulations-migrating-my-demos-site-to-office365/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Over a year ago, I <a href="http://sympmarc.com/2010/11/13/building-a-new-sharepoint-2010-virtual-machine-from-scratch-even-i-can-do-it/" target="_blank">built myself a virtual machine</a> in <a href="http://www.vmware.com/products/workstation/" target="_blank">VMWare Workstation</a> so that I could hack around with it. I&#8217;ve used it for some client development, but mostly it&#8217;s where I work on the demos I use when I speak at events.</p>
<p>Recently, when <a href="http://fpweb.net" target="_blank">FPWeb</a> decided to get out of the Exchange hosting business (I was sad to leave them – they are awesome to work with) I set up an <a title="Office365" href="http://www.microsoft.com/en-us/office365" target="_blank">Office365</a> account with Microsoft, at first just for Exchange. Not only did I feel that it was a good value, I also wanted to be able to eat some of the dog food that I talk about all the time. I like <a title="Exchange Online" href="http://www.microsoft.com/en-us/office365/exchange-online.aspx" target="_blank">Exchange</a> over plain old free POP or IMAP email services because I get the same view on all of my devices; the synching provides just the right solution for me and I&#8217;m willing to pay for it. (No free ride for us <a href="http://sympmarc.com/2012/01/06/sharepoint-server-mvp-again-for-2012/" target="_blank">Microsoft MVPs</a>, sadly.)</p>
<p>Office365 is pretty cool to work with. It&#8217;s got a little bit too much of a system administrator feeling, but not nearly as much as I had worried about. The menus and pages are cleanly laid out (more of that fresh Metro UI-ish goodness, though I&#8217;m sure we&#8217;ll all be tired of it in due course) and generally pretty easy to figure out. It may be that&#8217;s because I know the underlying products reasonably well, but it&#8217;s certainly a giant leap forward from what Microsoft has done with admin interfaces in the past. I don&#8217;t think that the average small company person could figure out how to use it all, but it suits me just fine.</p>
<p>Now that I&#8217;ve got things set up, I wanted to port my demo stuff to SharePoint Online from my VM. The VM works just fine, but porting is a useful exercise, plus I would like to move my <a href="http://sympraxisconsulting.com" target="_blank">Sympraxis Consulting</a> Internet site to SharePoint Online at Office365 at some point, so this is a good first step. (I still have my Sympraxis site hosted with FPWeb in WSS 3.0, believe it or not. It&#8217;s good enough for now, frankly.)</p>
<p>It seemed as though this should be a fairly easy process. I&#8217;ve got a few sites in a separate Site Collection for the demos, and all I thought I&#8217;d need to do is to save them each as a Site Template (actually, a Solution – the Save &#8220;Site as Template&#8221; item wording doesn&#8217;t match the gallery name that it ends up in – the Solution Gallery) and then rehydrate it in SharePoint Online. The way I work in <a href="http://sympmarc.com/2010/04/14/the-middle-tier-manifesto-an-alternative-approach-to-development-with-microsoft-sharepoint/" target="_blank">SharePoint&#8217;s Middle Tier</a>, I don&#8217;t need to activate any wacky features, so how hard could it be?</p>
<p>I already had a Solution saved for my Middle Tier site, so I uploaded that to the Solution Gallery in SharePoint Online and activated it with no problem.</p>
<p style="text-align: center;"><a href="http://sympmarc.com/wp-content/uploads/2012/01/image.png"><img class="aligncenter" style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin-top: 0px; margin-bottom: 0px; display: inline; background-image: none;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/02/image_thumb13.png" alt="image" width="650" height="358" border="0" /></a></p>
<p>It can be pretty easy to forget to activate the Solution, so I&#8217;ve highlighted the button above.</p>
<p>Once the Solution was activated, I went to create a new site with it.</p>
<p style="text-align: center;"><a href="http://sympmarc.com/wp-content/uploads/2012/01/image1.png"><img class="aligncenter" style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin-top: 0px; margin-bottom: 0px; display: inline; background-image: none;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/02/image_thumb14.png" alt="image" width="1010" height="634" border="0" /></a></p>
<p>Hey, this was going well. It was really easy!</p>
<p>WHAM! The easy stage was over.</p>
<p style="text-align: center;"><a href="http://sympmarc.com/wp-content/uploads/2012/01/image2.png"><img class="aligncenter" style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin-top: 0px; margin-bottom: 0px; display: inline; background-image: none;" title="image" src="http://sympmarc.com/wp-content/uploads/2012/02/image_thumb23.png" alt="image" width="539" height="181" border="0" /></a></p>
<p>OK, so somehow I&#8217;ve got a feature activated in my VM that isn&#8217;t activated in my SharePoint Online site. No big deal, right? I can just go and find the {b5934f65-<br />
a844-4e67-82e5-92f66aafe912} feature and activate it for SharePoint Online. But what the heck is the {b5934f65- a844-4e67-82e5-92f66aafe912} feature?</p>
<p>I Bingled the GUID (see my <a title="Copying Text From an Image Using OneNote" href="http://sympmarc.com/2011/05/12/copying-text-from-an-image-using-onenote/" target="_blank">post</a> on using OneNote to get the text from a screen grab for a tip &#8211; for some reason you can&#8217;t copy the text in the error to the clipboard) and found the <a href="http://www.wssdemo.com/Lists/Features/DispForm.aspx?ID=181" target="_blank">answer</a> on <a title="Ian Morrish" href="http://www.wssdemo.com/pages/aboutian.aspx" target="_blank">Ian Morrish</a>&#8216;s excellent <a title="WSSDEMO" href="http://www.wssdemo.com" target="_blank">WSSDEMO</a> site.</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/02/1-10-2012-12-14-332.png"><img class="aligncenter size-full wp-image-14617" title="{b5934f65- a844-4e67-82e5-92f66aafe912} feature" src="http://sympmarc.com/wp-content/uploads/2012/02/1-10-2012-12-14-332.png" alt="{b5934f65- a844-4e67-82e5-92f66aafe912} feature" width="419" height="138" /></a></p>
<p>Well, not the actual answer, but something sort of informative. Since the DisplayName is <strong>ReviewWordflowsSPD</strong> and the Title1 is <strong>Routing Workflows &#8211; SharePoint 2010</strong>, I could reasonably assume that it had something to do with workflows. I compared the two environments and realized that I needed to activate the Wordflows (Aggregated set of out-of-box workflow features provided by SharePoint) Site Collection Feature:</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/02/1-10-2012-12-28-292.png"><img class="aligncenter size-full wp-image-14620" title="Workflows Feature" src="http://sympmarc.com/wp-content/uploads/2012/02/1-10-2012-12-28-292.png" alt="Workflows Feature" width="491" height="55" /></a></p>
<p>Well, maybe this wouldn&#8217;t be so bad, after all, I thought. I activated the feature and went to create the site again. WHAM! Out of the fast lane again.</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/02/1-10-2012-12-31-422.png"><img class="aligncenter size-full wp-image-14621" title="{af6d9aec-7c38-4dda-997f-cc1ddbb87c92} error" src="http://sympmarc.com/wp-content/uploads/2012/02/1-10-2012-12-31-422.png" alt="{af6d9aec-7c38-4dda-997f-cc1ddbb87c92} error" width="541" height="181" /></a></p>
<p>This is where I got a little annoyed and tweeted:</p>
<!-- tweet id : 156604388775956481 --><style type='text/css'>#bbpBox_156604388775956481 a { text-decoration:none; color:#0084B4; }#bbpBox_156604388775956481 a:hover { text-decoration:underline; }</style><div id='bbpBox_156604388775956481' class='bbpBox' style='padding:20px; margin:5px 0; background-color:#C0DEED; background-image:url(http://a0.twimg.com/images/themes/theme1/bg.png); background-repeat:no-repeat'><div style='background:#fff; padding:10px; margin:0; min-height:48px; color:#333333; -moz-border-radius:5px; -webkit-border-radius:5px;'><span style='width:100%; font-size:18px; line-height:22px;'>Moving existing sites to <a href="http://twitter.com/search?q=%23Office365" title="#Office365">#Office365</a> not easy. Feature GUIDs will be my undoing. Looks like af6d9aec-7c38-4dda-997f-cc1ddbb87c92 isn't there.</span><div class='bbp-actions' style='font-size:12px; width:100%; padding:5px 0; margin:0 0 10px 0; border-bottom:1px solid #e6e6e6;'><img align='middle' src='http://sympmarc.com/wp-content/plugins/twitter-blackbird-pie//images/bird.png' /><a title='tweeted on January 10, 2012 1:12 am' href='http://twitter.com/#!/sympmarc/status/156604388775956481' target='_blank'>January 10, 2012 1:12 am</a> via <a href="http://www.hootsuite.com" rel="nofollow" target="blank">HootSuite</a><a href='https://twitter.com/intent/tweet?in_reply_to=156604388775956481&related=sympmarc' class='bbp-action bbp-reply-action' title='Reply'><span><em style='margin-left: 1em;'></em><strong>Reply</strong></span></a><a href='https://twitter.com/intent/retweet?tweet_id=156604388775956481&related=sympmarc' class='bbp-action bbp-retweet-action' title='Retweet'><span><em style='margin-left: 1em;'></em><strong>Retweet</strong></span></a><a href='https://twitter.com/intent/favorite?tweet_id=156604388775956481&related=sympmarc' class='bbp-action bbp-favorite-action' title='Favorite'><span><em style='margin-left: 1em;'></em><strong>Favorite</strong></span></a></div><div style='float:left; padding:0; margin:0'><a href='http://twitter.com/intent/user?screen_name=sympmarc'><img style='width:48px; height:48px; padding-right:7px; border:none; background:none; margin:0' src='http://a3.twimg.com/profile_images/1124059643/Marc_hi-res_-_Copy_normal.jpg' /></a></div><div style='float:left; padding:0; margin:0'><a style='font-weight:bold' href='http://twitter.com/intent/user?screen_name=sympmarc'>@sympmarc</a><div style='margin:0; padding-top:2px'>Marc D Anderson</div></div><div style='clear:both'></div></div></div><!-- end of tweet -->
<p>and then later</p>
<!-- tweet id : 156711623631962112 --><style type='text/css'>#bbpBox_156711623631962112 a { text-decoration:none; color:#0084B4; }#bbpBox_156711623631962112 a:hover { text-decoration:underline; }</style><div id='bbpBox_156711623631962112' class='bbpBox' style='padding:20px; margin:5px 0; background-color:#C0DEED; background-image:url(http://a0.twimg.com/images/themes/theme1/bg.png); background-repeat:no-repeat'><div style='background:#fff; padding:10px; margin:0; min-height:48px; color:#333333; -moz-border-radius:5px; -webkit-border-radius:5px;'><span style='width:100%; font-size:18px; line-height:22px;'>No end user should ever have to look at a GUID or figure out what it means. What's so wrong with words?</span><div class='bbp-actions' style='font-size:12px; width:100%; padding:5px 0; margin:0 0 10px 0; border-bottom:1px solid #e6e6e6;'><img align='middle' src='http://sympmarc.com/wp-content/plugins/twitter-blackbird-pie//images/bird.png' /><a title='tweeted on January 10, 2012 8:18 am' href='http://twitter.com/#!/sympmarc/status/156711623631962112' target='_blank'>January 10, 2012 8:18 am</a> via <a href="http://www.hootsuite.com" rel="nofollow" target="blank">HootSuite</a><a href='https://twitter.com/intent/tweet?in_reply_to=156711623631962112&related=sympmarc' class='bbp-action bbp-reply-action' title='Reply'><span><em style='margin-left: 1em;'></em><strong>Reply</strong></span></a><a href='https://twitter.com/intent/retweet?tweet_id=156711623631962112&related=sympmarc' class='bbp-action bbp-retweet-action' title='Retweet'><span><em style='margin-left: 1em;'></em><strong>Retweet</strong></span></a><a href='https://twitter.com/intent/favorite?tweet_id=156711623631962112&related=sympmarc' class='bbp-action bbp-favorite-action' title='Favorite'><span><em style='margin-left: 1em;'></em><strong>Favorite</strong></span></a></div><div style='float:left; padding:0; margin:0'><a href='http://twitter.com/intent/user?screen_name=sympmarc'><img style='width:48px; height:48px; padding-right:7px; border:none; background:none; margin:0' src='http://a3.twimg.com/profile_images/1124059643/Marc_hi-res_-_Copy_normal.jpg' /></a></div><div style='float:left; padding:0; margin:0'><a style='font-weight:bold' href='http://twitter.com/intent/user?screen_name=sympmarc'>@sympmarc</a><div style='margin:0; padding-top:2px'>Marc D Anderson</div></div><div style='clear:both'></div></div></div><!-- end of tweet -->
<p>So far, I haven&#8217;t been able to figure out what the {af6d9aec-7c38-4dda-997f-cc1ddbb87c92} feature is. The hits I get by searching tell me things about the Help Desk Template from the Fantastic (not so much) 40 templates, but I&#8217;ve never had that in any of my environments. One of the <a title="{af6d9aec-7c38-4dda-997f-cc1ddbb87c92}" href="http://sympmarc.com/2011/06/05/sptechcon-boston-2011-wrap-up/" target="_blank">hits</a> I got from searching was right back on my own blog (always a delicious irony).</p>
<p>So I&#8217;m stuck, and there&#8217;s no obvious way to figure out what that feature actually is. The point is that the GUID is pretty uninformative. SharePoint shouldn&#8217;t give me such unactionable, vague information. Even if I can find the GUID written up somewhere (as in Ian&#8217;s helpful site above), it&#8217;s not always obvious what to do with the information.</p>
<p>I&#8217;ve talked to quite a few people about the fact that I think one of the critical success factors for Office365 will be <strong>portability</strong>. What I was trying to do was pretty basic. I wanted to understand how Office365 might work for me if I wanted to use it for hosting my stuff. We all need to be able to move content in and out of The Cloud at will.</p>
<p>This is probably the first thing that any large enterprise would want to do as well. &#8220;Hey, let&#8217;s get Sandie down in the SharePoint admin pit to copy some of our typical sites over to SharePoint Online and see how they work.&#8221; At least, that&#8217;s what I&#8217;d do if I were a CIO thinking about moving some of my stuff to The Cloud. I&#8217;d want to see how easy it was to do something basic. Poor Sandie probably doesn&#8217;t have much of a chance of completing the task, though. As CIO, I&#8217;d want to know that I can *reasonably* easily move my stuff into the Cloud and back again. This would give me a comfortable feeling that I could trust Office365 with my stuff and not worry about changing my mind (or having my business requirements change it for me) down the road.</p>
<p>I&#8217;m pretty sure that I&#8217;m going to work out my little problem with good old {af6d9aec-7c38-4dda-997f-cc1ddbb87c92} &#8211; after all, I can hit up some of the best SharePoint minds on the planet through the MVP network &#8211; but I&#8217;m not so sure that Sandie and her CIO will get past these types of things as they look at using Office365. My suggestion to the Microsoft folks is to come up with some really brain dead easy tools to facilitate this sort of thing. (I know for a fact that my friends at <a title="MetaVis" href="http://metavistech.com/" target="_blank">MetaVis</a> have a great toolset to enable this, but should I need to work that hard?)</p>
<p>Even better: stop putting GUIDs in front of end users and expecting them to know what to do with them.</p>
<p>&lt;UPDATE dateTime=&#8221;2012-02-06&#8243;&gt;</p>
<p>I did solve this issue, and you can read all about it in my <a href="http://sympmarc.com/2012/02/06/trials-and-tribulations-migrating-my-demos-site-to-office365-part-two/">follow up post</a>.</p>
<p>&lt;/UPDATE&gt;</p>

<p><a href="http://feedads.g.doubleclick.net/~a/YjmQ-MK5xhsH0he0oJ-FIdVmsBY/0/da"><img src="http://feedads.g.doubleclick.net/~a/YjmQ-MK5xhsH0he0oJ-FIdVmsBY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/YjmQ-MK5xhsH0he0oJ-FIdVmsBY/1/da"><img src="http://feedads.g.doubleclick.net/~a/YjmQ-MK5xhsH0he0oJ-FIdVmsBY/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=GhOJa0wnceU:rvwNR23iI-w:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/GhOJa0wnceU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/01/10/trials-and-tribulations-migrating-my-demos-site-to-office365/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/01/10/trials-and-tribulations-migrating-my-demos-site-to-office365/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=trials-and-tribulations-migrating-my-demos-site-to-office365</feedburner:origLink></item>
		<item>
		<title>SPServices v0.7.1ALPHA7 Available for Testing</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/4AUuDKnviQQ/</link>
		<comments>http://sympmarc.com/2012/01/09/spservices-v0-7-1alpha7-available-for-testing/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 16:06:05 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery library for SharePoint Web Services]]></category>
		<category><![CDATA[SPCascadeDropdowns]]></category>
		<category><![CDATA[SPDisplayRelatedInfo]]></category>
		<category><![CDATA[SPServices]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14596</guid>
		<description><![CDATA[I posted a new alpha of SPServices v0.7.1 today. Even though I just released v0.7.0 in early December, I&#8217;ve been working steadily to get some great new functionality and performance improvements into v0.7.1 as well as to fix some rather obscure bugs. You can see the details of what is included in this alpha on &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/01/09/spservices-v0-7-1alpha7-available-for-testing/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I posted a new alpha of <a href="http://spservices.codeplex.com/releases/view/77486" target="_blank">SPServices v0.7.1</a> today.<a href="http://spservices.codeplex.com" target="_blank"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; float: right; padding-top: 0px; border: 0px;" title="logo250x150" src="http://sympmarc.com/wp-content/uploads/2012/01/logo250x150.jpg" alt="logo250x150" width="250" height="68" align="right" border="0" /></a></p>
<p>Even though I just released v0.7.0 in early December, I&#8217;ve been working steadily to get some great new functionality and performance improvements into v0.7.1 as well as to fix some rather obscure bugs.</p>
<p>You can see the details of what is included in this alpha on the <a href="http://spservices.codeplex.com/releases/view/77486" target="_blank">download page</a>, but perhaps what will be of widest interest are some significant performance improvements to <a href="http://spservices.codeplex.com/wikipage?title=$().SPServices.SPCascadeDropdowns" target="_blank">SPCascadeDropdowns</a> and <a href="http://spservices.codeplex.com/wikipage?title=$().SPServices.SPDisplayRelatedInfo" target="_blank">SPDisplayRelatedInfo</a>. If you use those functions, I&#8217;d really appreciate you trying the alpha out and letting me know whether the improvements are noticeable to you. The initial setup time in the form won&#8217;t be faster, but the cascading in the page ought to be. (The better tuned your SharePoint farm and the more horsepower you have, the less improvement you are likely to see.)</p>
<p>I&#8217;ve also added a new function called <a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPXmlToJson">SPXmlToJson</a>. With it, I hope to offer a generic XML to JSON conversion utility. The first focus is on the XML returned by GetListItems, but I plan to expand upon it as people request additional capabilities. If you&#8217;re into playing with JSON, please take a look and give me your thoughts and suggestions. Be kind and remember that this is just an alpha.</p>
<div class="mceTemp">
<dl class="wp-caption alignright zemanta-img" style="width: 310px;">
<dt class="wp-caption-dt"><a href="http://en.wikipedia.org/wiki/File:JQuery_logo.svg"><img class="zemanta-img-inserted zemanta-img-configured" title="JQuery" src="http://upload.wikimedia.org/wikipedia/en/thumb/9/9e/JQuery_logo.svg/300px-JQuery_logo.svg.png" alt="JQuery" width="300" height="73" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution">Image via Wikipedia</dd>
</dl>
<p>The main reason for getting v0.7.0 (the prior release) out there was to release a version which was compatible with <a href="http://blog.jquery.com/2011/11/03/jquery-1-7-released/" target="_blank">jQuery 1.7.x</a>. As goeth jQuery, so goeth SPServices; the jQuery team doesn&#8217;t sit still for long, so I can&#8217;t really, either. In fact, jQuery 1.7.1 has already been out for a while and we can see 1.8 on the horizon. As part of the new jQuery releases, there are always some significant performance improvements as well as new capabilities. As with most software, there are also capabilities which are deprecated, which may by removed in the future.</div>
<p>Because of all of these changes to jQuery itself, along with my accompanying changes to SPServices, I would strongly encourage you to try to keep up with the releases as best you can. I know that this can be difficult, especially in large enterprise environments where the release cycles can be complex and time consuming.</p>
<p>Given the constraints that many people probably have when it comes to upgrading SPServices, I&#8217;m wondering what a good release cycle would be. There have already been over 2000 downloads of v0.7.0, yet I&#8217;m getting near the time when I might want to put v0.7.1 out there. What would work best for you? Fewer releases with more changes or more releases with fewer changes? There are many considerations to this, I know. If nothing else, the documentation can only represent one point in time (I&#8217;m loathe to try to keep historical versions; maintenance would be a nightmare). If you are using an older version of SPServices, like say v0.5.8, then the docs are pretty far off for you, as will be my blog posts and articles elsewhere. Let me know what you think!</p>
<div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="border: currentColor; float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=b887b848-e614-4759-a1ac-82a9ce9e2517" alt="Enhanced by Zemanta" /></a></div>

<p><a href="http://feedads.g.doubleclick.net/~a/jtNUvUz1GDxtQ9YR3Z7lR-zgvVc/0/da"><img src="http://feedads.g.doubleclick.net/~a/jtNUvUz1GDxtQ9YR3Z7lR-zgvVc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/jtNUvUz1GDxtQ9YR3Z7lR-zgvVc/1/da"><img src="http://feedads.g.doubleclick.net/~a/jtNUvUz1GDxtQ9YR3Z7lR-zgvVc/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=4AUuDKnviQQ:geigdS3jiHo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/4AUuDKnviQQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/01/09/spservices-v0-7-1alpha7-available-for-testing/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/01/09/spservices-v0-7-1alpha7-available-for-testing/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=spservices-v0-7-1alpha7-available-for-testing</feedburner:origLink></item>
		<item>
		<title>SharePoint Server MVP Again for 2012</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/x4OXVXB5kDI/</link>
		<comments>http://sympmarc.com/2012/01/06/sharepoint-server-mvp-again-for-2012/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 19:19:37 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Microsoft Most Valuable Professional]]></category>
		<category><![CDATA[MVP]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14588</guid>
		<description><![CDATA[On January 1, promptly at 13:00 EST (that&#8217;s 1pm to us Yanks), I got the email from Microsoft informing me that I had received the MVP Award for SharePoint Server again for 2012. As in 2011, I feel tremendously honored and humbled to receive the MVP. I view it as a statement by my peers &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/01/06/sharepoint-server-mvp-again-for-2012/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">On January 1, promptly at 13:00 EST (that&#8217;s 1pm to us Yanks), I got the email from Microsoft informing me that I had received the MVP Award for SharePoint Server again for 2012.</p>
<p style="text-align: center;"><a href="http://sympmarc.com/wp-content/uploads/2012/01/SNAGHTML2422119a.png"><img class="aligncenter" style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="SNAGHTML2422119a" src="http://sympmarc.com/wp-content/uploads/2012/01/SNAGHTML2422119a_thumb.png" alt="SNAGHTML2422119a" width="765" height="350" border="0" /></a></p>
<p>As in <a href="http://sympmarc.com/2011/01/02/ive-received-the-the-2011-microsoft-mvp-award-for-sharepoint/" target="_blank">2011</a>, I feel tremendously honored and humbled to receive the MVP. I view it as a statement by my peers that what I do in the community has value, even if that isn&#8217;t the real reason I received it.</p>
<p>Yes, there&#8217;s some controversy around the MVP award. I&#8217;ve seen the good (many of these), the <a href="http://www.windows8update.com/2012/01/05/my-year-as-a-microsoft-mvp-and-the-7-reasons-microsoft-need-to-fix-their-mvp-program/" target="_blank">bad</a>, and the <a href="http://devlicio.us/blogs/rob_eisenberg/archive/2012/01/04/how-i-lost-regained-and-then-turned-down-an-mvp-award.aspx" target="_blank">ugly</a> in posts about it over the last week or so. I can understand and echo some of the bad and the ugly, frankly. If there&#8217;s a point to the whole MVP program, I&#8217;m not sure what it is, either. No client of mine really cares about it if they know what it even is, other than to give me a gibe or two about it from time to time. Microsoft really doesn&#8217;t choose to share much with me that I can&#8217;t learn by following links on Twitter. The group of us who are MVPs represent vastly different skills sets, attitudes, and – dare I say it – aptitudes &#8211; me included, of course.</p>
<p>What the MVP *has* meant for me over the last year, though, is that I&#8217;ve gotten to interact with that incredibly interesting, diverse, and talented bunch of my fellow MVPs. We don&#8217;t all see eye to eye all the time, but that&#8217;s part of the fun of it. We have interesting conversations and debates about how SharePoint works, how we can best solve problems with it, and where we hope it goes as a technology. At the MVP Summit in Redmond last year &#8211; and I look forward to it again in February &#8211; I was surrounded with the best and the brightest in the SharePoint world. That interaction alone is worth being proud of the award. Whether or not Microsoft cares about us or wants our input is certainly moot, but I&#8217;ve written that part off by now.</p>
<p>So, thank you Microsoft for seeing something in me that deserved the MVP award, and I look forward to more and more opportunities to learn from my fellow MVPs and the rest of the SharePoint community in 2012. I&#8217;m having a ball.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/te3P_JRvGJGaK9RzMcF3eWEV0xY/0/da"><img src="http://feedads.g.doubleclick.net/~a/te3P_JRvGJGaK9RzMcF3eWEV0xY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/te3P_JRvGJGaK9RzMcF3eWEV0xY/1/da"><img src="http://feedads.g.doubleclick.net/~a/te3P_JRvGJGaK9RzMcF3eWEV0xY/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=x4OXVXB5kDI:EeAGWzFQJBM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/x4OXVXB5kDI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/01/06/sharepoint-server-mvp-again-for-2012/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/01/06/sharepoint-server-mvp-again-for-2012/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=sharepoint-server-mvp-again-for-2012</feedburner:origLink></item>
		<item>
		<title>Finding the Distribution of Column Types in a SharePoint List with SPServices</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/c91J5wGyKpo/</link>
		<comments>http://sympmarc.com/2012/01/03/finding-the-distribution-of-column-types-in-a-sharepoint-list-with-spservices/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 17:47:42 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[GetList]]></category>
		<category><![CDATA[GetListItems]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery library for SharePoint Web Services]]></category>
		<category><![CDATA[SPServices]]></category>
		<category><![CDATA[SPXmlToJson]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14570</guid>
		<description><![CDATA[I just went through a little exercise that was simple, but fun, and I thought I&#8217;d share. As part of building my new SPXmlToJson function for SPServices, I wanted to spin through some of my lists to see what the various types of columns were and count the occurrences. Sure, I could have probably just &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2012/01/03/finding-the-distribution-of-column-types-in-a-sharepoint-list-with-spservices/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I just went through a little exercise that was simple, but fun, and I thought I&#8217;d share. As part of building my new <a title="SPXmlToJson" href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPXmlToJson" target="_blank">SPXmlToJson</a> function for <a title="SPServices" href="http://spservices.codeplex.com" target="_blank">SPServices</a>, I wanted to spin through some of my lists to see what the various types of columns were and count the occurrences. Sure, I could have probably just looked in the SDK somewhere for the exhaustive list, but I though it would be a useful exercise to code something. The idea was to call <a title="GetList" href="http://spservices.codeplex.com/wikipage?title=GetList" target="_blank">GetList</a> on a particular list, go through all of the columns in the results, and list out the number of times each column type shows up.</p>
<p>Since I am building a function to emit JSON, knowing what type of objects I need to create is important. Each column has a type, of course, which you select when you create the column. In the UI, the column types are things like &#8220;Single line of text&#8221;, &#8220;Choice&#8221;, or &#8220;Lookup&#8221;, as you&#8217;re probably used to seeing:</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/01/1-3-2012-12-23-41.png"><img class="aligncenter size-full wp-image-14574" title="Create a List Column - Column Types" src="http://sympmarc.com/wp-content/uploads/2012/01/1-3-2012-12-23-41.png" alt="Create a List Column - Column Types" width="312" height="341" /></a>However, those aren&#8217;t the values that SharePoint stores in the list settings. If you work with the SharePoint Object Model with managed code, you&#8217;re used to seeing <a title="SPFieldType" href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfieldtype.aspx" target="_blank">SPFieldType</a> (yup, that link is where I could have gone to see the full list without resorting to my code).</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/01/1-3-2012-12-34-11.png"><img class="aligncenter size-large wp-image-14575" title="SPFieldType in the SharePoint SDK" src="http://sympmarc.com/wp-content/uploads/2012/01/1-3-2012-12-34-11-1024x532.png" alt="SPFieldType in the SharePoint SDK" width="360" height="187" /></a></p>
<p>In the Web Services (at least GetList), we see an attribute simply named &#8220;Type&#8221; for each &#8220;Field&#8221;. Yes, fields are columns. Isn&#8217;t it grand how inconsistent some of the naming in SharePoint is?</p>
<p>Here&#8217;s the script I ended up with.  Since I&#8217;m focused on JSON, I wanted to play around with the various options for storing the data. I ended up with an array of typeName/typeCount values, which I could then sort in various ways. My first cut was to sort the types alphabetically and show them as simple list bullets.</p>
<pre class="brush: jscript; title: ; notranslate">
$(divId).html(waitMessage).SPServices({
  operation: &quot;GetList&quot;,
  listName: &quot;Sales Opportunities&quot;,
  completefunc: function (xData, Status) {

    var types = [];
    $(xData.responseXML).find(&quot;Fields &gt; Field&quot;).each(function() {

      // If we already have this type in the array, increment the count...
      var match = false;
        for(i = 0; i &lt; types.length; i++) {
          if(types[i].typeName === $(this).attr(&quot;Type&quot;)) {
            types[i].typeCount++;
            // No need to loop further
            match = true;
          }
        }

      // ...otherwise, add it to the array with a count of 1
      if(!match) {
        var thisType = {typeName: $(this).attr(&quot;Type&quot;), typeCount: 1};
        types.push(thisType);
      }
    });

    types.sort(function(a, b){
      var typeA = a.typeName.toLowerCase(), typeB = b.typeName.toLowerCase();
      // We want to sort the type strings, ascending
      if (typeA &lt; typeB) return -1;
      if (typeA &gt; typeB) return 1;
      // If they are equal, return 0 (no sorting)
      return 0;
    });

    var out = &quot;&lt;ul&gt;&quot;;
    for(i=0; i &lt; types.length; i++) {
      out += &quot;&lt;li&gt;&quot; + types[i].typeName + &quot; = &quot; + types[i].typeCount + &quot;&lt;/li&gt;&quot;;
    }
    out += &quot;&lt;/ul&gt;&quot;;

    $(divId).html(&quot;&quot;).append(&quot;&lt;b&gt;This is the output from the GetList operation:&lt;/b&gt;&quot; + out);
  }
});
</pre>
<p>What I ended up with is something like this:</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/01/1-3-2012-12-13-06.png"><img class="aligncenter size-full wp-image-14572" title="Column Types Sorted Alphabetically" src="http://sympmarc.com/wp-content/uploads/2012/01/1-3-2012-12-13-06.png" alt="Column Types Sorted Alphabetically" width="266" height="303" /></a>To see the column type sorted by number of occurrences, I simply changed the sort function to this:</p>
<pre class="brush: jscript; title: ; notranslate">
types.sort(function(a, b){
  // To sort descending, subtract a from b; ascending would be the reverse
  return b.typeCount - a.typeCount;
});
</pre>
<p>This gave me output like this:</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2012/01/1-3-2012-12-12-13.png"><img class="aligncenter size-full wp-image-14571" title="Column Types Sorted by Number of Occurences" src="http://sympmarc.com/wp-content/uploads/2012/01/1-3-2012-12-12-13.png" alt="Column Types Sorted by Number of Occurences" width="265" height="303" /></a>Since I&#8217;ve found the SDK page for SPFieldType, this is throwaway code, but it&#8217;s not throwaway learning. It&#8217;s a little snippet of script that taught me a few things about formatting data for working storage on the client in script and also showed me what the internal types were for the columns which I use most often in my testing for SPServices. Note that while I&#8217;m using SPServices, and therefore <a title="jQuery" href="http://jquery.com" target="_blank">jQuery</a>, most of the heavy lifting in my script is plain old JavaScript.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/Jx9Q5KRpowITGVEeHdoPRv6tZ_A/0/da"><img src="http://feedads.g.doubleclick.net/~a/Jx9Q5KRpowITGVEeHdoPRv6tZ_A/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Jx9Q5KRpowITGVEeHdoPRv6tZ_A/1/da"><img src="http://feedads.g.doubleclick.net/~a/Jx9Q5KRpowITGVEeHdoPRv6tZ_A/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=c91J5wGyKpo:jiTCovwR_HM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/c91J5wGyKpo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2012/01/03/finding-the-distribution-of-column-types-in-a-sharepoint-list-with-spservices/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2012/01/03/finding-the-distribution-of-column-types-in-a-sharepoint-list-with-spservices/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=finding-the-distribution-of-column-types-in-a-sharepoint-list-with-spservices</feedburner:origLink></item>
		<item>
		<title>Adding JSON Capability to SPServices</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/Y1t1bnC5BfA/</link>
		<comments>http://sympmarc.com/2011/12/30/adding-json-capability-to-spservices/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 19:05:17 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery library for SharePoint Web Services]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[SPServices]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14554</guid>
		<description><![CDATA[For quite a while, I&#8217;ve gotten requests to offer some sort of JSON conversion capability in SPServices. The requests have often been fairly non-specific, meaning that they haven&#8217;t mentioned a particular Web Service operation, like GetListItems or GetWeb. However, I think that most people want to be able to get convert the XML they get &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2011/12/30/adding-json-capability-to-spservices/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignright" style="width: 250px"><a href="http://www.flickr.com/photos/44792728@N00/3762360637"><img class="zemanta-img-inserted zemanta-img-configured" title="JSON Card -- Front" src="http://farm4.static.flickr.com/3423/3762360637_6b851c9478_m.jpg" alt="JSON Card -- Front" width="240" height="128" /></a><p class="wp-caption-text">Image by superfluity via Flickr</p></div>
<p>For quite a while, I&#8217;ve gotten requests to offer some sort of <a title="JSON at Wikipedia" href="http://en.wikipedia.org/wiki/Json" target="_blank">JSON</a> conversion capability in <a title="SPServices" href="http://spservices.codeplex.com" target="_blank">SPServices</a>. The requests have often been fairly non-specific, meaning that they haven&#8217;t mentioned a particular Web Service operation, like GetListItems or GetWeb. However, I think that most people want to be able to get convert the XML they get back from GetListItems to JSON. This would be useful because a lot of the other jQuery plugins out there want JSON to work with.</p>
<p>I&#8217;ve written the beginnings of a function I will include in the next release of SPServices, and I wanted to offer it up for suggestions and requests. I want this converter function, which I&#8217;ve called SPXmlToJson, to be generally useful within an SPServices context. I don&#8217;t want to build a general-purpose converter; there are quite a few good ones out there. Generally, the data returned from SharePoint&#8217;s SOAP Web Services operations is fairly &#8220;flat&#8221;. By &#8220;flat&#8221;, I mean that there isn&#8217;t a huge amount of nesting. For example, GetListItems (which I expect to be the main context for using this function) simple passes back a z:row element for each item in the list with all of the column values as attributes.</p>
<p>Here&#8217;s an example:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;GetListItemsResponse xmlns=&quot;http://schemas.microsoft.com/sharepoint/soap/&quot;&gt;
&lt;GetListItemsResult&gt;
    &lt;listitems xmlns:s=&quot;uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882&quot; xmlns:dt=&quot;uuid:C2F41010-65B3-11d1-A29F-00AA00C14882&quot; xmlns:rs=&quot;urn:schemas-microsoft-com:rowset&quot; xmlns:z=&quot;#RowsetSchema&quot;&gt;
      &lt;rs:data ItemCount=&quot;22&quot;&gt;
        &lt;z:row ows_DocIcon=&quot;gif&quot; ows_FileSizeDisplay=&quot;21530&quot; ows_LinkFilename=&quot;cascaded_multiselect.GIF&quot; ows_Title=&quot;3&quot; ows_Modified=&quot;2011-07-05 12:17:54&quot; ows_Editor=&quot;3;#Marc D Anderson&quot; ows_Edit=&quot;0&quot; ows_TestColumn=&quot;bar&quot; ows__ModerationStatus=&quot;3&quot; ows__Level=&quot;255&quot; ows_ID=&quot;58&quot; ows_owshiddenversion=&quot;5&quot; ows_UniqueId=&quot;58;#{DF636FD7-2B27-4826-9E44-33E1F68F7EC4}&quot; ows_FSObjType=&quot;58;#0&quot; ows_Created_x0020_Date=&quot;58;#2011-04-13 00:35:51&quot; ows_ProgId=&quot;58;#&quot; ows_FileLeafRef=&quot;58;#cascaded_multiselect.GIF&quot; ows_CheckoutUser=&quot;3;#Marc D Anderson&quot; ows_FileRef=&quot;58;#Intranet/cascaded_multiselect.GIF&quot; ows_MetaInfo=&quot;58;#vti_parserversion:SR|12.0.0.6421 vti_lmt:SW|Thu, 22 Oct 2009 03:42:52 GMT Order:DW|5800.00000000000 TestColumn:SW|bar vti_author:SR|SERVER\\username vti_lastwidth:IX|641 vti_winfileattribs:SW|00000000 vti_modifiedby:SR|SERVER\\username ContentTypeId:SW|0x01010077FE74FF93862D419170F4A09DD0BBC5 vti_ct:SW|Thu, 22 Oct 2009 03:42:52 GMT vti_lat:SW|Wed, 13 Apr 2011 04:34:58 GMT ContentType:SW|Document vti_title:SW|3 vti_sourcecontrolmultiuserchkoutby:VR|FSERVER\\\\username vti_lastheight:IX|286 &quot; ows_Last_x0020_Modified=&quot;58;#2011-07-05 13:10:22&quot;&gt;&lt;/z:row&gt;
        &lt;z:row ows_DocIcon=&quot;rtf&quot; ows_FileSizeDisplay=&quot;1322&quot; ows_LinkFilename=&quot;ChatLog.rtf&quot; ows_Title=&quot;4&quot; ows_Modified=&quot;2011-07-05 12:17:55&quot; ows_Editor=&quot;3;#Marc D Anderson&quot; ows_Edit=&quot;0&quot; ows_TestColumn=&quot;bar&quot; ows__ModerationStatus=&quot;3&quot; ows__Level=&quot;255&quot; ows_ID=&quot;59&quot; ows_owshiddenversion=&quot;5&quot; ows_UniqueId=&quot;59;#{7C8C1F98-E56C-4B8C-9BFB-50A4948BDC7D}&quot; ows_FSObjType=&quot;59;#0&quot; ows_Created_x0020_Date=&quot;59;#2011-04-13 00:35:52&quot; ows_ProgId=&quot;59;#&quot; ows_FileLeafRef=&quot;59;#ChatLog.rtf&quot; ows_CheckoutUser=&quot;3;#Marc D Anderson&quot; ows_FileRef=&quot;59;#Intranet/ChatLog.rtf&quot; ows_MetaInfo=&quot;59;#vti_parserversion:SR|12.0.0.6421 vti_lmt:SW|Mon, 11 Apr 2011 17:09:08 GMT Order:DW|5900.00000000000 ContentTypeId:SW|0x01010077FE74FF93862D419170F4A09DD0BBC5 vti_ct:SW|Mon, 11 Apr 2011 17:09:08 GMT vti_lat:SW|Wed, 13 Apr 2011 04:34:59 GMT ContentType:SW|Document TestColumn:SW|bar vti_sourcecontrolmultiuserchkoutby:VR|SERVER\\\\username vti_title:SW|4 vti_author:SR|SERVER\\username vti_winfileattribs:SW|00000000 vti_modifiedby:SR|SERVER\\username &quot; ows_Last_x0020_Modified=&quot;59;#2011-07-05 13:10:22&quot;&gt;&lt;/z:row&gt;
      &lt;/rs:data&gt;
    &lt;/listitems&gt;
  &lt;/GetListItemsResult&gt;
&lt;/GetListItemsResponse&gt;
</pre>
<p>Once you get past the enclosing &#8220;wrapper&#8221;, it&#8217;s very flat data: just a single element per item. Most of the other operations return similar structures (thought there&#8217;s precious little consistency). What I am thinking of is having the SPXmlToJson function accept a flat nodeset, which it will convert and return a JSON object. This ought to provide a very basic conversion capability that I can build on over time, as needed.</p>
<p>Here&#8217;s the function as it stands, and I&#8217;ve also made it available on the SPServices site in the <a title="SPServices 0.7.1ALPHA3" href="http://spservices.codeplex.com/releases/view/77486" target="_blank">latest alpha for v0.7.1</a>. Please let me know what you think. Will this be enough? If not, what other options would you like to have available? What other operations are you likely to use SPXmlToJson with? Try it out and let me know your ideas.</p>
<p>Thanks for Paul Tavares and others for the help and nudging to get me to this point.</p>
<pre class="brush: jscript; title: ; notranslate">
// This function converts a nodeset to JSON
$.fn.SPServices.SPXmlToJson = function(options) {

  var opt = $.extend({}, {
  ns: &quot;&quot;    // A flat XML nodeset (as from GetListItems)
  }, options);

  var json = [];

  opt.ns.each(function() {
  var row = {};
  var rowAttrs = this.attributes;
  for (var e=0; e &lt; rowAttrs.length; e++) {
    var thisNodeName = rowAttrs[e].name;
    var trimmedNodeName = thisNodeName.indexOf(&quot;ows_&quot;) !== -1 ? thisNodeName.substring(4) : thisNodeName;
    row[trimmedNodeName] = rowAttrs[e].value;
  }
  json.push(row);
  });
  return json;
}; // End $.fn.SPServices.SPXmlToJson
</pre>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=0ec9d38c-232b-498e-b9a6-d567586d70a2" alt="Enhanced by Zemanta" /></a></div>

<p><a href="http://feedads.g.doubleclick.net/~a/dhGnadFvOodwwRpCa_mRqoBcqg4/0/da"><img src="http://feedads.g.doubleclick.net/~a/dhGnadFvOodwwRpCa_mRqoBcqg4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/dhGnadFvOodwwRpCa_mRqoBcqg4/1/da"><img src="http://feedads.g.doubleclick.net/~a/dhGnadFvOodwwRpCa_mRqoBcqg4/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=Y1t1bnC5BfA:Wpg011j56bs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/Y1t1bnC5BfA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2011/12/30/adding-json-capability-to-spservices/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2011/12/30/adding-json-capability-to-spservices/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=adding-json-capability-to-spservices</feedburner:origLink></item>
		<item>
		<title>Why Marketers Should Learn To Program – But Wait, There’s More</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/C7TFlxGc7ws/</link>
		<comments>http://sympmarc.com/2011/12/28/why-marketers-should-learn-to-program-but-wait-theres-more/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 04:57:36 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Christian Buckley]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Renaissance man]]></category>
		<category><![CDATA[Scott Brinker]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14546</guid>
		<description><![CDATA[Image via Wikipedia A little while ago, Christian Buckley (@buckleyplanet) retweeted a link to an intriguing blog post from Scott Brinker (@chiefmartec) entitled Why marketers should learn how to program.  Scott&#8217;s main points center around the idea that for Marketers to be truly successful these days, they should learn at least the rudiments of software &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2011/12/28/why-marketers-should-learn-to-program-but-wait-theres-more/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<div class="mceTemp">
<dl class="wp-caption alignright zemanta-img" style="width: 310px;">
<dt class="wp-caption-dt"><a href="http://commons.wikipedia.org/wiki/File:Da_Vinci_Vitruve_Luc_Viatour.jpg"><img class="zemanta-img-inserted zemanta-img-configured" title="Vitruvian Man by Leonardo da Vinci, Galleria d..." src="http://upload.wikimedia.org/wikipedia/commons/thumb/2/22/Da_Vinci_Vitruve_Luc_Viatour.jpg/300px-Da_Vinci_Vitruve_Luc_Viatour.jpg" alt="Vitruvian Man by Leonardo da Vinci, Galleria d..." width="300" height="408" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">Image via Wikipedia</dd>
</dl>
<p>A little while ago, Christian Buckley (<a href="http://twitter.com/buckleyplanet" target="_blank">@buckleyplanet</a>) retweeted a link to an intriguing blog post from <a title="Scott Brinker" href="http://www.linkedin.com/in/sjbrinker" target="_blank">Scott Brinker</a> (<a href="http://twitter.com/chiefmartec" target="_blank">@chiefmartec</a>) entitled <a href="http://www.chiefmartec.com/2011/12/why-marketers-should-learn-how-to-program.html" target="_blank">Why marketers should learn how to program</a>.  Scott&#8217;s main points center around the idea that for Marketers to be truly successful these days, they should learn at least the rudiments of software programming. This will give them new tools to succeed in an ever increasingly technology-driven discipline. I was motivated to comment on Scott&#8217;s post and wanted to capture and add to my comments here as well.</p>
</div>
<p>Understanding enough about the other disciplines related to succeeding at one&#8217;s own discipline shouldn&#8217;t be important just for Marketing folks. As the pace of innovation and change in the workplace continues to accelerate, it has become more and more important to have people available who can straddle many different disciplines.</p>
<p>In the past – perhaps way back in the 1990s or so &#8211; we were used to building teams that had one person representing each discipline. The teams had fairly long lifespans and knowledge areas were sacrosanct. Crossing the lines was frowned upon. Each team member was on the team because they were in a certain department, had a specific knowledge area, or needed to be on the team for political reasons.</p>
<p>Today all that is less often the case. We need teams to coalesce, accomplish, and dismantle in faster and faster cycle times. By building those teams with fewer people who have wider knowledge spans, we can reduce the communication requirements and accelerate accomplishment, thus innovation. Fewer team members with wider knowledge spans is simply a more efficient way to operate. This is especially true because those team members are increasingly likely to be spread widely across geographies and may even work for different organizations.</p>
<p>So, maybe Marketers should learn to program, but Developers should learn good design, Designers should learn basic accounting, Accountants should learn about organizational behavior, HR people should learn something about Marketing, and so forth.</p>
<p>It&#8217;s yet another time in history where the &#8220;Renaissance man&#8221; ought to be in high demand, and therefore should be able to call his (or her, of course) own shots.</p>
<div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="border: currentColor; float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=832c8bec-0c33-4a67-a1d1-242ef532b371" alt="Enhanced by Zemanta" /></a></div>

<p><a href="http://feedads.g.doubleclick.net/~a/0f7B6LPFL5HkoGJUvTbApgcVFdo/0/da"><img src="http://feedads.g.doubleclick.net/~a/0f7B6LPFL5HkoGJUvTbApgcVFdo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/0f7B6LPFL5HkoGJUvTbApgcVFdo/1/da"><img src="http://feedads.g.doubleclick.net/~a/0f7B6LPFL5HkoGJUvTbApgcVFdo/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=C7TFlxGc7ws:dmTEz0v3Xus:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/C7TFlxGc7ws" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2011/12/28/why-marketers-should-learn-to-program-but-wait-theres-more/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2011/12/28/why-marketers-should-learn-to-program-but-wait-theres-more/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=why-marketers-should-learn-to-program-but-wait-theres-more</feedburner:origLink></item>
		<item>
		<title>Rotating Announcements with a Data View Web Part and jQuery</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/xIVYmaG7uHg/</link>
		<comments>http://sympmarc.com/2011/12/22/rotating-announcements-with-a-data-view-web-part-and-jquery/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 15:45:43 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Announcements]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Data View Web Part]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[SPServices]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14526</guid>
		<description><![CDATA[Oftentimes people go searching for plugins and already-written code to accomplish their goals. I find that it often gets people into more trouble than it&#8217;s worth as they usually don&#8217;t understand what they have deployed and it doesn&#8217;t work well in their specific situation. Of course, here I am posting something that those of you &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2011/12/22/rotating-announcements-with-a-data-view-web-part-and-jquery/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Oftentimes people go searching for plugins and already-written code to accomplish their goals. I find that it often gets people into more trouble than it&#8217;s worth as they usually don&#8217;t understand what they have deployed and it doesn&#8217;t work well in their specific situation. Of course, here I am posting something that those of you reading can use in exactly that way. My advice is to always look at these posts as *examples* of how you might do something. Make sure you understand what you get and how you need it to work on your end.</p>
<p>In this particular case, the search team wanted to show one random item from an Announcements list on the Search Results page and allow the users to cycle through all of the other available (unexpired) items. Each item will explain something new about what&#8217;s going on with search enhancements or give a tip on how to search more effectively.</p>
<p>The natural inclination, like I mention above, might be to go and look for a &#8220;rotating news item&#8221; jQuery plugin. But it was far easier to use a Data View Web Part (DVWP) along with a very small amount of script to make it happen. This is a method that I like to use often: have the DVWP &#8220;paint&#8221; the content onto the screen and then use jQuery to add some behavior to it. That way, you&#8217;re having the server do the heavy lifting, but also enhancing the user experience with the script. I also could have done this entirely with client side script using <a title="SPServices" href="http://spservices.codeplex.com" target="_blank">SPServices</a>, but it doesn&#8217;t make sense to do so if you can keep the appropriate amount of processing on the server.</p>
<p style="text-align: center;"><a href="http://sympmarc.com/wp-content/uploads/2011/12/12-22-2011-9-05-44-AM.png"><img class="size-full wp-image-14527 aligncenter" title="Rotating Announcements" src="http://sympmarc.com/wp-content/uploads/2011/12/12-22-2011-9-05-44-AM.png" alt="Rotating Announcements" width="382" height="143" /></a></p>
<p style="text-align: left;">In my particular case, the Announcments list that I wanted to use as the DataSource was in a different Site Collection. No worries, I just used the Lists Web Service as the DataSource in the DVWP. What you see below is just the DataSource section of my DVWP. Those of you who have used the Lists Web Service before, whether with <a title="SPServices" href="http://spservices.codeplex.com" target="_blank">SPServices</a> or directly, will recognize the SOAP request and all its trappings. When you set up a SOAP DataSource in SharePoint Designer (SPD), this is what SPD creates for you. (I&#8217;ve cleaned up the XML that SPD generates to make it easier to read, including removing the escaping in the parameter values.)</p>
<pre class="brush: xml; title: ; notranslate">
&lt;DataSources&gt;
  &lt;SharePoint:SoapDataSource runat=&quot;server&quot; SelectUrl=&quot;http://[full path]/_vti_bin/lists.asmx&quot; SelectAction=&quot;http://schemas.microsoft.com/sharepoint/soap/GetListItems&quot; SelectPort=&quot;ListsSoap&quot; SelectServiceName=&quot;Lists&quot; AuthType=&quot;None&quot; WsdlPath=&quot;http://[full path]//_vti_bin/lists.asmx?WSDL&quot; XPath=&quot;&quot; ID=&quot;SoapDataSource1&quot;&gt;
    &lt;SelectCommand&gt;
      &lt;soap:Envelope xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;
        &lt;soap:Body&gt;
          &lt;GetListItems xmlns=&quot;http://schemas.microsoft.com/sharepoint/soap/&quot;&gt;
            &lt;listName&gt;Announcements&lt;/listName&gt;
            &lt;query&gt;&lt;Query&gt;&lt;OrderBy&gt;&lt;FieldRef Name=&quot;Created Date&quot; Ascending=&quot;FALSE&quot;&gt;&lt;OrderBy&gt;&lt;GroupBy&gt;&lt;GroupBy&gt;&lt;Where&gt;&lt;Or&gt;&lt;Gt&gt;&lt;FieldRef Name=&quot;Expires&quot;&gt;&lt;Value Type=&quot;DateTime&quot;&gt;&lt;Today&gt;&lt;Value&gt;&lt;Gt&gt;&lt;IsNull&gt;&lt;FieldRef Name=&quot;Expires&quot;&gt;&lt;IsNull&gt;&lt;Or&gt;&lt;Where&gt;&lt;Query&gt;&lt;/query&gt;
            &lt;viewFields&gt;&lt;ViewFields&gt;&lt;FieldRef Name=&quot;Title&quot;&gt;&lt;FieldRef Name=&quot;Abstract&quot;&gt;&lt;ViewFields&gt;&lt;/viewFields&gt;
            &lt;rowLimit&gt;0&lt;/rowLimit&gt;
          &lt;/GetListItems&gt;
        &lt;/soap:Body&gt;
      &lt;/soap:Envelope&gt;
    &lt;/SelectCommand&gt;
    &lt;InsertCommand&gt;
    &lt;/InsertCommand&gt;
    &lt;UpdateCommand&gt;
    &lt;/UpdateCommand&gt;
    &lt;DeleteCommand&gt;
    &lt;/DeleteCommand&gt;
  &lt;/SharePoint:SoapDataSource&gt;
&lt;/DataSources&gt;
</pre>
<p>You&#8217;ll note that I&#8217;ve added my own filtering for the Expires column, since we don&#8217;t get that &#8220;for free&#8221; like we do with a standard Announcements list view. We also have added an Abstract column to the Announcements list, since the Body of each Announcement tends to be pretty long. Showing a few short sentences is enough to give the users the gist of what the post is about. If they want to read more, they can click on the Title, which takes them to the full Annoucement. I&#8217;ve also requested only the columns that I need to try to reduce the number of bits through the wire. In this instance, the volume will never be that large, but it can&#8217;t hurt.</p>
<p>Next comes the XSL in the DVWP. What we wanted on the page was fairly simple, so the XSL is pretty straightforward. That said, it&#8217;s entirely custom: SPD has no idea how to do things like this, so it&#8217;s a coding exercise.</p>
<pre class="brush: xml; title: ; notranslate">
  &lt;xsl:output method=&quot;html&quot; indent=&quot;no&quot;/&gt;
  &lt;xsl:param name=&quot;URL&quot;/&gt;
  &lt;xsl:param name=&quot;SERVER_NAME&quot;/&gt;

  &lt;xsl:template match=&quot;/&quot; xmlns:x=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:d=&quot;http://schemas.microsoft.com/sharepoint/dsp&quot; xmlns:asp=&quot;http://schemas.microsoft.com/ASPNET/20&quot; xmlns:__designer=&quot;http://schemas.microsoft.com/WebParts/v2/DataView/designer&quot; xmlns:SharePoint=&quot;Microsoft.SharePoint.WebControls&quot; xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; xmlns:ddw1=&quot;http://schemas.microsoft.com/sharepoint/soap/&quot; xmlns:rs=&quot;urn:schemas-microsoft-com:rowset&quot; xmlns:z=&quot;#RowsetSchema&quot;&gt;
    &lt;xsl:call-template name=&quot;dvt_1&quot;/&gt;
  &lt;/xsl:template&gt;

  &lt;xsl:template name=&quot;dvt_1&quot;&gt;
    &lt;xsl:variable name=&quot;Rows&quot; select=&quot;/soap:Envelope/soap:Body/ddw1:GetListItemsResponse/ddw1:GetListItemsResult/ddw1:listitems/rs:data/z:row&quot;/&gt;
    &lt;xsl:variable name=&quot;TotalItems&quot; select=&quot;count($Rows)&quot;/&gt;
    &lt;xsl:variable name=&quot;ShowItem&quot; select=&quot;ddwrt:Random(1, $TotalItems)&quot;/&gt;
    &lt;div class=&quot;search-news&quot;&gt;
      &lt;xsl:for-each select=&quot;$Rows&quot;&gt;
        &lt;xsl:call-template name=&quot;dvt_1.rowview&quot;&gt;
          &lt;xsl:with-param name=&quot;TotalItems&quot; select=&quot;TotalItems&quot;/&gt;
          &lt;xsl:with-param name=&quot;ShowItem&quot; select=&quot;$ShowItem&quot;/&gt;
        &lt;/xsl:call-template&gt;
      &lt;/xsl:for-each&gt;
    &lt;/div&gt;
    &lt;div class=&quot;search-news-footer&quot;&gt;
      &lt;span class=&quot;search-news-prev&quot;&gt;&lt;a onclick=&quot;showPrevNewsItem();&quot;&gt;&amp;lt; Previous&lt;/a&gt;&lt;/span&gt;
      &lt;span class=&quot;search-news-counts&quot;&gt;&lt;span id=&quot;search-news-active-item&quot;&gt;&lt;xsl:value-of select=&quot;$ShowItem&quot;/&gt;&lt;/span&gt; of &lt;xsl:value-of select=&quot;$TotalItems&quot;/&gt;&lt;/span&gt;
      &lt;span class=&quot;search-news-next&quot;&gt;&lt;a onclick=&quot;showNextNewsItem();&quot;&gt;Next &amp;gt;&lt;/a&gt;&lt;/span&gt;
    &lt;/div&gt;
  &lt;/xsl:template&gt;

  &lt;xsl:template name=&quot;dvt_1.rowview&quot;&gt;
    &lt;xsl:param name=&quot;ShowItem&quot;/&gt;
    &lt;div class=&quot;search-news-item&quot;&gt;
      &lt;xsl:attribute name=&quot;style&quot;&gt;
        &lt;xsl:if test=&quot;position() != $ShowItem&quot;&gt;display:none;&lt;/xsl:if&gt;
      &lt;/xsl:attribute&gt;
      &lt;div class=&quot;search-news-title&quot;&gt;
        &lt;a target=&quot;_blank&quot; href=&quot;http://[full path]/Lists/Announcements/DispForm.aspx?ID={@ows_ID}&amp;amp;Source={concat('http://', $SERVER_NAME, $URL)}&quot;&gt;
          &lt;h3&gt;&lt;xsl:value-of select=&quot;@ows_Title&quot;/&gt;&lt;/h3&gt;
        &lt;/a&gt;
        &lt;xsl:value-of select=&quot;ddwrt:FormatDate(string(@ows_Created), 1033, 1)&quot;/&gt;
      &lt;/div&gt;
      &lt;div class=&quot;search-news-abstract&quot;&gt;
        &lt;xsl:value-of select=&quot;@ows_Abstract&quot; disable-output-escaping=&quot;yes&quot;/&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/xsl:template&gt;
</pre>
<p>Notice that I&#8217;m emitting nice DIVs rather than SharePoint&#8217;s dreaded tables. Say what you will about which is better, but when you use a DVWP, the markup is entirely up to you.</p>
<p>There are several interesting bits in this XSL. First, becasue we wanted to display a random item on every page load, I needed a way to come up with which item to display. In lines 16 and 17, I calculate how many items are available and generate a random number between 1 and that number of items. The value of the ShowItem variable drives which item is visible on page load. In fact, all of the items are loaded in the page, but only that one item is visible. This sets things up for the capability to cycle through all of the current news items.</p>
<p>Lines 22-24 build the &#8220;footer&#8221; of the DVWP. In the footer, there are Previous and Next links, as well as a counter which displays which items the user is currently viewing and the total number of items. Since the number of items will be variable, and we hope that users will take the time to cycle through them, we wanted to give them a feel for how many items are available to them. If you look at the Previous link, you&#8217;ll see that onclick I&#8217;ve added a call to showPrevNewsItem();. Next has a call to showNextNewsItem();. Here&#8217;s what that script looks like:</p>
<pre class="brush: jscript; title: ; notranslate">
function showPrevNewsItem() {
  var newsItems = $(&quot;div.search-news-item&quot;);
  var newsItem = $(&quot;div.search-news-item:visible&quot;);
  newsItem.each(function() {
    $(this).hide();
    if($(this).index() &gt; 0) {
      $(this).prev().show();
    } else {
      newsItems.last().show();
    }
  });
  var activeItem = $(&quot;div.search-news-item:visible&quot;).index() + 1;
  $(&quot;#search-news-active-item&quot;).html(activeItem);
}

function showNextNewsItem() {
  var newsItems = $(&quot;div.search-news-item&quot;);
  var newsItem = $(&quot;div.search-news-item:visible&quot;);
  newsItem.each(function() {
    $(this).hide();
    if($(this).index() &lt; (newsItems.length - 1)) {
      $(this).next().show();
    } else {
      newsItems.first().show();
    }
  });
  var activeItem = $(&quot;div.search-news-item:visible&quot;).index() + 1;
  $(&quot;#search-news-active-item&quot;).html(activeItem);
}
</pre>
<p>In each function (yes, I could probably combine them into one function that takes a parameter for which way to move, but I find it easier to think through this way), I find the currently visible news item, hide it, and then show the previous or next one. If we&#8217;ve reached the &#8220;top&#8221; or the &#8220;bottom&#8221; of the items, I wrap around to the end or the beginning. This allows the user to cycle through the items in a continuous loop if they choose to. The last thing I do in each function is figure out which item we&#8217;re displaying and update the active item number in the footer of the DVWP.</p>
<p>The last piece is the CSS to make it all look pretty.</p>
<pre class="brush: css; title: ; notranslate">
/* Search News */
div.search-help {
  padding:5px;
  height:20px;
  background-color:#FFFFD9;
  text-align:center;
  vertical-align:middle;
}
div.search-help a, div.search-help a:visited {
  font-family:&quot;News Gothic MT&quot;, verdana, sanserif;
  font-size:12px;
  color:#E04805;
}
div.search-news-container {
  margin-top:10px;
  margin-bottom:10px;
  border:2px #f5f3f0 solid;
  border-radius:15px 15px 10px 10px;
  -moz-border-radius:15px 15px 10px 10px;
}
div.search-news-container .ms-WPHeaderTd {
  background-color:#f5f3f0;
  border-radius:10px 10px 0 0;
  -moz-border-radius:10px 10px 0 0;
  border:0;
  padding-left:15px;
}
div.search-news-container .ms-wpTdSpace, div.search-news-container .ms-WPHeaderTdSelection {
  display:none;
}
div.search-news {
  min-height:75px;
}
.search-news-prev, .search-news-next {
  cursor:pointer;
}
.search-news-prev a:hover, .search-news-next a:hover {
  color:#E04805;
}
.search-news-prev {
  float:left;
}
.search-news-next {
  float:right;
}
.search-news-footer {
  margin-top:20px;
  text-align:center;
}
/* Search News */
</pre>
<p>As you can see in the screenshot of the end result above, I&#8217;m using some nice rounded corners for the header and the border around the whole thing. This is a CSS3 capability, and since we have a mixed browser environment, I have to cover all of the bases, including older versions of Mozilla (Firefox) and Chrome. The majority of the users have IE8, so they don&#8217;t get the rounded corner goodness yet (as you can see below), but they will all soon be getting IE9, at which point they will have prettiness, too.</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2011/12/12-22-2011-10-27-18-AM.png"><img class="aligncenter size-full wp-image-14536" title="Rotating Announcements in IE8" src="http://sympmarc.com/wp-content/uploads/2011/12/12-22-2011-10-27-18-AM.png" alt="Rotating Announcements in IE8" width="380" height="144" /></a></p>
<p>And there you go. A nice, simple little rotating announcements view. Users love this sort of thing, and it helps to get the news out there in a new and interesting way (at least for SharePoint).</p>

<p><a href="http://feedads.g.doubleclick.net/~a/BuOaRlCiOHdkXsUM3zvcGyWkw8M/0/da"><img src="http://feedads.g.doubleclick.net/~a/BuOaRlCiOHdkXsUM3zvcGyWkw8M/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/BuOaRlCiOHdkXsUM3zvcGyWkw8M/1/da"><img src="http://feedads.g.doubleclick.net/~a/BuOaRlCiOHdkXsUM3zvcGyWkw8M/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=xIVYmaG7uHg:eSJbaVUVFco:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/xIVYmaG7uHg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2011/12/22/rotating-announcements-with-a-data-view-web-part-and-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2011/12/22/rotating-announcements-with-a-data-view-web-part-and-jquery/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rotating-announcements-with-a-data-view-web-part-and-jquery</feedburner:origLink></item>
		<item>
		<title>jQuery Library for SharePoint Web Services (SPServices) v0.7.0 Beta 1 Available</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/ubuPZZ-RH_4/</link>
		<comments>http://sympmarc.com/2011/11/23/jquery-library-for-sharepoint-web-services-spservices-v0-7-0-beta-1-available/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 04:07:56 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery library for SharePoint Web Services]]></category>
		<category><![CDATA[SPServices]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14506</guid>
		<description><![CDATA[Tonight I posted the first (we always hope the only) beta for SPServices v0.7.0. Initially I was calling this release v0.6.3, but when jQuery 1.7 was released and it caused problems with SPServices, I decided to bump the version so that the sevens matched. Get it? 1.7 and v0.7.0? Such are the complex decisions we &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2011/11/23/jquery-library-for-sharepoint-web-services-spservices-v0-7-0-beta-1-available/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Tonight I posted the first (we always hope the only) beta for <a title="SPServices 0.7.0BETA1" href="http://spservices.codeplex.com/releases/view/68781" target="_blank">SPServices v0.7.0</a>. Initially I was calling this release v0.6.3, but when <a title="jQuery 1.7" href="http://blog.jquery.com/2011/11/03/jquery-1-7-released/" target="_blank">jQuery 1.7</a> was released and it caused problems with SPServices, I decided to bump the version so that the sevens matched. Get it? 1.7 and v0.7.0? Such are the complex decisions we make about software version numbering. (Those of you who wonder why I still am using sub- version 1.0 numbering &#8211; it&#8217;s just because I feel like it. No real reason.)</p>
<p><a href="http://spservices.codeplex.com/"><img style="display: inline; float: left; margin: 0 10px 0 0;" title="logo.jpg" src="http://sympmarc.com/wp-content/uploads/2010/03/logo3.jpg" alt="" width="312" height="85" align="left" /></a>One of the biggest things in this new beta is compatibility with jQuery 1.7. In a <a title="Problem with jQuery 1.7+ and SPServices" href="http://sympmarc.com/2011/11/08/problem-with-jquery-1-7-and-spservices/" target="_blank">previous post</a>, I talked about the fact that the <code>.find("[nodeName='z:row']")</code> syntax no longer worked with jQuery 1.7. This was a real annoyance, but due to some great work by Steve Workman, I think there&#8217;s an <a href="http://www.steveworkman.com/html5-2/javascript/2011/improving-javascript-xml-node-finding-performance-by-2000/" target="_blank">even better selection method</a> in v0.7.0. Unfortunately, if you&#8217;d like to move to jQuery 1.7 in your environment, you&#8217;ll have to change the syntax in all of your code as well. What the jQuery team decides to change is out of my hands, of course, so occasionally this sort of thing will happen.</p>
<p>There&#8217;s an new function in SPServices called SPFilterNode, which is really quite simple, but it solves the problem, based on Steve&#8217;s work.</p>
<pre class="brush: jscript; title: ; notranslate">
// This method for finding specific nodes in the returned XML was developed by Steve Workman. See his blog post
// http://www.steveworkman.com/html5-2/javascript/2011/improving-javascript-xml-node-finding-performance-by-2000/
// for performance details.
$.fn.SPFilterNode = function(name) {
  return this.find('*').filter(function() {
    return this.nodeName === name;
  });
};
</pre>
<p>Here is an example of the syntax for calling this new function:</p>
<pre class="brush: jscript; title: ; notranslate">
$(xData.responseXML).SPFilterNode(&quot;z:row&quot;).each(function() {
</pre>
<p>There are several benefits to having this function. First, it works in jQuery 1.7 as well as an earlier versions, going back at least to version 1.4.2, which is as far back as I tested. Second, as you can see if you read through <a href="http://www.steveworkman.com/html5-2/javascript/2011/improving-javascript-xml-node-finding-performance-by-2000/" target="_blank">Steve&#8217;s benchmarking results</a>, it&#8217;s very efficient, even more efficient than the <code>.find("[nodeName='z:row']")</code> syntax. Third, if there is a change like this in a future version of jQuery, I can simply replace the function&#8217;s workings and all will continue to function well. Note that you only need to use SPFilterNode, and the <code>.find("[nodeName='z:row']")</code> syntax for that matter, when SharePoint&#8217;s Web Services return namespaced elements in the XML *and* you want to ensure cross-browser compatibility. If the nodes have names like &#8220;item&#8221; or &#8220;region&#8221;, or any other simple name which isn&#8217;t preceded with something and a colon, then .find(&#8220;item&#8221;) or .find(&#8220;region&#8221;) works fine. Of course, SPFilterNode will also work, but it&#8217;s not necessary.</p>
<p>If you are using SPServices and can do some regression testing, I&#8217;d certainly appreciate it, as will the other almost 8000 people who have downloaded <a title="SPServices v0.6.2" href="http://spservices.codeplex.com/releases/view/64390" target="_blank">SPServices v0.6.2</a> and may want to upgrade. Just be sure that you use the new SPFilterNode function if you are retrieving data from GetListItems with jQuery 1.7 or else it will seem as though you aren&#8217;t get anything back from the call.</p>
<p>I&#8217;ll publish the rest of the release notes when I release a stable version of v0.7.0, but if you&#8217;d like to see what&#8217;s in this version, check out the <a title="SPServices 0.7.0BETA1" href="http://spservices.codeplex.com/releases/view/68781" target="_blank">download page</a>. As usual, it&#8217;s a mix of bug fixes, performance enhancements, and new features,.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/8x0O6ZueCcnRE8ZEnPc6FjdaaOk/0/da"><img src="http://feedads.g.doubleclick.net/~a/8x0O6ZueCcnRE8ZEnPc6FjdaaOk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/8x0O6ZueCcnRE8ZEnPc6FjdaaOk/1/da"><img src="http://feedads.g.doubleclick.net/~a/8x0O6ZueCcnRE8ZEnPc6FjdaaOk/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=ubuPZZ-RH_4:fNuzew6Ap5g:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/ubuPZZ-RH_4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2011/11/23/jquery-library-for-sharepoint-web-services-spservices-v0-7-0-beta-1-available/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2011/11/23/jquery-library-for-sharepoint-web-services-spservices-v0-7-0-beta-1-available/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=jquery-library-for-sharepoint-web-services-spservices-v0-7-0-beta-1-available</feedburner:origLink></item>
		<item>
		<title>Base Your SharePoint Database Architecture on Business Requirements First, Database Concerns Second</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/i8SKmLOFHm0/</link>
		<comments>http://sympmarc.com/2011/11/21/base-your-sharepoint-database-architecture-on-business-requirements-first-database-concerns-second/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 12:11:03 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[database design]]></category>
		<category><![CDATA[single version of the truth]]></category>
		<category><![CDATA[Site Collection]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14495</guid>
		<description><![CDATA[Sometimes when I&#8217;m speaking at SharePoint events, I&#8217;ll mention something about the fact that &#8220;the geeks&#8221; make decisions about Site Collections and database boundaries that are a detriment to the users. I got a question about this the other day: &#8230;you mentioned something that I wanted to follow up on: basically it was a warning &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2011/11/21/base-your-sharepoint-database-architecture-on-business-requirements-first-database-concerns-second/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Sometimes when I&#8217;m speaking at SharePoint events, I&#8217;ll mention something about the fact that &#8220;the geeks&#8221; make decisions about Site Collections and database boundaries that are a detriment to the users. I got a question about this the other day:</p>
<blockquote><p>&#8230;you mentioned something that I wanted to follow up on: basically it was a warning to avoid setting up the information architecture (site collections and thus ability to shuffle between databases) based on “the geeks”.  I would love to find out what the issues you’ve seen or experienced that were caused by breaking up data across site collections.  I image it might be the cross site query web parts and such.</p></blockquote>
<p>The main thing I am referring to is the promise of being able to promote content from private or local contexts into wider contexts, therefore maintaining the <a href="http://en.wikipedia.org/wiki/Single_version_of_the_truth" target="_blank">single version of the truth</a>that Microsoft sometimes talks about. This single version of the truth ought to apply not just to content when considered from a database perspective, but also from a Content Management perspective. A particular version of a document ought to exist in exactly one place. Of course, that&#8217;s far more easily said than done, but it&#8217;s a Content Management goal.</p>
<p>Note that when I talk about “the geeks”, I mean those of us (yes, I sometimes belong in this group, too) who view the technology for technology&#8217;s sake over what its function for the users should be. If you’re an admin who never talks to end users about what they need, then you probably are in this group, though you might not be because you are able to extrapolate their needs well.</p>
<p>Take the example where an Intranet has a root Site Collection and then a Site Collection per Department. (A simplified example, sure, but not that uncommon.) If there is a document in the HR site that we want to promote to the root site, there are no good mechanisms to do it. Site Collection boundaries are primarily security boundaries from the end user standpoint, so we can run into permission issues. We also don’t have a good way to keep a pointer on the root site to the actual document in synch. That means there can’t easily be one version of the truth.</p>
<p>CQWPs and DVWPs in CrossList mode are also out of the question for doing things like rolling up Announcements, for example, which is an extremely common use case. Again, Site Collections are permission boundaries, so those Web Parts don’t work across them. We have to resort to all sorts of tomfoolery using the Web Services or third party tools.</p>
<p>Of course, to the geeks, it makes total sense to make the Departments individual Site Collections. They want to be able to manage the content that way so that they can go to one Department if that Department’s content is getting out of hand to make them clean it up. But it often doesn’t work from a user perspective.</p>
<p>A more complex example would be a smaller organization (as a larger one is unlikely to find the idea palatable) which wants to use SharePoint for its Intranet, Extranet, and Internet sites. Ideally one could create work output in a Team Site in the Intranet somewhere and upon completion, promote it to expose it more widely on the Intranet. That itself if often a problem. But what if we then want to expose that piece of content in multiple Extranet sites? Or we want to expose it as part of the content corpus on the Intranet? Now, one can easily respond with all sorts of enterprise-class concerns about security, but that’s up to the customer. These scenarios come up with my clients all the time, and if they want to make them happen, it’s their choice.  The geeks will usually set things up to preclude any of this because of the content database concerns they have.</p>
<p>The business sometimes simply can’t do what it wants to do because of decisions based on database concerns, and SharePoint is blamed for a shortcoming which it doesn’t actually have. That&#8217;s not a good thing for any of us.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/hhnuMf2A-tx-Ufp50Dcre-kyI1I/0/da"><img src="http://feedads.g.doubleclick.net/~a/hhnuMf2A-tx-Ufp50Dcre-kyI1I/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/hhnuMf2A-tx-Ufp50Dcre-kyI1I/1/da"><img src="http://feedads.g.doubleclick.net/~a/hhnuMf2A-tx-Ufp50Dcre-kyI1I/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=i8SKmLOFHm0:3xFe7SJ5CJI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/i8SKmLOFHm0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2011/11/21/base-your-sharepoint-database-architecture-on-business-requirements-first-database-concerns-second/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2011/11/21/base-your-sharepoint-database-architecture-on-business-requirements-first-database-concerns-second/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=base-your-sharepoint-database-architecture-on-business-requirements-first-database-concerns-second</feedburner:origLink></item>
		<item>
		<title>SPSUK and SEF11 Wrap Up</title>
		<link>http://feedproxy.google.com/~r/MarcDAndersonsBlog/~3/RbIMlA66vyY/</link>
		<comments>http://sympmarc.com/2011/11/18/spsuk-and-sef11-wrap-up/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 18:27:22 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[England]]></category>
		<category><![CDATA[Humandata]]></category>
		<category><![CDATA[SEF 2011]]></category>
		<category><![CDATA[SharePoint Saturday]]></category>
		<category><![CDATA[SharePoint Saturday UK]]></category>
		<category><![CDATA[Sweden]]></category>

		<guid isPermaLink="false">http://sympmarc.com/?p=14486</guid>
		<description><![CDATA[It was a great pleasure to be able to make a small swoop through Europe this last week to present at SharePoint Saturday UK (SPSUK) in Nottingham, England and at the SharePoint and Exchange Forum 2011 (SEF11) in Stockholm, Sweden. Both events were well-attended, with something like 250-350 eager learners at each. it&#8217;s always interesting &#8230; </p><p><a class="more-link block-button" href="http://sympmarc.com/2011/11/18/spsuk-and-sef11-wrap-up/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.seforum.se/"><img style="margin: 0px 0px 0px 10px; display: inline; float: right;" src="http://www.seforum.se/Style%20Library/SEF/Images/sef2011_small.jpg" alt="" align="right" border="0" /></a>It was a great pleasure to be able to make a small swoop through Europe this last week to present at <a href="http://sharepointsaturday.org/uk" target="_blank">SharePoint Saturday UK</a> (SPSUK) in Nottingham, England and at the <a href="http://seforum.se/" target="_blank">SharePoint and Exchange Forum 2011 (SEF11)</a> in Stockholm, Sweden. Both events were well-attended, with something like 250-350 eager learners at each.</p>
<p><a href="http://sharepointsaturday.org/uk" target="_blank"><img src="http://www.sharepointsaturday.org/uk/SiteImages/SharePointSaturdayBanner.jpg" alt="SharePoint Saturday UK 12th November 2011" /></a></p>
<p>it&#8217;s always interesting to see what the differences are across the crowds at different events where I speak. There are stereotypical things one might expect, of course, but very often they turn out to more true than not. The UK crowd was vocal, but probably more polite in their questions than an American audience might be. &#8220;Excuse me, but might you please explain why you&#8217;ve decided that&#8230;&#8221;, as opposed to &#8220;What on earth made you think&#8230;&#8221; I was told that the Swedes would be extremely polite and ask no questions until after the session. I was glad to find that wasn&#8217;t fully true. There were fewer &#8220;inline&#8221; questions, but they were good ones. And perhaps a few more after the sessions than during because of it.</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2011/11/IMG_22121-e1321641103740.jpg"><img class="size-medium wp-image-14489 alignright" title="IMG_2212[1]" src="http://sympmarc.com/wp-content/uploads/2011/11/IMG_22121-e1321641103740-300x145.jpg" alt="" width="300" height="145" /></a>The organizers of both events did a marvelous job. For SPSUK, it was Tony Pounder, Mark, McCrea, and Brett Lonsdale. It being a SharePoint Saturday, there was also a large team of red-shirted volunteers. I didn&#8217;t get a chance to meet them all, of course, but without a great team, an event like that can&#8217;t go off without a hitch, like it did. From the Speaker Dinner at the Hall of Justice (where they purportedly held &#8220;Robin Hood&#8221;, though there wasn&#8217;t just one) to the SharePint at the Cross Keys Pub, everything was grand. That&#8217;s Robin Hood on the right, introducing the keynote speaker, Todd Flint.</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2011/11/IMG_2224.jpg"><img style="background-image: none; margin: 0px 0px 0px 10px; padding-left: 0px; padding-right: 0px; display: inline; float: right; padding-top: 0px; border: 0px;" title="IMG_2224" src="http://sympmarc.com/wp-content/uploads/2011/11/IMG_2224_thumb.jpg" alt="IMG_2224" width="240" height="179" align="right" border="0" /></a>In Stockholm, the inimitable Göran Husman was the ringmaster, but I got the impression that his daughter Beatrice was the real powerhouse behind it all. Ever humble, Beatrice chose to leave the event before it finished lest we try to call attention to her and her efforts. Beatrice, we all thank you! I also would like to give special thanks to my compatriot Christian Stahl, who invited me to the event. Christian and I have &#8220;known&#8221; each other for quite some time over the InterWebs, but it was great to be able to spend some significant quality time with him discussing Data View Web Parts (DVWPs), CSS, jQuery, SPServices, and all manner of development opportunities they provide when added together. I look forward to corresponding with Christian even more in the future now that we&#8217;ve met in person. Everyone at <a href="http://www.humandata.se" target="_blank">Humandata</a>, which put on the conference, was wonderful to meet and work with.</p>
<p>The sessions I did at the two events overlapped, so I can offer the material here together. At SPSUK, it was &#8220;Developing in SharePoint&#8217;s Middle Tier&#8221; (<a href="http://sympmarc.com/wp-content/uploads/2011/11/SPSUK-Developing-in-SharePonts-Middle-Tier.pptx" target="_blank">slides</a>), which I repeated at SEF11 (<a href="http://sympmarc.com/wp-content/uploads/2011/11/Anderson-Developing-in-SharePoints-Middle-Tier.pptx" target="_blank">slides</a>). I also was happy to do a session entitled &#8220;SharePoint Solutions with SPServices&#8221; at SEF11. In both locations, I used a SharePoint 2010 site which has quite a few demos in it. I&#8217;m happy to make the entire site available to you <a href="http://sympmarc.com/wp-content/uploads/2011/11/Middle-Tier-2011-11.zip" target="_blank">here</a>. It includes all of the demo stuff I showed in the &#8220;Developing in SharePoint&#8217;s Middle Tier&#8221; session, plus a few other goodies if you poke around a little. Remember that everything there is demo code, so think carefully before using it in your own environment. It may well need some significant changes to be valuable for you. Hopefully as a learning tool, the value is already there.</p>
<p>For the &#8220;SharePoint Solutions with SPServices&#8221; session, I didn&#8217;t have any specific demo materials other than the <a href="http://spservices.codeplex.com/" target="_blank">SPServices site</a> and my own WSS-based development site where I do all the magic to make SPServices work for you. Packaging that up would just be an embarrassment, as it includes every messy, blind alley thing I&#8217;ve done over the last two-plus years in building SPServices. If there&#8217;s anything specific you&#8217;d like to get your hands on that you saw in the session, just ping me through the Contact tab above and we&#8217;ll get it sorted out for you. I do have a demo site in the same environment that you can reach via the Web <a href="http://www.sympraxisconsulting.com/demos" target="_blank">here</a> that has some of the pages I showed.</p>
<p>Thanks again to all for a wonderful European week I leave you with a photo of my friend Christian leading the Humandata band in a rousing rendition of a Nirvana song whose name I forget, but they played it well.</p>
<p><a href="http://sympmarc.com/wp-content/uploads/2011/11/IMG_2267.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="IMG_2267" src="http://sympmarc.com/wp-content/uploads/2011/11/IMG_2267_thumb.jpg" alt="IMG_2267" width="640" height="478" border="0" /></a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/gM3ibdE6rLmh2OS34O61WgGOH6I/0/da"><img src="http://feedads.g.doubleclick.net/~a/gM3ibdE6rLmh2OS34O61WgGOH6I/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/gM3ibdE6rLmh2OS34O61WgGOH6I/1/da"><img src="http://feedads.g.doubleclick.net/~a/gM3ibdE6rLmh2OS34O61WgGOH6I/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?a=RbIMlA66vyY:C2olMkDjjMs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/MarcDAndersonsBlog?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/MarcDAndersonsBlog/~4/RbIMlA66vyY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sympmarc.com/2011/11/18/spsuk-and-sef11-wrap-up/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://sympmarc.com/2011/11/18/spsuk-and-sef11-wrap-up/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=spsuk-and-sef11-wrap-up</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 2.950 seconds. --><!-- Cached page generated by WP-Super-Cache on 2012-06-02 18:13:18 -->

