<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Huddled Masses &#187; PoshCode</title>
	<atom:link href="http://joelbennett.net/tag/poshcode/feed/" rel="self" type="application/rss+xml" />
	<link>http://joelbennett.net</link>
	<description>The internet home of Joel "Jaykul" Bennett...</description>
	<lastBuildDate>Sat, 28 Jan 2012 21:37:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<cloud domain='joelbennett.net' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>RFC: Information in PoshCode Module Manifests</title>
		<link>http://joelbennett.net/rfc-information-in-poshcode-module-manifests/</link>
		<comments>http://joelbennett.net/rfc-information-in-poshcode-module-manifests/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 03:31:25 +0000</pubDate>
		<dc:creator>Joel 'Jaykul' Bennett</dc:creator>
				<category><![CDATA[Huddled]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Module Manifest]]></category>
		<category><![CDATA[PoshCode]]></category>
		<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://huddledmasses.org/?p=1530</guid>
		<description><![CDATA[OK, I&#8217;m putting this out there to see if I&#8217;ve missed anything that would be useful. This is the list of metadata that we&#8217;ll be storing about Modules in the PoshCode repository. It duplicates most of the information in the PowerShell Manifests, but it adds more of information that we feel is important for searching, [...]]]></description>
			<content:encoded><![CDATA[	<p>OK, I&#8217;m putting this out there to see if I&#8217;ve missed anything that would be useful.  This is the list of metadata that we&#8217;ll be storing about Modules in the PoshCode repository. It duplicates most of the information in the PowerShell Manifests, but it adds more of information that we feel is important for searching, sorting and organizing &#8230; and in the PoshCode Module manifests, wildcards are not allowed for any of the &#8220;export&#8221; values.  The export information in the module is intended to represent the initial state of the module after import: listing all the cmdlets, functions, variables and aliases &#8230;</p>

	<h2>PoshCode Module Manifest Format:</h2>

	<h4><span class="caps">GUID</span></h4>

	<p>The globally unique identifier for this module. Helps us tell modules apart  <img src='http://joelbennett.net/wordpress/wp-includes/' alt=':)' class='wp-smiley' /> </p>

	<h4>Name</h4>

	<p>The name of this module. Helps us find modules, and helps you guess what they&#8217;re for.</p>

	<h4>ModuleVersion</h4>

	<p>The version of this module.  Together with the <span class="caps">GUID</span>, this is the unique key for the module. It should be incremented whenever you release it.</p>

	<h4>Description</h4>

	<p>A short description of the module. What it is, what it does, what it&#8217;s for.</p>

	<h4>ModuleType</h4>

	<p>Tells whether the module is a Script module or a Binary module (if they are both, then they are Binary).</p>

	<h4>Author</h4>

	<p>The <strong>person(s)</strong> who created this module. No organizations here, just people.</p>

	<h4>Company</h4>

	<p>A company (if there is one) that created this module or provides support for it.</p>

	<h4>Copyright</h4>

	<p>The copyright statement. You should always fill this out and assign copyright to the correct author, group or corporation.</p>

	<h4>License</h4>

	<p>The software license(s) that this module can be licensed under. It&#8217;s enough to use an acronym like &#8220;<span class="caps">GPL</span> v2&#8221; or &#8220;MIT&#8221; or &#8220;Ms-PL&#8221; ... but if you have a custom license you can specify a description of it or the full text of it. Multiple entries are allowed.</p>

	<h4>LicenseUri</h4>

	<p>The url(s) for a full copy of the license. If you&#8217;re using an open source license you can link to it&#8217;s page on <a href="http://opensource.org/licenses/">opensource.org</a></p>

	<h4>Category</h4>

	<p>We&#8217;ll publish our official category list later, but the category is intended to be an assignment to a single category in a hierarchical tree. </p>

	<h4>Tags</h4>

	<p>A collection of user-assigned free-text keywords that help to categorize the module and serve as additional search terms.</p>

	<h4>Homepage</h4>

	<p>If the module has a home page on the internet, this is the <span class="caps">URL</span>. You can use the link to the PoshCode Docs page (which our cmdlets will generate for you) if you don&#8217;t have your own page.</p>

	<h4>Download</h4>

	<p>This is the link to download the module. If you&#8217;re hosting it on PoshCode, we will fill this in. If you&#8217;re hosting it elsewhere, this must be a <strong>download</strong> link. If it&#8217;s a commercial module that requires payment, you should leave this link empty unless you have a free trial download.  Note: I&#8217;m still working on the commercial angle.  Would it be helpful to include the price here? If we offered a way to sell your modules through PoshCode, would you use it?</p>

	<h4>RequiredAssemblies</h4>

	<p>Assembly names (or relative paths, if the assemblies are included in the module folder) for assemblies that must be loaded before the module will work. These should be the Assembly FullName, not a partial name.</p>

	<h4>RequiredModules</h4>

	<p>The names and versions (and GUIDs) of any modules that this module depends on.</p>

	<h4>PowerShellVersion</h4>

	<p>The version of Powershell required (2.0, for now).</p>

	<h4>FrameworkVersion</h4>

	<p>The version of the .Net Framework required. The framework version implies the <span class="caps">CLR</span> version, so we&#8217;ll just stick to this.  I&#8217;m still toying with the idea of saying the list is 2.0, 3.0, 3.5, 3.5.1, and 4.0 &#8230; rather than allowing the normal version with the full four digits.</p>

	<h4>VersionChanges</h4>

	<p>This is either the list of changes in this version, or a complete list of the changes in previous versions.</p>

	<h4>Exported Cmdlets</h4>

	<p>The list of (binary) cmdlets exported by this module.</p>

	<h4>Exported Functions</h4>

	<p>The list of script functions exported by this module.</p>

	<h4>Exported Aliases</h4>

	<p>The list of aliases exported by this module.</p>

	<h4>Exported Variables</h4>

	<p>The list of variables exported by this module.</p>

	<h3>Deprecated things &#8230;</h3>

	<p>I&#8217;m leaning against having these items in the PoshCode manifest &#8212; they don&#8217;t seem to be helpful for finding or sorting or understanding a module.</p>

	<ul>
		<li>ModuleFile</li>
		<li>ModuleToProcess</li>
		<li>FormatsToProcess</li>
	</ul>
	<ul>
		<li>TypesToProcess</li>
	</ul>

	<h2>Comments Requested</h2>

	<p>I&#8217;m hoping for feedback about this list, what I might be missing, or if there&#8217;s anything in here I should leave out &#8230;  let me hear it!</p>]]></content:encoded>
			<wfw:commentRss>http://joelbennett.net/rfc-information-in-poshcode-module-manifests/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>F.A.Q.: How do I Install a PowerShell Module</title>
		<link>http://joelbennett.net/f-a-q-how-do-i-install-a-powershell-module/</link>
		<comments>http://joelbennett.net/f-a-q-how-do-i-install-a-powershell-module/#comments</comments>
		<pubDate>Wed, 26 May 2010 20:00:52 +0000</pubDate>
		<dc:creator>Joel 'Jaykul' Bennett</dc:creator>
				<category><![CDATA[Huddled]]></category>
		<category><![CDATA[Install]]></category>
		<category><![CDATA[Modules]]></category>
		<category><![CDATA[PoshCode]]></category>
		<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://huddledmasses.org/?p=1482</guid>
		<description><![CDATA[As a warm up to writing my best-practices posts, I decided to answer this frequently asked question on the PowerShell wiki at PoshCode. I&#8217;m not going to repeat the whole post here, but suffice it to say that there&#8217;s a good explanation on the How Do I Install a PowerShell Module page, along with this [...]]]></description>
			<content:encoded><![CDATA[	<p>As a warm up to writing my best-practices posts, I decided to answer this frequently asked question on the PowerShell wiki at PoshCode. I&#8217;m not going to repeat the whole post here, but suffice it to say that there&#8217;s a good explanation on the <a href="http://wiki.poshcode.org/FAQ/Tips_and_Tricks/How_Do_I..._Install_a_Module">How Do I Install a PowerShell Module</a> page, along with this script:</p>

	<p><script type="text/javascript" src="http://PoshCode.org/embed/1875"></script></p>]]></content:encoded>
			<wfw:commentRss>http://joelbennett.net/f-a-q-how-do-i-install-a-powershell-module/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A question about PowerShell Module Manifests</title>
		<link>http://joelbennett.net/a-question-about-powershell-module-manifests/</link>
		<comments>http://joelbennett.net/a-question-about-powershell-module-manifests/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 05:44:23 +0000</pubDate>
		<dc:creator>Joel 'Jaykul' Bennett</dc:creator>
				<category><![CDATA[Huddled]]></category>
		<category><![CDATA[CPAN]]></category>
		<category><![CDATA[Metadata]]></category>
		<category><![CDATA[Module Manifest]]></category>
		<category><![CDATA[Modules]]></category>
		<category><![CDATA[PoshCode]]></category>
		<category><![CDATA[Windows PowerShell]]></category>

		<guid isPermaLink="false">http://huddledmasses.org/?p=1382</guid>
		<description><![CDATA[So, I&#8217;m building the next PoshCode around modules, with CPAN as my model &#8230; Scripts are still there, but they&#8217;re still basically done the way they are now: you just upload a single file. Modules, however, will be treated specially. You&#8217;ll have to have an account to upload, but you&#8217;ll be able to just upload [...]]]></description>
			<content:encoded><![CDATA[	<p>So, I&#8217;m building the next PoshCode around modules, with <span class="caps">CPAN</span> as my model &#8230; </p>

	<p>Scripts are still there, but they&#8217;re still basically done the way they are now: you just upload a single file. </p>

	<p>Modules, however, will be treated specially. You&#8217;ll have to have an account to upload, but you&#8217;ll be able to just upload a .zip file of your module folder using your login and not fill in any other forms. Our system will take care of parsing the metadata out of the <a href="http://msdn.microsoft.com/en-us/library/dd878337%28VS.85%29.aspx">manifest</a> in your module folder.</p>

	<p>The problem is that I need a little data that isn&#8217;t a part of the <a href="http://msdn.microsoft.com/en-us/library/dd878337%28VS.85%29.aspx">standard module manifest</a> format&#8230; and I can&#8217;t add it because PowerShell won&#8217;t load a module with extra fields in the manifest metadata hashtable: https://connect.microsoft.com/PowerShell/feedback/ViewFeedback.aspx?FeedbackID=421837 &#8212; My request was closed &#8220;by design&#8221; early in the beta cycle and I wasn&#8217;t able to convince them to rethink that.</p>

	<p>At a minimum, PoshCode <strong>requires</strong> a <span class="caps">LICENSE</span> field, and a <span class="caps">CATEGORY</span> field (think of the categories on <span class="caps">CPAN</span> or TechNet Script Center).</p>

	<p>So I&#8217;m having an informal poll. (you&#8217;ll have to &#8220;vote&#8221; by commenting or tweeting to me, because I want more than just &#8220;I choose A&#8221;).</p>

	<p>Which option do you prefer, or can you think of a better way:</p>

	<h4>Require the License and Category to be part of the <span class="caps">PRIVATEDATA</span> field in the standard manifest</h4>

	<p>This might require authors to rewrite parts of their modules, because we&#8217;d be forcing PrivateData to be a Hashtable, and to contain keys that they don&#8217;t need in the module.</p>

	<p>Some existing modules use an array in PrivateData, or even a simple string, rather than a Hashtable. However, it&#8217;s not a <strong>huge</strong> difference, and might be the cleanest method: it wouldn&#8217;t require you to manage a second file of data, and the additional data will be easily available to users and scripts via the standard Get-Module output.</p>

	<h4>Add a &#8220;doc comment&#8221; system for Module manifest files.</h4>

	<p>The upside of this is that PoshCode wants to create module-level documentation anyway. If we use documentation comments like those used on functions we would be able to just create our own standard for them, and add any extra fields we need. It would be guaranteed not to conflict with anything you&#8217;re already doing, and in addition to missing metadata, you could have some module-level documentation beyond just the Description field of the metadata.  </p>

	<p>The problem with this is that there&#8217;s no built-in way to parse that, and doing so isn&#8217;t trivial, so you would need to just read it on our website, or read the source of the file, or have our PoshCode cmdlets in order to make any sense of it once you had a module on your system. It doesn&#8217;t integrate with PowerShell in any meaningful way.</p>

	<h4>Embed the extra data right in the manifest hashtable, using a special comment to hide it from Get-Module</h4>

	<p><code lang=&#8220;posh&#8221;<br />
@{<br />
author=&#8220;Joel Bennett&#8221;<br />
description=&#8220;My latest crazy module&#8221;<br />
<#!PoshCode<br />
License=&#8220;Ms-PL&#8221;<br />
Category=&#8220;WPF&#8221;,&#8220;GUI&#8221;,&#8220;Toolkit&#8221;
#><br />
CompanyName=&#8220;Huddled Masses&#8221;<br />
...<br />
}<br />
</code></p>

	<p>I like this because it&#8217;s fairly trivial for us to strip out the comment and just turn that into a plain-old <span class="caps">DATA</span> section.  It also lends itself to reminding the PowerShell team that these fields are missing, and maintains the existing simple syntax of the manifest.  </p>

	<p>The problem here is, again, that the data doesn&#8217;t appear using any of the standard PowerShell tools &#8212; but getting it out is significantly easier than getting out document comments&#8230;</p>

	<h4>Require a separate &#8220;ReadMe.psd1&#8221; (or &#8220;PoshCode.pds1&#8221; or &#8220;Metadata.psd1&#8221;) metadata file</h4>

	<p>You could start with a copy of your module manifest, and then add the extra stuff that PoshCode needs. This would be nice because we would be able to add any extra fields we wanted as mandatory members, and we could include the &#8220;documentation&#8221; stuff I mentioned earlier&#8230;</p>

	<p>But the downside is that it would be a third file (second manifest) that authors would have to maintain and keep current.</p>

	<p>Any thoughts? Suggestions? </p>

	<p>I&#8217;ve put some further thoughts <a href="http://wiki.poshcode.org/PoshCode_Project/CPAN_and_PoshCode_vNext">about CPAN</a> and the <a href="http://wiki.poshcode.org/PoshCode_Project/Module_Upload_System">data problem</a> on the wiki.</p>

<div class="zemanta-pixie"><a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/afd48ed4-ce64-4ce4-a1a3-9d7daffc69ed/" title="Reblog this post [with Zemanta]"><img class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_e.png?x-id=afd48ed4-ce64-4ce4-a1a3-9d7daffc69ed" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script type="text/javascript" src="http://static.zemanta.com/readside/loader.js" defer="defer"></script></span></div>]]></content:encoded>
			<wfw:commentRss>http://joelbennett.net/a-question-about-powershell-module-manifests/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PoshCode Poll: How do you want Search to work?</title>
		<link>http://joelbennett.net/poshcode-poll-how-do-you-want-search-to-work/</link>
		<comments>http://joelbennett.net/poshcode-poll-how-do-you-want-search-to-work/#comments</comments>
		<pubDate>Sun, 31 May 2009 02:07:39 +0000</pubDate>
		<dc:creator>Joel 'Jaykul' Bennett</dc:creator>
				<category><![CDATA[Huddled]]></category>
		<category><![CDATA[Poll]]></category>
		<category><![CDATA[PoshCode]]></category>
		<category><![CDATA[Search]]></category>

		<guid isPermaLink="false">http://huddledmasses.org/?p=1181</guid>
		<description><![CDATA[If you can only have ONE of these, how would you like to search our PoshCode.org script/module repository?(opinion poll)]]></description>
			<content:encoded><![CDATA[<script type="text/javascript" language="javascript" charset="utf-8" src="http://static.polldaddy.com/p/1665040.js"></script><noscript>
<a href="http://answers.polldaddy.com/poll/1665040/">If you can only have ONE of these, how would you like to search our PoshCode.org script/module repository?</a><span style="font-size:9px;">(<a href="http://answers.polldaddy.com">opinion poll</a>)</span>
</noscript>]]></content:encoded>
			<wfw:commentRss>http://joelbennett.net/poshcode-poll-how-do-you-want-search-to-work/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PoshCode now Twitters</title>
		<link>http://joelbennett.net/poshcode-now-twitters/</link>
		<comments>http://joelbennett.net/poshcode-now-twitters/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 04:29:09 +0000</pubDate>
		<dc:creator>Joel 'Jaykul' Bennett</dc:creator>
				<category><![CDATA[Huddled]]></category>
		<category><![CDATA[PoshCode]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Status]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://huddledmasses.org/?p=1122</guid>
		<description><![CDATA[Well, over the weekend I stole a few moments from thinking about PoshCode 2.0 to think about PoshCode 1.0 &#8230; and I added two things: Feedback I&#8217;ve replaced the misused &#8220;comment&#8221; box on the website with a full GetSatisfaction.com widget, so you can get your voice heard and get feedback (in the past it&#8217;s been [...]]]></description>
			<content:encoded><![CDATA[	<p>Well, over the weekend I stole a few moments from thinking about <a href="http://PoshCode.org">PoshCode</a> 2.0 to think about PoshCode 1.0 &#8230; and I added two things:</p>

	<h2>Feedback</h2>

	<p>I&#8217;ve replaced the misused &#8220;comment&#8221; box on the website with a full GetSatisfaction.com widget, so you can get your voice heard and get feedback (in the past it&#8217;s been impossible for me to respond to comments).</p>

	<h2>Twitter</h2>

	<p>PoshCode now posts new contributions to twitter on it&#8217;s own <a href="http://Twitter.com/PoshCode">PoshCode account</a>.  Feel free to follow along.  Of course, the information on there is severely truncated, by comparison with the <a href="http://www.poshcode.org/feed">PoshCode <span class="caps">RSS</span> feed</a> &#8230; and only includes the link to the website, whereas the <span class="caps">RSS</span> feed <em>also</em> includes direct download links &#8230; but I figured some of you would appreciate it anyway, and I aim to please.  <img src='http://joelbennett.net/wordpress/wp-includes/' alt=':D' class='wp-smiley' />   </p>

	<p>Of course, now in PoshCode 2 I&#8217;ll have to make sure we have users enter their twitter id&#8217;s in the profile page so we can be sure to cite you properly. Oh what a tangled web we weave&#8230;</p>]]></content:encoded>
			<wfw:commentRss>http://joelbennett.net/poshcode-now-twitters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PoshCode Updated for CTP3</title>
		<link>http://joelbennett.net/poshcode-updated-for-ctp3/</link>
		<comments>http://joelbennett.net/poshcode-updated-for-ctp3/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 20:35:17 +0000</pubDate>
		<dc:creator>Joel 'Jaykul' Bennett</dc:creator>
				<category><![CDATA[Huddled]]></category>
		<category><![CDATA[Advanced Functions]]></category>
		<category><![CDATA[CTP3]]></category>
		<category><![CDATA[Modules]]></category>
		<category><![CDATA[PoshCode]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[PowerShell Functions]]></category>

		<guid isPermaLink="false">http://huddledmasses.org/?p=930</guid>
		<description><![CDATA[I&#8217;ve updated the PoshCode script module to support CTP3, and added a -limit parameter to the Get-PoshCode cmdlet so you can specify how many items you want retrieved in the case where there are a lot of matches for your search terms &#8212; by default the limit is 25. Improvements to the underlying web search [...]]]></description>
			<content:encoded><![CDATA[	<p>I&#8217;ve updated the <a href="http://poshcode.org/PoshCode.psm1">PoshCode script module</a> to support CTP3, and added a -limit parameter to the Get-PoshCode cmdlet so you can specify how many items you want retrieved in the case where there are a lot of matches for your search terms &#8212; by default the limit is 25.</p>

	<h3>Improvements to the underlying web search <span class="caps">API</span></h3>

	<p>You’ve always been able to pass a <span class="caps">LIST</span> parameter to the <span class="caps">API</span>, and get more results by specifying a higher number. But it never worked with the &#8220;path&#8221; notation (until now).</p>

	<p>That is, you used to be able to do:</p>

	<ul>
		<li>http://poshcode.org/api1?q=start&#038;list=10</li>
	</ul>
	<ul>
		<li>http://poshcode.org/api1?q=start&#038;list=100</li>
	</ul>

	<p>To make the <span class="caps">API</span> a little easier to use I’ve enhanced it just now:</p>

	<ol>
		<li>You can now page the search results. </li>
		<li>You can use the word &#8220;limit&#8221; instead of &#8220;list&#8221;</li>
		<li>If you specify limit=0 (or list=0) I’ll give you everything I’ve got.  Please use a little precaution about that, as it could be a <span class="caps">LOT</span> of data. I’d much rather you retrieve, say … 25, and then get the second page if you want more.</li>
	</ol>
	<ol>
		<li>You can use path notation.</li>
	</ol>

	<p>So, you can use any of these URLs:</p>

	<ul>
		<li>http://poshcode.org/api1/start/list/25/page/1</li>
		<li>http://poshcode.org/api1/start/limit/25/page/2</li>
		<li>http://poshcode.org/api1?q=start&#038;list=25&#038;page=3</li>
	</ul>
	<ul>
		<li>http://poshcode.org/api1?q=start&#038;limit=25&#038;page=4</li>
	</ul>

	<p>There are a lot of search results for &#8220;start&#8221; ... feel free to play with enhancing the PoshCode module, or incorporating this into your apps, etc.</p>

	<p> <img src='http://joelbennett.net/wordpress/wp-includes/' alt='[new]' class='wp-smiley' />  I should add that you don&#8217;t <em>have</em> to specify the limit or page number.  By default you&#8217;ll get the first 10 items, which should be enough.  <img src='http://joelbennett.net/wordpress/wp-includes/' alt=':)' class='wp-smiley' /> </p>]]></content:encoded>
			<wfw:commentRss>http://joelbennett.net/poshcode-updated-for-ctp3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerShell User Group and Community News!</title>
		<link>http://joelbennett.net/powershell-user-group-and-community-news/</link>
		<comments>http://joelbennett.net/powershell-user-group-and-community-news/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 18:06:40 +0000</pubDate>
		<dc:creator>Joel 'Jaykul' Bennett</dc:creator>
				<category><![CDATA[Huddled]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[PoshCode]]></category>
		<category><![CDATA[PoshConsole]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[User Group]]></category>
		<category><![CDATA[WASP]]></category>

		<guid isPermaLink="false">http://HuddledMasses.org/powershell-user-group-and-community-news/</guid>
		<description><![CDATA[I keep forgetting to mention this! I&#8217;m speaking at the next PowerShell Virtual User Group this Thursday, November 13th at 12PM EST. Join us if you&#8217;re interested in any of my PowerShell CodePlex projects (PoshConsole, PoshCode, WASP). Actually, join us even if you&#8217;re not, because there&#8217;s going to be a demo of the latest version [...]]]></description>
			<content:encoded><![CDATA[	<p>I keep forgetting to mention this!  I&#8217;m speaking at the <a href="http://marcoshaw.blogspot.com/2008/10/windows-powershell-virtual-user-group.html">next PowerShell Virtual User Group</a> this Thursday, November 13th at 12PM <span class="caps">EST</span>. <a href="https://www.livemeeting.com/cc/winserver_usergroup/join?id=4RS44G&#38;role=attend&#38;pw=8%5E-%5CzqX">Join us</a> if you&#8217;re interested in any of my PowerShell CodePlex projects (<a href="http://CodePlex.com/PoshConsole">PoshConsole</a>, <a href="http://CodePlex.com/PoshCode">PoshCode</a>, <a href="http://CodePlex.com/WASP">WASP</a>). Actually, join us even if you&#8217;re not, because there&#8217;s going to be a demo of the latest version of PowerShell Plus by the folks from Idera, and Nathan Winters will be discussing managing Exchange with PowerShell.</p>

	<p>Also, the <a href="http://PowerShellCommunity.com">PowerShell Community</a> is running <a href="http://spreadsheets.google.com/viewform?key=pK60fL5qBA8pe-_giq0ipXw">a survey</a> about the possibility of a PowerShell convention, and what you&#8217;re interested in seeing at one&#8230; it&#8217;ll just take a moment  <img src='http://joelbennett.net/wordpress/wp-includes/' alt=':)' class='wp-smiley' /> </p>]]></content:encoded>
			<wfw:commentRss>http://joelbennett.net/powershell-user-group-and-community-news/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PoshCode OpenSearch</title>
		<link>http://joelbennett.net/poshcode-opensearch/</link>
		<comments>http://joelbennett.net/poshcode-opensearch/#comments</comments>
		<pubDate>Fri, 12 Sep 2008 05:17:55 +0000</pubDate>
		<dc:creator>Joel 'Jaykul' Bennett</dc:creator>
				<category><![CDATA[Huddled]]></category>
		<category><![CDATA[PoshCode]]></category>
		<category><![CDATA[Repository]]></category>
		<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://HuddledMasses.org/?p=653</guid>
		<description><![CDATA[Well, an interesting comment came up today that the new version of PoshCode.org that we&#8217;re working on should support OpenSearch and of course, me being me, I said: oh, OpenSearch is easy, gimme a minute&#8230; And three hours later, I&#8217;m going to bed. However, I did manage to add paging support so you can &#8220;browse&#8221; [...]]]></description>
			<content:encoded><![CDATA[	<p>Well, an interesting comment came up today that the <a href="http://CodePlex.com/PoshCode">new version</a> of <a href="http://PoshCode.org">PoshCode.org</a> that we&#8217;re working on should support <a href="http://www.opensearch.org/">OpenSearch</a> and of course, me being me, I said: oh, OpenSearch is easy, gimme a minute&#8230;</p>

	<p>And three hours later, I&#8217;m going to bed.</p>

	<p>However, I did manage to add paging support so you can &#8220;browse&#8221; the repository, and of course &#8230; to add OpenSearch.  If you visit the repository with an OpenSearch aware browser, like say &#8230; Firefox 3, or IE 7, you&#8217;ll get a little glowing notification on your search bar that there is a search engine available.  You can quickly add PoshCode&#8217;s search to your browser with a couple of clicks, and in no time flat you&#8217;re searching for PowerShell script.</p>

	<p>Incidentally, I also hooked the OpenSearch stuff up to our <span class="caps">API</span> output, so OpenSearch aware apps which <strong>do not</strong> simply render the <span class="caps">HTML</span> page can get <span class="caps">RSS</span> output that should work for you. We&#8217;re not doing <em>all</em> of OpenSearch at this point, but I think the important bits are there (certainly the bits supported in your web browser are).</p>

	<p>Feedback is welcome as always, let us know what you think of the new stuff by emailing feedback at poshcode &#8230;</p>]]></content:encoded>
			<wfw:commentRss>http://joelbennett.net/poshcode-opensearch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New PoshCode features from July 2008</title>
		<link>http://joelbennett.net/new-poshcode-features-from-july-2008/</link>
		<comments>http://joelbennett.net/new-poshcode-features-from-july-2008/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 17:25:28 +0000</pubDate>
		<dc:creator>Joel 'Jaykul' Bennett</dc:creator>
				<category><![CDATA[Huddled]]></category>
		<category><![CDATA[PoshCode]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Repository]]></category>
		<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://HuddledMasses.org/?p=586</guid>
		<description><![CDATA[So, there&#8217;s a few new features in the latest version of the PoshCode script module, and a few new features in the repository itself, including an embed feature, which I will demonstrate by embedding one here. Notice that the scripts on the site have an embed code, and it will normally embed the full height [...]]]></description>
			<content:encoded><![CDATA[	<p>So, there&#8217;s a few new features in the latest version of the PoshCode <a href="http://PoshCode/PoshCode.ps1">script</a> <a href="http://PoshCode/PoshCode.psm1">module</a>, and a few new features in the repository itself, including an embed feature, which I will demonstrate by embedding one here. Notice that the scripts on the site have an embed code, and it will normally embed the full height of the script, but you can add a height parameter as I did here to force the height and cause vertical scrolling.</p>

	<h3>Resolve <span class="caps">URL</span>
<script src="http://poshcode.org/js/187?height=200"></script></h3>

	<h3>New Cmdlet features</h3>

	<p>The latest version of both the <a href="http://PoshCode/PoshCode.ps1">v1 compatible PoshCode script</a> (you have to dot-source it) and the <a href="http://PoshCode/PoshCode.psm1">v2 CTP2 compatible module</a> support an <code>-Upgrade</code> parameter to the <code>Get-PoshCode</code> script, so you can call <code>Get-PoshCode -Upgrade</code> and it will retrieve the latest version of the script (whether you need it or not).</p>

	<p>The New-PoshCode script has been fixed so you can use it to submit to other pastebin sites (particularly, the <a href="http://posh.jaykul.com/p">temporary one</a> we use for support on <span class="caps">IRC</span>).</p>

	<h3>New Site features</h3>

	<p>The searches now return items with the same &#8220;probability&#8221; of being correct in date order, so newer versions of scripts show up at the top &#8212; this also affects the cmdlets, and the integration with apps such as <a href="http://www.powergui.org">PowerGUI</a>.  Note, however, that if an older version of the script fits your search-terms better, it may still show up at the top &#8212; I&#8217;m working on this.</p>

	<p>The PoshCode site now supports wrapping by other community sites &#8212; if you want to wrap our site in yours, let me know, and I can give you a custom subdomain and allow you some control over the display, as I did for <a href="http://powershellcommunity.poshcode.org/">PowerShell Community</a> &#8230; </p>

	<p>I finally fixed the problem with logging that my host was having, so I have a week&#8217;s worth or so of logs which Webalyzer informs me show that we average about 600 visits a day, and a surprising number of subscribers to our <span class="caps">RSS</span> feed&#8230;  <img src='http://joelbennett.net/wordpress/wp-includes/' alt=';)' class='wp-smiley' /> </p>

	<h3>Upcoming features</h3>

	<p>I have three new features planned for the next couple of weeks or so: finishing the browsing feature, implementing better version-tracking, and adding tagging.    The key feature missing from the brownsing is the ability to go to the &#8220;next page&#8221; of results (right now you can only see the first page of scripts for the site or for authors) &#8212; we should have that fixed soon.</p>

	<p>The version tracking feature (which is mostly a matter of cleaning up some db queries) will result in being able to build a visual history for a given submission, including branching, etc.  and should allow users to easily retrieve &#8220;the latest&#8221; version of a given script.</p>

	<p>Tagging will improve searching and browsing by providing a way to categorize scripts and browse by tags, but I&#8217;m a little nervous about it because it seems that to be useful it will need to allow tags to be added by users who didn&#8217;t create the original script, and this is complicated since we have not so far created a login/authentication system. </p>

	<p>I&#8217;m still debating how to properly do this, but I think that ultimately we&#8217;re going to have to use a login system with support for OpenID so that authors can identify themselves with their blog URLs, etc &#8230; and can use the same identity on the PowerShell Community site once that site gets their OpenID implementation working properly.  </p>

	<p>The alternative that I <strong>had</strong> been considering: using signed scripts as the only authentication, seems to fail in the instance of tagging &#8212; it would basically require you to make up a PSD1 file specifying the script id and the tags you want to apply and then sign it and submit it.   I think you&#8217;ll agree that&#8217;s way too much work for the end users, even if it was automated &#8212; and it would also require the server to validate the signature and parse the script!</p>]]></content:encoded>
			<wfw:commentRss>http://joelbennett.net/new-poshcode-features-from-july-2008/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Searching the PoshCode Repository</title>
		<link>http://joelbennett.net/searching-the-poshcode-repository/</link>
		<comments>http://joelbennett.net/searching-the-poshcode-repository/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 12:48:01 +0000</pubDate>
		<dc:creator>Joel 'Jaykul' Bennett</dc:creator>
				<category><![CDATA[Huddled]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PoshCode]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Searching]]></category>

		<guid isPermaLink="false">http://HuddledMasses.org/?p=565</guid>
		<description><![CDATA[I&#8217;ve been having problems with the search functionality on the PoshCOde repository, and I just thought I&#8217;d throw this up here because I just now solved the biggest problem: ranking. Up until now, the results have not been returned in order of relevance &#8212; this is because the search works using MySQL&#8217;s FULLTEXT BOOLEAN search, [...]]]></description>
			<content:encoded><![CDATA[	<p>I&#8217;ve been having problems with the search functionality on the PoshCOde repository, and I just thought I&#8217;d throw this up here because I just now solved the <strong>biggest</strong> problem: ranking. Up until now, the results have not been returned in order of relevance &#8212; this is because the search works using MySQL&#8217;s <a href="http://dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.html"><span class="caps">FULLTEXT</span> BOOLEAN</a> search, which doesn&#8217;t return in relevance order, nor does it return an extra &#8216;score&#8217; column.</p>

	<p>I&#8217;ve fixed that, and weighted the search so that words in the title count more than words in the code by creating a relevance column by hand:</p>

	<div class="sql code sql" style="font-family:monospace;"><br />
<span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*,</span><br />
<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1.3</span> <span style="color: #66cc66;">*</span> <span style="color: #66cc66;">&#40;</span>MATCH<span style="color: #66cc66;">&#40;</span>posttitle<span style="color: #66cc66;">&#41;</span> AGAINST <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'keywords'</span> <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #993333; font-weight: bold;">BOOLEAN</span> MODE<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
<span style="color: #66cc66;">+</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.8</span> <span style="color: #66cc66;">*</span> <span style="color: #66cc66;">&#40;</span>MATCH<span style="color: #66cc66;">&#40;</span>description<span style="color: #66cc66;">&#41;</span> AGAINST <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'keywords'</span> <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #993333; font-weight: bold;">BOOLEAN</span> MODE<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
<span style="color: #66cc66;">+</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1.0</span> <span style="color: #66cc66;">*</span> <span style="color: #66cc66;">&#40;</span>MATCH<span style="color: #66cc66;">&#40;</span>code<span style="color: #66cc66;">&#41;</span> AGAINST <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'keywords'</span> <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #993333; font-weight: bold;">BOOLEAN</span> MODE<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> relevance <br />
<span style="color: #993333; font-weight: bold;">FROM</span> pastebin <span style="color: #993333; font-weight: bold;">WHERE</span> MATCH <span style="color: #66cc66;">&#40;</span>posttitle<span style="color: #66cc66;">,</span>description<span style="color: #66cc66;">,</span>code<span style="color: #66cc66;">&#41;</span> AGAINST <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'keywords'</span> <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #993333; font-weight: bold;">BOOLEAN</span> MODE<span style="color: #66cc66;">&#41;</span> <br />
<span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> relevance <span style="color: #993333; font-weight: bold;">DESC</span> <span style="color: #993333; font-weight: bold;">LIMIT</span> <span style="color: #cc66cc;">25</span><br />
&nbsp;</div>

	<p>Incidentally, the <span class="caps">FULLTEXT</span> index means that words shorter than 4 characters don&#8217;t count (I&#8217;m going to try to get this changed, but it&#8217;s an option for MySQL, so it has to be changed in the config file) in the meantime you can search for words using the wildcard character, like: SQL* and it sort-of works.  The PoshCode cmdlet actually was adding *&#8216;s to the query (although I&#8217;ve just decided that&#8217;s not a good idea, because it means that queries from the cmdlet appear to have different results than queries on the website.</p>

	<p>MySQL&#8217;s <a href="http://dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.html"><span class="caps">FULLTEXT</span> BOOLEAN</a> search has all sorts of features (and limitations): there is a stopword list, maximum and minimum word lengths, and all sorts of operators for setting word precedence or negating words, or weighting them negatively &#8230; to <span class="caps">REQUIRE</span> that a word be present, it must have a + in front, and in order to mark a word as more important, you have to put > in front, not just put it first&#8230; I&#8217;ve been thinking about trying to apply a few of those tricks myself (eg: put * on words under four characters, and put > on the first 30% of words and < on the last 30% to try to simulate weighting them &#8230;) but my original feeling was that the search is more powerful if you just know that it&#8217;s a fulltext boolean search and can write your queries accordingly.</p>

	<p>If anyone has any ideas for how to improve search in MySQL &#8230; or opinions on whether I should try to apply boolean operators to queries which don&#8217;t already have them &#8230; please let me know.</p>]]></content:encoded>
			<wfw:commentRss>http://joelbennett.net/searching-the-poshcode-repository/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

