Castle Project contribution

March 17th, 2008

I mentioned a little earlier I was going to be contributing to the castle project. That’s done now - it’s a facility which can be added to the Inversion of Control Container to integrate the Workflow Foundation into your castle based application. I know it’s sort of a niche need. Just like when you’re developing rails and mvc apps you should always go for the least code possible to implement a feature. (But no less.)

However there may be times where you’re doing significant after-page processing, or when you’re interacting with a long-running living workflow. In those cases the various calls into the web app are touching on an instance of a complex activity to see it’s progress or status, provide additional information as you go, or have different people of different roles moving things along.

The Workflow Foundation is one of the ways you can skin that cat. Depending on the specifics of the situation (and how you use it) WF can be a pretty attractive option. Of course something like using active record to manage activity state relationally is also perfectly fine. As always though it’s something you want to take a look to see if it makes sense or not for your use case.

3 Responses to “Castle Project contribution”

Jamie Thingelstad

March 17th, 2008 - 2:13 pm

Wow — congrats Lou! It’s good to see contributions going back into open source projects. Nice.

Louis

March 18th, 2008 - 9:29 pm

Thanks. It was fun putting it together and dotting the i’s and crossing the t’s. Writing unit tests and all. Learning how to create patch files using TortoiseSVN. (Spoiler: You right-click the folder and select “Create Patch…”)

I think the psychology of it is one of the things that makes open-source work. Some of the worst code you’ll see comes from a team-of-one working heads down towards a milestone. When you have at least two people you know at least one other person will be seeing what you checked in within hours, so they’ll need to understand it and will probably give you a hard time if some shortcuts are especially nasty.

That extends to teams of a half-dozen of course. But then you take that quantum-leap to open source where the lines of code you’re pushing will represent the only impression dozens of people around the world will ever have of you.

So you end up writing unit tests before you code each feature and following the project’s coding styles as a matter of professional pride.

In the end it’s more convenient anyway, because this type of contribution is the stuff you’d need to maintain for your own use anyway. Extensions and whatnot. Now it’s baked in so you get the regression tests running on the cruise server, it gets tweaked when the framework changes, etc. All very convenient.

[...] to a patch from Louis DeJardin (who provided the Windows Workflow Foundation facility in Castle) there are now navigation links at [...]

Leave a Reply

Note: This post is over 5 months old. You may want to check later in this blog to see if there is new information relevant to your comment.