Back
Project

Getting started with app development

Eli Sheldon is a Program Manager on the Microsoft Project team.

With the new Project, our extensibility story entered two new exciting realms–Apps for Office and Apps for SharePoint. Bookmark this page for all the resources you need to start developing your own apps, tips based on frequently asked questions from our partners, and ideas for developing on either or both of our new models.

Quick start

If you’re like me, you don’t want to spend a lot of time reading articles and SDKs and forum posts–you want to get your hands dirty! The primary resource you’ll want to use for all Office, SharePoint and Project development is the conveniently-named dev.office.com–here you’ll find all of the relevant documentation, tools and support channels you’ll need.

To start writing Apps for Office targeting the Project client, all you technically need is Notepad. You’ll likely want some guidance, and this article is a great place to start–this is part of the wealth of information contained in the Apps for Office and SharePoint SDK.

To start writing Apps for SharePoint targeting Project Web App (PWA), you’ll want a copy of Visual Studio 2012, the Office Developer Tools, and the Project 2013 SDK which contains the necessary redistributable files along with our developer documentation. This article, from the Project 2013 SDK, is a great end-to-end tutorial to help you ramp up quickly.

Project Apps for Office

What exactly is a Project App for Office? At its core, an App for Office is just a webpage running in a container in the rich Office clients that can communicate with the Office client through a powerful new JavaScript API. In Project, these apps are surfaced as a task pane, much like the classic Task Inspector. For examples of apps currently in the app store, see Sensei’s Project DashboardTM or Projility’s ProjectWare ConnectTM.

Information about Project Apps for Office can be found in the Office SDK. The final product you create is an XML file called an app manifest and the webpage hosting your content / code.

Project Apps for SharePoint

What do we mean by a Project App for SharePoint? SharePoint 2013 introduced a new extensibility model to support the SharePoint Online ecosystem, and now that we have Project Online, we followed suit, leveraging much of the same system. An App for SharePoint can take many forms–a web part, a ribbon customization, a full-page custom experience–and a Project App for SharePoint is simply an App for SharePoint that includes PWA functionality. We have many in the app store already, such as Campana and Schott’s Milestone Trend Analysis or Solvin’s TrackTimesheet Go.

Information about Apps for SharePoint can be found in the SharePoint SDK, and info about Project Client Side Object Model (CSOM, the new API used to support our apps) is best found in the Project SDK. The final product you create is an app package containing an app manifest and all of your functional code. There are multiple hosting and deployment options, and apps should work both online and on premises.

Get your app out to the world

Once your app is ready for prime time, you’ll want to publish it to the Office Store. You can sell it for a price you set, or release it for free. You choose the trial conditions and the licensing options. To get started, you’ll want to read this documentation. To see all of the Project apps already delighting our customers, check out the Office Store.

If you don’t want your app to be public, you can easily distribute it through traditional means–but what fun is that?

Frequently asked questions

We get some questions pretty frequently, and while we do our best to update formal documentation accordingly, sometimes it’s best to just bubble things to the top so they don’t trip you up!

Q: How can I deploy my apps from Visual Studio?

A: If you attempt to deploy an app to any random Project Online site, you’ll probably hit an error saying “Sideloading of apps is not enabled on this site.” To prepare a site for app deployment right from Visual Studio (which gives you rich debugging), follow along with this guide from Colin Phillips, which involves using PowerShell to turn on the relevant feature.

Q: How long does it take to publish my app? How can I speed that up?

A: As soon as you know you’re going to publish an app, you should create your Seller Dashboard profile, as this process involves pretty thorough identity and tax verification. Your app does not need to be ready for this to start–so get it out of the way now!

Once you submit your final app package, you can expect (but not count on) validation to take roughly a week, depending on the current submission queue. The most common issues are inconsistent version numbers and other basic metadata. Make sure to read the complete validation rules before submitting!

Q: How can I access information from my Project App for Office not exposed by the JavaScript API?

A: You’ll want to connect to PWA for cross-project info and SharePoint-hosted info. Fortunately, I wrote a blog post detailing exactly how to do this!

Q: I keep having issues related to OAuth tokens!

A: Bing is your best friend here. Many developers have posted across many forums with what to do to resolve pretty much any OAuth issue you hit.

Q: I’m stuck and need Microsoft to help me!

A: Our forums are populated both by Microsoft extensibility experts and a strong community of seasoned developers. Any time you hit a wall, don’t hesitate to post your issue here. Check out these resources too:

Now you have all of the tools and resources you need to create the next killer Project app. I hope to see your work in the store soon!

– Eli Sheldon, Program Manager