<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>PoshCode Wiki &amp; Documentation Rss Feed</title><link>http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=Home</link><description>PoshCode Wiki Rss Description</description><item><title>Updated Wiki: WebUI</title><link>http://poshcode.codeplex.com/Wiki/View.aspx?title=WebUI&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
We really should probably start putting together a UI Spec ...&lt;br /&gt; &lt;br /&gt;In proper MVC fashion, there's no reason we have to wait until the rest of the logic is done ...&lt;br /&gt; &lt;br /&gt;&amp;lt;RichardP&amp;gt; ok, i can do basic html mockups fairly quickly - week or two? See if you like them and then &lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=convert%20to&amp;amp;referringTitle=WebUI"&gt;convert to&lt;/a&gt; mvc ...&lt;br /&gt;&amp;lt;Jaykul&amp;gt; Yeah, that would be great&lt;br /&gt; &lt;br /&gt;Borrow heavily from Digg, zembly, php.net ...&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
For the record: We wan't a light design.  Not black on white necessarily, but navy or green on light yellow or beige...
&lt;/h2&gt; &lt;br /&gt;The front page will be a list of scripts. Search results, user profiles, and navigation (categories, and tags) will be lists.  There will also be a page template for the items, and of course the user profile will have profile data on it, before the list of scripts by that user.&lt;br /&gt; &lt;br /&gt;Navigation-wise: there will be a category tree (possibly stolen from Microsoft's scriptcenter), and there will be free-form tags (and logged in users will be able to tag everything: people, scripts, whatever).&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Whenever we have lists, they must be abbreviated compared to the current front page/search list (less &lt;i&gt;content&lt;/i&gt; for each item, more items)&lt;/li&gt;&lt;li&gt;We must have a conspicuous &amp;quot;contribute&amp;quot; button EVERYWHERE&lt;/li&gt;&lt;li&gt;On the item pages, there will be a comments section for each submission (do we want these per-version? If not, we should do newest on top)&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;I believe we want to have two types of &amp;quot;reuse&amp;quot;: EDIT and COPY FROM.  The idea being that in the first case you're creating a new version of the base script, but in the second you're creating a new script which borrows from the first script.  Perhaps what I really mean is that &amp;quot;edit&amp;quot; should copy over the content from the base script, whereas &amp;quot;copy from&amp;quot; should just be something where you can fill in a field with a list of &amp;quot;related contributions.&amp;quot; What do you think?&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;There must be a button on every script contribution to &amp;quot;edit&amp;quot; it (ie: create a new contribution based on it)&lt;/li&gt;
&lt;/ul&gt;&lt;ol&gt;
&lt;li&gt;There will be levels of contributions (I have a list in the spreadsheet on http://docs.poshcode.org) but from memory: snippet, function, script, module, and BINARY module.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;h2&gt;
There will be multiple code languages present 
&lt;/h2&gt; &lt;br /&gt;At least PowerShell and .net langs: C#, VB, Python, Ruby, &lt;b&gt;PLUS:&lt;/b&gt; VBScript and Perl are mandatory. However, there's no need to highlight the multi-language features, they'll be filterable in the search feature, of course.&lt;br /&gt; &lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a26%3a14&amp;amp;referringTitle=WebUI"&gt;16:26:14&lt;/a&gt; &amp;lt;Jaykul&amp;gt; yep&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a26%3a24&amp;amp;referringTitle=WebUI"&gt;16:26:24&lt;/a&gt; *Jaykul is logging this to put on the wiki&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a26%3a28&amp;amp;referringTitle=WebUI"&gt;16:26:28&lt;/a&gt; &amp;lt;RichardP&amp;gt; Jaykul: php documentation engine - steal heavily from it, its fucking awesome&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a27%3a09&amp;amp;referringTitle=WebUI"&gt;16:27:09&lt;/a&gt; &amp;lt;RichardP&amp;gt; and looks to be a large part of what you want - sure, theres lots of stuff you want on top, but its quite a way there.  steal from it :)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a27%3a30&amp;amp;referringTitle=WebUI"&gt;16:27:30&lt;/a&gt; *Jaykul nods&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a27%3a35&amp;amp;referringTitle=WebUI"&gt;16:27:35&lt;/a&gt; &amp;lt;Jaykul&amp;gt; so, on the front page (and on search results), each item will have:  &lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a27%3a42&amp;amp;referringTitle=WebUI"&gt;16:27:42&lt;/a&gt; &amp;lt;RichardP&amp;gt; and the layout is good as well&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a27%3a54&amp;amp;referringTitle=WebUI"&gt;16:27:54&lt;/a&gt; &amp;lt;Jaykul&amp;gt; * RANK (there will be user-voting, but not from the list pages)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a28%3a13&amp;amp;referringTitle=WebUI"&gt;16:28:13&lt;/a&gt; &amp;lt;Jaykul&amp;gt; * Submitter (or &amp;quot;anonymous&amp;quot;)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a28%3a17&amp;amp;referringTitle=WebUI"&gt;16:28:17&lt;/a&gt; &amp;lt;Jaykul&amp;gt; * Title&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a28%3a27&amp;amp;referringTitle=WebUI"&gt;16:28:27&lt;/a&gt; &amp;lt;Jaykul&amp;gt; * The first line of the &amp;quot;Description&amp;quot;&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a29%3a06&amp;amp;referringTitle=WebUI"&gt;16:29:06&lt;/a&gt; &amp;lt;Jaykul&amp;gt; * Language (maybe an &amp;quot;icon&amp;quot; in the right-corner of the &amp;quot;box&amp;quot; for each submission?)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a29%3a28&amp;amp;referringTitle=WebUI"&gt;16:29:28&lt;/a&gt; &amp;lt;RichardP&amp;gt; what icon could symbolise a language?&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a29%3a36&amp;amp;referringTitle=WebUI"&gt;16:29:36&lt;/a&gt; &amp;lt;RichardP&amp;gt; oh&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a29%3a38&amp;amp;referringTitle=WebUI"&gt;16:29:38&lt;/a&gt; &amp;lt;RichardP&amp;gt; heh&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a29%3a44&amp;amp;referringTitle=WebUI"&gt;16:29:44&lt;/a&gt; &amp;lt;palen&amp;gt; Powershell has the &amp;gt;_&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a29%3a45&amp;amp;referringTitle=WebUI"&gt;16:29:45&lt;/a&gt; &amp;lt;Jaykul&amp;gt; Well, like &amp;quot;&amp;gt;_&amp;quot; or &amp;quot;C#&amp;quot;&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a29%3a47&amp;amp;referringTitle=WebUI"&gt;16:29:47&lt;/a&gt; &amp;lt;RichardP&amp;gt; yeah, lancuage :)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a29%3a56&amp;amp;referringTitle=WebUI"&gt;16:29:56&lt;/a&gt; &amp;lt;Jaykul&amp;gt; or &amp;quot;VB&amp;quot; or whatever&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a29%3a56&amp;amp;referringTitle=WebUI"&gt;16:29:56&lt;/a&gt; &amp;lt;palen&amp;gt; Ruby could be a ....ruby&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a30%3a03&amp;amp;referringTitle=WebUI"&gt;16:30:03&lt;/a&gt; &amp;lt;RichardP&amp;gt; I was thinking 'cant do country flags cos China has like a billion langauges'&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a30%3a20&amp;amp;referringTitle=WebUI"&gt;16:30:20&lt;/a&gt; &amp;lt;palen&amp;gt; Haha&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a30%3a23&amp;amp;referringTitle=WebUI"&gt;16:30:23&lt;/a&gt; &amp;lt;Jaykul&amp;gt; hehe&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a31%3a11&amp;amp;referringTitle=WebUI"&gt;16:31:11&lt;/a&gt; &amp;lt;Jaykul&amp;gt; * Links: 1) to the full details page, 2) direct to the download, 3) to the user profile of the submitter&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a31%3a36&amp;amp;referringTitle=WebUI"&gt;16:31:36&lt;/a&gt; &amp;lt;RichardP&amp;gt; Jaykul: how about an 'add to download package' feature as well?&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a31%3a39&amp;amp;referringTitle=WebUI"&gt;16:31:39&lt;/a&gt; &amp;lt;Jaykul&amp;gt; * Tags: at least the first 3 or so &lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a31%3a55&amp;amp;referringTitle=WebUI"&gt;16:31:55&lt;/a&gt; &amp;lt;Jaykul&amp;gt; RichardP: uhm... how about for v2.2&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a31%3a56&amp;amp;referringTitle=WebUI"&gt;16:31:56&lt;/a&gt; &amp;lt;Jaykul&amp;gt; ;)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a32%3a01&amp;amp;referringTitle=WebUI"&gt;16:32:01&lt;/a&gt; &amp;lt;RichardP&amp;gt; heh&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a32%3a26&amp;amp;referringTitle=WebUI"&gt;16:32:26&lt;/a&gt; &amp;lt;Jaykul&amp;gt; I have a hard deadline in May for this to be up&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a32%3a28&amp;amp;referringTitle=WebUI"&gt;16:32:28&lt;/a&gt; &amp;lt;Jaykul&amp;gt; ;)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a32%3a41&amp;amp;referringTitle=WebUI"&gt;16:32:41&lt;/a&gt; &amp;lt;RichardP&amp;gt; hahahah&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a32%3a44&amp;amp;referringTitle=WebUI"&gt;16:32:44&lt;/a&gt; &amp;lt;RichardP&amp;gt; :D&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a32%3a51&amp;amp;referringTitle=WebUI"&gt;16:32:51&lt;/a&gt; *Jaykul sighs&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a32%3a54&amp;amp;referringTitle=WebUI"&gt;16:32:54&lt;/a&gt; &amp;lt;RichardP&amp;gt; why the hard deadline?&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a33%3a03&amp;amp;referringTitle=WebUI"&gt;16:33:03&lt;/a&gt; &amp;lt;palen&amp;gt; TechEd?&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a33%3a05&amp;amp;referringTitle=WebUI"&gt;16:33:05&lt;/a&gt; &amp;lt;Jaykul&amp;gt; Uhm... &lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a33%3a11&amp;amp;referringTitle=WebUI"&gt;16:33:11&lt;/a&gt; *Jaykul whistles idle&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a33%3a16&amp;amp;referringTitle=WebUI"&gt;16:33:16&lt;/a&gt; &amp;lt;RichardP&amp;gt; heh&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a33%3a16&amp;amp;referringTitle=WebUI"&gt;16:33:16&lt;/a&gt; &amp;lt;palen&amp;gt; :o&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a33%3a22&amp;amp;referringTitle=WebUI"&gt;16:33:22&lt;/a&gt; &amp;lt;RichardP&amp;gt; oh yes&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a33%3a25&amp;amp;referringTitle=WebUI"&gt;16:33:25&lt;/a&gt; &amp;lt;RichardP&amp;gt; i do recall&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a33%3a34&amp;amp;referringTitle=WebUI"&gt;16:33:34&lt;/a&gt; &amp;lt;Jaykul&amp;gt; Lets just say ... there might be something big later in the summer&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a33%3a53&amp;amp;referringTitle=WebUI"&gt;16:33:53&lt;/a&gt; *** ghostz has left the room (&amp;quot;http://www.mibbit.com ajax IRC Client&amp;quot; (i=aab90e64@gateway/web/ajax/mibbit.com/x-44b5adf02bee9266))&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a33%3a56&amp;amp;referringTitle=WebUI"&gt;16:33:56&lt;/a&gt; &amp;lt;Jaykul&amp;gt; I should know for sure later this week&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a34%3a07&amp;amp;referringTitle=WebUI"&gt;16:34:07&lt;/a&gt; &amp;lt;RichardP&amp;gt; Jaykul: Im away this weekend, but I have all of next week and weekend to put some serious work in&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a34%3a08&amp;amp;referringTitle=WebUI"&gt;16:34:08&lt;/a&gt; &amp;lt;palen&amp;gt; I bet it has something to do with that interchange between Jaykul and hal about 'that thing only you and I know about'&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a34%3a23&amp;amp;referringTitle=WebUI"&gt;16:34:23&lt;/a&gt; &amp;lt;RichardP&amp;gt; palen: oh, other people know :)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a35%3a38&amp;amp;referringTitle=WebUI"&gt;16:35:38&lt;/a&gt; &amp;lt;Jaykul&amp;gt; Yeah, there was a conf call earlier ...&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a36%3a05&amp;amp;referringTitle=WebUI"&gt;16:36:05&lt;/a&gt; *Jaykul trails off&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a36%3a15&amp;amp;referringTitle=WebUI"&gt;16:36:15&lt;/a&gt; &amp;lt;palen&amp;gt; Ominious&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a36%3a17&amp;amp;referringTitle=WebUI"&gt;16:36:17&lt;/a&gt; &amp;lt;Jaykul&amp;gt; and I don't want to talk about it for fear of jinxing it&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a36%3a20&amp;amp;referringTitle=WebUI"&gt;16:36:20&lt;/a&gt; &amp;lt;palen&amp;gt; And ominous&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a36%3a32&amp;amp;referringTitle=WebUI"&gt;16:36:32&lt;/a&gt; &amp;lt;palen&amp;gt; Fair enough&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a36%3a40&amp;amp;referringTitle=WebUI"&gt;16:36:40&lt;/a&gt; &amp;lt;Jaykul&amp;gt; but in any case, it involves getting this up sooner rather than later.&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a36%3a50&amp;amp;referringTitle=WebUI"&gt;16:36:50&lt;/a&gt; &amp;lt;RichardP&amp;gt; Jaykul: just one requestion - please please please dont make me do a tag cloud , they are only self propagating&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a37%3a04&amp;amp;referringTitle=WebUI"&gt;16:37:04&lt;/a&gt; &amp;lt;RichardP&amp;gt; oooh, new word - requestion :D&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a37%3a24&amp;amp;referringTitle=WebUI"&gt;16:37:24&lt;/a&gt; &amp;lt;Jaykul&amp;gt; self-propagating?&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a38%3a23&amp;amp;referringTitle=WebUI"&gt;16:38:23&lt;/a&gt; &amp;lt;RichardP&amp;gt; Jaykul: click on one, it gets bigger because its used, which means people are more likely to click on it, which means its more popular, which means it gets bigger, which means...&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a38%3a31&amp;amp;referringTitle=WebUI"&gt;16:38:31&lt;/a&gt; &amp;lt;Jaykul&amp;gt; oic&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a39%3a11&amp;amp;referringTitle=WebUI"&gt;16:39:11&lt;/a&gt; &amp;lt;Jaykul&amp;gt; We will have tagging, but I don't see any value in showing how often a tag gets used, or which tags are more popular&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a39%3a57&amp;amp;referringTitle=WebUI"&gt;16:39:57&lt;/a&gt; &amp;lt;RichardP&amp;gt; i have no issue with tagging, or even showing in a list whats more popular, but tag clouds are horrible things&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a40%3a05&amp;amp;referringTitle=WebUI"&gt;16:40:05&lt;/a&gt; &amp;lt;Jaykul&amp;gt; hehe&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a40%3a21&amp;amp;referringTitle=WebUI"&gt;16:40:21&lt;/a&gt; &amp;lt;Jaykul&amp;gt; Fine with me :)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a40%3a42&amp;amp;referringTitle=WebUI"&gt;16:40:42&lt;/a&gt; &amp;lt;Jaykul&amp;gt; OK, so ... I think that mostly covers the ... &amp;quot;list&amp;quot; pages&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a41%3a18&amp;amp;referringTitle=WebUI"&gt;16:41:18&lt;/a&gt; &amp;lt;Jaykul&amp;gt; the actual details pages are going to need to show ... all the data in that Dublin Core document&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a41%3a20&amp;amp;referringTitle=WebUI"&gt;16:41:20&lt;/a&gt; &amp;lt;palen&amp;gt; Wow&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a41%3a22&amp;amp;referringTitle=WebUI"&gt;16:41:22&lt;/a&gt; &amp;lt;Jaykul&amp;gt; plus the script&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a41%3a30&amp;amp;referringTitle=WebUI"&gt;16:41:30&lt;/a&gt; &amp;lt;palen&amp;gt; Some people have no filter on their bug reports...&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a41%3a34&amp;amp;referringTitle=WebUI"&gt;16:41:34&lt;/a&gt; &amp;lt;Jaykul&amp;gt; (or scripts, at some point)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a41%3a36&amp;amp;referringTitle=WebUI"&gt;16:41:36&lt;/a&gt; *** pantocrator has joined the room as a participant and a member&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a42%3a05&amp;amp;referringTitle=WebUI"&gt;16:42:05&lt;/a&gt; &amp;lt;pantocrator&amp;gt; hi&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a43%3a25&amp;amp;referringTitle=WebUI"&gt;16:43:25&lt;/a&gt; &amp;lt;Jaykul&amp;gt; hi&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a44%3a48&amp;amp;referringTitle=WebUI"&gt;16:44:48&lt;/a&gt; &amp;lt;Jaykul&amp;gt; RichardP: Two interesting UI-type things I want to try: 1) &amp;quot;derivative scripts&amp;quot; (ala github: show how many people have posted new versions of, or new contributions based on &amp;quot;this&amp;quot; contribution (this is important for May))  2) a &amp;quot;edit history&amp;quot; timeline ... as a way to show the &amp;quot;previous versions&amp;quot; of a script.&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a45%3a23&amp;amp;referringTitle=WebUI"&gt;16:45:23&lt;/a&gt; &amp;lt;palen&amp;gt; Oo, oo, could we hook them up to NodeXL?&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a45%3a26&amp;amp;referringTitle=WebUI"&gt;16:45:26&lt;/a&gt; &amp;lt;RichardP&amp;gt; Jaykul: 3) 'where has this code been used elsewhere?'&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a45%3a34&amp;amp;referringTitle=WebUI"&gt;16:45:34&lt;/a&gt; &amp;lt;Jaykul&amp;gt; For the timeline thing we might be able to borrow from the chandler project thing&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a45%3a46&amp;amp;referringTitle=WebUI"&gt;16:45:46&lt;/a&gt; &amp;lt;Jaykul&amp;gt; Or make something in Silverlight&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a45%3a53&amp;amp;referringTitle=WebUI"&gt;16:45:53&lt;/a&gt; &amp;lt;Jaykul&amp;gt; for either, or both&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a46%3a01&amp;amp;referringTitle=WebUI"&gt;16:46:01&lt;/a&gt; &amp;lt;Jaykul&amp;gt; palen: Hmmm!&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a47%3a48&amp;amp;referringTitle=WebUI"&gt;16:47:48&lt;/a&gt; &amp;lt;palen&amp;gt; And a ZUI&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a47%3a57&amp;amp;referringTitle=WebUI"&gt;16:47:57&lt;/a&gt; &amp;lt;Jaykul&amp;gt; deepzoom&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a48%3a15&amp;amp;referringTitle=WebUI"&gt;16:48:15&lt;/a&gt; &amp;lt;Jaykul&amp;gt; ooh, timelines for users ...&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a48%3a27&amp;amp;referringTitle=WebUI"&gt;16:48:27&lt;/a&gt; &amp;lt;Jaykul&amp;gt; that would be cool&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a48%3a34&amp;amp;referringTitle=WebUI"&gt;16:48:34&lt;/a&gt; &amp;lt;Jaykul&amp;gt; we will want profile pages for users &lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a48%3a52&amp;amp;referringTitle=WebUI"&gt;16:48:52&lt;/a&gt; &amp;lt;Jaykul&amp;gt; and a &amp;quot;diff&amp;quot; page &lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a49%3a04&amp;amp;referringTitle=WebUI"&gt;16:49:04&lt;/a&gt; &amp;lt;palen&amp;gt; Profiles optionally linked to twitter?&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a49%3a17&amp;amp;referringTitle=WebUI"&gt;16:49:17&lt;/a&gt; &amp;lt;RichardP&amp;gt; oh god, please dont include any social networking stuff ;)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a49%3a25&amp;amp;referringTitle=WebUI"&gt;16:49:25&lt;/a&gt; &amp;lt;Jaykul&amp;gt; profiles &lt;b&gt;will&lt;/b&gt; include twitter ids&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a49%3a26&amp;amp;referringTitle=WebUI"&gt;16:49:26&lt;/a&gt; &amp;lt;palen&amp;gt; Haha&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a49%3a32&amp;amp;referringTitle=WebUI"&gt;16:49:32&lt;/a&gt; &amp;lt;Jaykul&amp;gt; but I dono about anything else&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a49%3a33&amp;amp;referringTitle=WebUI"&gt;16:49:33&lt;/a&gt; &amp;lt;palen&amp;gt; Ha, I win!&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a49%3a46&amp;amp;referringTitle=WebUI"&gt;16:49:46&lt;/a&gt; *RichardP sharpens his stabby thing&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a49%3a46&amp;amp;referringTitle=WebUI"&gt;16:49:46&lt;/a&gt; &amp;lt;Jaykul&amp;gt; the PoshCode bot already posts on twitter&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a49%3a53&amp;amp;referringTitle=WebUI"&gt;16:49:53&lt;/a&gt; &amp;lt;Jaykul&amp;gt; whenever someone contributes&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a50%3a08&amp;amp;referringTitle=WebUI"&gt;16:50:08&lt;/a&gt; &amp;lt;Jaykul&amp;gt; Twitter is the new, suckier, RSS&lt;br /&gt;
&lt;/div&gt;</description><author>Jaykul</author><pubDate>Fri, 20 Mar 2009 16:38:42 GMT</pubDate><guid isPermaLink="false">Updated Wiki: WebUI 20090320043842P</guid></item><item><title>Updated Wiki: WebUI</title><link>http://poshcode.codeplex.com/Wiki/View.aspx?title=WebUI&amp;version=1</link><description>&lt;div class="wikidoc"&gt;
&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a12%3a43&amp;amp;referringTitle=WebUI"&gt;16:12:43&lt;/a&gt; &amp;lt;Jaykul&amp;gt; Actually, you really could probably start putting together a UI in proper MVC fashion ...&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a12%3a46&amp;amp;referringTitle=WebUI"&gt;16:12:46&lt;/a&gt; &amp;lt;RichardP&amp;gt; ok, i can do basic html mockups fairly quickly - week or two?&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a13%3a04&amp;amp;referringTitle=WebUI"&gt;16:13:04&lt;/a&gt; &amp;lt;RichardP&amp;gt; see if you like them and then do the mvc step&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a13%3a16&amp;amp;referringTitle=WebUI"&gt;16:13:16&lt;/a&gt; &amp;lt;Jaykul&amp;gt; I mean, we know what data we will have, and what we will need feature-wise on the UI&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a13%3a22&amp;amp;referringTitle=WebUI"&gt;16:13:22&lt;/a&gt; *Jaykul nods&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a13%3a28&amp;amp;referringTitle=WebUI"&gt;16:13:28&lt;/a&gt; &amp;lt;Jaykul&amp;gt; Yeah, that would be great&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a14%3a00&amp;amp;referringTitle=WebUI"&gt;16:14:00&lt;/a&gt; &amp;lt;RichardP&amp;gt; do you have a featurelist for the UI?&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a14%3a36&amp;amp;referringTitle=WebUI"&gt;16:14:36&lt;/a&gt; &amp;lt;Jaykul&amp;gt; That's a good question.&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a15%3a53&amp;amp;referringTitle=WebUI"&gt;16:15:53&lt;/a&gt; &amp;lt;Jaykul&amp;gt; I think I'm going to say: not really.&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a16%3a20&amp;amp;referringTitle=WebUI"&gt;16:16:20&lt;/a&gt; &amp;lt;RichardP&amp;gt; heh&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a16%3a30&amp;amp;referringTitle=WebUI"&gt;16:16:30&lt;/a&gt; &amp;lt;RichardP&amp;gt; got any ideas of what you actually want?&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a17%3a15&amp;amp;referringTitle=WebUI"&gt;16:17:15&lt;/a&gt; &amp;lt;Jaykul&amp;gt; I just checked, and although there's a section labelled &amp;quot;User Interface&amp;quot; in my requirements page on the wiki, it's basically empty.&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a17%3a19&amp;amp;referringTitle=WebUI"&gt;16:17:19&lt;/a&gt; &amp;lt;Jaykul&amp;gt; so&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a17%3a52&amp;amp;referringTitle=WebUI"&gt;16:17:52&lt;/a&gt; &amp;lt;Jaykul&amp;gt; 1) the list of scripts must be abbreviated, compared to the current list &lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a18%3a07&amp;amp;referringTitle=WebUI"&gt;16:18:07&lt;/a&gt; &amp;lt;Jaykul&amp;gt; (less content for each item, more items)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a18%3a53&amp;amp;referringTitle=WebUI"&gt;16:18:53&lt;/a&gt; &amp;lt;Jaykul&amp;gt; 2) We must have a conspicuous &amp;quot;contribute&amp;quot; button EVERYWHERE&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a20%3a03&amp;amp;referringTitle=WebUI"&gt;16:20:03&lt;/a&gt; &amp;lt;RichardP&amp;gt; Jaykul: heh&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a20%3a06&amp;amp;referringTitle=WebUI"&gt;16:20:06&lt;/a&gt; &amp;lt;RichardP&amp;gt; Jaykul: categories?&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a20%3a10&amp;amp;referringTitle=WebUI"&gt;16:20:10&lt;/a&gt; &amp;lt;Jaykul&amp;gt; 3) Everyone wants a lighter design ala Digg/zembly: not black on white, but navy or green on light yellow or beige&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a20%3a12&amp;amp;referringTitle=WebUI"&gt;16:20:12&lt;/a&gt; &amp;lt;RichardP&amp;gt; Jaykul: languages?&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a20%3a18&amp;amp;referringTitle=WebUI"&gt;16:20:18&lt;/a&gt; &amp;lt;Jaykul&amp;gt; structure-wise:&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a20%3a43&amp;amp;referringTitle=WebUI"&gt;16:20:43&lt;/a&gt; &amp;lt;Jaykul&amp;gt; there will be a category tree (possibly stolen from Microsoft's scriptcenter)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a20%3a56&amp;amp;referringTitle=WebUI"&gt;16:20:56&lt;/a&gt; &amp;lt;RichardP&amp;gt; Jaykul: levels of code? (project, class, function or snippet?)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a21%3a04&amp;amp;referringTitle=WebUI"&gt;16:21:04&lt;/a&gt; &amp;lt;Jaykul&amp;gt; there will be free-form tags (and logged in users will be able to tag anything)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a21%3a13&amp;amp;referringTitle=WebUI"&gt;16:21:13&lt;/a&gt; &amp;lt;Jaykul&amp;gt; there will be comments on each submission&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a21%3a56&amp;amp;referringTitle=WebUI"&gt;16:21:56&lt;/a&gt; &amp;lt;Jaykul&amp;gt; there must be a button on every script contribution to &amp;quot;edit&amp;quot; it (ie: create a new contribution based on it)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a23%3a51&amp;amp;referringTitle=WebUI"&gt;16:23:51&lt;/a&gt; &amp;lt;Jaykul&amp;gt; There will be levels of code (I have a list in the spreadsheet on http://docs.poshcode.org that I shared on the email list earlier, but I can't access it from here: snippet, function, script, module, and BINARY module.&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a23%3a54&amp;amp;referringTitle=WebUI"&gt;16:23:54&lt;/a&gt; &amp;lt;Jaykul&amp;gt; I think&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a24%3a18&amp;amp;referringTitle=WebUI"&gt;16:24:18&lt;/a&gt; *** PenPerk has joined the room as a participant and a member&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a24%3a37&amp;amp;referringTitle=WebUI"&gt;16:24:37&lt;/a&gt; &amp;lt;Jaykul&amp;gt; There will be multiple code languages present &lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a25%3a34&amp;amp;referringTitle=WebUI"&gt;16:25:34&lt;/a&gt; &amp;lt;Jaykul&amp;gt; (at least PowerShell and .net langs: C#|VB|Python|Ruby, PLUS: VBScript and Perl)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a25%3a52&amp;amp;referringTitle=WebUI"&gt;16:25:52&lt;/a&gt; &amp;lt;RichardP&amp;gt; Jaykul: can I suggest something?&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a26%3a09&amp;amp;referringTitle=WebUI"&gt;16:26:09&lt;/a&gt; &amp;lt;Jaykul&amp;gt; but there's no need to highlight that, except they'll be filterable in the search feature, of course&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a26%3a14&amp;amp;referringTitle=WebUI"&gt;16:26:14&lt;/a&gt; &amp;lt;Jaykul&amp;gt; yep&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a26%3a24&amp;amp;referringTitle=WebUI"&gt;16:26:24&lt;/a&gt; *Jaykul is logging this to put on the wiki&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a26%3a28&amp;amp;referringTitle=WebUI"&gt;16:26:28&lt;/a&gt; &amp;lt;RichardP&amp;gt; Jaykul: php documentation engine - steal heavily from it, its fucking awesome&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a27%3a09&amp;amp;referringTitle=WebUI"&gt;16:27:09&lt;/a&gt; &amp;lt;RichardP&amp;gt; and looks to be a large part of what you want - sure, theres lots of stuff you want on top, but its quite a way there.  steal from it :)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a27%3a30&amp;amp;referringTitle=WebUI"&gt;16:27:30&lt;/a&gt; *Jaykul nods&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a27%3a35&amp;amp;referringTitle=WebUI"&gt;16:27:35&lt;/a&gt; &amp;lt;Jaykul&amp;gt; so, on the front page (and on search results), each item will have:  &lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a27%3a42&amp;amp;referringTitle=WebUI"&gt;16:27:42&lt;/a&gt; &amp;lt;RichardP&amp;gt; and the layout is good as well&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a27%3a54&amp;amp;referringTitle=WebUI"&gt;16:27:54&lt;/a&gt; &amp;lt;Jaykul&amp;gt; * RANK (there will be user-voting, but not from the list pages)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a28%3a13&amp;amp;referringTitle=WebUI"&gt;16:28:13&lt;/a&gt; &amp;lt;Jaykul&amp;gt; * Submitter (or &amp;quot;anonymous&amp;quot;)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a28%3a17&amp;amp;referringTitle=WebUI"&gt;16:28:17&lt;/a&gt; &amp;lt;Jaykul&amp;gt; * Title&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a28%3a27&amp;amp;referringTitle=WebUI"&gt;16:28:27&lt;/a&gt; &amp;lt;Jaykul&amp;gt; * The first line of the &amp;quot;Description&amp;quot;&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a29%3a06&amp;amp;referringTitle=WebUI"&gt;16:29:06&lt;/a&gt; &amp;lt;Jaykul&amp;gt; * Language (maybe an &amp;quot;icon&amp;quot; in the right-corner of the &amp;quot;box&amp;quot; for each submission?)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a29%3a28&amp;amp;referringTitle=WebUI"&gt;16:29:28&lt;/a&gt; &amp;lt;RichardP&amp;gt; what icon could symbolise a language?&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a29%3a36&amp;amp;referringTitle=WebUI"&gt;16:29:36&lt;/a&gt; &amp;lt;RichardP&amp;gt; oh&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a29%3a38&amp;amp;referringTitle=WebUI"&gt;16:29:38&lt;/a&gt; &amp;lt;RichardP&amp;gt; heh&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a29%3a44&amp;amp;referringTitle=WebUI"&gt;16:29:44&lt;/a&gt; &amp;lt;palen&amp;gt; Powershell has the &amp;gt;_&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a29%3a45&amp;amp;referringTitle=WebUI"&gt;16:29:45&lt;/a&gt; &amp;lt;Jaykul&amp;gt; Well, like &amp;quot;&amp;gt;_&amp;quot; or &amp;quot;C#&amp;quot;&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a29%3a47&amp;amp;referringTitle=WebUI"&gt;16:29:47&lt;/a&gt; &amp;lt;RichardP&amp;gt; yeah, lancuage :)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a29%3a56&amp;amp;referringTitle=WebUI"&gt;16:29:56&lt;/a&gt; &amp;lt;Jaykul&amp;gt; or &amp;quot;VB&amp;quot; or whatever&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a29%3a56&amp;amp;referringTitle=WebUI"&gt;16:29:56&lt;/a&gt; &amp;lt;palen&amp;gt; Ruby could be a ....ruby&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a30%3a03&amp;amp;referringTitle=WebUI"&gt;16:30:03&lt;/a&gt; &amp;lt;RichardP&amp;gt; I was thinking 'cant do country flags cos China has like a billion langauges'&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a30%3a20&amp;amp;referringTitle=WebUI"&gt;16:30:20&lt;/a&gt; &amp;lt;palen&amp;gt; Haha&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a30%3a23&amp;amp;referringTitle=WebUI"&gt;16:30:23&lt;/a&gt; &amp;lt;Jaykul&amp;gt; hehe&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a31%3a11&amp;amp;referringTitle=WebUI"&gt;16:31:11&lt;/a&gt; &amp;lt;Jaykul&amp;gt; * Links: 1) to the full details page, 2) direct to the download, 3) to the user profile of the submitter&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a31%3a36&amp;amp;referringTitle=WebUI"&gt;16:31:36&lt;/a&gt; &amp;lt;RichardP&amp;gt; Jaykul: how about an 'add to download package' feature as well?&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a31%3a39&amp;amp;referringTitle=WebUI"&gt;16:31:39&lt;/a&gt; &amp;lt;Jaykul&amp;gt; * Tags: at least the first 3 or so &lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a31%3a55&amp;amp;referringTitle=WebUI"&gt;16:31:55&lt;/a&gt; &amp;lt;Jaykul&amp;gt; RichardP: uhm... how about for v2.2&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a31%3a56&amp;amp;referringTitle=WebUI"&gt;16:31:56&lt;/a&gt; &amp;lt;Jaykul&amp;gt; ;)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a32%3a01&amp;amp;referringTitle=WebUI"&gt;16:32:01&lt;/a&gt; &amp;lt;RichardP&amp;gt; heh&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a32%3a26&amp;amp;referringTitle=WebUI"&gt;16:32:26&lt;/a&gt; &amp;lt;Jaykul&amp;gt; I have a hard deadline in May for this to be up&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a32%3a28&amp;amp;referringTitle=WebUI"&gt;16:32:28&lt;/a&gt; &amp;lt;Jaykul&amp;gt; ;)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a32%3a41&amp;amp;referringTitle=WebUI"&gt;16:32:41&lt;/a&gt; &amp;lt;RichardP&amp;gt; hahahah&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a32%3a44&amp;amp;referringTitle=WebUI"&gt;16:32:44&lt;/a&gt; &amp;lt;RichardP&amp;gt; :D&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a32%3a51&amp;amp;referringTitle=WebUI"&gt;16:32:51&lt;/a&gt; *Jaykul sighs&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a32%3a54&amp;amp;referringTitle=WebUI"&gt;16:32:54&lt;/a&gt; &amp;lt;RichardP&amp;gt; why the hard deadline?&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a33%3a03&amp;amp;referringTitle=WebUI"&gt;16:33:03&lt;/a&gt; &amp;lt;palen&amp;gt; TechEd?&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a33%3a05&amp;amp;referringTitle=WebUI"&gt;16:33:05&lt;/a&gt; &amp;lt;Jaykul&amp;gt; Uhm... &lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a33%3a11&amp;amp;referringTitle=WebUI"&gt;16:33:11&lt;/a&gt; *Jaykul whistles idle&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a33%3a16&amp;amp;referringTitle=WebUI"&gt;16:33:16&lt;/a&gt; &amp;lt;RichardP&amp;gt; heh&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a33%3a16&amp;amp;referringTitle=WebUI"&gt;16:33:16&lt;/a&gt; &amp;lt;palen&amp;gt; :o&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a33%3a22&amp;amp;referringTitle=WebUI"&gt;16:33:22&lt;/a&gt; &amp;lt;RichardP&amp;gt; oh yes&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a33%3a25&amp;amp;referringTitle=WebUI"&gt;16:33:25&lt;/a&gt; &amp;lt;RichardP&amp;gt; i do recall&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a33%3a34&amp;amp;referringTitle=WebUI"&gt;16:33:34&lt;/a&gt; &amp;lt;Jaykul&amp;gt; Lets just say ... there might be something big later in the summer&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a33%3a53&amp;amp;referringTitle=WebUI"&gt;16:33:53&lt;/a&gt; *** ghostz has left the room (&amp;quot;http://www.mibbit.com ajax IRC Client&amp;quot; (i=aab90e64@gateway/web/ajax/mibbit.com/x-44b5adf02bee9266))&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a33%3a56&amp;amp;referringTitle=WebUI"&gt;16:33:56&lt;/a&gt; &amp;lt;Jaykul&amp;gt; I should know for sure later this week&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a34%3a07&amp;amp;referringTitle=WebUI"&gt;16:34:07&lt;/a&gt; &amp;lt;RichardP&amp;gt; Jaykul: Im away this weekend, but I have all of next week and weekend to put some serious work in&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a34%3a08&amp;amp;referringTitle=WebUI"&gt;16:34:08&lt;/a&gt; &amp;lt;palen&amp;gt; I bet it has something to do with that interchange between Jaykul and hal about 'that thing only you and I know about'&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a34%3a23&amp;amp;referringTitle=WebUI"&gt;16:34:23&lt;/a&gt; &amp;lt;RichardP&amp;gt; palen: oh, other people know :)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a35%3a38&amp;amp;referringTitle=WebUI"&gt;16:35:38&lt;/a&gt; &amp;lt;Jaykul&amp;gt; Yeah, there was a conf call earlier ...&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a36%3a05&amp;amp;referringTitle=WebUI"&gt;16:36:05&lt;/a&gt; *Jaykul trails off&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a36%3a15&amp;amp;referringTitle=WebUI"&gt;16:36:15&lt;/a&gt; &amp;lt;palen&amp;gt; Ominious&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a36%3a17&amp;amp;referringTitle=WebUI"&gt;16:36:17&lt;/a&gt; &amp;lt;Jaykul&amp;gt; and I don't want to talk about it for fear of jinxing it&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a36%3a20&amp;amp;referringTitle=WebUI"&gt;16:36:20&lt;/a&gt; &amp;lt;palen&amp;gt; And ominous&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a36%3a32&amp;amp;referringTitle=WebUI"&gt;16:36:32&lt;/a&gt; &amp;lt;palen&amp;gt; Fair enough&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a36%3a40&amp;amp;referringTitle=WebUI"&gt;16:36:40&lt;/a&gt; &amp;lt;Jaykul&amp;gt; but in any case, it involves getting this up sooner rather than later.&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a36%3a50&amp;amp;referringTitle=WebUI"&gt;16:36:50&lt;/a&gt; &amp;lt;RichardP&amp;gt; Jaykul: just one requestion - please please please dont make me do a tag cloud , they are only self propagating&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a37%3a04&amp;amp;referringTitle=WebUI"&gt;16:37:04&lt;/a&gt; &amp;lt;RichardP&amp;gt; oooh, new word - requestion :D&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a37%3a24&amp;amp;referringTitle=WebUI"&gt;16:37:24&lt;/a&gt; &amp;lt;Jaykul&amp;gt; self-propagating?&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a38%3a23&amp;amp;referringTitle=WebUI"&gt;16:38:23&lt;/a&gt; &amp;lt;RichardP&amp;gt; Jaykul: click on one, it gets bigger because its used, which means people are more likely to click on it, which means its more popular, which means it gets bigger, which means...&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a38%3a31&amp;amp;referringTitle=WebUI"&gt;16:38:31&lt;/a&gt; &amp;lt;Jaykul&amp;gt; oic&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a39%3a11&amp;amp;referringTitle=WebUI"&gt;16:39:11&lt;/a&gt; &amp;lt;Jaykul&amp;gt; We will have tagging, but I don't see any value in showing how often a tag gets used, or which tags are more popular&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a39%3a57&amp;amp;referringTitle=WebUI"&gt;16:39:57&lt;/a&gt; &amp;lt;RichardP&amp;gt; i have no issue with tagging, or even showing in a list whats more popular, but tag clouds are horrible things&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a40%3a05&amp;amp;referringTitle=WebUI"&gt;16:40:05&lt;/a&gt; &amp;lt;Jaykul&amp;gt; hehe&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a40%3a21&amp;amp;referringTitle=WebUI"&gt;16:40:21&lt;/a&gt; &amp;lt;Jaykul&amp;gt; Fine with me :)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a40%3a42&amp;amp;referringTitle=WebUI"&gt;16:40:42&lt;/a&gt; &amp;lt;Jaykul&amp;gt; OK, so ... I think that mostly covers the ... &amp;quot;list&amp;quot; pages&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a41%3a18&amp;amp;referringTitle=WebUI"&gt;16:41:18&lt;/a&gt; &amp;lt;Jaykul&amp;gt; the actual details pages are going to need to show ... all the data in that Dublin Core document&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a41%3a20&amp;amp;referringTitle=WebUI"&gt;16:41:20&lt;/a&gt; &amp;lt;palen&amp;gt; Wow&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a41%3a22&amp;amp;referringTitle=WebUI"&gt;16:41:22&lt;/a&gt; &amp;lt;Jaykul&amp;gt; plus the script&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a41%3a30&amp;amp;referringTitle=WebUI"&gt;16:41:30&lt;/a&gt; &amp;lt;palen&amp;gt; Some people have no filter on their bug reports...&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a41%3a34&amp;amp;referringTitle=WebUI"&gt;16:41:34&lt;/a&gt; &amp;lt;Jaykul&amp;gt; (or scripts, at some point)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a41%3a36&amp;amp;referringTitle=WebUI"&gt;16:41:36&lt;/a&gt; *** pantocrator has joined the room as a participant and a member&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a42%3a05&amp;amp;referringTitle=WebUI"&gt;16:42:05&lt;/a&gt; &amp;lt;pantocrator&amp;gt; hi&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a43%3a25&amp;amp;referringTitle=WebUI"&gt;16:43:25&lt;/a&gt; &amp;lt;Jaykul&amp;gt; hi&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a44%3a48&amp;amp;referringTitle=WebUI"&gt;16:44:48&lt;/a&gt; &amp;lt;Jaykul&amp;gt; RichardP: Two interesting UI-type things I want to try: 1) &amp;quot;derivative scripts&amp;quot; (ala github: show how many people have posted new versions of, or new contributions based on &amp;quot;this&amp;quot; contribution (this is important for May))  2) a &amp;quot;edit history&amp;quot; timeline ... as a way to show the &amp;quot;previous versions&amp;quot; of a script.&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a45%3a23&amp;amp;referringTitle=WebUI"&gt;16:45:23&lt;/a&gt; &amp;lt;palen&amp;gt; Oo, oo, could we hook them up to NodeXL?&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a45%3a26&amp;amp;referringTitle=WebUI"&gt;16:45:26&lt;/a&gt; &amp;lt;RichardP&amp;gt; Jaykul: 3) 'where has this code been used elsewhere?'&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a45%3a34&amp;amp;referringTitle=WebUI"&gt;16:45:34&lt;/a&gt; &amp;lt;Jaykul&amp;gt; For the timeline thing we might be able to borrow from the chandler project thing&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a45%3a46&amp;amp;referringTitle=WebUI"&gt;16:45:46&lt;/a&gt; &amp;lt;Jaykul&amp;gt; Or make something in Silverlight&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a45%3a53&amp;amp;referringTitle=WebUI"&gt;16:45:53&lt;/a&gt; &amp;lt;Jaykul&amp;gt; for either, or both&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a46%3a01&amp;amp;referringTitle=WebUI"&gt;16:46:01&lt;/a&gt; &amp;lt;Jaykul&amp;gt; palen: Hmmm!&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a47%3a48&amp;amp;referringTitle=WebUI"&gt;16:47:48&lt;/a&gt; &amp;lt;palen&amp;gt; And a ZUI&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a47%3a57&amp;amp;referringTitle=WebUI"&gt;16:47:57&lt;/a&gt; &amp;lt;Jaykul&amp;gt; deepzoom&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a48%3a15&amp;amp;referringTitle=WebUI"&gt;16:48:15&lt;/a&gt; &amp;lt;Jaykul&amp;gt; ooh, timelines for users ...&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a48%3a27&amp;amp;referringTitle=WebUI"&gt;16:48:27&lt;/a&gt; &amp;lt;Jaykul&amp;gt; that would be cool&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a48%3a34&amp;amp;referringTitle=WebUI"&gt;16:48:34&lt;/a&gt; &amp;lt;Jaykul&amp;gt; we will want profile pages for users &lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a48%3a52&amp;amp;referringTitle=WebUI"&gt;16:48:52&lt;/a&gt; &amp;lt;Jaykul&amp;gt; and a &amp;quot;diff&amp;quot; page &lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a49%3a04&amp;amp;referringTitle=WebUI"&gt;16:49:04&lt;/a&gt; &amp;lt;palen&amp;gt; Profiles optionally linked to twitter?&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a49%3a17&amp;amp;referringTitle=WebUI"&gt;16:49:17&lt;/a&gt; &amp;lt;RichardP&amp;gt; oh god, please dont include any social networking stuff ;)&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a49%3a25&amp;amp;referringTitle=WebUI"&gt;16:49:25&lt;/a&gt; &amp;lt;Jaykul&amp;gt; profiles &lt;b&gt;will&lt;/b&gt; include twitter ids&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a49%3a26&amp;amp;referringTitle=WebUI"&gt;16:49:26&lt;/a&gt; &amp;lt;palen&amp;gt; Haha&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a49%3a32&amp;amp;referringTitle=WebUI"&gt;16:49:32&lt;/a&gt; &amp;lt;Jaykul&amp;gt; but I dono about anything else&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a49%3a33&amp;amp;referringTitle=WebUI"&gt;16:49:33&lt;/a&gt; &amp;lt;palen&amp;gt; Ha, I win!&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a49%3a46&amp;amp;referringTitle=WebUI"&gt;16:49:46&lt;/a&gt; *RichardP sharpens his stabby thing&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a49%3a46&amp;amp;referringTitle=WebUI"&gt;16:49:46&lt;/a&gt; &amp;lt;Jaykul&amp;gt; the PoshCode bot already posts on twitter&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a49%3a53&amp;amp;referringTitle=WebUI"&gt;16:49:53&lt;/a&gt; &amp;lt;Jaykul&amp;gt; whenever someone contributes&lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=16%3a50%3a08&amp;amp;referringTitle=WebUI"&gt;16:50:08&lt;/a&gt; &amp;lt;Jaykul&amp;gt; Twitter is the new, suckier, RSS&lt;br /&gt;
&lt;/div&gt;</description><author>Jaykul</author><pubDate>Mon, 16 Mar 2009 20:52:13 GMT</pubDate><guid isPermaLink="false">Updated Wiki: WebUI 20090316085213P</guid></item><item><title>Updated Wiki: Requirements</title><link>http://poshcode.codeplex.com/Wiki/View.aspx?title=Requirements&amp;version=8</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
Requirements for PoshCode Repository
&lt;/h1&gt; &lt;br /&gt;&lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=First%20Requirements%20Meeting%20Notes&amp;amp;referringTitle=Requirements"&gt;First Requirements Meeting Notes&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;KEY:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;items with - are things we NEED to have&lt;/li&gt;&lt;li&gt;items with + are things that would be nice&lt;/li&gt;&lt;li&gt;items with ? are things we need to DECIDE about&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;I think we can store a lot of the data we want to store as special key:value &amp;quot;tags&amp;quot; so we can render them to the scripts in &amp;quot;data language&amp;quot; or comments (or data language in comments).  I think we should consider &amp;quot;Machine Tags&amp;quot;&lt;a href="#MachineTags"&gt;1&lt;/a&gt; as a way to make this extensible by third party repositories.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
General Requirements:
&lt;/h2&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Easy in, Easy out, Low Barriers (no mandatory registration, no login to download).&lt;/li&gt;&lt;li&gt;Multi-file artifacts (script modules &lt;a href="#ScriptModules"&gt;[[4]]&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Browsing and Searching in the WebUI.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;h2&gt;
Data
&lt;/h2&gt; &lt;br /&gt;This is the list of things we want to know about a script (ie: data we need to store&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;- The script itself. Scripts, snippets, examples, modules, compiled modules(&lt;a href="#ScriptModules"&gt;[[5]]&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;- The version &lt;a href="#Versioning"&gt;2&lt;/a&gt; ... ScriptFileID and ModuleID &lt;/li&gt;&lt;li&gt;- The date of submission (for ordering)&lt;/li&gt;&lt;li&gt;- The author (OpenID url? email address?)&lt;/li&gt;&lt;li&gt;? Function and/or Cmdlet Name(s)&lt;/li&gt;&lt;li&gt;- A description&lt;/li&gt;&lt;li&gt;? Usage (i.e. the -? help...)&lt;/li&gt;&lt;li&gt;? Example (do we really need to ask for these things separately? Shouldn't they put it into comments or a -? argument handler?)&lt;/li&gt;&lt;li&gt;+ Dependencies (PowerShell version, .Net Version, module or scripts)&lt;a href="#Dependencies"&gt;3&lt;/a&gt;&lt;/li&gt;&lt;li&gt;+ User Tagging  (including non-authors?)&lt;/li&gt;&lt;li&gt;- Nouns!&lt;/li&gt;&lt;li&gt;? License? (offer a selection: CC&lt;b&gt;, Ms&lt;/b&gt;, GPL, etc., and prepend a &amp;quot;short form&amp;quot; license comment).&lt;/li&gt;&lt;li&gt;? Feedback (Comments, Ratings)&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h3&gt;
Third Party Modules
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Info URL&lt;/li&gt;
&lt;/ul&gt;? Download Url (for v2?)&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Version Optional&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;We would like to persist some of this data for people who download the artifacts ... either by embedding it in comments, or by including a psd1 manifest.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Web Service API
&lt;/h2&gt; &lt;br /&gt;The goal is to define a standard web service api that anyone can implement (this means not making the API technology independent -- so you can implement it and call it from Asp/Wcf/Php/PowerShell/C#/Whatever).&lt;br /&gt; &lt;br /&gt;The API should support:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;- searching and browsing (by author, verb, noun, tag, fulltext)&lt;/li&gt;&lt;li&gt;- summaries (we need a &amp;quot;ScriptInfo&amp;quot; object: description, author, date, id/hash, version...)&lt;/li&gt;&lt;li&gt;- downloading (by id)&lt;/li&gt;&lt;li&gt;- authentication (note that OpenID requires Web UI)&lt;/li&gt;&lt;li&gt;- uploading (with all the data, somehow -- should validate mandatory data)&lt;/li&gt;&lt;li&gt;? commenting&lt;/li&gt;&lt;li&gt;? tagging&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
User Interface 
&lt;/h2&gt; &lt;br /&gt;At a minimum we need a &lt;a href="http://poshcode.codeplex.com/Wiki/View.aspx?title=WebUI&amp;amp;referringTitle=Requirements"&gt;WebUI&lt;/a&gt; and Cmdlets for accessing the API. Ideally they would be implemented strictly against the API so either the WebUI or the cmdlets could access any implementation of it.  Perhaps we should not open source the WebUI (or should make it strictly GPL?). Additionally, there are some other ideas...&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Stats (for convincing people to support &amp;quot;our&amp;quot; repository)
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Number of Authors&lt;/li&gt;&lt;li&gt;Number of Postings (rate per day, total count, unique scripts not counting versions)&lt;/li&gt;&lt;li&gt;Downloads, (Script) Page Views?&lt;/li&gt;&lt;li&gt;RSS subscribers?&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h3&gt;
Claims Based Trust
&lt;/h3&gt; &lt;br /&gt;Could there be a way to verify claims about scripts? using the tokenizer? using trusted authors? Eg: we could create a claims system where the uploader claims:&lt;br /&gt;A. Doesn't use .Net classes &lt;br /&gt;B. Doesn't modify files&lt;br /&gt;C. Doesn't modify registry settings&lt;br /&gt;... or whatever. Some claims could be automatically validated, and some would need to be validated by users/authors, and/or ... &lt;br /&gt; &lt;br /&gt;Should we sign the data we embed in the scripts? That is, sign our portion of the data for our own sake -- so we can track history and authorship (based on logins) with confidence.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Footnotes 
&lt;/h2&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;&lt;a name="MachineTags"&gt;&lt;/a&gt;&lt;b&gt;Machine Tags&lt;/b&gt;: (see [Wikipedia|url:http://en.wikipedia.org/wiki/Machine_tag] and the original post on [flickr|url:http://www.flickr.com/groups/api/discuss/72157594497877875/]) might let us differentiate tags that are about required libraries, etc ... but would also let other repositories extend the storage and still store the data in a way we could use. E.g.: Use our web domain for as the namespace so if there are many compatible sites, poshcode.org could have tags like &amp;quot;WMI&amp;quot; and &amp;quot;VMWare&amp;quot; and &amp;quot;WPF&amp;quot; ... but also like &amp;quot;requires:VIToolkit&amp;quot; or &amp;quot;requires:2.0&amp;quot; or &amp;quot;requires:PSCX&amp;quot; ... and could store them in the script as poshcode.org=tag:WMI, poshcode.org=requires:PSCX etc.&lt;/li&gt;&lt;li&gt;&lt;a name="Versioning"&gt;&lt;/a&gt;&lt;b&gt;Versioning&lt;/b&gt;: J. Snover had a good idea about versioning, to hash the script body and use the hash as the id of the script ... The idea is that you would then insert that as a comment into script (header? footer?), and when someone submits a script that already has an id line in it, you could assume the new script is a new version of that script, and you could keep them all there, as a history of versions for tracking scripts.  We could store that as an indexed field in the db and use it in urls too:  It would be practically unique, but portable across sites for unmodified scripts! &lt;/li&gt;&lt;li&gt;&lt;a name="Dependencies"&gt;&lt;/a&gt;&lt;b&gt;Dependencies&lt;/b&gt;: The module or script dependencies should be URLs or the hashes from &lt;a href="#Versioning"&gt;2&lt;/a&gt;, and could probably be deduced from &amp;quot;#requires http://URL&amp;quot; in the comments.&lt;/li&gt;&lt;li&gt;&lt;a name="ScriptModules"&gt;&lt;/a&gt;&lt;b&gt;Script modules&lt;/b&gt;: (and modules in general) require some system for storing multiple files as part of a single &amp;quot;artifact&amp;quot;, and for downloading them all at once.  We also need to track versioning of the &amp;quot;whole&amp;quot; package, and have an API/interface for uploading them, viewing them, and downloading them (I'm not sure if we really need to support downloading single files from a multi-file artifacts, but obviously in a WebUI you'd want to be able to show the source if it was a script module, right?)&lt;/li&gt;&lt;li&gt;&lt;a name="CompiledModules"&gt;&lt;/a&gt;&lt;b&gt;Compiled modules&lt;/b&gt;: Do we support compiled modules in any way?  If so, how?  We do NOT compile, but do we provide full source packages? They could include a MSBuild file (like a visual studio project file) and the cmdlet could hypothetically compile it. How about modules like PSCX (which is open source, but has source control elsewhere), could we (safely) provide a ScriptInfo with download URL pointing to the project's hosting?  What about commercial projects?  We can put off deciding this stuff until after V1 is out ;-)&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description><author>Jaykul</author><pubDate>Mon, 16 Mar 2009 20:51:54 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Requirements 20090316085154P</guid></item><item><title>Updated Wiki: CurrentWork</title><link>http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=CurrentWork&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Joel to create a DB Schema and Dynamic Data Service
&lt;/h2&gt;&lt;a href="http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=DbSchema&amp;amp;referringTitle=CurrentWork"&gt;DbSchema&lt;/a&gt; Ok, how about everyone else?&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Oisin to also look into how AtomPub maps from ADO Dynamic Data and WCF
&lt;/h2&gt; &lt;br /&gt;&lt;h2&gt;
Robbie to look into OpenSearch and AtomPub
&lt;/h2&gt;We should probably look into &lt;a href="Lucene.Net" class="externalLink"&gt;http://pkok.wordpress.com/2008/11/07/lucenenet-resources/&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; for full-text search, unless someone knows better than I do how to make a &amp;quot;Google Like&amp;quot; search based on SQL's full-text search -- search on the current PoshCode.org is based on MySQL's full-text, and it's annoyingly &lt;i&gt;odd&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Mark to look into AtomPub and Authentication -- how those map to WCF or ADO
&lt;/h2&gt;
&lt;/div&gt;</description><author>Jaykul</author><pubDate>Sat, 08 Nov 2008 16:28:17 GMT</pubDate><guid isPermaLink="false">Updated Wiki: CurrentWork 20081108042817P</guid></item><item><title>Updated Wiki: DbSchema</title><link>http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=DbSchema&amp;version=1</link><description>&lt;div class="wikidoc"&gt;
First &amp;quot;draft&amp;quot; of a database schema ...&lt;br /&gt; &lt;br /&gt;&lt;img src="http://huddledmasses.org/images/PoshCode%20Schema.png" alt="PoshCode%20Schema.png" /&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>Jaykul</author><pubDate>Fri, 24 Oct 2008 03:18:10 GMT</pubDate><guid isPermaLink="false">Updated Wiki: DbSchema 20081024031810A</guid></item><item><title>Updated Wiki: Home</title><link>http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=Home&amp;version=8</link><description>&lt;div class="wikidoc"&gt;
PoshCode is a PowerShell-centric code-snippet storage web service. The primary goal is to store code snippets, scripts, and/or modules (collectively, artifacts) and provide access to them from within PowerShell.  This project serves as the coordination point for our effort to develop a standard API for such services, as well as a baseline implementation of the API, and a sample set of client implementations (at a minimum: web, cmdlets).&lt;br /&gt; &lt;br /&gt;We're re-working our &lt;a href="http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=Requirements&amp;amp;referringTitle=Home"&gt;Requirements&lt;/a&gt; right now, and will post more on the front page when we have something more interesting to share ;-)&lt;br /&gt; &lt;br /&gt;What we're &lt;a href="http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=CurrentWork&amp;amp;referringTitle=Home"&gt;Currently Working&lt;/a&gt; on is some research into the protocols and technologies we want to use.&lt;br /&gt;
&lt;/div&gt;</description><author>Jaykul</author><pubDate>Sat, 13 Sep 2008 20:47:30 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20080913084730P</guid></item><item><title>Updated Wiki: CurrentWork</title><link>http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=CurrentWork&amp;version=1</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Joel to create a DB Schema and Dynamic Data Service
&lt;/h2&gt; &lt;br /&gt;&lt;h2&gt;
Oisin to also look into how AtomPub maps from ADO Dynamic Data and WCF
&lt;/h2&gt; &lt;br /&gt;&lt;h2&gt;
Robbie to look into OpenSearch and AtomPub
&lt;/h2&gt; &lt;br /&gt;&lt;h2&gt;
Mark to look into AtomPub and Authentication -- how those map to WCF or ADO
&lt;/h2&gt;
&lt;/div&gt;</description><author>Jaykul</author><pubDate>Sat, 13 Sep 2008 20:46:11 GMT</pubDate><guid isPermaLink="false">Updated Wiki: CurrentWork 20080913084611P</guid></item><item><title>Updated Wiki: Requirements</title><link>http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=Requirements&amp;version=7</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
Requirements for PoshCode Repository
&lt;/h1&gt; &lt;br /&gt;&lt;a href="http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=First%20Requirements%20Meeting%20Notes&amp;amp;referringTitle=Requirements"&gt;First Requirements Meeting Notes&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;KEY:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;items with - are things we NEED to have&lt;/li&gt;&lt;li&gt;items with + are things that would be nice&lt;/li&gt;&lt;li&gt;items with ? are things we need to DECIDE about&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;I think we can store a lot of the data we want to store as special key:value &amp;quot;tags&amp;quot; so we can render them to the scripts in &amp;quot;data language&amp;quot; or comments (or data language in comments).  I think we should consider &amp;quot;Machine Tags&amp;quot;&lt;a href="#MachineTags"&gt;1&lt;/a&gt; as a way to make this extensible by third party repositories.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
General Requirements:
&lt;/h2&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Easy in, Easy out, Low Barriers (no mandatory registration, no login to download).&lt;/li&gt;&lt;li&gt;Multi-file artifacts (script modules &lt;a href="#ScriptModules"&gt;[[4]]&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Browsing and Searching in the WebUI.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;h2&gt;
Data
&lt;/h2&gt; &lt;br /&gt;This is the list of things we want to know about a script (ie: data we need to store&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;- The script itself. Scripts, snippets, examples, modules, compiled modules(&lt;a href="#ScriptModules"&gt;[[5]]&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;- The version &lt;a href="#Versioning"&gt;2&lt;/a&gt; ... ScriptFileID and ModuleID &lt;/li&gt;&lt;li&gt;- The date of submission (for ordering)&lt;/li&gt;&lt;li&gt;- The author (OpenID url? email address?)&lt;/li&gt;&lt;li&gt;? Function and/or Cmdlet Name(s)&lt;/li&gt;&lt;li&gt;- A description&lt;/li&gt;&lt;li&gt;? Usage (i.e. the -? help...)&lt;/li&gt;&lt;li&gt;? Example (do we really need to ask for these things separately? Shouldn't they put it into comments or a -? argument handler?)&lt;/li&gt;&lt;li&gt;+ Dependencies (PowerShell version, .Net Version, module or scripts)&lt;a href="#Dependencies"&gt;3&lt;/a&gt;&lt;/li&gt;&lt;li&gt;+ User Tagging  (including non-authors?)&lt;/li&gt;&lt;li&gt;- Nouns!&lt;/li&gt;&lt;li&gt;? License? (offer a selection: CC&lt;b&gt;, Ms&lt;/b&gt;, GPL, etc., and prepend a &amp;quot;short form&amp;quot; license comment).&lt;/li&gt;&lt;li&gt;? Feedback (Comments, Ratings)&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h3&gt;
Third Party Modules
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Info URL&lt;/li&gt;
&lt;/ul&gt;? Download Url (for v2?)&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Version Optional&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;We would like to persist some of this data for people who download the artifacts ... either by embedding it in comments, or by including a psd1 manifest.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Web Service API
&lt;/h2&gt; &lt;br /&gt;The goal is to define a standard web service api that anyone can implement (this means not making the API technology independent -- so you can implement it and call it from Asp/Wcf/Php/PowerShell/C#/Whatever).&lt;br /&gt; &lt;br /&gt;The API should support:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;- searching and browsing (by author, verb, noun, tag, fulltext)&lt;/li&gt;&lt;li&gt;- summaries (we need a &amp;quot;ScriptInfo&amp;quot; object: description, author, date, id/hash, version...)&lt;/li&gt;&lt;li&gt;- downloading (by id)&lt;/li&gt;&lt;li&gt;- authentication (note that OpenID requires Web UI)&lt;/li&gt;&lt;li&gt;- uploading (with all the data, somehow -- should validate mandatory data)&lt;/li&gt;&lt;li&gt;? commenting&lt;/li&gt;&lt;li&gt;? tagging&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
User Interface 
&lt;/h2&gt; &lt;br /&gt;At a minimum we need a WebUI and Cmdlets for accessing the API. Ideally they would be implemented strictly against the API so either the WebUI or the cmdlets could access any implementation of it.  Perhaps we should not open source the WebUI (or should make it strictly GPL?). Additionally, there are some other ideas...&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Stats (for convincing people to support &amp;quot;our&amp;quot; repository)
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Number of Authors&lt;/li&gt;&lt;li&gt;Number of Postings (rate per day, total count, unique scripts not counting versions)&lt;/li&gt;&lt;li&gt;Downloads, (Script) Page Views?&lt;/li&gt;&lt;li&gt;RSS subscribers?&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h3&gt;
Claims Based Trust
&lt;/h3&gt; &lt;br /&gt;Could there be a way to verify claims about scripts? using the tokenizer? using trusted authors? Eg: we could create a claims system where the uploader claims:&lt;br /&gt;A. Doesn't use .Net classes &lt;br /&gt;B. Doesn't modify files&lt;br /&gt;C. Doesn't modify registry settings&lt;br /&gt;... or whatever. Some claims could be automatically validated, and some would need to be validated by users/authors, and/or ... &lt;br /&gt; &lt;br /&gt;Should we sign the data we embed in the scripts? That is, sign our portion of the data for our own sake -- so we can track history and authorship (based on logins) with confidence.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Footnotes 
&lt;/h2&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;&lt;a name="MachineTags"&gt;&lt;/a&gt;&lt;b&gt;Machine Tags&lt;/b&gt;: (see [Wikipedia|url:http://en.wikipedia.org/wiki/Machine_tag] and the original post on [flickr|url:http://www.flickr.com/groups/api/discuss/72157594497877875/]) might let us differentiate tags that are about required libraries, etc ... but would also let other repositories extend the storage and still store the data in a way we could use. E.g.: Use our web domain for as the namespace so if there are many compatible sites, poshcode.org could have tags like &amp;quot;WMI&amp;quot; and &amp;quot;VMWare&amp;quot; and &amp;quot;WPF&amp;quot; ... but also like &amp;quot;requires:VIToolkit&amp;quot; or &amp;quot;requires:2.0&amp;quot; or &amp;quot;requires:PSCX&amp;quot; ... and could store them in the script as poshcode.org=tag:WMI, poshcode.org=requires:PSCX etc.&lt;/li&gt;&lt;li&gt;&lt;a name="Versioning"&gt;&lt;/a&gt;&lt;b&gt;Versioning&lt;/b&gt;: J. Snover had a good idea about versioning, to hash the script body and use the hash as the id of the script ... The idea is that you would then insert that as a comment into script (header? footer?), and when someone submits a script that already has an id line in it, you could assume the new script is a new version of that script, and you could keep them all there, as a history of versions for tracking scripts.  We could store that as an indexed field in the db and use it in urls too:  It would be practically unique, but portable across sites for unmodified scripts! &lt;/li&gt;&lt;li&gt;&lt;a name="Dependencies"&gt;&lt;/a&gt;&lt;b&gt;Dependencies&lt;/b&gt;: The module or script dependencies should be URLs or the hashes from &lt;a href="#Versioning"&gt;2&lt;/a&gt;, and could probably be deduced from &amp;quot;#requires http://URL&amp;quot; in the comments.&lt;/li&gt;&lt;li&gt;&lt;a name="ScriptModules"&gt;&lt;/a&gt;&lt;b&gt;Script modules&lt;/b&gt;: (and modules in general) require some system for storing multiple files as part of a single &amp;quot;artifact&amp;quot;, and for downloading them all at once.  We also need to track versioning of the &amp;quot;whole&amp;quot; package, and have an API/interface for uploading them, viewing them, and downloading them (I'm not sure if we really need to support downloading single files from a multi-file artifacts, but obviously in a WebUI you'd want to be able to show the source if it was a script module, right?)&lt;/li&gt;&lt;li&gt;&lt;a name="CompiledModules"&gt;&lt;/a&gt;&lt;b&gt;Compiled modules&lt;/b&gt;: Do we support compiled modules in any way?  If so, how?  We do NOT compile, but do we provide full source packages? They could include a MSBuild file (like a visual studio project file) and the cmdlet could hypothetically compile it. How about modules like PSCX (which is open source, but has source control elsewhere), could we (safely) provide a ScriptInfo with download URL pointing to the project's hosting?  What about commercial projects?  We can put off deciding this stuff until after V1 is out ;-)&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description><author>Jaykul</author><pubDate>Sat, 13 Sep 2008 20:09:49 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Requirements 20080913080949P</guid></item><item><title>Updated Wiki: Requirements</title><link>http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=Requirements&amp;version=6</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
Requirements for PoshCode Repository
&lt;/h1&gt; &lt;br /&gt;&lt;a href="http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=First%20Requirements%20Meeting%20Notes&amp;amp;referringTitle=Requirements"&gt;First Requirements Meeting Notes&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;KEY:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;items with - are things we NEED to have&lt;/li&gt;&lt;li&gt;items with + are things that would be nice&lt;/li&gt;&lt;li&gt;items with ? are things we need to DECIDE about&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;I think we can store a lot of the data we want to store as special key:value &amp;quot;tags&amp;quot; so we can render them to the scripts in &amp;quot;data language&amp;quot; or comments (or data language in comments).  I think we should consider &amp;quot;Machine Tags&amp;quot;&lt;a href="#MachineTags"&gt;1&lt;/a&gt; as a way to make this extensible by third party repositories.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
General Requirements:
&lt;/h2&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Easy in, Easy out, Low Barriers (no mandatory registration, no login to download).&lt;/li&gt;&lt;li&gt;Multi-file artifacts (script modules &lt;a href="#ScriptModules"&gt;[[4]]&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Browsing and Searching in the WebUI.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;h2&gt;
Data
&lt;/h2&gt; &lt;br /&gt;This is the list of things we want to know about a script (ie: data we need to store&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;- The script itself. Scripts, snippets, examples, modules, compiled modules(&lt;a href="#ScriptModules"&gt;[[5]]&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;- The version &lt;a href="#Versioning"&gt;2&lt;/a&gt; ... ScriptFileID and ModuleID &lt;/li&gt;&lt;li&gt;- The date of submission (for ordering)&lt;/li&gt;&lt;li&gt;- The author (OpenID url? email address?)&lt;/li&gt;&lt;li&gt;? Function and/or Cmdlet Name(s)&lt;/li&gt;&lt;li&gt;- A description&lt;/li&gt;&lt;li&gt;? Usage (i.e. the -? help...)&lt;/li&gt;&lt;li&gt;? Example (do we really need to ask for these things separately? Shouldn't they put it into comments or a -? argument handler?)&lt;/li&gt;&lt;li&gt;+ Dependencies (PowerShell version, .Net Version, module or scripts)&lt;a href="#Dependencies"&gt;3&lt;/a&gt;&lt;/li&gt;&lt;li&gt;+ User Tagging  (including non-authors?)&lt;/li&gt;&lt;li&gt;- Nouns!&lt;/li&gt;&lt;li&gt;? License? (offer a selection: CC&lt;b&gt;, Ms&lt;/b&gt;, GPL, etc., and prepend a &amp;quot;short form&amp;quot; license comment).&lt;/li&gt;&lt;li&gt;? Feedback (Comments, Ratings)&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;We would like to persist some of this data for people who download the artifacts ... either by embedding it in comments, or by including a psd1 manifest.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Web Service API
&lt;/h2&gt; &lt;br /&gt;The goal is to define a standard web service api that anyone can implement (this means not making the API technology independent -- so you can implement it and call it from Asp/Wcf/Php/PowerShell/C#/Whatever).&lt;br /&gt; &lt;br /&gt;The API should support:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;- searching and browsing (by author, verb, noun, tag, fulltext)&lt;/li&gt;&lt;li&gt;- summaries (we need a &amp;quot;ScriptInfo&amp;quot; object: description, author, date, id/hash, version...)&lt;/li&gt;&lt;li&gt;- downloading (by id)&lt;/li&gt;&lt;li&gt;- authentication (note that OpenID requires Web UI)&lt;/li&gt;&lt;li&gt;- uploading (with all the data, somehow -- should validate mandatory data)&lt;/li&gt;&lt;li&gt;? commenting&lt;/li&gt;&lt;li&gt;? tagging&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
User Interface 
&lt;/h2&gt; &lt;br /&gt;At a minimum we need a WebUI and Cmdlets for accessing the API. Ideally they would be implemented strictly against the API so either the WebUI or the cmdlets could access any implementation of it.  Perhaps we should not open source the WebUI (or should make it strictly GPL?). Additionally, there are some other ideas...&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Stats (for convincing people to support &amp;quot;our&amp;quot; repository)
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Number of Authors&lt;/li&gt;&lt;li&gt;Number of Postings (rate per day, total count, unique scripts not counting versions)&lt;/li&gt;&lt;li&gt;Downloads, (Script) Page Views?&lt;/li&gt;&lt;li&gt;RSS subscribers?&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h3&gt;
Claims Based Trust
&lt;/h3&gt; &lt;br /&gt;Could there be a way to verify claims about scripts? using the tokenizer? using trusted authors? Eg: we could create a claims system where the uploader claims:&lt;br /&gt;A. Doesn't use .Net classes &lt;br /&gt;B. Doesn't modify files&lt;br /&gt;C. Doesn't modify registry settings&lt;br /&gt;... or whatever. Some claims could be automatically validated, and some would need to be validated by users/authors, and/or ... &lt;br /&gt; &lt;br /&gt;Should we sign the data we embed in the scripts? That is, sign our portion of the data for our own sake -- so we can track history and authorship (based on logins) with confidence.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Footnotes 
&lt;/h2&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;&lt;a name="MachineTags"&gt;&lt;/a&gt;&lt;b&gt;Machine Tags&lt;/b&gt;: (see [Wikipedia|url:http://en.wikipedia.org/wiki/Machine_tag] and the original post on [flickr|url:http://www.flickr.com/groups/api/discuss/72157594497877875/]) might let us differentiate tags that are about required libraries, etc ... but would also let other repositories extend the storage and still store the data in a way we could use. E.g.: Use our web domain for as the namespace so if there are many compatible sites, poshcode.org could have tags like &amp;quot;WMI&amp;quot; and &amp;quot;VMWare&amp;quot; and &amp;quot;WPF&amp;quot; ... but also like &amp;quot;requires:VIToolkit&amp;quot; or &amp;quot;requires:2.0&amp;quot; or &amp;quot;requires:PSCX&amp;quot; ... and could store them in the script as poshcode.org=tag:WMI, poshcode.org=requires:PSCX etc.&lt;/li&gt;&lt;li&gt;&lt;a name="Versioning"&gt;&lt;/a&gt;&lt;b&gt;Versioning&lt;/b&gt;: J. Snover had a good idea about versioning, to hash the script body and use the hash as the id of the script ... The idea is that you would then insert that as a comment into script (header? footer?), and when someone submits a script that already has an id line in it, you could assume the new script is a new version of that script, and you could keep them all there, as a history of versions for tracking scripts.  We could store that as an indexed field in the db and use it in urls too:  It would be practically unique, but portable across sites for unmodified scripts! &lt;/li&gt;&lt;li&gt;&lt;a name="Dependencies"&gt;&lt;/a&gt;&lt;b&gt;Dependencies&lt;/b&gt;: The module or script dependencies should be URLs or the hashes from &lt;a href="#Versioning"&gt;2&lt;/a&gt;, and could probably be deduced from &amp;quot;#requires http://URL&amp;quot; in the comments.&lt;/li&gt;&lt;li&gt;&lt;a name="ScriptModules"&gt;&lt;/a&gt;&lt;b&gt;Script modules&lt;/b&gt;: (and modules in general) require some system for storing multiple files as part of a single &amp;quot;artifact&amp;quot;, and for downloading them all at once.  We also need to track versioning of the &amp;quot;whole&amp;quot; package, and have an API/interface for uploading them, viewing them, and downloading them (I'm not sure if we really need to support downloading single files from a multi-file artifacts, but obviously in a WebUI you'd want to be able to show the source if it was a script module, right?)&lt;/li&gt;&lt;li&gt;&lt;a name="CompiledModules"&gt;&lt;/a&gt;&lt;b&gt;Compiled modules&lt;/b&gt;: Do we support compiled modules in any way?  If so, how?  We do NOT compile, but do we provide full source packages? They could include a MSBuild file (like a visual studio project file) and the cmdlet could hypothetically compile it. How about modules like PSCX (which is open source, but has source control elsewhere), could we (safely) provide a ScriptInfo with download URL pointing to the project's hosting?  What about commercial projects?  We can put off deciding this stuff until after V1 is out ;-)&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description><author>Jaykul</author><pubDate>Sat, 13 Sep 2008 19:49:13 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Requirements 20080913074913P</guid></item><item><title>Updated Wiki: First Requirements Meeting Notes</title><link>http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=First Requirements Meeting Notes&amp;version=1</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
Pre-meeting missive
&lt;/h1&gt; &lt;br /&gt;The main point of this meeting (apart from introducing ourselves) should be a discussion of the Web Service API -- we need to hammer this down so we can get started writing code.  Of course, we also need to talk about who's willing to handle what parts of the code (no, you can't all work on the cmdlets).&lt;br /&gt; &lt;br /&gt;In order to make that conversation easier to have, we ask that you will all have at least looked over what we have so far on our requirements page &lt;a href="http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=Requirements&amp;amp;referringTitle=First%20Requirements%20Meeting%20Notes"&gt;Requirements&lt;/a&gt; so we can just jump right into anything you see which either &lt;b&gt;needs to change&lt;/b&gt; or &lt;b&gt;needs more detail&lt;/b&gt;. &lt;br /&gt; &lt;br /&gt;In particular, we need to be thinking about :&lt;br /&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;What data needs to be a part of the API? (author, download url, Cmdlet/Function name(s), what else?)&lt;/li&gt;&lt;li&gt;How we handle different TYPES of code artifacts: Module, Script, Function, Snippet ... do we need to separate the idea of a &amp;quot;sample snippet&amp;quot;  out of our main API so that we can make something useful? That is: Should we make a single &amp;quot;function&amp;quot; (or external script -- which is actually treated as a function if it's in your path) the smallest unit of code that we talk about?&lt;/li&gt;&lt;li&gt;What should the WebService API look like? (implementable in any web language: asp.net/wcf/php, easy to consume ... need &amp;quot;search&amp;quot; and &amp;quot;get&amp;quot; commands, what else?)&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;h4&gt;
Don't forget: we're trying to create a WebService API that is easy enough to implement and work with that everyone who considers creating a PowerShell script repository would be motivated to implement it.
&lt;/h4&gt; &lt;br /&gt;Step one in this is to create a sort-of contract for what information is going to &lt;b&gt;have&lt;/b&gt; to be in our &amp;quot;PoshCodeInfo&amp;quot; object.  Bear in mind that a this object is somewhat like a PSModuleInfo object (the output of Get-Module in CTP2):&lt;br /&gt; &lt;br /&gt;&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;PSModuleInfo:&lt;/th&gt;&lt;th&gt; &lt;/th&gt;&lt;th&gt;PoshCodeInfo &lt;/th&gt;&lt;th&gt; &lt;/th&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt;Exports &lt;/td&gt;&lt;td&gt; A list of the cmdlets/functions/variables &lt;/td&gt;&lt;td&gt; Exports &lt;/td&gt;&lt;td&gt; A collection of CommandInfo objects &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt;IsCompiledCode &lt;/td&gt;&lt;td&gt; Boolean: yes/no &lt;/td&gt;&lt;td&gt; CodeType &lt;/td&gt;&lt;td&gt; Script/Compiled/Source &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt;Name &lt;/td&gt;&lt;td&gt; The module name &lt;/td&gt;&lt;td&gt; Name &lt;/td&gt;&lt;td&gt; The name assigned by the uploader &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt;Path &lt;/td&gt;&lt;td&gt; The file location &lt;/td&gt;&lt;td&gt; Url &lt;/td&gt;&lt;td&gt; The link to download from (downloads THIS version?) &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; Version &lt;/td&gt;&lt;td&gt; A Hash: the version number and hash &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; UpdateUrl &lt;/td&gt;&lt;td&gt; The Url to check for new versions (can be the same as the Url) &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; Date &lt;/td&gt;&lt;td&gt; The date of upload &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; Author &lt;/td&gt;&lt;td&gt; UserName or OpenID &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; Tags &lt;/td&gt;&lt;td&gt; A list of tags, including Noun:XXX and Verb:XXX ? &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt; &lt;br /&gt;The simplest thing for us would be to just add Date, Author, and URL and call it a day, but we probably want to have a little more information about the cmdlets/functions that are in the module.  In CTP2 you can do:  Get-Module | Select -Expand Exports | Get-Command ... unless we can think of a way to do that for the Cmdlets that are in a module on our server, we may want to include the information about them in our PoshCodeInfo object -- would we then want to have a separate lighter set of data we return from a search?  (lets talk about it tonight -- see the wiki for my current thought).&lt;br /&gt; &lt;br /&gt;Other examples of script information you could look at are the objects returned from:   gcm * | gm  ... particularly CmdletInfo and ExternalScriptInfo.&lt;br /&gt; &lt;br /&gt;My feeling right now is that we will want our API to output these &amp;quot;objects&amp;quot; in a relatively human-readable (xml) serialization format which the cmdlets/apps could then re-render as PoshCodeInfo objects ... in my ideal world this would mean that we or others can EXTEND the data in the object later on without breaking applications written against the base API. That said, we would dearly like to get this right the &lt;b&gt;ahem&lt;/b&gt; third time around ;-)  (that is, &lt;b&gt;this&lt;/b&gt; time, for those of you not keeping score).&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
TO SUM UP:
&lt;/h2&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Think about what the PSModuleInfo object and CmdletInfo object look like. What needs to be added to that so that an end user could figure out whether they want to download the actual script, and how to download it.&lt;/li&gt;&lt;li&gt;Think about how we and end users will store this data, will tags and &amp;quot;machine tags&amp;quot; work? Do you like the idea (as written in the requirements on the wiki) of (mis)using them to store all sorts of extra data -- which might be specific to a given implementation of the service?&lt;/li&gt;&lt;li&gt;How much data do we want send over in search results. What about &amp;quot;dependencies&amp;quot;?&lt;/li&gt;&lt;li&gt;Think about ways to embed the data with the downloaded files!!&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;PS v2 has a concept of a &amp;quot;data manifest&amp;quot; for modules, but that may already be a part of the uploaded code.&lt;/li&gt;&lt;li&gt;We need to handle this differently for multi-file modules than for scripts -- we need to EMBED the data in the script, whereas a module could have a separate file, since a module gets extracted to it's own folder.&lt;/li&gt;&lt;li&gt;Can we just embed the meta data, in PSD1 format, in a comment block at the top of the file (at the top of the .psd1 file if you upload a module), and have a script/cmdlet which can extract that data and show it to the end user if they ask for information about a script?&lt;/li&gt;
&lt;/ol&gt;&lt;li&gt;Can we design this so that the cmdlets will work with metadata objects in scripts and allow you to check &amp;quot;any&amp;quot; server for a new version? &lt;/li&gt;&lt;ol&gt;
&lt;li&gt;You could put metadata in a script file you host on your blog that just points to a file on your webserver, or that points to our web-service.&lt;/li&gt;&lt;li&gt;We could serve up metadata in our search results about modules which we don't host (PSCX?) which would tell you what's in them, and where to get them.&lt;/li&gt;&lt;li&gt;PSCX could include our metadata in their PSD1 file, and our cmdlets would be able to check for and optionally download an updated version&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;h4&gt;
Just for today ... lets not talk about script signing at all ;-)
&lt;/h4&gt; &lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
Meeting Notes
&lt;/h1&gt;
&lt;/div&gt;</description><author>Jaykul</author><pubDate>Thu, 11 Sep 2008 14:52:29 GMT</pubDate><guid isPermaLink="false">Updated Wiki: First Requirements Meeting Notes 20080911025229P</guid></item><item><title>Updated Wiki: Requirements</title><link>http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=Requirements&amp;version=5</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
Requirements for PoshCode Repository
&lt;/h1&gt; &lt;br /&gt;&lt;a href="http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=First%20Requirements%20Meeting%20Notes&amp;amp;referringTitle=Requirements"&gt;First Requirements Meeting Notes&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;KEY:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;items with - are things we NEED to have&lt;/li&gt;&lt;li&gt;items with + are things that would be nice&lt;/li&gt;&lt;li&gt;items with ? are things we need to DECIDE about&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;I think we can store a lot of the data we want to store as special key:value &amp;quot;tags&amp;quot; so we can render them to the scripts in &amp;quot;data language&amp;quot; or comments (or data language in comments).  I think we should consider &amp;quot;Machine Tags&amp;quot;&lt;a href="#MachineTags"&gt;1&lt;/a&gt; as a way to make this extensible by third party repositories.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
General Requirements:
&lt;/h2&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Easy in, Easy out, Low Barriers (no mandatory registration, no login to download).&lt;/li&gt;&lt;li&gt;Multi-file artifacts (script modules &lt;a href="#ScriptModules"&gt;[[4]]&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Browsing and Searching in the WebUI.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;h2&gt;
Data
&lt;/h2&gt; &lt;br /&gt;This is the list of things we want to know about a script (ie: data we need to store&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;- The script itself. Scripts, snippets, examples, modules, compiled modules(&lt;a href="#ScriptModules"&gt;[[5]]&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;- The version &lt;a href="#Versioning"&gt;2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;- The date of submission (for ordering)&lt;/li&gt;&lt;li&gt;- The author (OpenID url? email address?)&lt;/li&gt;&lt;li&gt;? Function and/or Cmdlet Name(s)&lt;/li&gt;&lt;li&gt;- A description&lt;/li&gt;&lt;li&gt;? Usage (i.e. the -? help...)&lt;/li&gt;&lt;li&gt;? Example (do we really need to ask for these things separately? Shouldn't they put it into comments or a -? argument handler?)&lt;/li&gt;&lt;li&gt;+ Dependencies (PowerShell version, .Net Version, module or scripts)&lt;a href="#Dependencies"&gt;3&lt;/a&gt;&lt;/li&gt;&lt;li&gt;+ User Tagging  (including non-authors?)&lt;/li&gt;&lt;li&gt;- Nouns!&lt;/li&gt;&lt;li&gt;? License? (offer a selection: CC&lt;b&gt;, Ms&lt;/b&gt;, GPL, etc., and prepend a &amp;quot;short form&amp;quot; license comment).&lt;/li&gt;&lt;li&gt;? Feedback (Comments, Ratings)&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;We would like to persist some of this data for people who download the artifacts ... either by embedding it in comments, or by including a psd1 manifest.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Web Service API
&lt;/h2&gt; &lt;br /&gt;The goal is to define a standard web service api that anyone can implement (this means not making the API technology independent -- so you can implement it and call it from Asp/Wcf/Php/PowerShell/C#/Whatever).&lt;br /&gt; &lt;br /&gt;The API should support:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;- searching and browsing (by author, verb, noun, tag, fulltext)&lt;/li&gt;&lt;li&gt;- summaries (we need a &amp;quot;ScriptInfo&amp;quot; object: description, author, date, id/hash, version...)&lt;/li&gt;&lt;li&gt;- downloading (by id)&lt;/li&gt;&lt;li&gt;- authentication (note that OpenID requires Web UI)&lt;/li&gt;&lt;li&gt;- uploading (with all the data, somehow -- should validate mandatory data)&lt;/li&gt;&lt;li&gt;? commenting&lt;/li&gt;&lt;li&gt;? tagging&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
User Interface 
&lt;/h2&gt; &lt;br /&gt;At a minimum we need a WebUI and Cmdlets for accessing the API. Ideally they would be implemented strictly against the API so either the WebUI or the cmdlets could access any implementation of it.  Perhaps we should not open source the WebUI (or should make it strictly GPL?). Additionally, there are some other ideas...&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Stats (for convincing people to support &amp;quot;our&amp;quot; repository)
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Number of Authors&lt;/li&gt;&lt;li&gt;Number of Postings (rate per day, total count, unique scripts not counting versions)&lt;/li&gt;&lt;li&gt;Downloads, (Script) Page Views?&lt;/li&gt;&lt;li&gt;RSS subscribers?&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h3&gt;
Claims Based Trust
&lt;/h3&gt; &lt;br /&gt;Could there be a way to verify claims about scripts? using the tokenizer? using trusted authors? Eg: we could create a claims system where the uploader claims:&lt;br /&gt;A. Doesn't use .Net classes &lt;br /&gt;B. Doesn't modify files&lt;br /&gt;C. Doesn't modify registry settings&lt;br /&gt;... or whatever. Some claims could be automatically validated, and some would need to be validated by users/authors, and/or ... &lt;br /&gt; &lt;br /&gt;Should we sign the data we embed in the scripts? That is, sign our portion of the data for our own sake -- so we can track history and authorship (based on logins) with confidence.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Footnotes 
&lt;/h2&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;&lt;a name="MachineTags"&gt;&lt;/a&gt;&lt;b&gt;Machine Tags&lt;/b&gt;: (see [Wikipedia|url:http://en.wikipedia.org/wiki/Machine_tag] and the original post on [flickr|url:http://www.flickr.com/groups/api/discuss/72157594497877875/]) might let us differentiate tags that are about required libraries, etc ... but would also let other repositories extend the storage and still store the data in a way we could use. E.g.: Use our web domain for as the namespace so if there are many compatible sites, poshcode.org could have tags like &amp;quot;WMI&amp;quot; and &amp;quot;VMWare&amp;quot; and &amp;quot;WPF&amp;quot; ... but also like &amp;quot;requires:VIToolkit&amp;quot; or &amp;quot;requires:2.0&amp;quot; or &amp;quot;requires:PSCX&amp;quot; ... and could store them in the script as poshcode.org=tag:WMI, poshcode.org=requires:PSCX etc.&lt;/li&gt;&lt;li&gt;&lt;a name="Versioning"&gt;&lt;/a&gt;&lt;b&gt;Versioning&lt;/b&gt;: J. Snover had a good idea about versioning, to hash the script body and use the hash as the id of the script ... The idea is that you would then insert that as a comment into script (header? footer?), and when someone submits a script that already has an id line in it, you could assume the new script is a new version of that script, and you could keep them all there, as a history of versions for tracking scripts.  We could store that as an indexed field in the db and use it in urls too:  It would be practically unique, but portable across sites for unmodified scripts! &lt;/li&gt;&lt;li&gt;&lt;a name="Dependencies"&gt;&lt;/a&gt;&lt;b&gt;Dependencies&lt;/b&gt;: The module or script dependencies should be URLs or the hashes from &lt;a href="#Versioning"&gt;2&lt;/a&gt;, and could probably be deduced from &amp;quot;#requires http://URL&amp;quot; in the comments.&lt;/li&gt;&lt;li&gt;&lt;a name="ScriptModules"&gt;&lt;/a&gt;&lt;b&gt;Script modules&lt;/b&gt;: (and modules in general) require some system for storing multiple files as part of a single &amp;quot;artifact&amp;quot;, and for downloading them all at once.  We also need to track versioning of the &amp;quot;whole&amp;quot; package, and have an API/interface for uploading them, viewing them, and downloading them (I'm not sure if we really need to support downloading single files from a multi-file artifacts, but obviously in a WebUI you'd want to be able to show the source if it was a script module, right?)&lt;/li&gt;&lt;li&gt;&lt;a name="CompiledModules"&gt;&lt;/a&gt;&lt;b&gt;Compiled modules&lt;/b&gt;: Do we support compiled modules in any way?  If so, how?  We do NOT compile, but do we provide full source packages? They could include a MSBuild file (like a visual studio project file) and the cmdlet could hypothetically compile it. How about modules like PSCX (which is open source, but has source control elsewhere), could we (safely) provide a ScriptInfo with download URL pointing to the project's hosting?  What about commercial projects?  We can put off deciding this stuff until after V1 is out ;-)&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description><author>Jaykul</author><pubDate>Thu, 11 Sep 2008 14:34:45 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Requirements 20080911023445P</guid></item><item><title>Updated Wiki: Requirements</title><link>http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=Requirements&amp;version=4</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
Requirements for PoshCode Repository
&lt;/h1&gt; &lt;br /&gt;KEY:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;items with - are things we NEED to have&lt;/li&gt;&lt;li&gt;items with + are things that would be nice&lt;/li&gt;&lt;li&gt;items with ? are things we need to DECIDE about&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;I think we can store a lot of the data we want to store as special key:value &amp;quot;tags&amp;quot; so we can render them to the scripts in &amp;quot;data language&amp;quot; or comments (or data language in comments).  I think we should consider &amp;quot;Machine Tags&amp;quot;&lt;a href="#MachineTags"&gt;1&lt;/a&gt; as a way to make this extensible by third party repositories.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
General Requirements:
&lt;/h2&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Easy in, Easy out, Low Barriers (no mandatory registration, no login to download).&lt;/li&gt;&lt;li&gt;Multi-file artifacts (script modules &lt;a href="#ScriptModules"&gt;[[4]]&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Browsing and Searching in the WebUI.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;h2&gt;
Data
&lt;/h2&gt; &lt;br /&gt;This is the list of things we want to know about a script (ie: data we need to store&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;- The script itself. Scripts, snippets, examples, modules, compiled modules(&lt;a href="#ScriptModules"&gt;[[5]]&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;- The version &lt;a href="#Versioning"&gt;2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;- The date of submission (for ordering)&lt;/li&gt;&lt;li&gt;- The author (OpenID url? email address?)&lt;/li&gt;&lt;li&gt;? Function and/or Cmdlet Name(s)&lt;/li&gt;&lt;li&gt;- A description&lt;/li&gt;&lt;li&gt;? Usage (i.e. the -? help...)&lt;/li&gt;&lt;li&gt;? Example (do we really need to ask for these things separately? Shouldn't they put it into comments or a -? argument handler?)&lt;/li&gt;&lt;li&gt;+ Dependencies (PowerShell version, .Net Version, module or scripts)&lt;a href="#Dependencies"&gt;3&lt;/a&gt;&lt;/li&gt;&lt;li&gt;+ User Tagging  (including non-authors?)&lt;/li&gt;&lt;li&gt;- Nouns!&lt;/li&gt;&lt;li&gt;? License? (offer a selection: CC&lt;b&gt;, Ms&lt;/b&gt;, GPL, etc., and prepend a &amp;quot;short form&amp;quot; license comment).&lt;/li&gt;&lt;li&gt;? Feedback (Comments, Ratings)&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;We would like to persist some of this data for people who download the artifacts ... either by embedding it in comments, or by including a psd1 manifest.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Web Service API
&lt;/h2&gt; &lt;br /&gt;The goal is to define a standard web service api that anyone can implement (this means not making the API technology independent -- so you can implement it and call it from Asp/Wcf/Php/PowerShell/C#/Whatever).&lt;br /&gt; &lt;br /&gt;The API should support:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;- searching and browsing (by author, verb, noun, tag, fulltext)&lt;/li&gt;&lt;li&gt;- summaries (we need a &amp;quot;ScriptInfo&amp;quot; object: description, author, date, id/hash, version...)&lt;/li&gt;&lt;li&gt;- downloading (by id)&lt;/li&gt;&lt;li&gt;- authentication (note that OpenID requires Web UI)&lt;/li&gt;&lt;li&gt;- uploading (with all the data, somehow -- should validate mandatory data)&lt;/li&gt;&lt;li&gt;? commenting&lt;/li&gt;&lt;li&gt;? tagging&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
User Interface 
&lt;/h2&gt; &lt;br /&gt;At a minimum we need a WebUI and Cmdlets for accessing the API. Ideally they would be implemented strictly against the API so either the WebUI or the cmdlets could access any implementation of it.  Perhaps we should not open source the WebUI (or should make it strictly GPL?). Additionally, there are some other ideas...&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Stats (for convincing people to support &amp;quot;our&amp;quot; repository)
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Number of Authors&lt;/li&gt;&lt;li&gt;Number of Postings (rate per day, total count, unique scripts not counting versions)&lt;/li&gt;&lt;li&gt;Downloads, (Script) Page Views?&lt;/li&gt;&lt;li&gt;RSS subscribers?&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h3&gt;
Claims Based Trust
&lt;/h3&gt; &lt;br /&gt;Could there be a way to verify claims about scripts? using the tokenizer? using trusted authors? Eg: we could create a claims system where the uploader claims:&lt;br /&gt;A. Doesn't use .Net classes &lt;br /&gt;B. Doesn't modify files&lt;br /&gt;C. Doesn't modify registry settings&lt;br /&gt;... or whatever. Some claims could be automatically validated, and some would need to be validated by users/authors, and/or ... &lt;br /&gt; &lt;br /&gt;Should we sign the data we embed in the scripts? That is, sign our portion of the data for our own sake -- so we can track history and authorship (based on logins) with confidence.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Footnotes 
&lt;/h2&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;&lt;a name="MachineTags"&gt;&lt;/a&gt;&lt;b&gt;Machine Tags&lt;/b&gt;: (see [Wikipedia|url:http://en.wikipedia.org/wiki/Machine_tag] and the original post on [flickr|url:http://www.flickr.com/groups/api/discuss/72157594497877875/]) might let us differentiate tags that are about required libraries, etc ... but would also let other repositories extend the storage and still store the data in a way we could use. E.g.: Use our web domain for as the namespace so if there are many compatible sites, poshcode.org could have tags like &amp;quot;WMI&amp;quot; and &amp;quot;VMWare&amp;quot; and &amp;quot;WPF&amp;quot; ... but also like &amp;quot;requires:VIToolkit&amp;quot; or &amp;quot;requires:2.0&amp;quot; or &amp;quot;requires:PSCX&amp;quot; ... and could store them in the script as poshcode.org=tag:WMI, poshcode.org=requires:PSCX etc.&lt;/li&gt;&lt;li&gt;&lt;a name="Versioning"&gt;&lt;/a&gt;&lt;b&gt;Versioning&lt;/b&gt;: J. Snover had a good idea about versioning, to hash the script body and use the hash as the id of the script ... The idea is that you would then insert that as a comment into script (header? footer?), and when someone submits a script that already has an id line in it, you could assume the new script is a new version of that script, and you could keep them all there, as a history of versions for tracking scripts.  We could store that as an indexed field in the db and use it in urls too:  It would be practically unique, but portable across sites for unmodified scripts! &lt;/li&gt;&lt;li&gt;&lt;a name="Dependencies"&gt;&lt;/a&gt;&lt;b&gt;Dependencies&lt;/b&gt;: The module or script dependencies should be URLs or the hashes from &lt;a href="#Versioning"&gt;2&lt;/a&gt;, and could probably be deduced from &amp;quot;#requires http://URL&amp;quot; in the comments.&lt;/li&gt;&lt;li&gt;&lt;a name="ScriptModules"&gt;&lt;/a&gt;&lt;b&gt;Script modules&lt;/b&gt;: (and modules in general) require some system for storing multiple files as part of a single &amp;quot;artifact&amp;quot;, and for downloading them all at once.  We also need to track versioning of the &amp;quot;whole&amp;quot; package, and have an API/interface for uploading them, viewing them, and downloading them (I'm not sure if we really need to support downloading single files from a multi-file artifacts, but obviously in a WebUI you'd want to be able to show the source if it was a script module, right?)&lt;/li&gt;&lt;li&gt;&lt;a name="CompiledModules"&gt;&lt;/a&gt;&lt;b&gt;Compiled modules&lt;/b&gt;: Do we support compiled modules in any way?  If so, how?  We do NOT compile, but do we provide full source packages? They could include a MSBuild file (like a visual studio project file) and the cmdlet could hypothetically compile it. How about modules like PSCX (which is open source, but has source control elsewhere), could we (safely) provide a ScriptInfo with download URL pointing to the project's hosting?  What about commercial projects?  We can put off deciding this stuff until after V1 is out ;-)&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description><author>Jaykul</author><pubDate>Sun, 07 Sep 2008 03:30:54 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Requirements 20080907033054A</guid></item><item><title>Updated Wiki: Requirements</title><link>http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=Requirements&amp;version=3</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
Requirements for PoshCode Repository
&lt;/h1&gt; &lt;br /&gt;KEY:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;items with - are things we NEED to have&lt;/li&gt;&lt;li&gt;items with + are things that would be nice&lt;/li&gt;&lt;li&gt;items with ? are things we need to DECIDE about&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;I think we can store a lot of the data we want to store as special key:value &amp;quot;tags&amp;quot; so we can render them to the scripts in &amp;quot;data language&amp;quot; or comments (or data language in comments).  I think we should consider &amp;quot;Machine Tags&amp;quot;&lt;a href="#MachineTags"&gt;1&lt;/a&gt; as a way to make this extensible by third party repositories.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
General Requirements:
&lt;/h2&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Easy in, Easy out, Low Barriers (no mandatory registration, no login to download).&lt;/li&gt;&lt;li&gt;Multi-file artifacts (script modules &lt;a href="#ScriptModules"&gt;[[4]]&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Browsing and Searching in the WebUI.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Data
&lt;/h2&gt; &lt;br /&gt;This is the list of things we want to know about a script (ie: data we need to store&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;- The script itself. Scripts, snippets, examples, modules, compiled modules(&lt;a href="#ScriptModules"&gt;[[5]]&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;- The version &lt;a href="#Versioning"&gt;2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;- The date of submission (for ordering)&lt;/li&gt;&lt;li&gt;- The author (OpenID url? email address?)&lt;/li&gt;&lt;li&gt;? Function and/or Cmdlet Name(s)&lt;/li&gt;&lt;li&gt;- A description&lt;/li&gt;&lt;li&gt;? Usage (i.e. the -? help...)&lt;/li&gt;&lt;li&gt;? Example (do we really need to ask for these things separately? Shouldn't they put it into comments or a -? argument handler?)&lt;/li&gt;&lt;li&gt;+ Dependencies (PowerShell version, .Net Version, module or scripts)&lt;a href="#Dependencies"&gt;3&lt;/a&gt;&lt;/li&gt;&lt;li&gt;+ User Tagging  (including non-authors?)&lt;/li&gt;&lt;li&gt;- Nouns!&lt;/li&gt;&lt;li&gt;? License? (offer a selection: CC&lt;b&gt;, Ms&lt;/b&gt;, GPL, etc., and prepend a &amp;quot;short form&amp;quot; license comment).&lt;/li&gt;&lt;li&gt;? Feedback (Comments, Ratings)&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;We would like to persist some of this data for people who download the artifacts ... either by embedding it in comments, or by including a psd1 manifest.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Web Service API
&lt;/h2&gt; &lt;br /&gt;The goal is to define a standard web service api that anyone can implement (this means not making the API technology independent -- so you can implement it and call it from Asp/Wcf/Php/PowerShell/C#/Whatever).&lt;br /&gt; &lt;br /&gt;The API should support:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;- searching and browsing (by author, verb, noun, tag, fulltext)&lt;/li&gt;&lt;li&gt;- summaries (we need a &amp;quot;ScriptInfo&amp;quot; object: description, author, date, id/hash, version...)&lt;/li&gt;&lt;li&gt;- downloading (by id)&lt;/li&gt;&lt;li&gt;- authentication (note that OpenID requires Web UI)&lt;/li&gt;&lt;li&gt;- uploading (with all the data, somehow -- should validate mandatory data)&lt;/li&gt;&lt;li&gt;? commenting&lt;/li&gt;&lt;li&gt;? tagging&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
User Interface 
&lt;/h2&gt; &lt;br /&gt;At a minimum we need a WebUI and Cmdlets for accessing the API. Ideally they would be implemented strictly against the API so either the WebUI or the cmdlets could access any implementation of it.  Perhaps we should not open source the WebUI (or should make it strictly GPL?). Additionally, there are some other ideas...&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Stats (for convincing people to support &amp;quot;our&amp;quot; repository)
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Number of Authors&lt;/li&gt;&lt;li&gt;Number of Postings (rate per day, total count, unique scripts not counting versions)&lt;/li&gt;&lt;li&gt;Downloads, (Script) Page Views?&lt;/li&gt;&lt;li&gt;RSS subscribers?&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Claims Based Trust
&lt;/h3&gt; &lt;br /&gt;Could there be a way to verify claims about scripts? using the tokenizer? using trusted authors? Eg: we could create a claims system where the uploader claims:&lt;br /&gt;A. Doesn't use .Net classes &lt;br /&gt;B. Doesn't modify files&lt;br /&gt;C. Doesn't modify registry settings&lt;br /&gt;... or whatever. Some claims could be automatically validated, and some would need to be validated by users/authors, and/or ... &lt;br /&gt; &lt;br /&gt;Should we sign the data we embed in the scripts? That is, sign our portion of the data for our own sake -- so we can track history and authorship (based on logins) with confidence.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Footnotes 
&lt;/h2&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;&lt;a name="MachineTags"&gt;&lt;/a&gt;Machine Tags: see http://en.wikipedia.org/wiki/Machine_tag and http://machinetags.org/ and http://www.flickr.com/groups/api/discuss/72157594497877875/ might let us differentiate tags that are about required libraries, etc ... but would also let other repositories extend the storage and still store the data in a way we could use. E.g.: Use our web domain for as the namespace so if there are many compatible sites, poshcode.org could have tags like &amp;quot;WMI&amp;quot; and &amp;quot;VMWare&amp;quot; and &amp;quot;WPF&amp;quot; ... but also like &amp;quot;requires:VIToolkit&amp;quot; or &amp;quot;requires:2.0&amp;quot; or &amp;quot;requires:PSCX&amp;quot; ... and could store them in the script as poshcode.org=tag:WMI, poshcode.org=requires:PSCX etc.&lt;/li&gt;&lt;li&gt;&lt;a name="Versioning"&gt;&lt;/a&gt;Versioning: J. Snover had a good idea about versioning, to hash the script body and use the hash as the id of the script ... The idea is that you would then insert that as a comment into script (header? footer?), and when someone submits a script that already has an id line in it, you could assume the new script is a new version of that script, and you could keep them all there, as a history of versions for tracking scripts.  We could store that as an indexed field in the db and use it in urls too:  It would be practically unique, but portable across sites for unmodified scripts! &lt;/li&gt;&lt;li&gt;&lt;a name="Dependencies"&gt;&lt;/a&gt;Dependencies: The module or script dependencies should be URLs or the hashes from &lt;a href="#Versioning"&gt;2&lt;/a&gt;, and could probably be deduced from &amp;quot;#requires http://URL&amp;quot; in the comments.&lt;/li&gt;&lt;li&gt;&lt;a name="ScriptModules"&gt;&lt;/a&gt;Script modules: (and modules in general) require some system for storing multiple files as part of a single &amp;quot;artifact&amp;quot;, and for downloading them all at once.  We also need to track versioning of the &amp;quot;whole&amp;quot; package, and have an API/interface for uploading them, viewing them, and downloading them (I'm not sure if we really need to support downloading single files from a multi-file artifacts, but obviously in a WebUI you'd want to be able to show the source if it was a script module, right?)&lt;/li&gt;&lt;li&gt;&lt;a name="CompiledModules"&gt;&lt;/a&gt;Compiled modules: Do we support compiled modules in any way?  If so, how?  We do NOT compile, but do we provide full source packages? They could include a MSBuild file (like a visual studio project file) and the cmdlet could hypothetically compile it. How about modules like PSCX (which is open source, but has source control elsewhere), could we (safely) provide a ScriptInfo with download URL pointing to the project's hosting?  What about commercial projects?  We can put off deciding this stuff until after V1 is out ;-)&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description><author>Jaykul</author><pubDate>Sun, 07 Sep 2008 03:27:35 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Requirements 20080907032735A</guid></item><item><title>Updated Wiki: Requirements</title><link>http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=Requirements&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
Requirements for PoshCode Repository
&lt;/h1&gt; &lt;br /&gt;KEY:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;items with - are things we NEED to have&lt;/li&gt;&lt;li&gt;items with + are things that would be nice&lt;/li&gt;&lt;li&gt;items with ? are things we need to DECIDE about&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;I think we can store a lot of the data we want to store as special key:value &amp;quot;tags&amp;quot; so we can render them to the scripts in &amp;quot;data language&amp;quot; or comments (or data language in comments).  I think we should consider &amp;quot;Machine Tags&amp;quot;&lt;a href="#MachineTags"&gt;1&lt;/a&gt; as a way to make this extensible by third party repositories.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
General Requirements:
&lt;/h2&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Easy in, Easy out, Low Barriers (no mandatory registration, no login to download).&lt;/li&gt;&lt;li&gt;Multi-file artifacts (script modules &lt;a href="#ScriptModules"&gt;[[4]]&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Browsing and Searching in the WebUI.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Data
&lt;/h2&gt; &lt;br /&gt;This is the list of things we want to know about a script (ie: data we need to store&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;- The script itself. Scripts, snippets, examples, modules, compiled modules(&lt;a href="#ScriptModules"&gt;[[5]]&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;- The version &lt;a href="#Versioning"&gt;2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;- The date of submission (for ordering)&lt;/li&gt;&lt;li&gt;- The author (OpenID url? email address?)&lt;/li&gt;&lt;li&gt;? Function and/or Cmdlet Name(s)&lt;/li&gt;&lt;li&gt;- A description&lt;/li&gt;&lt;li&gt;? Usage (i.e. the -? help...)&lt;/li&gt;&lt;li&gt;? Example (do we really need to ask for these things separately? Shouldn't they put it into comments or a -? argument handler?)&lt;/li&gt;&lt;li&gt;+ Dependencies (PowerShell version, .Net Version, module or scripts)&lt;a href="#Dependencies"&gt;3&lt;/a&gt;&lt;/li&gt;&lt;li&gt;+ User Tagging  (including non-authors?)&lt;/li&gt;&lt;li&gt;- Nouns!&lt;/li&gt;&lt;li&gt;? License? (offer a selection: CC&lt;b&gt;, Ms&lt;/b&gt;, GPL, etc., and prepend a &amp;quot;short form&amp;quot; license comment).&lt;/li&gt;&lt;li&gt;? Feedback (Comments, Ratings)&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;We would like to persist some of this data for people who download the artifacts ... either by embedding it in comments, or by including a psd1 manifest.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Web Service API
&lt;/h2&gt; &lt;br /&gt;The goal is to define a standard web service api that anyone can implement (this means not making the API technology independent -- so you can implement it and call it from Asp/Wcf/Php/PowerShell/C#/Whatever).&lt;br /&gt; &lt;br /&gt;The API should support:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;- searching and browsing (by author, verb, noun, tag, fulltext)&lt;/li&gt;&lt;li&gt;- summaries (we need a &amp;quot;ScriptInfo&amp;quot; object: description, author, date, id/hash, version...)&lt;/li&gt;&lt;li&gt;- downloading (by id)&lt;/li&gt;&lt;li&gt;- authentication (note that OpenID requires Web UI)&lt;/li&gt;&lt;li&gt;- uploading (with all the data, somehow -- should validate mandatory data)&lt;/li&gt;&lt;li&gt;? commenting&lt;/li&gt;&lt;li&gt;? tagging&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
User Interface 
&lt;/h2&gt; &lt;br /&gt;At a minimum we need a WebUI and Cmdlets for accessing the API. Ideally they would be implemented strictly against the API so either the WebUI or the cmdlets could access any implementation of it.  Perhaps we should not open source the WebUI (or should make it strictly GPL?). Additionally, there are some other ideas...&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Stats (for convincing people to support &amp;quot;our&amp;quot; repository)
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Number of Authors&lt;/li&gt;&lt;li&gt;Number of Postings (rate per day, total count, unique scripts not counting versions)&lt;/li&gt;&lt;li&gt;Downloads, (Script) Page Views?&lt;/li&gt;&lt;li&gt;RSS subscribers?&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Claims Based Trust
&lt;/h3&gt; &lt;br /&gt;Could there be a way to verify claims about scripts? using the tokenizer? using trusted authors? Eg: we could create a claims system where the uploader claims:&lt;br /&gt;A. Doesn't use .Net classes &lt;br /&gt;B. Doesn't modify files&lt;br /&gt;C. Doesn't modify registry settings&lt;br /&gt;... or whatever. Some claims could be automatically validated, and some would need to be validated by users/authors, and/or ... &lt;br /&gt; &lt;br /&gt;Should we sign the data we embed in the scripts? That is, sign our portion of the data for our own sake -- so we can track history and authorship (based on logins) with confidence.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Footnotes 
&lt;/h2&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;{Machine Tags:MachineTags}: see http://en.wikipedia.org/wiki/Machine_tag and http://machinetags.org/ and http://www.flickr.com/groups/api/discuss/72157594497877875/ might let us differentiate tags that are about required libraries, etc ... but would also let other repositories extend the storage and still store the data in a way we could use. E.g.: Use our web domain for as the namespace so if there are many compatible sites, poshcode.org could have tags like &amp;quot;WMI&amp;quot; and &amp;quot;VMWare&amp;quot; and &amp;quot;WPF&amp;quot; ... but also like &amp;quot;requires:VIToolkit&amp;quot; or &amp;quot;requires:2.0&amp;quot; or &amp;quot;requires:PSCX&amp;quot; ... and could store them in the script as poshcode.org=tag:WMI, poshcode.org=requires:PSCX etc.&lt;/li&gt;&lt;li&gt;{Versioning:Versioning}: J. Snover had a good idea about versioning, to hash the script body and use the hash as the id of the script ... The idea is that you would then insert that as a comment into script (header? footer?), and when someone submits a script that already has an id line in it, you could assume the new script is a new version of that script, and you could keep them all there, as a history of versions for tracking scripts.  We could store that as an indexed field in the db and use it in urls too:  It would be practically unique, but portable across sites for unmodified scripts! &lt;/li&gt;&lt;li&gt;{Dependencies:Dependencies}: The module or script dependencies should be URLs or the hashes from &lt;a href="#Versioning"&gt;2&lt;/a&gt;, and could probably be deduced from &amp;quot;#requires http://URL&amp;quot; in the comments.&lt;/li&gt;&lt;li&gt;{Script modules:ScriptModules} (and modules in general) require some system for storing multiple files as part of a single &amp;quot;artifact&amp;quot;, and for downloading them all at once.  We also need to track versioning of the &amp;quot;whole&amp;quot; package, and have an API/interface for uploading them, viewing them, and downloading them (I'm not sure if we really need to support downloading single files from a multi-file artifacts, but obviously in a WebUI you'd want to be able to show the source if it was a script module, right?)&lt;/li&gt;&lt;li&gt;{Compiled modules:CompiledModules} Do we support compiled modules in any way?  If so, how?  We do NOT compile, but do we provide full source packages? They could include a MSBuild file (like a visual studio project file) and the cmdlet could hypothetically compile it. How about modules like PSCX (which is open source, but has source control elsewhere), could we (safely) provide a ScriptInfo with download URL pointing to the project's hosting?  What about commercial projects?  We can put off deciding this stuff until after V1 is out ;-)&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description><author>Jaykul</author><pubDate>Sun, 07 Sep 2008 03:19:51 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Requirements 20080907031951A</guid></item><item><title>Updated Wiki: Requirements</title><link>http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=Requirements&amp;version=1</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
General Notes
&lt;/h1&gt; &lt;br /&gt;KEY:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;items with - are things we NEED to have&lt;/li&gt;&lt;li&gt;items with + are things that would be nice&lt;/li&gt;&lt;li&gt;items with ? are things we need to DECIDE about&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;I think we can store a lot of the data we want to store as special key:value &amp;quot;tags&amp;quot; so we can render them to the scripts in &amp;quot;data language&amp;quot; or comments (or data language in comments).  I think we should consider &amp;quot;Machine Tags&amp;quot;&lt;a href="#MachineTags"&gt;1&lt;/a&gt; as a way to make this extensible by third party repositories.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Data
&lt;/h2&gt; &lt;br /&gt;This is the list of things we want to know about a script (ie: data we need to store&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;- The script itself. Scripts, snippets, examples, modules, compiled modules(?)&lt;/li&gt;&lt;li&gt;- The version &lt;a href="#Versioning"&gt;2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;- The date of submission (for ordering)&lt;/li&gt;&lt;li&gt;- The author (OpenID url? email address?)&lt;/li&gt;&lt;li&gt;- A description&lt;/li&gt;&lt;li&gt;? Usage (i.e. the -? help...)&lt;/li&gt;&lt;li&gt;? Example (do we really need to ask for these things separately? Shouldn't they put it into comments or a -? argument handler?)&lt;/li&gt;&lt;li&gt;+ Dependencies (PowerShell version, .Net Version, module or scripts)&lt;a href="#Dependencies"&gt;3&lt;/a&gt;&lt;/li&gt;&lt;li&gt;+ User Tagging  (including non-authors?)&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;We would like to persist some of this data for people who download the artifacts ... either by embedding it in comments, or by including a psd1 manifest.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Web Service API
&lt;/h2&gt; &lt;br /&gt;The goal is to define a standard web service api that anyone can implement (this means not making the API technology independent -- so you can implement it and call it from Asp/Wcf/Php/PowerShell/C#/Whatever).&lt;br /&gt; &lt;br /&gt;The API should support:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;- searching and browsing (by author, verb, noun, tag)&lt;/li&gt;&lt;li&gt;- summaries (we need a &amp;quot;ScriptInfo&amp;quot; object: description, author, date, id/hash, version...)&lt;/li&gt;&lt;li&gt;- downloading&lt;/li&gt;&lt;li&gt;- authentication (note that OpenID requires Web UI)&lt;/li&gt;&lt;li&gt;- uploading (with all the data, somehow)&lt;/li&gt;&lt;li&gt;? commenting&lt;/li&gt;&lt;li&gt;? tagging&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
User Interface 
&lt;/h2&gt; &lt;br /&gt;At a minimum we need a WebUI and Cmdlets for accessing the API. Ideally they would be implemented strictly against the API so either the WebUI or the cmdlets could access any implementation of it.  Perhaps we should not open source the WebUI (or should make it strictly GPL?). Additionally, there are some other ideas...&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Claims Based Trust
&lt;/h3&gt; &lt;br /&gt;Could there be a way to verify claims about scripts? using the tokenizer? using trusted authors? Eg: we could create a claims system where the uploader claims:&lt;br /&gt;A. Doesn't use .Net classes &lt;br /&gt;B. Doesn't modify files&lt;br /&gt;C. Doesn't modify registry settings&lt;br /&gt;... or whatever. Some claims could be automatically validated, and some would need to be validated by users/authors, and/or ... &lt;br /&gt; &lt;br /&gt;Should we sign the data we embed in the scripts? That is, sign our portion of the data for our own sake -- so we can track history and authorship (based on logins) with confidence.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Footnotes 
&lt;/h2&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;{Machine Tags:MachineTags}: see http://en.wikipedia.org/wiki/Machine_tag and http://machinetags.org/ and http://www.flickr.com/groups/api/discuss/72157594497877875/ might let us differentiate tags that are about required libraries, etc ... but would also let other repositories extend the storage and still store the data in a way we could use. E.g.: Use our web domain for as the namespace so if there are many compatible sites, poshcode.org could have tags like &amp;quot;WMI&amp;quot; and &amp;quot;VMWare&amp;quot; and &amp;quot;WPF&amp;quot; ... but also like &amp;quot;requires:VIToolkit&amp;quot; or &amp;quot;requires:2.0&amp;quot; or &amp;quot;requires:PSCX&amp;quot; ... and could store them in the script as poshcode.org=tag:WMI, poshcode.org=requires:PSCX etc.&lt;/li&gt;&lt;li&gt;{Versioning:Versioning}: J. Snover had a good idea about versioning, to hash the script body and use the hash as the id of the script ... The idea is that you would then insert that as a comment into script (header? footer?), and when someone submits a script that already has an id line in it, you could assume the new script is a new version of that script, and you could keep them all there, as a history of versions for tracking scripts.  We could store that as an indexed field in the db and use it in urls too:  It would be practically unique, but portable across sites for unmodified scripts! &lt;/li&gt;&lt;li&gt;{Dependencies:Dependencies}: The module or script dependencies should be URLs or the hashes from &lt;a href="#Versioning"&gt;2&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description><author>Jaykul</author><pubDate>Sat, 06 Sep 2008 21:02:20 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Requirements 20080906090220P</guid></item><item><title>Updated Wiki: Home</title><link>http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=Home&amp;version=7</link><description>&lt;div class="wikidoc"&gt;
PoshCode is a PowerShell-centric code-snippet storage web service. The primary goal is to store code snippets, scripts, and/or modules (collectively, artifacts) and provide access to them from within PowerShell.  This project serves as the coordination point for our effort to develop a standard API for such services, as well as a baseline implementation of the API, and a sample set of client implementations (at a minimum: web, cmdlets).&lt;br /&gt; &lt;br /&gt;We're re-working our &lt;a href="http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=Requirements&amp;amp;referringTitle=Home"&gt;Requirements&lt;/a&gt; right now, and will post more on the front page when we have something more interesting to share ;-)&lt;br /&gt;
&lt;/div&gt;</description><author>Jaykul</author><pubDate>Sat, 06 Sep 2008 21:01:35 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20080906090135P</guid></item><item><title>UPDATED WIKI: web UI</title><link>http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=web UI&amp;version=1</link><description>&lt;div class="wikidoc"&gt;
One of our core concepts is that the back end will be based on WCF -- this is partly for functionality, and partly to motivate the Open Source developers that are writing it, because we like the idea of using this to further our familiarity with the technology.  However, there &lt;i&gt;will&lt;/i&gt; be a Web front-end, and one of the questions that has come up is whether the Web UI &amp;quot;View&amp;quot; Layer should talk to the controller layer  exclusively through WCF.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Here's the &lt;i&gt;tentative&lt;/i&gt; answer:
&lt;/h2&gt; &lt;br /&gt;The web front end should be written so that it &lt;i&gt;could&lt;/i&gt; communicate with the server exclusively through WCF. It should be written against the WCF interface, but for now, it can have a direct reference to the WCF &amp;quot;server&amp;quot; implementation, so that it doesn't need to use networking to &amp;quot;communicate&amp;quot; with the view layer.  This way, if the need arises later on for the web UI to be moved to a different server than the service is running on, it should be a matter of a few tweaks to the code to run it remotely.&lt;br /&gt;
&lt;/div&gt;</description><author>Jaykul</author><pubDate>Thu, 22 May 2008 17:41:42 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: web UI 20080522054142P</guid></item><item><title>UPDATED WIKI: Verb-Noun</title><link>http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=Verb-Noun&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
We are currently handling verb/noun by using tagging, and I think that's the way it should stay ...  it doesn't provide referential integrity, but since we're not concerned with preventing multiple people from writing a dozen different implementations of Get-Web or Send-Tweet, that's not a problem.&lt;br /&gt; &lt;br /&gt;Basically, this is how it works: if you upload a script module that has three functions or cmdlets in it:  &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Add-Widget&lt;/li&gt;&lt;li&gt;Get-Widget&lt;/li&gt;&lt;li&gt;Remove-Widget &lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;You would need to specify these names to the PowerShell-specific upload UI (or cmdlet) and it would be stored with the following tags:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Noun:Widget&lt;/li&gt;&lt;li&gt;Verb:Add&lt;/li&gt;&lt;li&gt;Verb:Get&lt;/li&gt;&lt;li&gt;Verb:Remove&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;The idea is that the cmdlets and WebUI will make it so you don't have to be particularly aware of that by allowing you to &amp;quot;Search by Noun&amp;quot; and then taking your noun and doing a tag search by Noun:YourNoun&lt;br /&gt;
&lt;/div&gt;</description><author>Jaykul</author><pubDate>Thu, 22 May 2008 17:36:38 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Verb-Noun 20080522053638P</guid></item><item><title>UPDATED WIKI: Verb-Noun</title><link>http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=Verb-Noun&amp;version=1</link><description>&lt;div class="wikidoc"&gt;
We are currently handling verb/noun by using tagging, and I think that's the way it should stay ...  it doesn't provide referential integrity, but since we're not concerned with preventing multiple people from writing a dozen different implementations of Get-Web or Send-Tweet, that's not a problem.&lt;br /&gt; &lt;br /&gt;Basically, this is how it works: if you upload a script module that has three functions or cmdlets in it:  &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Add-Widget&lt;/li&gt;&lt;li&gt;Get-Widget&lt;/li&gt;&lt;li&gt;Remove-Widget &lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;You would need to specify these names to the PowerShell-specific upload UI (or cmdlet) and it would be stored with the following tags:&lt;br /&gt;*Noun:Widget&lt;br /&gt;*Verb:Add&lt;br /&gt;*Verb:Get&lt;br /&gt;*Verb:Remove&lt;br /&gt; &lt;br /&gt;The idea is that the cmdlets and WebUI will make it so you don't have to be particularly aware of that by allowing you to &amp;quot;Search by Noun&amp;quot; and then taking your noun and doing a tag search by Noun:YourNoun&lt;br /&gt;
&lt;/div&gt;</description><author>Jaykul</author><pubDate>Thu, 22 May 2008 17:36:23 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Verb-Noun 20080522053623P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=Home&amp;version=6</link><description>&lt;div class="wikidoc"&gt;
PoshCode is a code-snippet storage system with the primary goal of storing code snippets and providing access to snippets from within PowerShell. It will also have a web UI, and will support tagging and snippet versioning.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
ToDo list:
&lt;/h2&gt; &lt;br /&gt;&lt;h3&gt;
Initial public release
&lt;/h3&gt; &lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Be able to retrieve code snippets by id (&lt;i&gt;completed&lt;/i&gt;)&lt;/li&gt;&lt;li&gt;Be able to add code snippets specifying all fields(&lt;i&gt;completed&lt;/i&gt;)&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;Validate &amp;quot;required&amp;quot; fields at the client end&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=Authenticate%20authors&amp;amp;referringTitle=Home"&gt;Authenticate authors&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;li&gt;Be able to return partial snippets based on search&lt;/li&gt;&lt;li&gt;Provide a client implementation (probably PowerShell cmdlets which work with strings in the pipeline)&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;h3&gt;
Post release
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;Snippet Versioning (ability to submit new versions of existing snippets)&lt;/li&gt;&lt;li&gt;A &lt;a href="http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=web%20UI&amp;amp;referringTitle=Home"&gt;web UI&lt;/a&gt;&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;Including snippet submission&lt;/li&gt;&lt;li&gt;Including snippet search&lt;/li&gt;
&lt;/ol&gt;&lt;li&gt;Script browsing by Author, Language, &lt;a href="http://www.codeplex.com/PoshCode/Wiki/View.aspx?title=Verb-Noun&amp;amp;referringTitle=Home"&gt;Verb-Noun&lt;/a&gt;, Tag  -- &lt;b&gt;or any mix of these&lt;/b&gt; (including search terms?)&lt;/li&gt;&lt;li&gt;Color-syntax highlighting (for the web)&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description><author>Jaykul</author><pubDate>Thu, 22 May 2008 17:32:39 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080522053239P</guid></item></channel></rss>