Sunday, September 9, 2012

4 recommended tools for developing on SharePoint 2010 for newbies

I seem to have done a fair share of development work for SharePoint 2010. Prior to my current job, I had never used, touched or tried to understand the product. Then I moved onto my current job, a .Net engineering consultancy, which provides a number of services including “Business Collaboration software” (this is what SharePoint is designed to be). Pow! I was “thrown in the deep end”. I had to shift between producing awesome Silverlight 4 apps(all the rage at the time) to clicking on ribbons, creating lists, working with XML based definitions of various structures, all of which were linked & referenced using GUIDs. For any developer that has never worked with anything less awesome than proper code based frameworks (PHP developers exempt … my condolences), having to work with SharePoint for the first time can be likened to an experience comparable with cliff diving off Mt Everest on a scud missile, all on a cold, miserable, snowy day. Even though once you understand why, everything has its place in SharePoint but seriously, GUIDs! GUIDS! GUIDS!!
Some stuff that I have had to do with SharePoint includes:

As such, during my time working on SharePoint, I have come across a couple of tools which I though I may share with anyone out there in the same situation. I cannot honestly say I would have made much progress without them (note: click on the links to download the tool)

CAML (Collaborative Application Markup Language) is SharePoint's custom query language used to allow interrogating lists through its API, specifying views, site building etc. Unfortunately, it is not as clean as something like LINQ or T-SQL. Its all specified in nested XML (surprise!).Thankfully, U2U’s CAML query builder tool saves me from insanity. The app allows users to specify & execute their CAML queries expressively, via a reasonably intuitive UI which can then be translated into CAML, run against a list on a SP farm etc. Simply outline what it is you want to search for and copy the generated mark-up. An absolute recommendation for any SharePoint developers arsenal.

Available via Codeplex, this is a handy tool which acts as a SharePoint object model explorer. What this means is that it uses the SharePoint server object model (yes this means it has to be installed on the same machine hosting the SharePoint farm) allowing the user to interrogate all properties, view xml mark-up definitions, object hierarchy etc. of every server object including SPSites, SPWeb, SPList.While primarily aimed at helping SharePoint farm admins, its just works with any farm installed locally or on a dev server. Comes in real handy when having to create custom SharePoint content types and list definitions.

As with every web application, the SharePoint farm maintains a log for reporting errors etc. The logs themselves are quite verbose and navigating through them can be quite time consuming from a normal text editor, especially given the logs recycle at regular intervals. This tool constantly monitors those logs and allows users to view log entries in soft real time in a friendly interface that facilitates filtering, highlighting errors etc. There are a number of different versions of this tool available but I like this version the best. Useful to have in your corner during development.

Published and maintained by Microsoft, SharePoint designer is aimed at allowing any user to connect with SharePoint and easily configure, design SharePoint components such as lists, custom content types, list views forms, workflows etc, all without having to physically browse the website. The list of things it is capable of are way too many to list on this blog, so feel free to hit the source link to find out more. One thing to remember, to allow SharePoint designer to install correctly, interact with any other office products, I recommend installing both products as either x86 or x64 bit.
So that completes my list of apps that make SharePoint development a little less painful. Hope this helps anybody out there starting out with SharePoint. May the Force be with you.