SharePoint 2013 introduced a ton of new features for the end user. It also brought about a lot of changes for SharePoint developers, particularly in terms of the new SharePoint App Model. I’ve been a core SharePoint developer for seven years now, through both the 2007 and 2010 releases, and so I thought it might be beneficial to share some lessons learned from my own transition from core SharePoint developer to a SharePoint 2013 app programmer.

My previous experiences with SharePoint development focused heavily on MOSS code with workflows, InfoPath, Lists, Content Types and developing front end applications using these features. I had almost no JavaScript experience, especially Async programming, and no clue what SharePoint apps are or what they look like.

My two immediate realizations when faced with SharePoint 2013 were that:

  1. I had to learn lot of new terms: SharePoint Hosted, Provider Hosted, Auto Hosted, On Prem, O365, Host web, App web and many more.
  2. Your working hand is tied behind your back and your head hurts more than ever before, because in the realm of client-side coding you have to think differently, about a 180 degree twist. It gets better after a week or two of JavaScript immersion.

For my current SharePoint 2013 project, we are using Durandal and RequireJs for creating user interface screens and the SharePoint Javascript object model (JSOM) for backend service code. You don’t need Durandal and RequireJs to do SharePoint 2013 programming, but we chose them for creating user screens as single page application. Read More…

In a recent project, we routinely modify a site, save the site as template and use the solution created to create new sites programmatically. This has been working well for the client for last six months and we haven’t encountered any issues. Occasionally, however, we encountered a problem which prevented us from deactivating or activating the solution in the solutions gallery. To overcome this, we deleted solutions from End User Recycle Bin and Deleted End User Recycle Bin views.

But this time around, every time I created the solution and created a site using this new solution and template, my new site looked bizarre! For instance, one of the libraries didn’t have the All Documents view and defaulted to My Documents view. But if you modified the URL for the library (from MyItems.aspx to AllItems.aspx), it would display the documents. Another difference was that the text from all content editor web parts on list pages were missing. The issue is displayed in pictures below using a test site. Read More…