At the Silicon Valley Code Camp 2009 I gave a talk called Extending CruiseControl.NET through the use of plugins. I discussed the necessary steps and illustrated with an example ISourceControl provider using the LinqToTwitter OS project on Codeplex. The provider polls a configurable Twitter account looking for Tweets that that start with “CI:” allowing the Tweeter to trigger a build of the project simply be tweeting something like: “CI:Start the build”.
It’s a simple example but illustrates how easy it is to create CC.NET plugins an extend the platform to uses beyond classic Continuous Integration.
Here is a link to the Starter Kit. Btw, you will need to update the ThoughtWorks assembly references to match your build of CCNET.
I finally pulled the trigger on switching to BlogEngine.NET. I tweaked it a bit to maintain all of my old blog post links and probably lost a few links here and there but the switch is made. I’m going to run with this for a few days and see how I like it.
Please let me know if you notice anything weird. Btw, if you see any $g(…) macros those were previously Google search links under dasblog which aren’t supported here.
One of the major things I hope this will resolve is the issue of dasBlog losing comments.
[Updated: Nov 24, 2009] I’ve since added the macro functionality found in dasBlog to BlogEngine.NET so the above problem has been resolved.
I’ve been working on ways to leverage Google’s Calendar API to publish Falafel’s training calendar entries to the web. One of the things I stumbled into was the Google Code Playground which is a cool tool for testing out various Google API’s. The Playground includes Firebug lite which is also something I hadn’t run into, I love finding new cool things!
After, that you need to initialize the GData API and get the code from the Playground to execute. To do that I did two things.
”loadItems” above is the name of the function I created in Step 1. Next, I had to add a DIV tag to the page as a target for the new content:
At this point, the page (plain HTML) can be debugged from VS.NET and/or uploaded to your domain and function correctly. Anyway, I learned a few things along the way and thought this might be useful.