(Re)Introducing HawkWiki

In case you didn’t know, GotDotNet is shutting down. I recently got an email asking about my very old DevHawk Wiki project, which had been hosted on GDN. I didn’t realize anyone was still interested in this project, so I set up a new project for it on CodePlex. As part of the move, I decided to rebrand it “HawkWiki” and change its license to Ms-PL. (CodePlex doesn’t support the zlib license DevHawk Wiki was originally released under.)

I uploaded two versions to the HawkWiki source repository. The version that until recently was hosted on GDN is version 0.2. There’s also later version that I never publicly released before. This later version compiles the wiki markup text into an IHttpHander class, similar to how ASP.NET compiles web pages. I’m not sure if you’d ever really want a wiki built this way, but it does provide a good example for building your own compiled web page infrastructure. If you ever read my old MSDN magazine article, you’d know this is an approach I’ve been interested in for a long time.

I also used this project as an excuse to get to know CodePlex. Though CodePlex can integrate directly into VS via Team Explorer, I chose instead to use the CodePlex client. CPC provides an edit-merge-commit command-line experience like Subversion. I found it much easier than using Team Explorer, though adding new files was troublesome since they had to be added to the project and source control separately. If you like this approach, there’s also a version that works with vanilla TFS instances (CPC is hardwired to CodePlex).

So feel free to take the wiki code and mangle it to your heart’s content. If there’s interest, I’d be willing to grant some other folks checkin permission. However, it’s more a curiosity than a real project, so if you’re really interested in a .NET based wiki, there are better choices out there.

Service Factory Customization Workshop Day Two

As expected, day two of the WSSF customization workshop was much meatier than day one. If you look at the technologies that power these p&p software factoriesGAT and DSL – you’ll notice that they’re not very well integrated. They share a text templating engine and there are some docs, but that’s pretty much it. WSSF v3 is the first factory from p&p to heavily use both technologies, and they’ve had to do significant integration work to make them play nice.

In the new WSSF, there’s a special “model project” where you define data and service contracts independently of an implementation technology. This allows you to postpone your implementation decision as long as possible. For WSSF, this seems pretty pointless – if you’re starting a new service project from scratch, why would you build on ASMX instead of WCF? – but conceptually the idea is rock solid. But this requires a variety of cross-model and cross-project code generation and validation. The vanilla DSL toolkit doesn’t support that, so the p&p guys had to build it themselves.

I’d like to see p&p take their GAT/DSL integration work and package it separately from WSSF. As it currently stands, you’ve got to install GAT & the VS SDK (to get DSLs) plus the integration bits from WSSF. There’s also the GAX Extension Library (aka GEL) plus Clarius’ Software Factory Toolkit. How about a single install to get all that stuff guys?

BTW, there’s a new version of GAT coming soon that will support both VS05 and VS08 Beta 2. According to the VSX team, VS08 beta 2 SDK should also be available “early August”. So if you’re moving over to VS08 (I am), you can still get down and dirty with software factories.

Update: VS08 SDK for Beta 2 is now available. The new version of GAT is apparently done, but isn’t available for download yet.

Later Update: GAX/GAT July CTP is now available.