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…

Software development is a risky endeavor, with many things that can go wrong. At any moment, you may find that your budget or schedule targets have been completely missed and your developers and customers disagree about the scope and functionality of the project. In fact, numerous studies state that up to 60% of projects completely fail or massively exceed their budgetA recent study by McKinsey found that on average, most software projects over $5 million exceed their budget by 45%, turning that $5 million application into a $7+ million application.  As responsible software systems developers, we have to constantly ask ourselves – how do we prevent this from happening to our projects?  The answer is to reduce risk. Read More…
Workflow in SharePoint 2013 has undergone quite the architectural change from its SharePoint 2010 ancestor.  I documented many of the major changes in a previous blog post, “What Changed in SharePoint 2013 Workflow? Pretty Much Everything.”  While SharePoint 2013 is backwards-compatible with SharePoint 2010 workflows, you may decide that the benefits of the new design are needed.  The purpose of this post is to illustrate the new considerations you’ll need to keep in mind when targeting SharePoint 2013 workflows. The SharePoint 2010 project we’ll use for this example is the one from my very first AIS blog post, “Developing Multi-Tiered Solutions for SharePoint.”

Web API Methods Mockup screen shot
Figure 1 - Sample WebAPI methods for Section Document Merge and Post-Merge Actions.

In our example project there are actually two workflows, SectionDocumentApprovalState (SDAS) and MasterDocumentApproval (MDA). The MDA checks if the various SDAS-related sections have been merged and finalized, then notifies specific users for approval of the final document. An instance of SDAS is created for each section, created from the Master Document that monitors the editing and approval of the specific section. We’ll focus on just the SDAS workflow. In the previous post, I referred to the workflows as being part of the Presentation Layer and the custom code called into the Business Layer.  Both of these layers will change in a SharePoint 2013 workflow solution.

Read More…

Have you ever wanted a fresh SharePoint development environment? Have you ever needed to quickly create a test box, or wanted to prototype something specifically for a customer? In the past, in all of these scenarios, you’d face a very time-consuming process and quite honestly, one that has likely been a deterrent. In this blog post, I’m going to walk you through creating a SharePoint 2013 development environment, on Azure, utilizing the Visual Studio 2013 RC.

Thanks to the good people at Microsoft, there is now a developer image on Azure that comes with SharePoint 2013 and Visual Studio 2013 Ultimate RC, already installed. Before we get too far along, I do have to warn you that you’ll need either an Azure or MSDN subscription. If you don’t have an Azure subscription, you can activate your MSDN Azure benefit and receive up to $150 USD in free, monthly Azure credits. If you are careful to shut down your VM at the end of each work day, then you should be able to use this VM as your day-to-day development machine without eating up all of your credits. Read More…

Mobile solutions are already transforming the way we do business and interact with customers, partners and colleagues, but many organizations are still struggling to fully embrace the changes and opportunities. Today’s workforce wants mobile technologies that allow them to work when they want, how they want, and from where they want. (And not to mention using whatever device they want.) Here are 10 reasons to rethink your current mobile strategy and fully embrace the concept of enabling a true mobile workforce.

1. Your workers want lightweight, handheld devices.

Slim and lightweight tablets are making it possible for mobile workers to carry them virtually anywhere without burden. Who wants to carry ruggedized bulky laptops anymore?

2. Tap into tablet innovation.

Innovations are happening at a breakneck pace in the tablet world. Even warehouses are now manufacturing tablets. Fold-up, roll-up or paper tablet, anyone?

3. Simplified app acquisition.

The app economy is expected to grow to $150 billion by 2017. Users simply love the ease of acquiring (and disposing) apps. Most of them already rely on a collection of apps to get their jobs done everyday.

Read More…

If you have found yourself thinking…

“We want the cloud to be a seamless extension of our data center, not a walled garden. We want to use our existing IT setup and tools to manage on-premises and cloud-based applications.”

“We want to seamlessly move virtual machines from on-premises to the cloud and back.”

“We want to move existing applications to the cloud without the need to change the applications in any way.”

…then our upcoming Introduction to Windows Azure IaaS session is for you.

This free half-day session is for anyone who wants to better understand the Windows Azure Infrastructure as a Service (IaaS) offering. After a brief overview of the Azure Platform as a Service (PaaS) model, we will focus on key IaaS concepts. Additionally, we will walk you through a number of scenarios enabled by Azure IaaS and several demonstrations. Learn about the new generally available features including virtual machines (with more size options), virtual networks, new image types (including SQL Server and BizTalk), lower pricing and much more. Read More…

AIS developed a prototype web application that leverages open standards for real-time data sharing and geospatial processing. It’s highly suggested you read our first two blog posts on this application, part one and part two.

In this post, we are going to discuss three areas of improvement for the application. We wanted to improve collaboration, improve management of events by adding a search capability, and improve the edit capabilities. Read More…