Andrew Connell

Jacksonville Code Camp 2006 Recap

Saturday’s second annual Jacksonville Code Camp was a lot of fun. It was held at the FCCJ Advanced Technology Center (wow, NICE digs!) in downtown Jacksonville. As always, one of the best parts about Code Camp is seeing all the regional developers who you usually only get to see at these things. There are too many people to mention, but I do want to say thanks to David McNamee , John Holliday , Duray Akar , and Stacy Draper for submitting and presenting sessions related to SharePoint 2007… we had a whole track dedicated to SharePoint 2007! Also, Dennis Bottjer , Vinay Ahuja , and Jaremie Woodruff (where’s your blog?) did an excellent job organizing and putting on a great event.

I presented three sessions and the SharePoint Ask The Experts session (along with the other SharePoint speakers previously mentioned). Between my sessions, I had the op to attend three sessions: John Holliday’s Advanced Code Gen with CodeSmith and part of his Using .NET Reflection To Create SharePoint Sites sessions (only saw the latter part of the second one because it overlapped a 30m session I was doing)… wow, that reflection talk was incredible! I also got to see Stacy’s talk on Features… the fundamental building block in WSS v3.

Now for recaps of my three sessions:

Creating, Establishing, and Maintaining a Successful Blog This short 30 minute session covered the basics of setting up a blog, common pitfalls to avoid, and some of my best practices. I mentioned four different blog hosting engines ( WordPress , SubText, dasBlog , CommunityServer ), the best search engine for blogs ( Technorati ), a feed syndication tool ( Feedburner ), and a comment spam blocker ( ReverseDOS ). You can also obtain my slide deck from my speaking page .

Developing Advanced ASP.NET 2.0 Web Parts for SharePoint 2007: In this fast-paced session, I demonstrated how to create a simple ASP.NET 2.0 Web Part for WSS v3, how to modify the verbs menu and create two connectable Web Parts. After the session I realized I never did the embedded resource! To do this, there are three simple steps:

  1. Add the resource (my example was going to use an external .JS file) to your project and set it’s build action to Embedded Resource.

  2. Add the following code to override the OnLoad() method to your Web Part which will retrieve the URL needed to retrieve the resource from the assembly via the WebResource.axd HTTP Handler (new to ASP.NET 2.0):

    protected override void OnLoad(EventArgs e) {
      // fully qualified name of the script
      string scriptName ="JAXCC2006WebParts.CustomVerbsMenu.js"
      // obtain reference to the page's client script manager
      ClientScriptManager csMgr = Page.ClientScript;
      // obtain the URL to the embedded JavaScript file in this assembly
      string scriptURL = csMgr.GetWebResourceUrl(this.GetType(), scriptName);
      // register the JavaScript file as an externally referenced .js file
  3. Add the following attribute to your AssemblyInfo.cs file to make the embedded resource available via the WebResource.axd HTTP Handler:

    [assembly: System.Web.UI.WebResource("JAXCC2006WebParts.CustomVerbsMenu.js", "text/javascript")]

Like I said, in the session I didn’t demonstrate the embedded resource technique or finish the connected Web Part demonstration (instead I used a prebuilt sample and walked you through the code that was necessary to implement it)… the code in the zip on my speaking page contains both of these demonstrations.

Don’t be a Tool, be a Better Developer Through Tools! (2nd Edition): First, a HUGE thank you to everyone for not walking out or start throwing your used ice cream sticks at me for my video problems. I have no idea what was up with that room. Vinay said he had problems earlier in the day as well, but I heard the guy after me had zero problems. From that session I ran over to the SharePoint Ask The Experts session and tested my video again… it worked perfectly the first time. So, I’m sorry we were cut short by video problems… that was very frustrating and I apologize for that.

At any rate, you need URLs from the tools I demonstrated, so here we go!

Thinking back I don’t think I demo’d GhostDoc because we ran out of time. Basically it’s a Visual Studio Add In that auto generates XML documentation. I’ve bound the included action to CTRL + SHIFT + D . When I hit that key combo within a method, it auto generates the XML documentation. Watch the animation below… you’ll see me put the cursor in a method, then I’ll hit the key combo (which you can’t see), and you’ll suddenly see the XML doc automatically appear:

Anmiated GIF

Thanks to everyone! Please feel free to contact me if you have any questions!

Attendees, don’t forget to fill out your evaluations to win some cool stuff @ !

Andrew Connell
Developer & Chief Course Artisan, Voitanos LLC. | Microsoft MVP
Written by Andrew Connell

Andrew Connell is a web developer with a focus on Microsoft Azure & Microsoft 365. He’s received Microsoft’s MVP award every year since 2005 and has helped thousands of developers through the various courses he’s authored & taught. Andrew’s the founder of Voitanos and is dedicated to delivering industry-leading on-demand video training to professional developers. He lives with his wife & two kids in Florida.