Sunday, August 21, 2011

K-MUG Session

Yesterday I came to attend the monthly user group meet organised by Kerala Microsoft User Group(K-MUG) held at Orion. Being a technology enthusiast I always enjoy being part of such tech communities, which really helps one to keep posted with the current developments in and around the developer arena; moreover I see events like these as venue to meet and network with like minded professionals in the industry as well.

The session kickstarted with "Design Patterns in .Net" by Yanesh Tyagi. He started by discussing on Gang Of Four patterns, which was well covered by backing with real time scenarios on when and where to apply these patterns. The best part of the session was the code demo, where he showed patterns in action with sample applications using C#. While discussing the "Null Object" pattern, a question turned out from the audience like can a line be drawn between a Null Object pattern and a Monad.The session was well delivered and shed insight on how the GoF patterns can be put to use for writing better libraries and frameworks. 

The second session was by me, which was on "Profiling & Instrumenting .NET Applications". The talk started with a brief overview on the types of software profilers, which was followed by a demo on profiling .NET applications with CLR Profiler, Performance Monitor and the VS.NET 2010. Some of the common caveats which could lead to memory leaks in .NET applications were also discussed during the session.

While the final session was on "JavaScript MVVM in ASP.NET with KnockoutJS" by Shiju Varghese. The presentation started with why one should use KnockoutJS (A JavaScript library by Steven Sanderson's a Program Manager for Microsoft), the talk moved on to discussing its technology\browser agnostic nature and the minimal footprint in of terms of file size. Thereafter he demoed a simple web application written in ASP.NET. The demo application implemented two way data binding at the client side using KnockoutJS. I was amazed to see how easy it was to implement such a kind of functionality using KnockoutJS, with very minimal lines of code. I would say every web developer should give it a try.

If you wish to present a topic which you feel like worth sharing, then please feel free to drop in a mail to admin@k-mug.org


Tuesday, August 2, 2011

Where are the Sandbox Assemblies Stored?

You might have heard that, SharePoint farm solutions are always deployed to GAC, while sandbox webpart solutions are deployed to 'Solution Gallery' at the site collection level (under '_catalogs/wp' url). So the question is, where does the assemblies of a sandbox solution gets deployed to? Initially my assumption was that, it was getting deployed to content DB. After searching on this, I came to stumble on this insightful article which briefs on this very same question. In the article the default location for sandboxed assemblies is given as  'C:\ProgramData\Microsoft\SharePoint\UCCache'. The author specifically mentions that, this path is configurable by admin. So don't get confused, if you don't find any assemblies in the above location when the sandbox code is executing.

At last, got my query resolved.

SharePoint Developer Arsenal

When I started with SharePoint 2010 development, I had to turn to net for solutions from time to time on tasks like, writing CAML queries free of syntax errors, SPMetal's limitations in handling certain fields, developing sandboxed visual web parts, accessing SharePoint webservices using jQuery, Powershell scripts et al. While all these searches ended up with a handful of freeware SharePoint utilities, which had substantially improved my productive time. Thanks to those who were generous enough to share their custom solutions with the SharePoint community through CodePlex and Visual Studio Gallery. Here's the list of utilities and libraries, which I believe as must to have for every SharePoint developer.


Visual Studio 2010 SharePoint Power Tools - This tool pack is definitely a complement to the existing set of SharePoint templates shipped with VS.NET 2010. With this power pack, you could develop sandbox solutions using visual webpart instead of the standard Webpart (non-visual). This tool pack shows you errors during compilation phase itself, while trying to access a class or a method restricted in a sandbox environment. This feature however is accessible if you refer the SharePoint assemblies located in  {SharePointRoot}\UserCode\assemblies\Microsoft.SharePoint.dll

Community Kit for SharePoint - I would say this is the best utility for SharePoint 2010 developers available in CodePlex. With version 2.0, new features has been incorporated like WSPBuilder conversion tool (WCT), Creating webparts with Contextual behavior and many more. 

Flash(FLV) Video Player webpart - If you are searching for a webpart to play  those FLV formats on the browser, then this one should fit the bill. This webpart uses an opensource flash video player to play the FLV files.

SharePoint Manager 2010 (SPM) -  An object model explorer for your SharePoint site. This one is a great time saver when compared to Central Admin as this helps you to easily navigate to the object you are looking for with few clicks. It gives you much better view of the AppPool and IIS settings. You could even view things like items in the sites recycle bin, quota settings and more. A hearty thanks to the author 'CARSTEN KEUTMANN' for contributing such a great tool.

Useful Custom Workflow Activities - This tool pack provides a set of predefined custom workflow actives like Sending EMail with HTTP attachments, User Info Lookup and more. At the time of writing a new workflow activity named 'Send EMail Extended' was released, which gives you the option to specify the senders email address while sending out emails, isn't that cool?

ILoveSharePoint - A collection of utilities for SP 2007 and SP2010. This pack provides webpart for executing PowerShell scripts from the web UI.

SPServices - Ever had to call a SharePoint webservice from Javascript\JQuery? If yes, then this is the right tool for the job. The SPService is a jQuery library acting as a wrapper for the Sharepoint webservices. The best part with this library is that, it is pretty well documented with samples.

PowerShell Heaven - SPoshMod an easy to use PowerShell wrapper scripts for developers and admins. PowerShell script snippets used by admins and developers for their day to day tasks like IIS manangement, farm management, solution deployment etc. 

SharePoint 2010 FBA Pack - Forms based authentication pack for SharePoint 2010. This includes web parts for registering users, changing passwords and password recovery. It includes tools for managing users and roles and for approving registrations. 

Fusion Charts for SharePoint -  A set of charts for presenting data in 2D and 3D representations. The supported chart types include, bar charts, pie charts, area charts, stacked charts, line charts and more. The chart uses XML format as input and supports data export functionality in CSV and XML formats. Here's a step by step instruction on how to install for SharePoint 2010.

ULSLog Viewer - A log viewer for viewing Sharepoint logs contained in the SharePoint Root\Logs. Incidentally there's another ULSLogViewer from Microsoft too, which provide similar functionality.

LINQ to SharePoint DSL Extension for Visual Studio 2010 - An enhanced library for generating and mapping entities for using with LINQ to SharePoint.

CAML Intellisense - Memorizing CAML structs\syntax is not a big deal, but getting intellisense support is going make the life easier for any SharePoint developer. The good news is that, this package provides rich support while writing CAML queries along with small description on what the method\property is all about.


Click here to browse through all of the SharePoint projects hosted at CodePlex. You can also browse through the solutions hosted at "Visual Studio gallery" targeted towards SharePoint developers.