Thursday, October 29, 2009

Seen all the PowerShell goodness in Win7? Want to use the same tool Microsoft did to create much of it? Here you go! “PowerShell Cmdlet and Help Designer” (free and source available BTW)

Windows PowerShell Blog - Announcing: Open Source PowerShell Cmdlet and Help Designer

“During the development of Windows 7, most cmdlet design and help authoring in Microsoft went through an internal tool called the “Cmdlet Designer.”

cmdlet_designer_2

So why blog about it? Because it’s now yours!

We just posted the entirety of the Cmdlet Designer, its source code, design specification, and deployment guide to http://www.codeplex.com/CmdletDesigner under the most permissive Microsoft Open Source license, the Microsoft Public License (MS-PL).

…”

CodePlex - PowerShell Cmdlet and Help Designer

“The Cmdlet Designer makes it much easier for teams to concentrate on the design, naming, and consistency of their cmdlets, while also guaranteeing name registration and collision avoidance across a project.

To sweeten the deal, it offers:

  • Integrated help authoring
  • Efficient bulk operations (parameter and cmdlet cloning)
  • Generation of cmdlet code
  • Full scripting support
  • Automatic code-spec comparison and testing
  • Role-based security, history logging, and more.

Architecturally, the Cmdlet Designer offers a reference implementation to benefit developers as well:

  • UI on top of Cmdlets
  • UI extensibility through scripting
  • Cmdlet / Webservice interaction
  • Role-based security, with a trusted subsystem implementation

…” [GD: Project Description Leach Level:99%]

From the latest code drop, “Cmdlet Designer Design Spec.docx”;

 image

1 Introduction

This document describes architecture and design of the PowerShell Cmdlet Designer. The Cmdlet Designer tool allows users (primarily PMs) to specify all of the metadata required when designing a cmdlet – its name, parameters, validation attributes, and more. Rather than store all of this information in a Word Document, the PowerShell Cmdlet Designer stores its information in a database. By storing all of the spec metadata in a database, these specs now become rich sources of structured information from which we can drive process improvements, and ensure consistency.

2 Assumptions & Limitations

· At a high-level, the PowerShell Cmdlet Designer is designed to enforce consistency and prevent name collisions across Microsoft. Enforcing this is a highly-networked operation. In this incarnation, therefore, the tool must be run from a machine connected to a corporate network. See “Extensibility” for more information.

5 Use Cases

· A PM launches the Cmdlet Designer UI. From there, he or she adds nouns, cmdlets, parameters, and parameter set entries.

· The PM sends out a link to the cmdlet for review, which summarizes all of its important characteristics in a read-only fashion.

· A user calls the Cmdlet Designer cmdlets (upon which the UI is built) to script cmdlet-related tasks. For example, they search for all cmdlets that have more than 10 parameters, or update all parameters that have a certain name to use a new name.

The test team uses the cmdlet comparison tool (also built upon the Cmdlet Designer cmdlets) to verify that the spec for the cmdlet matches its implementation.

…”

My feeling is that in the next few years, as more companies move to Windows 7/Windows Server 2008 and the roll out newer server products like SQL Server 2008, and they feel the power of PowerShell there’s going to drive to integrate PS into their products and processes.

By seeing PS in action, by using and living with it, Dev’s and IT’ers are going to “feel the need, the need for Posh”. They are going to see the ROI in not only bolting on PS to their products as an after thought but also in making PS the administration foundation and making the admin UI the after thought.

That’s where I see tools like this one coming into vogue. Tools that help Dev and IT teams construct their own PS suites are going still going to be somewhat of a nitch, but I think it could be a big nitch…

(via ActiveWin - Announcing: Open Source PowerShell Cmdlet and Help Designer)

1 comment:

iHunger said...

I hope you are right about "tools to help Dev and IT teams construct their own PS suites" being a big nitch.

I think learning PowerShell will be key to surviving in the post Window 7 world. IT Admin's big learning curve for PowerShell was one of the main driving forces for a product I work on called PowerWF Studio. PowerWF provides a drag-and-drop interface for creating workflows that can be run directly or with the click of a button can be converted to PowerShell snap-ins or modules. PowerWF can be used by PowerShell Guru's as well because it can convert existing PowerShell scripts into visual representations that are easier to explain to other admins.

I'm sure I'm biased, so I would love some impartial feedback.