Kraken is a set of open source libraries for SharePoint development. Kraken code is battle tested. It's been around since long ago; we started calling it Kraken in 2010; older versions were known as Behemoth (SP2007 to 2009) and SPARK (2003 to 2006). The library includes code for full trust, sandbox solutions, client applications (CSOM), and most recently provider hosted apps.
Kraken is used as the underlying core library for most code written by Liquid Mercury Solutions. Specifically, we use it in
ReSPondev - but it's also used in our custom development projects. Kraken contains only about 10% of nearly 1 million lines of SharePoint code written by Liquid Mercury over the past decade.
If you like what Kraken does, but you aren't a prgrammer, please check our
CloudPower our PowerShell management tools for
SharePoint and SharePoint Online.
Kraken is a labor of love, and releasing this much code into the wild wasn't an easy decision for us to make. You can reassure us we did the right thing by doing one or more from the list below. Some are free, some won't take much of your time, and every action is sincerely appreciated.
We love doing work to benefit the community, but we all have bills to day. Any referrals are very much appreciated!
Here are just a few ideas how we could assist you:
You might also consider buying one of our books on Office 365 and SharePoint.
Find Kraken on GitHub and ask us to contribute to the project. Contact Tom Carpe to let us know you want to join the team. You can
connect with us here.
Lots of people have benefited from Kraken, but we hardly ever get to hear the stories about how it's being used. Just a few words from you can help to encourage our team to keep innovating and improving our open source code. Use the links on the top navigation to leave a positive comment on one of our social media profiles.
Liquid Mercury Solutions continues to be one of the best kept SharePoint secrets in the Washington DC region. Please help us get the word out. Please +1/like some updates on our Facebook or
Google+ Profile, or
visit us on LinkedIn.
Writing blogs is also hard work, with little reward. All our articles come from real Liquid Mercury staff members, so please tell our writers if you found their posts helpful.
Check out our blog at
You can use the link below to give us a good review. Write a Review is shown on our company profile in the right-hand column.
Our Google Profile for the DC Office
Providing a review for our DC location helps us the most, because DC is the biggest market for SharePoint work in our area and also the biggest user base (so far) for Kraken.
If you have a negative criticism, please reach out to us and give us the opportunity to make it right before you post a bad review. These things can really hurt and we all have our jobsdepending on this. Not being able to eat or pay our mortgages would be really out of proportion with our code having a few bugs. Please play fair.
Did you find Kraken to be really valuable to a SharePoint project you were working on? We're not against taking a donation if you want to show your support.
Funds will be used directly to support the developers who help make Kraken a reality. We don't expect to make tons of money this way, so whatever you contribute will buy nice things to feed our programmers, have a nice party, or that kind of stuff. If you donate, we promise to send you a thank you letter and tell you exactly what we did with the money - probably with pictures. We may even put the results of your contribution up on our blog. ^_^
We're currently looking into Patrion and whether code qualifies as a work of art.
5/15/2018 - OK the list below is seriously out of date. After posting alpha updates through 0.2.88, we are now on v0.3! According to the latest read-me, "All changes from previous version 0.2.88 are now stable; some minor fixes to LocalToRemoteFileMapping dictionary in support of CloudPower document sync commands have been made." We'll update the info on this page as soon as we have the time, so thanks for being patient.
Here's some things we've updated since our first release in April 2016:
While Kraken has been around a while, it is still actively being developed and improved, since it is used in our products and other work we do.
Currently Published Nuget Projects / Visual Studio Solutions:
If you like, you can scroll down a bit where we go into detail about each package and what it includes.
Literally. Install the package in your project, then add a "using" statement for one of the following namespaces, and go to town! (Update: Tom recently changed some of the namespaces in Kraken client project so that extensions will start showing up the minute to reference "Microsoft.SharePoint.Client".) The libraries were designed to use extension methods as the primary entry points for most of the useful functionality, so you'll start to see those functions attached to SharePoint objects that you already use.
If you want to know more, download the source. It's full of comments. We'll try and get some documentation published soon.
Full source code is now hosted on GitHub at
https://github.com/LiquidHg/kraken and is publicly available. Thanks to everyone who downloaded and supported us. We hope you will consider contributing to our project.
At the present time the source itself is not embedded in the src folder for the packages. That's not by design; we just lack enough manpower to get it done. We're looking to change that very soon.
We could REALLY use your help. Visit our page about
areas of improvement to see what we know we can do better.
Kraken.Core.FullTrust - anything that isn't specifically SharePoint but might be useful in development of SharePoint projects. This project is reserved for code that might require elevated privileges or "full trust" to run on a SharePoint server.
Kraken.Core.SandboxTrust - again anything not specifically SharePoint. We use this project for code that can run in limited trust environments, such as Sandbox Solutions or SharePoint hosted apps.
Kraken.Security - a certain class of reusable security functions which are useful in both limited trust applications as well as client-side code. They were seperated into their own project so that they can be consumed in both server-side and client-side models without having to pull the entire server-side code base.
Kraken.SPFarmLibrary - Core WSP package for building farm trust solutions for SharePoint. Has everything we've got in one package.
Kraken.SPLoggingCategories - WSP package for ULS logging categories. This was seperated into its own solution because of dependencies that force it to be installed to the farm using unusual methods. This project is included in Kraken.SPFarmLibrary.
Kraken.SPSandboxLibrary - Proejct that can be uploaded as a sandbox solution. In general, this assembly is referenced directly in other Sandbox packages, rather than being uploaded as its own WSP.
Kraken.SharePoint.Client - Code library extending the functionality of Microsoft.SharePoint.Client (CSOM). Most methods in this library are implemented as extension methods of existing CSOM objects, which makes it easy to start using it in your own projects quickly.
Kraken.SharePoint.Cloud - Older code library that leverages the SharePoint web services and other legacy methods for accessing SharePoint over a network. It doesn't come up very often, but we occassionally find places where things still need to be done this way. This project is included in Kraken.SharePoint.Client.
Kraken.SharePoint.Apps - This is our library of useful code for writing provider hosted apps for SharePoint. Right now it includes a compiled version of TokenHelper and other classes commonly included in provider apps. We've also added useful classes for writing remote events with behavior similar to suspended events, and an EF project for pushing trace logs to SQL Azure. Other functionality is in the works and will be added as we pull more reusable utility classes out of our individual app projects.