(One of many I foresee for the next week or so - lots of blogging to catch up on.)
Firstly, thanks to everyone who sat through my session and the excellent questions and feedback. I honestly expected < 10 people. I hope that folks were able to get a lot of value from it. Apologies for the pacing, but I wanted to address as many questions as possible in context.
I'll detail a lot of the material that I covered in additional blog posts in the near future (huge backlog!), but I do want to re-emphasize that the session wasn't about a Silver Bullet; each team will have different requirements and preferences, each project will have different challenges, each problem may require a different approach; the key takeaway is that at some point, it's important to step back and take a wide-angle view of the challenges that your team faces and figure out (ideally) simple solutions to overcome them. Find where there are commonalities and try to abstract that away using an object-oriented approach to reduce duplication and effort.
I'll get into this more in a more comprehensive post (I had initially planned to have the whole presentation as a blog post before today, but it was ultimately too much effort in one shot).
In the mean time, you can download the slidedeck here: SharePoint-CodeCamp.2010.2
I have a multitude of posts under my SharePoint category, but here are the most relevant ones:
- SharePoint Development Patterns: Getting Started
- Domain Models, Anemic Domain Models, and Transaction Scripts (Oh My!)
- Design Patterns for SharePoint Part 1
- Design Patterns for SharePoint Part 2
- Design Patterns for SharePoint Part 2.5
- SharePoint with log4net
(Note: some of these code samples are just a tad bit older as I've evolved it bit by bit; I'll try to get some updates out.)
Some relevant external links:
Links to some relevant tools:
- WSPBuilder - used to easily build and assemble .wsp packages. Works with 2007 and 2010; I have a soft spot for it.
- PsExec and DebugView - part of the SysInternals suite. PsExec is for remote execution. DebugView is for monitoring the system trace and system debug output.
- log4net - a general purpose logging library. Very important for SharePoint development to track down bugs. The configuration is no different for SharePoint than for an ASP.NET web application
- ReSharper - a general purpose development tool for Visual Studio. Word of warning: it's addictive; once you start to use it, you'll never go back to vanilla VS.
- FreeCommander - great for synchronizing files between different environments.
And if you liked my laptop, here's how you can configure one of your very own for < $1500: Laptop Buying for Developers.
Again, thanks to everyone that made it to the session; please feel free to email me with any questions and I'll try my best to address them in a timely manner. Look for more followup posts in the near future.