The Code

As promised, we'll be spending a lot of time actually looking at code in this software development book. Now that we've overviewed the Deployment Driven Design paradigm, talked about the anatomy of an All Code deployment, and defined the hook into it from a standard Visual Studio 2012 SharePoint project, we can finally start deploying!

Even though the code of our feature receiver being of course all managed C#, it behaves more like a batch file than a class. We'll still of course be cutting the logic up into methods and using refactored functionality from our utilities class whenever possible, but the code will run very linearly with a low cyclomatic complexity. This way if it bombs, the offending line number will give us a really good idea of how far the script got.

Let's go through our initial All Code deployment in excruciating detail. I'll break out each step individually as we alternate between our application logic and our deployment logic. After discovering all our requirements (and tweaking some along the way), you'll see how the script to provision the assets will grow proportionally to the assets themselves.