By now, news of SP SIN has reached literally several members of the SharePoint community. What started as a client needing to add jQuery to a page has turned into a rather, bias included, amazing framework for extending the already insane flexibility of SharePoint.
If you still haven’t seen the overview video, you can watch that on YouTube (or below).
To show some of the power of farm solution development, I’ve made SP SIN extremely flexible and extensible. Virtually all aspects of the framework can be extended by anyone, even by those who cringe at the thought of writing a single line of code.
Oh, and there’s a new version coming out shortly. It’s actually done already, but I want to do a couple more tests, including one you’ll see later in this article. The 1.2 version introduces even more extensibility options, including a completely new request cycle plugin framework called SIN Cycles, that allow developers to hook into any stage of the SP SIN request cycle to manipulate how SP SIN works. It’s a plugin framework modeled on how WordPress plugins work. More on that in a later blog post.
To show even more of the extensibility of SP SIN and to create a working example of the new SIN Cycle framework, I’ve built an App store on top of SP SIN to make it easier to deploy configuration packages and custom resource types. That’s right, there’s now an App store that isn’t controlled by Microsoft, and it can deploy farm solutions as easily or even easier than the new App store in SharePoint 2013.
Note: Technically, the SP SIN Store is not part of SP SIN, but is what I call a Feature Pack. Feature packs basically extends SP SIN with new functionality. More on this in a later blog post.
The App store isn’t quite ready for prime time yet, I still need to polish it, and I want to add a few more features, and I’ll definitely need to think about the policies of putting Apps in the store. I’ve made a preview video that shows how it works (and this is real code, fully functional, no cheating), and as you can see, there’s a number of user experience and user interface issues I still need to iron out.
You want an App store in SharePoint 2007 too? Sure, here it is:
This is virtually unmodified code from the video on SharePoint 2010. The only changes I’ve made between the versions is to add a button to configure the install and add support for previous versions of SharePoint (notably SharePoint 2007) as part of the SP SIN version 1.2. Yeah, that’s what you get for paying attention in class and learning how to utilize SharePoint rather than depending on version-specific mumbo-jumbo or listening to the crazed “don’t write custom code or your whole world will collapse” messages some people will scream.
SharePoint is insanely flexible and extensible, and harnessing that power means you can create pretty much anything, and rapidly. To date, I’ve spent around five working days on SP SIN and less than 60 hours of real development time.
Want to know the best part of SP SIN? It’s free. And open source. You can download it on CodePlex at http://spsin.com/. No catches, no weird licenses, no obfuscated code to hide proprietary secrets. Maybe I’ll add a payment model for Apps, but I don’t know yet.
So, there you have it. As Alexander Woollcott said, lightly paraphrased, “everything I like is either illegal, immoral, or fattening”. Well, SP SIN isn’t illegal and it won’t make you fat, but it’s still good, so it has to be a SIN.
PS: I’m wearing my biased hat today, and I found my own trumpet in the closet, so I’m blowing it.
Found this article valuable? Want to show your appreciation? Here are some options:
a) Click on the banners anywhere on the site to visit my blog's sponsors. They are all hand-picked and are selected based on providing great products and services to the SharePoint community.
b) Donate Bitcoins! I love Bitcoins, and you can donate if you'd like by clicking the button below.
c) Spread the word! Below, you should find links to sharing this article on your favorite social media sites. I'm an attention junkie, so sharing is caring in my book!