About SPSF

We, the authors of the SharePoint Software Factory, Torsten Mandelkow and Matthias Einig, are developing since many years applications on the SharePoint plattform, as project managers, architects or developers. Since the beginning we were faced with several challenges in SharePoint development:
  • Missing automation in deployment process
  • Tons of XML code for SharePoint elements
  • Developing by "copy & paste"
  • Missing code quality checks

So we decided to change this and started to make development for SharePoint easier with SPSF SharePoint Software Factory. SPSF contains lots of templates and recipes to automate the creation of SharePoint code. It helps to improve speed in development and helps to develop code according to SharePoint best practices. It helps newbies to learn SharePoint development faster and helps project managers and architects to reach a higher level of code quality in their team. It contains project templates which support the Team Foundation Server Team Build and therefore enable the first step of ALM for SharePoint.

The SharePoint Software Factory is an "extension" for Visual Studio 2005, 2008, 2010, 2010 and 2012. It is based on the Microsoft Guidance Automation Toolkit.

Target plattforms are
  • SharePoint Online
  • SharePoint 2013
  • SharePoint 2010
  • SharePoint 2007

The most current version of SPSF support Visual Studio 2012 and SharePoint 2010/2013. For older version please use one of our previous releases of SPSF.

Next critical step in SharePoint development was the deployment of the custom solutions. So we integrated the automation of the deployment process into the SharePoint Software Factory, with configurable XML scripts and MSBuild. The current version of the deployment scripts is based on Powershell and available as a separate project on Codeplex at SharePoint Solution Deployer.

Now SharePoint development became easier for the developers and the deployment process became stable and highly automated. But one piece was missing all the time: the code quality checks. Nobody was able to check the correctness of SharePoint code and conformance to best practices. Errors in the XML code (like typos or more critical errors) could only be found during runtime after deployment. This costs time and money and nervs. And existing tools like FxCop or others are not able to check the XML part of SharePoint code.

So we started to develop SPCop: A tool to analyze SharePoint solution packages (.wsp) including assemblies and XML code. We ended up with more than 300 rules which can check custom SharePoint code for correctness, best practices, design, naming, supportability etc. SPCop is available as extension vor Visual Studio, as command line tool or a build activity for your Team Build in TFS. And SPCop provides a SDK to create your own rules.

But this was not the end. Our approach of extracting SharePoint WSP solutions and making them analyzable opened new opportunities: with all the SharePoint code in our hands we are also able to analyze all dependencies between SharePoint elements like FeatureActivation dependencies, referenced images, referenced Fields in ContentTypes. We are able to calculate Code Metrics e.g. Number of features in the code. And we are able to create an inventory of all code in WSP solution packages. The dream for every SharePoint code reviewer, architect or operator.

So, today the SharePoint Code Analysis Framework (SPCAF) is the home of these new SharePoint code analysis tools:

  • SPCop for validation of more than 300 rules
  • SPDepend for creation of dependency graph
  • SPMetrics for calculation of SharePoint code metrics
  • SPInventory for creation of an code inventory
Use the tools for your SharePoint custom code and improve the overall quality.