<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Sander's blog</title>
	<atom:link href="http://sander.rijken.info/feed/" rel="self" type="application/rss+xml" />
	<link>http://sander.rijken.info</link>
	<description>.NET Development, AnkhSVN (Subversion for VisualStudio), PowerShell</description>
	<pubDate>Sat, 28 Jun 2008 11:16:13 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>AnkhSVN 2.0 Feature » Pending Changes</title>
		<link>http://sander.rijken.info/2008/06/28/ankhsvn-20-feature-pending-changes/</link>
		<comments>http://sander.rijken.info/2008/06/28/ankhsvn-20-feature-pending-changes/#comments</comments>
		<pubDate>Sat, 28 Jun 2008 11:13:33 +0000</pubDate>
		<dc:creator>sr</dc:creator>
		
		<category><![CDATA[AnkhSVN]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[AnkhSVN 2.0]]></category>

		<guid isPermaLink="false">http://sander.rijken.info/?p=23</guid>
		<description><![CDATA[AnkhSVN 2.0 features a new window that focuses on providing information about the files you&#8217;re currently working on. In the future more features will be added to the various (now disabled) pages.
The screenshot below shows a file that is dirty on disk (Modified), and one that is changed but not saved to disk yet (Edited). [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "AnkhSVN 2.0 Feature » Pending Changes", url: "http://sander.rijken.info/2008/06/28/ankhsvn-20-feature-pending-changes/" });</script>]]></description>
			<content:encoded><![CDATA[<p>AnkhSVN 2.0 features a new window that focuses on providing information about the files you&#8217;re currently working on. In the future more features will be added to the various (now disabled) pages.</p>
<p>The screenshot below shows a file that is dirty on disk (Modified), and one that is changed but not saved to disk yet (<a title=\"Edited status\" href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3NhbmRlci5yaWprZW4uaW5mby8yMDA4LzA2LzI4L2Fua2hzdm4tMjAtZmVhdHVyZS1lZGl0ZWQtc3RhdHVzLw==" >Edited</a>). Hitting commit will save both files and commit them as you&#8217;d expect.</p>
<p><a href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3NhbmRlci5yaWprZW4uaW5mby93cC1jb250ZW50L3VwbG9hZHMvcGVuZGluZy1jaGFuZ2VzLnBuZw==" ><img class="alignleft size-full wp-image-26" title="pending-changes" src="http://sander.rijken.info/wp-content/uploads/pending-changes.png" alt="Pending Changes Window" width="500" height="161" /></a></p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>The toolbar allows users to access most common operations, like update the entire solution, commit the checked files below, and perform other actions on the selected files, like diff, open in Visual Studio (double click), revert etc.</p>
<p>The combobox in the toolbar can be used to switch between branches and trunk.</p>
 <img src="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?view=1&post_id=23" width="1" height="1" style="display: none;" /><p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=0ede7c8c-df0e-4aaf-b04a-5a5e606c2c6a&amp;title=AnkhSVN+2.0+Feature+%C2%BB+Pending+Changes&amp;url=http%3A%2F%2Fsander.rijken.info%2F2008%2F06%2F28%2Fankhsvn-20-feature-pending-changes%2F" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://sharethis.com/item?&wp=2.5.1&amp;publisher=0ede7c8c-df0e-4aaf-b04a-5a5e606c2c6a&amp;title=AnkhSVN+2.0+Feature+%C2%BB+Pending+Changes&amp;url=http%3A%2F%2Fsander.rijken.info%2F2008%2F06%2F28%2Fankhsvn-20-feature-pending-changes%2F');">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://sander.rijken.info/2008/06/28/ankhsvn-20-feature-pending-changes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>AnkhSVN 2.0 Feature » Edited status</title>
		<link>http://sander.rijken.info/2008/06/28/ankhsvn-20-feature-edited-status/</link>
		<comments>http://sander.rijken.info/2008/06/28/ankhsvn-20-feature-edited-status/#comments</comments>
		<pubDate>Sat, 28 Jun 2008 11:12:43 +0000</pubDate>
		<dc:creator>sr</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sander.rijken.info/?p=22</guid>
		<description><![CDATA[Both the Pending Changes window, and the status glyphs in the solution explorer now indicate that a file is changed, even before it is saved on disk. This enables user to quickly see both in the solution tree and the pending changes window what files he/she is dealing with.
 
The screenshot below shows NotificationHandler.cs as &#8220;Modified&#8221; meaning [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "AnkhSVN 2.0 Feature » Edited status", url: "http://sander.rijken.info/2008/06/28/ankhsvn-20-feature-edited-status/" });</script>]]></description>
			<content:encoded><![CDATA[<p>Both the <a title=\"Pending Changes Window\" href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3NhbmRlci5yaWprZW4uaW5mby8yMDA4LzA2LzI4L2Fua2hzdm4tMjAtZmVhdHVyZS1wZW5kaW5nLWNoYW5nZXMv" >Pending Changes</a> window, and the status glyphs in the solution explorer now indicate that a file is changed, even before it is saved on disk. This enables user to quickly see both in the solution tree and the pending changes window what files he/she is dealing with.</p>
<p> </p>
<p>The screenshot below shows NotificationHandler.cs as &#8220;Modified&#8221; meaning changes have been persisted on disk, and OutputPaneWriter.cs as &#8220;Edited&#8221; meaning it was edited, and will probably result in changes on disk when saved.</p>
<p><img class="alignnone size-medium wp-image-28" title="edited_slnexplorer" src="http://sander.rijken.info/wp-content/uploads/edited_slnexplorer.png" alt="Solution Explorer showing Edited and Modified files" width="263" height="141" /></p>
 <img src="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?view=1&post_id=22" width="1" height="1" style="display: none;" /><p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=0ede7c8c-df0e-4aaf-b04a-5a5e606c2c6a&amp;title=AnkhSVN+2.0+Feature+%C2%BB+Edited+status&amp;url=http%3A%2F%2Fsander.rijken.info%2F2008%2F06%2F28%2Fankhsvn-20-feature-edited-status%2F" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://sharethis.com/item?&wp=2.5.1&amp;publisher=0ede7c8c-df0e-4aaf-b04a-5a5e606c2c6a&amp;title=AnkhSVN+2.0+Feature+%C2%BB+Edited+status&amp;url=http%3A%2F%2Fsander.rijken.info%2F2008%2F06%2F28%2Fankhsvn-20-feature-edited-status%2F');">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://sander.rijken.info/2008/06/28/ankhsvn-20-feature-edited-status/feed/</wfw:commentRss>
		</item>
		<item>
		<title>AnkhSVN 2.0 Feature &#187; Open from Subversion</title>
		<link>http://sander.rijken.info/2008/04/29/ankhsvn-20-feature-open-from-subversion/</link>
		<comments>http://sander.rijken.info/2008/04/29/ankhsvn-20-feature-open-from-subversion/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 09:52:07 +0000</pubDate>
		<dc:creator>sr</dc:creator>
		
		<category><![CDATA[AnkhSVN]]></category>

		<category><![CDATA[Subversion]]></category>

		<category><![CDATA[AnkhSVN 2.0]]></category>

		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://sander.rijken.info/?p=20</guid>
		<description><![CDATA[In AnkhSVN 2.0 there&#8217;s a new way to open an existing solution from subversion. In previous versions you had to use the Repository Browser to find the path you want to check out, and then check out to a local file path, then open the .sln file.
In 2.0 this is streamlined and also looks a [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "AnkhSVN 2.0 Feature &#187; Open from Subversion", url: "http://sander.rijken.info/2008/04/29/ankhsvn-20-feature-open-from-subversion/" });</script>]]></description>
			<content:encoded><![CDATA[<p>In AnkhSVN 2.0 there&#8217;s a new way to open an existing solution from subversion. In previous versions you had to use the Repository Browser to find the path you want to check out, and then check out to a local file path, then open the .sln file.</p>
<p>In 2.0 this is streamlined and also looks a lot more like other Scc providers (Visual SourceSafe/Team Foundation System) and work with the <a title=\"How to: Open a Project or Solution from Source Control\" href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL21zZG4yLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9iOXp6aGF0eChWUy44MCkuYXNweA=="  target=\"_blank\">generic documentation</a></p>
<p>The command is in the File -&gt; Open menu as shown below.</p>
<p><img src="http://sander.rijken.info/wp-content/uploads/image/AnkhOpenFromSvn/1(1).png" alt="" /></p>
<p><span id="more-20"></span></p>
<p>Here you get a pretty default FileOpen dialog, with the exception that you enter urls in the File name: box. (This can be any url that Subversion supports like svn:// http(s):// svn+ssh:// and file:///)</p>
<p><img src="http://sander.rijken.info/wp-content/uploads/image/AnkhOpenFromSvn/2(1).png" alt="" width="597" height="363" /></p>
<p>After entering an initial url, you can navigate to the solution file. This acts as a replacement for the repository explorer.</p>
<p><img src="http://sander.rijken.info/wp-content/uploads/image/AnkhOpenFromSvn/3(1).png" alt="" width="600" height="366" /></p>
<p>After clicking open on the sln file, the dialog below appears. Here we show a dropdown of the possible directories available for checkout, and we try to take an educated guess about which one is right (by looking at trunk/tags/branches, the top of the repository, the location of the sln file).</p>
<p>The local directory is the default projects directory as set in Options -&gt; Projects and Solutions</p>
<p><img src="http://sander.rijken.info/wp-content/uploads/image/AnkhOpenFromSvn/4(1).png" alt="" width="571" height="311" /></p>
<p>When you hit OK, the checkout starts:</p>
<p><img src="http://sander.rijken.info/wp-content/uploads/image/AnkhOpenFromSvn/6(1).png" alt="" width="479" height="249" /></p>
<p>And when it finishes, the Solution is automatically opened</p>
<p><img src="http://sander.rijken.info/wp-content/uploads/image/AnkhOpenFromSvn/8(1).png" alt="" width="501" height="439" /></p>
 <img src="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?view=1&post_id=20" width="1" height="1" style="display: none;" /><p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=0ede7c8c-df0e-4aaf-b04a-5a5e606c2c6a&amp;title=AnkhSVN+2.0+Feature+%26raquo%3B+Open+from+Subversion&amp;url=http%3A%2F%2Fsander.rijken.info%2F2008%2F04%2F29%2Fankhsvn-20-feature-open-from-subversion%2F" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://sharethis.com/item?&wp=2.5.1&amp;publisher=0ede7c8c-df0e-4aaf-b04a-5a5e606c2c6a&amp;title=AnkhSVN+2.0+Feature+%26raquo%3B+Open+from+Subversion&amp;url=http%3A%2F%2Fsander.rijken.info%2F2008%2F04%2F29%2Fankhsvn-20-feature-open-from-subversion%2F');">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://sander.rijken.info/2008/04/29/ankhsvn-20-feature-open-from-subversion/feed/</wfw:commentRss>
		</item>
		<item>
		<title>AnkhSVN on Visual Studio Gallery</title>
		<link>http://sander.rijken.info/2008/02/27/ankhsvn-on-visual-studio-gallery/</link>
		<comments>http://sander.rijken.info/2008/02/27/ankhsvn-on-visual-studio-gallery/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 21:12:53 +0000</pubDate>
		<dc:creator>sr</dc:creator>
		
		<category><![CDATA[AnkhSVN]]></category>

		<category><![CDATA[Subversion]]></category>

		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://sander.rijken.info/2008/02/27/ankhsvn-on-visual-studio-gallery/</guid>
		<description><![CDATA[I&#8217;m happy to announce that AnkhSVN has been listed on Visual Studio Gallery.  
Microsoft wants this web site to become the one-stop shop for all Visual Studio extensions, from free VS PowerToys like tools to VSIP products. Any developer is able to post information and add links to their Visual Studio extensions.
We hope this brings AnkhSVN [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "AnkhSVN on Visual Studio Gallery", url: "http://sander.rijken.info/2008/02/27/ankhsvn-on-visual-studio-gallery/" });</script>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m happy to announce that <a title=\"AnkhSVN project home page\" href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2Fua2hzdm4ubmV0"  target=\"_blank\">AnkhSVN</a> has been <a href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Zpc3VhbHN0dWRpb2dhbGxlcnkuY29tL0V4dGVuc2lvbkRldGFpbHMuYXNweD9FeHRlbnNpb25JZD1lNzIxZDgzMC03NjY0LTRlMDItOGQwMy05MzNjM2YxNDc3ZjI="  target=\"_blank\">listed</a> on Visual Studio Gallery.  </p>
<p>Microsoft wants this web site to become the one-stop shop for all Visual Studio extensions, from free VS PowerToys like tools to VSIP products. Any developer is able to post information and add links to their Visual Studio extensions.</p>
<p>We hope this brings AnkhSVN under the attention of a new group of users, and also hope to attract new developers. New developers already joined the team, one works for <a href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5jb2xsYWIubmV0"  target=\"_blank\">CollabNet</a> (the company behind <a href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3N1YnZlcnNpb24udGlncmlzLm9yZw=="  target=\"_blank\">Subversion</a>).</p>
 <img src="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?view=1&post_id=17" width="1" height="1" style="display: none;" /><p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=0ede7c8c-df0e-4aaf-b04a-5a5e606c2c6a&amp;title=AnkhSVN+on+Visual+Studio+Gallery&amp;url=http%3A%2F%2Fsander.rijken.info%2F2008%2F02%2F27%2Fankhsvn-on-visual-studio-gallery%2F" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://sharethis.com/item?&wp=2.5.1&amp;publisher=0ede7c8c-df0e-4aaf-b04a-5a5e606c2c6a&amp;title=AnkhSVN+on+Visual+Studio+Gallery&amp;url=http%3A%2F%2Fsander.rijken.info%2F2008%2F02%2F27%2Fankhsvn-on-visual-studio-gallery%2F');">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://sander.rijken.info/2008/02/27/ankhsvn-on-visual-studio-gallery/feed/</wfw:commentRss>
		</item>
		<item>
		<title>AnkhSVN moved to openCollabNet</title>
		<link>http://sander.rijken.info/2008/02/27/ankhsvn-moved-to-opencollabnet/</link>
		<comments>http://sander.rijken.info/2008/02/27/ankhsvn-moved-to-opencollabnet/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 12:52:22 +0000</pubDate>
		<dc:creator>sr</dc:creator>
		
		<category><![CDATA[AnkhSVN]]></category>

		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://sander.rijken.info/2008/02/27/ankhsvn-moved-to-opencollabnet/</guid>
		<description><![CDATA[&#160;The AnkhSVN project is now hosted at openCollabNet&#160;openCollabNet is&#160;&#34;the online community extension to CollabNet products and Subversion&#34;&#160;and the move represents an official commitment by&#160;CollabNet&#160;(the original sponsor of&#160;Subversion) to the AnkhSVN project in the form of developer time and other resources.&#160;
The subversion repository has been moved to http://ankhsvn.open.collab.net/svn/ankhsvn/trunk. Unlike before, anonymous access is no longer available, [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "AnkhSVN moved to openCollabNet", url: "http://sander.rijken.info/2008/02/27/ankhsvn-moved-to-opencollabnet/" });</script>]]></description>
			<content:encoded><![CDATA[<p>&nbsp;The AnkhSVN project is now <a target=\"_blank\" href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2Fua2hzdm4ub3Blbi5jb2xsYWIubmV0" >hosted at openCollabNet</a>&nbsp;openCollabNet is&nbsp;<a href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5vcGVuLmNvbGxhYi5uZXQv" >&quot;the online community extension to CollabNet products and Subversion&quot;</a>&nbsp;and the move represents an official commitment by&nbsp;<a href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5jb2xsYWIubmV0Lw==" >CollabNet</a>&nbsp;(the original sponsor of&nbsp;<a href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3N1YnZlcnNpb24udGlncmlzLm9yZy8=" >Subversion</a>) to the AnkhSVN project in the form of developer time and other resources.&nbsp;</p>
<p>The subversion repository has been moved to <a target=\"_blank\" href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2Fua2hzdm4ub3Blbi5jb2xsYWIubmV0L3N2bi9hbmtoc3ZuL3RydW5r" >http://ankhsvn.open.collab.net/svn/ankhsvn/trunk</a>. Unlike before, anonymous access is no longer available, but you can checkout the repository using the username &quot;guest&quot; and a blank password. You can also browse the repository using the <a target=\"_blank\" href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2Fua2hzdm4ub3Blbi5jb2xsYWIubmV0L3NvdXJjZS9icm93c2UvYW5raHN2bi8=" >web interface</a>.</p>
<p>Hopefully the co-operation with collabNet helps us meet new developers willing to help us out, building more community around Ankh.</p>
 <img src="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?view=1&post_id=12" width="1" height="1" style="display: none;" /><p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=0ede7c8c-df0e-4aaf-b04a-5a5e606c2c6a&amp;title=AnkhSVN+moved+to+openCollabNet&amp;url=http%3A%2F%2Fsander.rijken.info%2F2008%2F02%2F27%2Fankhsvn-moved-to-opencollabnet%2F" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://sharethis.com/item?&wp=2.5.1&amp;publisher=0ede7c8c-df0e-4aaf-b04a-5a5e606c2c6a&amp;title=AnkhSVN+moved+to+openCollabNet&amp;url=http%3A%2F%2Fsander.rijken.info%2F2008%2F02%2F27%2Fankhsvn-moved-to-opencollabnet%2F');">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://sander.rijken.info/2008/02/27/ankhsvn-moved-to-opencollabnet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PowerShell Cmdlets - adding/overriding members</title>
		<link>http://sander.rijken.info/2008/02/27/powershell-cmdlets-addingoverriding-members/</link>
		<comments>http://sander.rijken.info/2008/02/27/powershell-cmdlets-addingoverriding-members/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 11:39:50 +0000</pubDate>
		<dc:creator>sr</dc:creator>
		
		<category><![CDATA[powershell]]></category>

		<category><![CDATA[cmdlet]]></category>

		<category><![CDATA[SharpSvn]]></category>

		<guid isPermaLink="false">http://sander.rijken.info/2008/02/27/powershell-cmdlets-addingoverriding-members/</guid>
		<description><![CDATA[ 
Scott Hanselman described how to &#8220;spot-weld&#8221; new properties on existing types using the types.ps1xml file. When writing your own Cmdlets this might not be the best way to modify the objects you return. In this post I&#8217;m going into how to change existing types in code using ETS Properties based on a SharpSvn/Subversion cmdlet. A common [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "PowerShell Cmdlets - adding/overriding members", url: "http://sander.rijken.info/2008/02/27/powershell-cmdlets-addingoverriding-members/" });</script>]]></description>
			<content:encoded><![CDATA[<p> </p>
<p>Scott Hanselman <a href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5oYW5zZWxtYW4uY29tL2Jsb2cvQWNjZXNzaW5nRVhJRlBob3RvRGF0YUZyb21KUEVHc1dpdGhQb3dlclNoZWxsLmFzcHg="  target=\"_blank\">described</a> how to &#8220;spot-weld&#8221; new properties on existing types using the types.ps1xml file. When writing your own Cmdlets this might not be the best way to modify the objects you return. In this post I&#8217;m going into how to change existing types in code using <a href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL21zZG4yLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9tczcxNDQ1NyhWUy44NSkuYXNweA=="  target=\"_blank\">ETS Properties</a> based on a SharpSvn/Subversion cmdlet. A common use-case would be to fix a function that returns a string instead of a FileInfo or Uri instance (that can be passed along the pipeline).</p>
<p>The main trick is not to return the plain object, but a PSObject wrapping the plain object. The PSObject allows you to add and remove custom properties and methods from C# code.</p>
<p><span id="more-18"></span></p>
<p>This is the code before overriding propeties and extending the pipeline object</p>
<pre class="code">protected override void ProcessRecord()
{
    Client.Info(
        GetTarget&lt;SvnTarget&gt;(),
        SvnArguments,
        delegate(object sender, SvnInfoEventArgs e)
        {
            e.Detach();

            WriteObject(e);
        });
}</pre>
<p>And its output.</p>
<pre class="code">Get-SvnInfo | % { $_.Path.GetType() }

IsPublic IsSerial Name        BaseType
-------- -------- ----        --------
True     True     String      System.Object</pre>
<p>SvnInfoEventArgs has a Path property of type String. For a Cmdlet it&#8217;s more usual to write FileInfo objects to the pipeline, so we need to remove the original Path property, and provide a new one.</p>
<p>The properties/methods that seem to make most sense here are:</p>
<ul>
<li>CodeProperty/CodeMethod<br />
Allows you to write C# code behind a new property or method, this is the most flexible, and can only be added from C# code. In PowerShell you would write a ScriptProperty or ScriptMethod instead, implementing it in PowerShell.</li>
<li>AliasProperty<br />
Exposes an existing property with another name, nice for creating a consistent PowerShell API on top of a non-existing API</li>
<li>NoteProperty<br />
This is just a readonly Key/Value<br />
 </li>
</ul>
<p>Adding a new property with the same name overrides the existing one</p>
<pre class="code">protected override void ProcessRecord()
{
    Client.Info(
      GetTarget&lt;SvnTarget&gt;(),
      SvnArguments,
      delegate(object sender, SvnInfoEventArgs e)
      {
          e.Detach();

          PSObject obj = new PSObject(e);
          obj.Properties.Add(new PSCodeProperty(
              "Path",
              GetType().GetMethod("GetPath")));

          WriteObject(obj);
      });
}

public static FileInfo GetPath(PSObject obj)
{
    SvnInfoEventArgs e = obj.BaseObject as SvnInfoEventArgs;
    if (e == null)
        return null;

    return new FileInfo(e.Path);
}</pre>
<p>The method represented by MethodInfo has to be public, static, non-void and take one parameter of type PSObject to work.</p>
<p>This overrides the Path property:</p>
<pre class="code">Get-SvnInfo | % { $_.Path.GetType() }

IsPublic IsSerial Name          BaseType
-------- -------- ----          --------
True     True     FileInfo      System.IO.FileSys...</pre>
<p>If you have &#8220;spot-welded&#8221; on extra properties on FileInfo, those will also be present on $_.Path ofcourse.</p>
 <img src="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?view=1&post_id=18" width="1" height="1" style="display: none;" /><p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=0ede7c8c-df0e-4aaf-b04a-5a5e606c2c6a&amp;title=PowerShell+Cmdlets+-+adding%2Foverriding+members&amp;url=http%3A%2F%2Fsander.rijken.info%2F2008%2F02%2F27%2Fpowershell-cmdlets-addingoverriding-members%2F" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://sharethis.com/item?&wp=2.5.1&amp;publisher=0ede7c8c-df0e-4aaf-b04a-5a5e606c2c6a&amp;title=PowerShell+Cmdlets+-+adding%2Foverriding+members&amp;url=http%3A%2F%2Fsander.rijken.info%2F2008%2F02%2F27%2Fpowershell-cmdlets-addingoverriding-members%2F');">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://sander.rijken.info/2008/02/27/powershell-cmdlets-addingoverriding-members/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SourceServer indexing and Subversion</title>
		<link>http://sander.rijken.info/2008/02/22/sourceserver-indexing-and-subversion-part-1/</link>
		<comments>http://sander.rijken.info/2008/02/22/sourceserver-indexing-and-subversion-part-1/#comments</comments>
		<pubDate>Fri, 22 Feb 2008 19:26:26 +0000</pubDate>
		<dc:creator>sr</dc:creator>
		
		<category><![CDATA[Subversion]]></category>

		<category><![CDATA[Debugging]]></category>

		<category><![CDATA[SourceServerSharp]]></category>

		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://sander.rijken.info/2008/02/22/sourceserver-indexing-and-subversion-part-1/</guid>
		<description><![CDATA[This is a walkthrough about using source server indexed PDBs using Visual Studio 2005 or 2008, as described in a MSDN Magazine article. The next post will talk about producing source server indexed PDB files.
Visual Studio 2008 can also be configured to use a Symbol Server that provides source server indexed PDBs for debugging through the [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "SourceServer indexing and Subversion", url: "http://sander.rijken.info/2008/02/22/sourceserver-indexing-and-subversion-part-1/" });</script>]]></description>
			<content:encoded><![CDATA[<p>This is a walkthrough about using source server indexed PDBs using Visual Studio 2005 or 2008, as described in a <a title=\"USE THE SOURCE, LUKE: Source Server Helps You Kill Bugs Dead In Visual Studio 2005\" href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9tc2RubWFnL2lzc3Vlcy8wNi8wOC9Vc2VUaGVTb3VyY2UvZGVmYXVsdC5hc3B4"  target=\"_blank\">MSDN Magazine article</a>. The next post will talk about producing source server indexed PDB files.</p>
<p>Visual Studio 2008 can also be <a href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2Jsb2dzLm1zZG4uY29tL3NidXJrZS9hcmNoaXZlLzIwMDgvMDEvMTYvY29uZmlndXJpbmctdmlzdWFsLXN0dWRpby10by1kZWJ1Zy1uZXQtZnJhbWV3b3JrLXNvdXJjZS1jb2RlLmFzcHg="  target=\"_blank\">configured to use a Symbol Server</a> that provides source server indexed PDBs for debugging through the .NET Framework source code. <a href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3NoYXJwc3ZuLw=="  target=\"_blank\">SourceServerSharp</a> enables you to produce PDBs for your own assemblies with similar possibilities.</p>
<p><span id="more-13"></span></p>
<p>1) Install <a href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3N1YnZlcnNpb24udGlncmlzLm9yZy9wcm9qZWN0X3BhY2thZ2VzLmh0bWw="  target=\"_blank\">Subversion Command-line binaries</a> and make sure svn.exe is in the path. This happens automatically when you use the installer.</p>
<p>2) Configure source server inside Visual Studio 2005 or 2008:</p>
<ul>
<li>Turn off &#8216;Enable Just My Code (Managed only)&#8217;</li>
<li>Turn on &#8216;Enable source server support&#8217;</li>
</ul>
<p><img src="http://sander.rijken.info/wp-content/uploads/image/SourceServer/image_38.png" alt="Configure source server support" width="640" height="370" /></p>
<p>3) You are now set-up, but when you are debugging and step into code outside your solution that is source server indexed, or hit an exception in that code, the following dialog comes up:</p>
<p><img src="http://sander.rijken.info/wp-content/uploads/image/SourceServer/Picture-8.jpg" alt="Visual Studio Security Warning" width="381" height="256" /></p>
<p>To prevent this create a file called srcsrv.ini in %ProgramFiles%\Microsoft Visual Studio 8\Common7\IDE\ containing:</p>
<pre class="code">[trusted commands]
svn.exe export</pre>
 <img src="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?view=1&post_id=13" width="1" height="1" style="display: none;" /><p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=0ede7c8c-df0e-4aaf-b04a-5a5e606c2c6a&amp;title=SourceServer+indexing+and+Subversion&amp;url=http%3A%2F%2Fsander.rijken.info%2F2008%2F02%2F22%2Fsourceserver-indexing-and-subversion-part-1%2F" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://sharethis.com/item?&wp=2.5.1&amp;publisher=0ede7c8c-df0e-4aaf-b04a-5a5e606c2c6a&amp;title=SourceServer+indexing+and+Subversion&amp;url=http%3A%2F%2Fsander.rijken.info%2F2008%2F02%2F22%2Fsourceserver-indexing-and-subversion-part-1%2F');">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://sander.rijken.info/2008/02/22/sourceserver-indexing-and-subversion-part-1/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Updating file inside MSI for major upgrade</title>
		<link>http://sander.rijken.info/2008/02/04/updating-file-inside-msi-for-major-upgrade/</link>
		<comments>http://sander.rijken.info/2008/02/04/updating-file-inside-msi-for-major-upgrade/#comments</comments>
		<pubDate>Mon, 04 Feb 2008 17:29:39 +0000</pubDate>
		<dc:creator>sr</dc:creator>
		
		<category><![CDATA[MSI]]></category>

		<category><![CDATA[installer]]></category>

		<guid isPermaLink="false">http://sander.rijken.info/2008/02/04/updating-file-in-msi-for-patching-as-major-upgrade/</guid>
		<description><![CDATA[&#160;This post describes how to create a new msi that can be installed as a major upgrade&#160;based on an existing one (that support major upgrades), whilst patching/updating some files. This is useful when it&#8217;s easier to patch an existing msi than it is to create a new one.
Cabarc to create new cabinet containing the patched [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Updating file inside MSI for major upgrade", url: "http://sander.rijken.info/2008/02/04/updating-file-inside-msi-for-major-upgrade/" });</script>]]></description>
			<content:encoded><![CDATA[<p>&nbsp;This post describes how to create a new msi that can be installed as a major upgrade&nbsp;based on an existing one (that support major upgrades), whilst patching/updating some files. This is useful when it&#8217;s easier to patch an existing msi than it is to create a new one.</p>
<p>Cabarc to create new cabinet containing the patched files:</p>
<pre class="code">
CabArc.exe n mypatch.cab c:\patch\*.dll
</pre>
<p>MsiFiler to correct version information:</p>
<pre class="code">
MsiFiler.exe -d myinstaller.msi -v -s c:\patch\
</pre>
<p>MsiDb to insert new cabinet in msi (optional):</p>
<pre class="code">
MsiDb.exe -d myinstaller.msi -a mypatch.cab
</pre>
<p>Open myinstaller.msi in <a target=\"_blank\" href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL21zZG4yLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9hYTM3MDU1Ny5hc3B4" >Orca</a>&nbsp;and:</p>
<ul>
<li>Insert a new Guid into <a target=\"_blank\" href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL21zZG4yLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9hYTM3MDU2OC5hc3B4" >PackageCode</a> because we are changing the msi<br />
    To do this in&nbsp;Orca, go to &#8216;View -&gt; &nbsp;Summary Information&#8217; and click the&nbsp;&#8217;New GUID&#8217; button next to the Package Code. It&#8217;s also possible to configure Orca to always change the PackageCode when saving, under &#8216;Options -&gt; Database&#8217;</li>
<li>Insert a new Guid into <a target=\"_blank\" href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL21zZG4yLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9hYTM3MDg1NC5hc3B4" >ProductCode</a> to allow <a target=\"_blank\" href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL21zZG4yLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9hYTM2OTc4Ni5hc3B4" >major upgrade</a></li>
<li>Change the <a target=\"_blank\" href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL21zZG4yLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9hYTM3MDg1OS5hc3B4" >ProductVersion</a> to a higher version number, and change the <a target=\"_blank\" href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL21zZG4yLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9hYTM3MjM3OS5hc3B4" >Upgrade</a> table accordingly.</li>
<li>Change sequence in the <a target=\"_blank\" href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL21zZG4yLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9hYTM2ODU5NihWUy44NSkuYXNweA==" >File</a> table for the patched file(s)</li>
<li>Add reference to mypatch.cab in <a target=\"_blank\" href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL21zZG4yLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9hYTM2OTgwMShWUy44NSkuYXNweA==" >Media</a> table:
<ul>
<li>DiskId should be a new unique number</li>
<li>Cabinet should&nbsp;be&nbsp;&#8217;#mypatch.cab&#8217; because the cabinet was inserted in the msi.<br />
        It&#8217;s also possible to keep the cabinet file external, in that case call it &#8216;mypatch.cab&#8217;</li>
<li>LastSequence should correspond to the highest sequence number of the file in the <a target=\"_blank\" href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL21zZG4yLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9hYTM2ODU5NihWUy44NSkuYXNweA==" >File</a> table<br />
        For example, if the highest number before patching is 72, and we added 3 files, LastSequence should be 75, and 3 entries in the <a target=\"_blank\" href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL21zZG4yLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9hYTM2ODU5NihWUy44NSkuYXNweA==" >File</a> table should use Sequence 73, 74 and 75. LastSequence and Sequence is the only link between files and cabinets</li>
</ul>
</li>
</ul>
<p>&nbsp;Orca, MsiDb, MsiFiler and CabArc are all part of the Windows Platform SDK</p>
<p>&nbsp;</p>
 <img src="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?view=1&post_id=8" width="1" height="1" style="display: none;" /><p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=0ede7c8c-df0e-4aaf-b04a-5a5e606c2c6a&amp;title=Updating+file+inside+MSI+for+major+upgrade&amp;url=http%3A%2F%2Fsander.rijken.info%2F2008%2F02%2F04%2Fupdating-file-inside-msi-for-major-upgrade%2F" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://sharethis.com/item?&wp=2.5.1&amp;publisher=0ede7c8c-df0e-4aaf-b04a-5a5e606c2c6a&amp;title=Updating+file+inside+MSI+for+major+upgrade&amp;url=http%3A%2F%2Fsander.rijken.info%2F2008%2F02%2F04%2Fupdating-file-inside-msi-for-major-upgrade%2F');">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://sander.rijken.info/2008/02/04/updating-file-inside-msi-for-major-upgrade/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Using AnkhSVN with Team Foundation Server using SvnBridge</title>
		<link>http://sander.rijken.info/2008/02/02/using-ankhsvn-with-team-foundation-server/</link>
		<comments>http://sander.rijken.info/2008/02/02/using-ankhsvn-with-team-foundation-server/#comments</comments>
		<pubDate>Sat, 02 Feb 2008 21:38:07 +0000</pubDate>
		<dc:creator>sr</dc:creator>
		
		<category><![CDATA[AnkhSVN]]></category>

		<category><![CDATA[Subversion]]></category>

		<category><![CDATA[SvnBridge]]></category>

		<category><![CDATA[TFS]]></category>

		<guid isPermaLink="false">http://sander.rijken.info/index.php/2008/02/02/using-ankhsvn-with-team-foundation-server/</guid>
		<description><![CDATA[To start using TFS with any Subversion client you will need&#160;SvnBridge&#160;
&#160;

The zipfile contains an exe that is the zip, no installation required.

We will connect to the SvnBridge repository. This is the required information to setup SvnBridge:

&#160;
At this point there is an http proxy running on the local machine, a test with the command-line client confirms [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Using AnkhSVN with Team Foundation Server using SvnBridge", url: "http://sander.rijken.info/2008/02/02/using-ankhsvn-with-team-foundation-server/" });</script>]]></description>
			<content:encoded><![CDATA[<p><span class="Apple-style-span" style="font-size: 12px; line-height: normal; font-family: Helvetica">To start using TFS with any Subversion client you will need&nbsp;</span><span class="Apple-style-span" style="line-height: 20px; font-family: Georgia"><a title=\"http://www.codeplex.com/SvnBridge\" target=\"_blank\" mce_href=\"http://\" href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2NvZGVwbGV4LmNvbS9Tdm5CcmlkZ2U=" ><span style="font-size: small">SvnBridge</span></a></span><span class="Apple-style-span" style="font-size: 12px; line-height: normal; font-family: Helvetica">&nbsp;</span><br />
&nbsp;</p>
<div>
<p style="margin: 0px; font: 12px Helvetica">The zipfile contains an exe that is the zip, no installation required.</p>
<p><span class="Apple-style-span" style="font-size: 16px; line-height: 20px; font-family: Georgia"></p>
<p style="margin: 0px; font: 12px Helvetica">We will connect to the SvnBridge repository. This is the required information to setup SvnBridge:</p>
<p style="margin: 0px; font: 12px Helvetica"><img height="130" alt="SvnBridge dialog" width="340" src="http://sander.rijken.info/wp-content/uploads/image/AnkhTFS/Picture%203.png" /></p>
<p style="margin: 0px; font: 12px Helvetica">&nbsp;</p>
<p style="margin: 0px; font: 12px Helvetica">At this point there is an http proxy running on the local machine, a test with the command-line client confirms this:</p>
<p style="margin: 0px; font: 12px Helvetica"><img height="334" alt="svn ls using SvnBridge" width="670" src="http://sander.rijken.info/wp-content/uploads/image/AnkhTFS/Picture%204.png" /></p>
<p style="margin: 0px; font: 12px Helvetica">&nbsp;</p>
<p style="margin: 0px; font: 12px Helvetica">&nbsp;Now on to <a target=\"_blank\" href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2Fua2hzdm4ub3Blbi5jb2xsYWIubmV0" >AnkhSVN</a>. Here we chose Tools -&gt; AnkhSVN -&gt; Checkout</p>
<p style="margin: 0px; font: 12px Helvetica">&nbsp;</p>
<p style="margin: 0px; font: 12px Helvetica"><img height="580" alt="" width="689" src="http://sander.rijken.info/wp-content/uploads/image/AnkhTFS/Picture%205.png" /></p>
<p style="margin: 0px; font: 12px Helvetica">&nbsp;</p>
<p style="margin: 0px; font: 12px Helvetica">&nbsp;</p>
<p style="margin: 0px; font: 12px Helvetica">Now enter the target directory and the url (http://localhost:8081/&lt;projectname&gt;) in the checkout dialog</p>
<p style="margin: 0px; font: 12px Helvetica"><img height="355" alt="Ankh Checkout" width="448" src="http://sander.rijken.info/wp-content/uploads/image/AnkhTFS/Picture%206.png" /></p>
<p style="margin: 0px; font: 12px Helvetica">&nbsp;</p>
<p style="margin: 0px; font: 12px Helvetica">After opening this project AnkhSVN recognises the solution. Certain subversion functions (log for example) make the current version of SvnBridge crash however.</p>
<p style="margin: 0px; font: 12px Helvetica"><img height="505" alt="AnkhSVN with Team Foundation Server controlled project" width="243" src="http://sander.rijken.info/wp-content/uploads/image/AnkhTFS/Picture%207.png" /></p>
<p style="margin: 0px; font: 12px Helvetica">&nbsp;</p>
<p style="margin: 0px; font: 12px Helvetica">&nbsp;</p>
<p></span></p>
<div><span class="Apple-style-span" style="font-size: 12px; line-height: normal; font-family: Helvetica"><br class="webkit-block-placeholder" /><br />
</span></div>
</div>
<p>&nbsp;</p>
 <img src="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?view=1&post_id=5" width="1" height="1" style="display: none;" /><p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=0ede7c8c-df0e-4aaf-b04a-5a5e606c2c6a&amp;title=Using+AnkhSVN+with+Team+Foundation+Server+using+SvnBridge&amp;url=http%3A%2F%2Fsander.rijken.info%2F2008%2F02%2F02%2Fusing-ankhsvn-with-team-foundation-server%2F" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://sharethis.com/item?&wp=2.5.1&amp;publisher=0ede7c8c-df0e-4aaf-b04a-5a5e606c2c6a&amp;title=Using+AnkhSVN+with+Team+Foundation+Server+using+SvnBridge&amp;url=http%3A%2F%2Fsander.rijken.info%2F2008%2F02%2F02%2Fusing-ankhsvn-with-team-foundation-server%2F');">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://sander.rijken.info/2008/02/02/using-ankhsvn-with-team-foundation-server/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flickr.com upload folder action from Adobe Lightroom</title>
		<link>http://sander.rijken.info/2007/05/14/flickrcom-upload-folder-action-from-adobe-lightroom/</link>
		<comments>http://sander.rijken.info/2007/05/14/flickrcom-upload-folder-action-from-adobe-lightroom/#comments</comments>
		<pubDate>Mon, 14 May 2007 21:02:00 +0000</pubDate>
		<dc:creator>sr</dc:creator>
		
		<category><![CDATA[Automator]]></category>

		<category><![CDATA[Mac]]></category>

		<category><![CDATA[flickr]]></category>

		<category><![CDATA[lightroom]]></category>

		<guid isPermaLink="false">http://sander.rijken.info/2007/05/14/flickrcom-upload-folder-action-from-adobe-lightroom/</guid>
		<description><![CDATA[Start by getting the Flick upload action&#160;and install it according to the instruction on that page.
This action uploads any image file that you feed into it. Don&#8217;t bother to set the title, description and tags, because it extracts them from the metadata in Lightroom (do set them there ofcourse)
&#160;
If you start Automator.app you should see [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Flickr.com upload folder action from Adobe Lightroom", url: "http://sander.rijken.info/2007/05/14/flickrcom-upload-folder-action-from-adobe-lightroom/" });</script>]]></description>
			<content:encoded><![CDATA[<p>Start by getting the <a href="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3R1cnRsZWhlYWQuY28udWsvbWFjaW50b3NoLXRveXMvb3N4LWF1dG9tYXRvci1mbGlja3ItdXBsb2FkLWFjdGlvbi8=" >Flick upload action</a>&nbsp;and install it according to the instruction on that page.</p>
<div>This action uploads any image file that you feed into it. Don&#8217;t bother to set the title, description and tags, because it extracts them from the metadata in Lightroom (do set them there ofcourse)</p>
<div>&nbsp;</div>
<div>If you start Automator.app you should see &#8216;Flickr&#8217; under &#8216;Applications&#8217;, and in Flickr an &#8216;Upload to flickr&#8217; action that takes images files.</div>
<div>&nbsp;</div>
<div>I created a workflow that consists of the following steps:</div>
<div>
<ol>
<li>Get folder contents</li>
<li>Filter Finder items (whose file type is JPEG image)</li>
<li>Upload to Flickr</li>
<li>Move to Trash (because I export them from RAW, and don&#8217;t need to keep the jpegs around after uploading)</li>
</ol>
<p>Save this workflow as a plug-in (Command,Shift,S) and select Folder Action.</p></div>
<div>Select and/or create a folder where you will export your jpegs.</div>
<div>&nbsp;</div>
<div>Then in Lightroom go to File - Export.&nbsp;</div>
<div>Select the destination folder your you selected for the Folder Action.</div>
<div>I changed my file naming template to &#8216;custom settings&#8217;, and used (Title)-(Orginal File Name), but you can choose anything.</div>
<div>Set the other settings to what you like, and then select &#8216;Preset -&gt; Save as new preset&#8217; at the top of this dialog. I named mine &#8216;Upload to Flickr&#8217;</div>
<div>&nbsp;</div>
<div>I clicked &#8216;Export&#8217; and then there was a problem; the folder action came up after the first image was put up, instead of waiting until all where exported. To solve this I added a &#8216;wait for user input&#8217; step in front of the first step in automator. Suggestions for a more elegant solution welcome <img src='http://sander.rijken.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </div>
</div>
 <img src="http://sander.rijken.info/wp-content/plugins/feed-statistics.php?view=1&post_id=7" width="1" height="1" style="display: none;" /><p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=0ede7c8c-df0e-4aaf-b04a-5a5e606c2c6a&amp;title=Flickr.com+upload+folder+action+from+Adobe+Lightroom&amp;url=http%3A%2F%2Fsander.rijken.info%2F2007%2F05%2F14%2Fflickrcom-upload-folder-action-from-adobe-lightroom%2F" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://sharethis.com/item?&wp=2.5.1&amp;publisher=0ede7c8c-df0e-4aaf-b04a-5a5e606c2c6a&amp;title=Flickr.com+upload+folder+action+from+Adobe+Lightroom&amp;url=http%3A%2F%2Fsander.rijken.info%2F2007%2F05%2F14%2Fflickrcom-upload-folder-action-from-adobe-lightroom%2F');">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://sander.rijken.info/2007/05/14/flickrcom-upload-folder-action-from-adobe-lightroom/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
