PCX package repository

Topics: Developer Forum, Project Management Forum
Jan 2, 2010 at 4:14 AM

I've just recently spent the time going through the code on the site.  I've finally got the whole thing figured out, and have been able to start pitching in a bit, but I have to say the learning process was a nightmare.  It got me thinking.  Since PCX is going module based anyway has there been any thought or discussion to creating a repository with a powershell interface?  I'm talking about something like CPAN/ppm that Perl has.  If we create the base modules for interfacing with the repository, and then define ways for submitting packages to the repository that would allow for dependencies we could modularize the Extensions, and allow for other developers to more easily add packages to PCX.  It would allow users to pick and choose what they want out of PCX, and it would mean that any module could be added to PCX.

My thoughts are to have commands like the following:

get-repository with query or filter properties to find packages that you are looking for... i.e. get-repository -filter mp3 to find all packages related to mp3s.

get-repositoryhelp to read a get-help on a cmdlet within a module before installing

import-repositorymodule package name - Would install a module and all dependant modules.  It should also warn that it will be installing the additional modules.  It should optionally not add the import-module command to the user's $profile.

remove-repositorymodule package name - To completely uninstall the module

Obviously there are some big things that need to be figured out.... hosting... database...  controlling submissions/changes...

Any thoughts or interest?

Developer
Jan 2, 2010 at 4:19 AM
Hi Toenuff,
 
Sorry you had a hard time picking up on the code, but yeah, it's complex. :)
 
As regards a repository, this initiative is already in progress and already has a v1 site (with associated snapin/module for searching) over at www.poshcode.org. The v2 version is based on atomsite, and was used in prototype form to host the 2009 microsoft scripting games over at scriptinggames.poshcode.org.
 
- Oisin

On Fri, Jan 1, 2010 at 11:14 PM, toenuff <notifications@codeplex.com> wrote:

From: toenuff

I've just recently spent the time going through the code on the site.  I've finally got the whole thing figured out, and have been able to start pitching in a bit, but I have to say the learning process was a nightmare.  It got me thinking.  Since PCX is going module based anyway has there been any thought or discussion to creating a repository with a powershell interface?  I'm talking about something like CPAN/ppm that Perl has.  If we create the base modules for interfacing with the repository, and then define ways for submitting packages to the repository that would allow for dependencies we could modularize the Extensions, and allow for other developers to more easily add packages to PCX.  It would allow users to pick and choose what they want out of PCX, and it would mean that any module could be added to PCX.

My thoughts are to have commands like the following:

get-repository with query or filter properties to find packages that you are looking for... i.e. get-repository -filter mp3 to find all packages related to mp3s.

get-repositoryhelp to read a get-help on a cmdlet within a module before installing

import-repositorymodule package name - Would install a module and all dependant modules.  It should also warn that it will be installing the additional modules.  It should optionally not add the import-module command to the user's $profile.

remove-repositorymodule package name - To completely uninstall the module

Obviously there are some big things that need to be figured out.... hosting... database...  controlling submissions/changes...

Any thoughts or interest?

Read the full discussion online.

To add a post to this discussion, reply to this email (Pscx@discussions.codeplex.com)

To start a new discussion for this project, email Pscx@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe or change your settings on codePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at codeplex.com




--

---
404 signature missing
Jan 2, 2010 at 4:38 AM

Interesting.  I didn't realize that.  Is there a plan to move PCX 2.0 to the poshcode repository or is that going to be a later project?  Is the new version of poshcode going to allow compiled c# modules somehow?

Developer
Jan 2, 2010 at 4:40 AM
Yes, poshcode is for scripts, modules and eventually metadata about (and possibly including) precompiled binary modules.

- Oisin
 
 
On Fri, Jan 1, 2010 at 11:38 PM, toenuff <notifications@codeplex.com> wrote:

From: toenuff

Interesting.  I didn't realize that.  Is there a plan to move PCX 2.0 to the poshcode repository or is that going to be a later project?  Is the new version of poshcode going to allow compiled c# modules somehow?

Read the full discussion online.

To add a post to this discussion, reply to this email (Pscx@discussions.codeplex.com)

To start a new discussion for this project, email Pscx@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe or change your settings on codePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at codeplex.com




--

---
404 signature missing
Coordinator
Jan 2, 2010 at 4:46 AM

>> Is there a plan to move PCX 2.0 to the poshcode repository

No. CodePlex is the home for PSCX.  We want to track download stats and defects through CodePlex but most importantly, we get a good source control experience via the use of TFS.

Developer
Jan 2, 2010 at 5:53 AM
The intent of the PoshCode team is for it to be THE central repository for *information* and download links for ALL modules and scripts. In order to achieve that, the next version of PoshCode will allow you to create an entry on the system without uploading anything, to serve as a download link for the actual module.



That is, what we will want when we launch our new site is for everyone that’s working on something like PSCX to come and enter some information about their modules, including links to the downloads on their own sites such that they can be followed by our new PoshCode module, allowing:



· Create Scripts/Modules

· Categorize them and tag them

· Rate them and comment on them (if they are not hosted by us, the comments will be disabled when we have a link to the project feedback site)

· Search Modules (and sort, ie: by rating)

· Get Detailed Information

· Download a Module (and it’s dependencies)



Additionally, we’ll eventually provide tools based on the PowerShell Module metadata to resolve dependencies for scripts/modules that you get elsewhere.



I’ve actually started work on this again, so we should be moving to the new software in the next month or two (hopefully before the MVP summit) -- but hey Oisín, we should talk ;)
Jan 2, 2010 at 2:45 PM

I'm looking forward to it.  

My 2 cents: Code snippits and functions are great, but there's something to be said for complete and robust modules complete with documentation.  Now that modules exist they really should become the standard for creating re-usable code for the community.  I also think there's something to be said for a governed central repository to ensure that namespaces make sense, and that duplicate modules are not created.

I'm sure poshcode.org will continue to grow, and I look forward to it.  Just don't forget that CPAN has been around for a long time, and is a model for this concept.  I'm not saying that it has to be identical, but it should be studied since it is so successful and useful to the Perl community.

If you guys ever need help or feedback let me know.  What you are doing could potentially be the foundation for future community development with Powershell rather than just a helpful website.