Disclaimer
At the moment, the project is not quite finished so I haven´t actually published the code for download yet. I wan´t to be sure it works as I ´d like it to before doing that.
Why
I created SPContrib because I have many times seen the shortcomings in the SharePoint API and tried to “fix” them with extension methods, utility classes, and so on.
What
SPContrib is at its core a set of extension methods that helps when performing complicated (and sometimes simple) tasks within your SharePoint code.
SPContrib targets the SP 2010 API (which means it relies on .NET 3.5 ) and can´t be used with SP 2007. For that purpose I have another (aka “older”) project called
SharePoint Contrib that works with SP 2007.
In short, SPContrib can be used just as a repository where you can copy/paste some code that you “wished” you had to accomplish something with the SharePoint API into your own code.
I don´t expect, or demand, that you credit me for it but if you do…well thanks in advance.
I have however (or should I say plan to…at least at the moment), packaged all the code as DLLs either as separate downloads to include in you project or as a WSP to install in you farm.
Unit Testing
I have developed SPContrib with a “mindset” of TDD, which means that the code that I write should be tested (and thus testable) as well as understandable. I have used
PEX and MOLES from
Microsoft research to accomplish the task of mocking the SharePoint API where I needed that.
Extension Methods
SPContrib, as I said, is at its core a set of extension methods that I have divided into a couple of subcategories, namely:
SPContrib.Extensions
The extension methods that resides in this project/DLL (or what have you) is meant to target, or extend, types that live in the System namespace (or sub namespaces). In short, that means extensions to standard .NET types like string etc
SPContrib.SharePoint.Extensions
SPContrib.SharePoint.Publishing.Extensions
AutoMapper
Coming…
PnP SharePoint Guidance
Coming…
More to come…
How
I´m working on it…