Microsoft MVP Logo

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 BlogThis 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 2007In 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):
    1 protectedoverridevoid OnLoad(EventArgs e) 2 { 3 // fully qualified name of the script 4 string scriptName ="JAXCC2006WebParts.CustomVerbsMenu.js"; 5 // obtain reference to the page's client script manager 6 ClientScriptManager csMgr = Page.ClientScript; 7 // obtain the URL to the embedded JavaScript file in this assembly 8 string scriptURL = csMgr.GetWebResourceUrl(this.GetType(), scriptName); 9 // register the JavaScript file as an externally referenced .js file10 csMgr.RegisterClientScriptInclude 11 ( 12 this.GetType(), 13 "JAXCC2006WebParts_JS_CustomVerbsMenu", 14 scriptURL 15 ); 16 }
  3. Add the following attribute to your AssemblyInfo.cs file to make the embedded resource available via the WebResource.axd HTTP Handler:
    1 [assembly: System.Web.UI.WebResource("JAXCC2006WebParts.CustomVerbsMenu.js", "text/javascript")]

You can get my slide deck & a zip of the complete Visual Studio project we built in the session on my speaking page. 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!

You can get my slide deck, as well as the project I used to demo MSBEE from my speaking page. 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 autogenerates 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:

GhostDocDemo

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 @ http://www.codecampevals.com!

Comments powered by Disqus