<?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.justaddcode.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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Just Add Code</title>
	
	<link>http://www.justaddcode.com/blog</link>
	<description />
	<lastBuildDate>Sat, 20 Mar 2010 15:15:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.justaddcode.com/JustAddCode" /><feedburner:info uri="justaddcode" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>New Years Resolutions</title>
		<link>http://feeds.justaddcode.com/~r/JustAddCode/~3/SksJy39OKqM/</link>
		<comments>http://www.justaddcode.com/blog/2010/01/21/new-years-resolutions/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 07:44:52 +0000</pubDate>
		<dc:creator>neil</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.justaddcode.com/blog/?p=127</guid>
		<description><![CDATA[During the 5 years this illustrious blog has been in existence I’ve averaged an amazing 5 posts per year. During that same period, I’ve changed blog engines 4 times, averaging slightly over 6 posts per blogging engine.  I’ve also got more plugins running than you can imagine.  What does this tell me?  [...]]]></description>
			<content:encoded><![CDATA[<p>During the 5 years this illustrious blog has been in existence I’ve averaged an amazing 5 posts per year. During that same period, I’ve changed blog engines 4 times, averaging slightly over 6 posts per blogging engine.  I’ve also got more plugins running than you can imagine.  What does this tell me?  I like maintaining my blog more than I like to post on it.  </p>
<p>I’ve tried to determine the reasons, and have come up with the following:</p>
<p><strong>I like tech, just not writing about it </strong>– It’s not that I’m not paying attention to what’s going on, I’m doing more of that than ever, I’m just not producing any content.  Part of that is I haven’t really found my online writing voice.  I have a bunch of half-finished posts that just need a ‘few more words’.  Just getting in the habit of getting something out there more frequently should help.</p>
<p><strong>Work topics </strong>– Most things have been related to the technologies that I’m using at work.  If I solve a big problem or come up with something cool at work, I usually don’t want to go home and write about it.</p>
<p><strong>Code Complete</strong> – The internet is a scary place for code…if you post it someone might actually use it!  I’ve got a group of posts where I have some code done for them, but it isn’t very pretty.  I think I’ll just put a scary warning on all my posts that the code probably didn’t ever work and if it did it’ll delete everything on your machine.</p>
<p>My 2010 resolution?  How about posting on this thing a bit more.  I’ll go crazy and say I’d like to DOUBLE my posting this year.  Aim high, right?  To help meet my goal I’ve come up with a series idea, I’m going to implement something this year and talk about it on my blog.  What will it be?  Well, if I string it out into another post I’ll already be 20% complete with meeting my resolution.</p>
<p>Who knows, maybe I’ll even get to use some of those fancy plugins this year.</p>
<img src="http://feeds.feedburner.com/~r/JustAddCode/~4/SksJy39OKqM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.justaddcode.com/blog/2010/01/21/new-years-resolutions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.justaddcode.com/blog/2010/01/21/new-years-resolutions/</feedburner:origLink></item>
		<item>
		<title>MODIG Client Object Model Presentation</title>
		<link>http://feeds.justaddcode.com/~r/JustAddCode/~3/RD109R6UAU8/</link>
		<comments>http://www.justaddcode.com/blog/2009/12/10/modig-client-object-model-presentation/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 04:04:19 +0000</pubDate>
		<dc:creator>neil</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://www.justaddcode.com/blog/?p=107</guid>
		<description><![CDATA[Tonight I gave a presentation at MODIG about the Client Object Model.  In the presentation I had three demos: one WinForm, one Javascript and one Silverlight.  The WinForm app does full CRUD against my Tasks list.  The javascript control has a dropdown list of the lists on the site, a list of [...]]]></description>
			<content:encoded><![CDATA[<p>Tonight I gave a presentation at MODIG about the Client Object Model.  In the presentation I had three demos: one WinForm, one Javascript and one Silverlight.  The WinForm app does full CRUD against my Tasks list.  The javascript control has a dropdown list of the lists on the site, a list of the available fields you can use and then a box to put your CAML and then the results of your query are displayed.  The Silverlight control is a quick demo of doing some graphing on my Tasks list using the Visifire graphing library.  Just a note if you are going to run these, the .NET and SL parts are expecting a column called &#8216;Department&#8217; in the Tasks list.</p>

<a href='http://www.justaddcode.com/blog/2009/12/10/modig-client-object-model-presentation/comwinform/' title='COMWinForm'><img width="150" height="130" src="http://www.justaddcode.com/blog/wp-content/uploads/2009/12/COMWinForm.png" class="attachment-thumbnail" alt="COMWinForm" title="COMWinForm" /></a>
<a href='http://www.justaddcode.com/blog/2009/12/10/modig-client-object-model-presentation/camlquery/' title='CAMLQuery'><img width="150" height="52" src="http://www.justaddcode.com/blog/wp-content/uploads/2009/12/CAMLQuery.png" class="attachment-thumbnail" alt="CAMLQuery" title="CAMLQuery" /></a>
<a href='http://www.justaddcode.com/blog/2009/12/10/modig-client-object-model-presentation/slvisifire/' title='SLVisifire'><img width="150" height="82" src="http://www.justaddcode.com/blog/wp-content/uploads/2009/12/SLVisifire.png" class="attachment-thumbnail" alt="SLVisifire" title="SLVisifire" /></a>

<p><a href='http://www.justaddcode.com/blog/wp-content/uploads/2009/12/MODIG-2009-12.pptx'><img src="/files/icons/powerpoint.png">Presentation</a><br />
<a href='http://www.justaddcode.com/blog/wp-content/uploads/2009/12/MODIG200912.zip'><img src="/files/icons/code.png">Code</a></p>
<img src="http://feeds.feedburner.com/~r/JustAddCode/~4/RD109R6UAU8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.justaddcode.com/blog/2009/12/10/modig-client-object-model-presentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.justaddcode.com/blog/2009/12/10/modig-client-object-model-presentation/</feedburner:origLink></item>
		<item>
		<title>On the Spaghetti Code Podcast</title>
		<link>http://feeds.justaddcode.com/~r/JustAddCode/~3/npoGm80nhCE/</link>
		<comments>http://www.justaddcode.com/blog/2008/12/27/on-the-spaghetti-code-podcast/#comments</comments>
		<pubDate>Sun, 28 Dec 2008 05:34:45 +0000</pubDate>
		<dc:creator>neil</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://www.justaddcode.com/blog/?p=64</guid>
		<description><![CDATA[Looking for something to do for that last day of vacation before you head back to work?  Hit download and kick back with your favorite mp3 player and enjoy a new podcast!  Jeff was kind enough to invite me back onto his Spaghetti Code Podcast to talk about one of my favorite things, [...]]]></description>
			<content:encoded><![CDATA[<p>Looking for something to do for that last day of vacation before you head back to work?  Hit download and kick back with your favorite mp3 player and enjoy a new podcast!  Jeff was kind enough to invite me back onto his <a href="http://www.slickthought.net/post/2008/12/New-Spaghetti-Code-Podcast-Neil-Iversen-Discusses-Microsoft-PowerShell.aspx">Spaghetti Code Podcast</a> to talk about one of my favorite things, PowerShell!</p>
<p>Since it was posted, the <a href="http://blogs.msdn.com/powershell/archive/2008/12/23/early-christmas-present-from-powershell-team-community-technology-preview-3-ctp3-of-windows-powershell-v2.aspx">PowerShell team has dropped CTP 3 of PowerShell</a>.  Be sure to check it out too.</p>
<img src="http://feeds.feedburner.com/~r/JustAddCode/~4/npoGm80nhCE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.justaddcode.com/blog/2008/12/27/on-the-spaghetti-code-podcast/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.justaddcode.com/blog/2008/12/27/on-the-spaghetti-code-podcast/</feedburner:origLink></item>
		<item>
		<title>DevConnections 2008: The Feature/Solution Duo</title>
		<link>http://feeds.justaddcode.com/~r/JustAddCode/~3/aPRb1xKk7pE/</link>
		<comments>http://www.justaddcode.com/blog/2008/11/18/devconnections-2008-the-featuresolution-twosome/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 05:29:28 +0000</pubDate>
		<dc:creator>neil</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[devconnections]]></category>
		<category><![CDATA[Features]]></category>

		<guid isPermaLink="false">http://www.justaddcode.com/blog/?p=55</guid>
		<description><![CDATA[I had two presentations about deployment with Features and Solutions at DevConnections.  One was more around the &#8216;why&#8217; and the other about the &#8216;how&#8217;  I&#8217;ve uploaded both of the slide decks and associated code that was demoed.  Most of the code is pretty rough for this, it works in my demo but [...]]]></description>
			<content:encoded><![CDATA[<p>I had two presentations about deployment with Features and Solutions at DevConnections.  One was more around the &#8216;why&#8217; and the other about the &#8216;how&#8217;  I&#8217;ve uploaded both of the slide decks and associated code that was demoed.  Most of the code is pretty rough for this, it works in my demo but you probably don&#8217;t want to deploy it to your production server.  That said, the code will give you a good idea of some potential approaches you can use in your own environment.  Feel free to copy/paste whatever you need into your own projects.  I&#8217;ll be going into some more detail on several of the approaches and samples later, at which point I&#8217;ll be releasing a version that is a bit more cleaned up.</p>
<p><a href='http://www.justaddcode.com/blog/wp-content/uploads/2008/11/hcs202-effectively-using-features-and-solutions.pptx'><img src="http://www.justaddcode.com/files/icons/powerpoint.png">Effectively Using Features and Solutions</a></p>
<p><a href='http://www.justaddcode.com/blog/wp-content/uploads/2008/11/justaddcodeeffectivefeatures.zip'><img src="http://www.justaddcode.com/files/icons/code.png">EffectiveFeatures.zip</a></p>
<p><a href='http://www.justaddcode.com/blog/wp-content/uploads/2008/11/hcs403-packaging-your-advanced-sharepoint-customizations.ppt'><img src="http://www.justaddcode.com/files/icons/powerpoint.png">Packaging Your Advanced SharePoint Customizations</a></p>
<p><a href='http://www.justaddcode.com/blog/wp-content/uploads/2008/11/justaddcodepackageanything.zip'><img src="http://www.justaddcode.com/files/icons/code.png">PackageAnything.zip</a></p>
<img src="http://feeds.feedburner.com/~r/JustAddCode/~4/aPRb1xKk7pE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.justaddcode.com/blog/2008/11/18/devconnections-2008-the-featuresolution-twosome/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.justaddcode.com/blog/2008/11/18/devconnections-2008-the-featuresolution-twosome/</feedburner:origLink></item>
		<item>
		<title>DevConnections 2008: Automating Common Tasks with PowerShell</title>
		<link>http://feeds.justaddcode.com/~r/JustAddCode/~3/9z6UKzfqqK8/</link>
		<comments>http://www.justaddcode.com/blog/2008/11/12/devconnections-2008-automating-common-tasks-with-powershell/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 23:31:54 +0000</pubDate>
		<dc:creator>neil</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://www.justaddcode.com/blog/?p=49</guid>
		<description><![CDATA[One session down, two to go!  There was a good turnout at today&#8217;s session, about half the people had worked with SharePoint, and the other half were new.  The audience members had some great questions about using PowerShell and SharePoint.
Below I have a text file with all the commands I entered during the [...]]]></description>
			<content:encoded><![CDATA[<p>One session down, two to go!  There was a good turnout at today&#8217;s session, about half the people had worked with SharePoint, and the other half were new.  The audience members had some great questions about using PowerShell and SharePoint.</p>
<p>Below I have a text file with all the commands I entered during the session (thanks &#8216;get-history&#8217;), the script library file that I used for the demo and the slide deck.  If you are looking for the IDisposable or the PowerShell web part stuff its not in either of those.  I&#8217;ll be putting those up in separate posts, the web part because I want to clean i up and IDiposable because I want a little more testing before I unleash it on the world.</p>
<p>I&#8217;m also interested in feedback with the SharePointCmds.ps1 file in terms of what is useful and what commands are missing.  If people find value in it I&#8217;ll maintaining it, extend it and generally make it more useful.  Feel free to drop me any comments.</p>
<p><a href='http://www.justaddcode.com/blog/wp-content/uploads/2008/11/hcs301-automating-common-sharepoint-tasks-with-powershell.ppt'><img src="http://www.justaddcode.com/files/icons/powerpoint.png">Automating Common Sharepoint Tasks with PowerShell</a></p>
<p><a href='http://www.justaddcode.com/blog/wp-content/uploads/2008/11/sharepointcmds.ps1'><img src="http://www.justaddcode.com/files/icons/code.png">SharePointCmds.ps1</a></p>
<p><a href='http://www.justaddcode.com/blog/wp-content/uploads/2008/11/powershellhistory.txt'><img src="http://www.justaddcode.com/files/icons/code.png">powershellhistory</a></p>
<img src="http://feeds.feedburner.com/~r/JustAddCode/~4/9z6UKzfqqK8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.justaddcode.com/blog/2008/11/12/devconnections-2008-automating-common-tasks-with-powershell/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.justaddcode.com/blog/2008/11/12/devconnections-2008-automating-common-tasks-with-powershell/</feedburner:origLink></item>
		<item>
		<title>DevConnections Fall 2008</title>
		<link>http://feeds.justaddcode.com/~r/JustAddCode/~3/tHhWuyLJPaA/</link>
		<comments>http://www.justaddcode.com/blog/2008/11/11/devconnections-fall-2008/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 00:06:52 +0000</pubDate>
		<dc:creator>neil</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.justaddcode.com/blog/?p=47</guid>
		<description><![CDATA[Its that time again, time for me to double my posts for the year.  That can only mean one thing, its DevConnections!  I&#8217;ve got three sessions this year:
Automating Common SharePoint Tasks with PowerShell
 &#8211; Wednesday 11:45am in South Seas A&#038;B
Effectively Using Features and Solutions
 &#8211; Wednesday 4:30pm in South Seas A&#038;B
Packaging Your Advanced [...]]]></description>
			<content:encoded><![CDATA[<p>Its that time again, time for me to double my posts for the year.  That can only mean one thing, its DevConnections!  I&#8217;ve got three sessions this year:</p>
<p>Automating Common SharePoint Tasks with PowerShell<br />
 &#8211; Wednesday 11:45am in South Seas A&#038;B</p>
<p>Effectively Using Features and Solutions<br />
 &#8211; Wednesday 4:30pm in South Seas A&#038;B</p>
<p>Packaging Your Advanced SharePoint Customizations<br />
 &#8211; Thursday 3:00pm in South Seas A&#038;B</p>
<p>I&#8217;ll be putting all the slides and content up after the presentations, so if any of these presentations interest you, check back later.  If you are at the convention, drop me a note.</p>
<img src="http://feeds.feedburner.com/~r/JustAddCode/~4/tHhWuyLJPaA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.justaddcode.com/blog/2008/11/11/devconnections-fall-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.justaddcode.com/blog/2008/11/11/devconnections-fall-2008/</feedburner:origLink></item>
		<item>
		<title>I’m on a Podcast!</title>
		<link>http://feeds.justaddcode.com/~r/JustAddCode/~3/uk6Py0ZY5d4/</link>
		<comments>http://www.justaddcode.com/blog/2008/09/22/im-on-a-podcast/#comments</comments>
		<pubDate>Tue, 23 Sep 2008 02:47:22 +0000</pubDate>
		<dc:creator>neil</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.justaddcode.com/blog/?p=37</guid>
		<description><![CDATA[Jeff Brand interviewed me for his Spaghetti Code podcast that was just published.  The topic was SharePoint Development.  Its my first time doing a podcast and was a very interesting experience.  Talking into a mic with just one other person in the room (except for the intro, those 100s of people are [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.slickthought.net">Jeff Brand</a> interviewed me for his <a href="http://www.slickthought.net/post/2008/09/Spaghetti-Code-Podcast-ndash3b-SharePoint-Development-with-Neil-Iversen.aspx">Spaghetti Code podcast</a> that was just published.  The topic was SharePoint Development.  Its my first time doing a podcast and was a very interesting experience.  Talking into a mic with just one other person in the room (except for the intro, those 100s of people are really there&#8230;then they just leave) was a little weird at first.  Jeff was a great host and really helped me feel comfortable doing my first podcast. </p>
<p>Check it out!</p>
<img src="http://feeds.feedburner.com/~r/JustAddCode/~4/uk6Py0ZY5d4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.justaddcode.com/blog/2008/09/22/im-on-a-podcast/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.justaddcode.com/blog/2008/09/22/im-on-a-podcast/</feedburner:origLink></item>
		<item>
		<title>A New Addition to SharePoint Workflow</title>
		<link>http://feeds.justaddcode.com/~r/JustAddCode/~3/NzRk6mAJGjE/</link>
		<comments>http://www.justaddcode.com/blog/2008/07/01/a-new-addition-to-sharepoint-workflow/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 01:41:41 +0000</pubDate>
		<dc:creator>neil</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.justaddcode.com/blog/2008/07/01/a-new-addition-to-sharepoint-workflow/</guid>
		<description><![CDATA[ K2, best known for their enterprise grade workflow engine, has recently released information on their latest product, K2 blackpoint.&#160; They are positioning this product for use when you need something more powerful than SharePoint Designer, don&#8217;t want to write custom code and don&#8217;t need the advanced features (or cost) of their primary workflow product, [...]]]></description>
			<content:encoded><![CDATA[<p> K2, best known for their enterprise grade workflow engine, has recently released information on their latest product, <a href="http://blackpoint.k2.com/en/index.aspx">K2 blackpoint</a>.&#160; They are positioning this product for use when you need something more powerful than SharePoint Designer, don&#8217;t want to write custom code and don&#8217;t need the advanced features (or cost) of their primary workflow product, <a href="http://www.k2.com/en/displayContent.aspx?id=16">K2 blackpearl</a>.</p>
<p>I haven&#8217;t played extensively with it yet, but they do have a good overview video and a <a href="http://blackpoint.k2.com/en/downloadtrial.aspx">trial download</a> to check out.&#160; I&#8217;m looking forward to putting it through its paces in the coming weeks.</p>
<p>K2 is also having a little <a href="http://blackpoint.k2.com/en/blackpointgame.aspx">contest</a>, like an internet scavenger hunt, where you can win prizes and everlasting internet fame.&#160; In order to win, you need to find some images scattered across various sites, blogs and webcasts.&#160; Luckily for you, you&#8217;ve found one such location.</p>
<p>&#160;<a href="http://www.justaddcode.com/blog/wp-content/uploads/2008/07/300-dvhxkmfgkm.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="166" alt="300_DVHXKMFGKM" src="http://www.justaddcode.com/blog/wp-content/uploads/2008/07/300-dvhxkmfgkm-thumb.png" width="166" border="0" /></a></p>
<img src="http://feeds.feedburner.com/~r/JustAddCode/~4/NzRk6mAJGjE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.justaddcode.com/blog/2008/07/01/a-new-addition-to-sharepoint-workflow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.justaddcode.com/blog/2008/07/01/a-new-addition-to-sharepoint-workflow/</feedburner:origLink></item>
		<item>
		<title>Debugging Features the Easy Way</title>
		<link>http://feeds.justaddcode.com/~r/JustAddCode/~3/90BGx7IhkXE/</link>
		<comments>http://www.justaddcode.com/blog/2008/06/29/debugging-features-the-easy-way/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 03:33:04 +0000</pubDate>
		<dc:creator>neil</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[Features]]></category>

		<guid isPermaLink="false">http://www.justaddcode.com/blog/?p=28</guid>
		<description><![CDATA[I once heard an analogy that navigating a submarine was like painting    over all the windows in your car, cracking the window and a attempting     to drive somewhere using only sound.&#160; Since I don&#8217;t have a sub handy I can&#8217;t speak to the accuracy of that, but sometimes [...]]]></description>
			<content:encoded><![CDATA[<p>I once heard an analogy that navigating a submarine was like painting    <br />over all the windows in your car, cracking the window and a attempting     <br />to drive somewhere using only sound.&#160; Since I don&#8217;t have a sub handy I can&#8217;t speak to the accuracy of that, but sometimes debugging in SharePoint seems only slightly easier. </p>
<p>If you&#8217;ve ever created a FeatureReceiver, then you&#8217;ve probably also    <br />had it not work.&#160; There&#8217;s some code that&#8217;ll work right the first time     <br />for you, that never seems to be a custom feature.&#160; When the feature     <br />doesn&#8217;t work you either don&#8217;t get the result you were expecting, or     <br />worse, Something Bad Happened. Even if you assume that you&#8217;ve already got     <br />your development environment set up so you can debug a web part, its     <br />not immediately obvious how to debug that feature that&#8217;s causing your     <br />problems. </p>
<p>Well, you&#8217;ve come to the right place!&#160; Here&#8217;s a couple options to fix    <br />up your broken feature: </p>
<p><strong>Attach to w3wp</strong> (aka Its Still SharePoint)</p>
<p>&#160;<a href="http://www.justaddcode.com/blog/wp-content/uploads/2008/07/sshot-159.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="152" alt="sshot-159" src="http://www.justaddcode.com/blog/wp-content/uploads/2008/07/sshot-159-thumb.png" width="216" border="0" /></a>    <br />If you&#8217;ve ever (successfully) debugged in SharePoint you are probably familiar with this approach.&#160; Fire up visual studio and attach to the w3wp.exe process and then Activate the feature.&#160; Setting a breakpoint in your FeatureActivated and activating the feature through the web UI works in the debugger like you&#8217;d expect, so why not just stick with this approach?&#160; The biggest reason is you can&#8217;t do the same thing for FeatureInstalled or FeatureUninstalling.&#160; Since you have to use STSADM for those actions, attaching to w3wp isn&#8217;t going to do anything for you.</p>
<p>&#160;</p>
<p><strong>Console/Debug.WriteLine</strong> (aka printf forever!) <br /><a href="http://www.justaddcode.com/blog/wp-content/uploads/2008/07/sshot-162.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="116" alt="sshot-162" src="http://www.justaddcode.com/blog/wp-content/uploads/2008/07/sshot-162-thumb.png" width="244" border="0" /></a>    <br />Bring on that retro flavor!&#160; Liberally sprinkle Console.WriteLine&#8217;s in your code and you&#8217;ll feel like you&#8217;ve been teleported back in time and you are writing a C based console app, or at least like a Response.Write from classic ASP.&#160; Using the WriteLines you can &#8216;debug&#8217; your code without the use of a debugger and you now have access to Installed and Uninstalling. If you are using stsadm, Console.WriteLine will work fine.&#160; If you are activating via the web, or just don&#8217;t like other people to see your debugging messages you can use Debug.WriteLine and view the output with something like <a href="http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx">DebugView</a>. The downside is you have to use STSADM to do your Installation and Deactivation and don&#8217;t really have the option of using a debugger if you wanted to.&#160; You&#8217;ll have to be pretty quick to attach to the STSADM process before it finishes (or be on a really slow server). </p>
<p>&#160;</p>
<p><strong>Force the Debugger</strong> (aka The Easy Way) </p>
<p><a href="http://www.justaddcode.com/blog/wp-content/uploads/2008/07/sshot-162.png">&#160;<img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="126" alt="sshot-157" src="http://www.justaddcode.com/blog/wp-content/uploads/2008/07/sshot-157-thumb.png" width="240" border="0" /></a>    <br />The previous two options have each been useful but have had some pretty serious caveats to using them for everything, if only there was another way!.&#160; Luckily there is, we can just force the debugger to run.&#160; By putting the line System.Diagnostics.Debugger.Launch(); in our code, it&#8217;ll attempt to start the debugger.&#160; This approach will work regardless of if you are using STSADM or the UI.&#160; You&#8217;ll be presented with the &quot;Launch Visual Studio&quot; dialog.&#160; If you&#8217;ve already got the project open, select your running instance of Visual Studio.&#160; Otherwise open a new instance and browse to find your code. </p>
<p>These options should get you on the right track, and who knows, you might even    <br />start like writing FeatureReceivers&#8230;or not.</p>
<img src="http://feeds.feedburner.com/~r/JustAddCode/~4/90BGx7IhkXE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.justaddcode.com/blog/2008/06/29/debugging-features-the-easy-way/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.justaddcode.com/blog/2008/06/29/debugging-features-the-easy-way/</feedburner:origLink></item>
		<item>
		<title>Finding a SPWeb with one hand behind your back</title>
		<link>http://feeds.justaddcode.com/~r/JustAddCode/~3/FGzmUUVNm40/</link>
		<comments>http://www.justaddcode.com/blog/2008/06/14/finding-a-spweb-with-one-hand-behind-your-back/#comments</comments>
		<pubDate>Sat, 14 Jun 2008 19:03:55 +0000</pubDate>
		<dc:creator>neil</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://www.justaddcode.com/blog/?p=22</guid>
		<description><![CDATA[Well, maybe not one hand behind your back, but what if you only have the ID of the web?&#160; I received this question after presenting a session at the Twin Cities SharePoint Camp.&#160; I knew you could grab an SPWeb if you knew its URL using SPSite.OpenWeb, but what if you only had the ID?
Worst [...]]]></description>
			<content:encoded><![CDATA[<p>Well, maybe not one hand behind your back, but what if you only have the ID of the web?&#160; I received this question after presenting a session at the <a href="http://www.twincitiessharepointcamp.com">Twin Cities SharePoint Camp</a>.&#160; I knew you could grab an SPWeb if you knew its URL using SPSite.OpenWeb, but what if you only had the ID?</p>
<p>Worst case solution would be to recursively go through all the Webs and SubWebs in order to find one with a matching ID.&#160; Another possible, though horrible, approach would be to query the SharePoint database and get the URL from that.&#160; Both of those are pretty bad approaches to what is seemingly a simple problem.</p>
<p>After spending a couple minutes with the SDK I found there was a much cleaner approach available, SPSite.AllWebs.&#160; SPSite has an AllWebs property that has ALL the webs under it, not just the top level ones.&#160; It also has an indexer on it that takes in a guid, giving us our perfect Web by ID scenario.</p>
<p>PowerShell Code:</p>

<div class="wp_syntax"><div class="code"><pre class="posh" style="font-family:monospace;">[system.reflection.assembly]::loadwithpartialname(&quot;microsoft.sharepoint&quot;)
$site = new-object Microsoft.SharePoint.SPSite(&quot;http://mysite/&quot;)
$siteid = new guid(&quot;22625614-bb87-4cb1-a817-52f8a7366640&quot;)
$web = $site.AllWebs[$siteid]
$web.Url</pre></div></div>

<p><b>Result: http://mysite/toplevel/secondlevel/YouFoundMe</b><br />
<br />Success!</p>
<img src="http://feeds.feedburner.com/~r/JustAddCode/~4/FGzmUUVNm40" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.justaddcode.com/blog/2008/06/14/finding-a-spweb-with-one-hand-behind-your-back/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.justaddcode.com/blog/2008/06/14/finding-a-spweb-with-one-hand-behind-your-back/</feedburner:origLink></item>
	</channel>
</rss>

