Understanding Project Online Custom Development Options

Project Online Custom DevelopmentProject Online has three online API sets: Client-side Object Model (CSOM), JavaScript Object Model (JSOM), and Representational State Transfer (REST).
  • The .NET CSOM implementation is the preferred interface when developing Windows applications that interact with Project Online tenants. Typical environments for user-centric applications include Windows desktops and Microsoft Surface devices. Back-end applications written with .NET CSOM can connect to other servers for business logic and data sources that are external to Project Online. Retrieval requests to Project Online use a LINQ-like query system that offers several enhancements over basic retrieval functions.
  • The REST/OData model provides HTTP-based communication, this interface is recommended for applications in non-Windows environments as. Communication endpoints are the objects in the Project Web Application (PWA) site. OData interface is recommended for developing custom Project Online Reporting Add-ins as well as for developing Excel/Power BI based reports.
  • The JavaScript Object Model (JSOM) interface provides cross-browser support for Project Online Add-ins. An add-in is a web application that is stored in the Project Online tenant. When a user wants to run an add-in, the code for the add-in downloads and runs in the browser on the user machine.
Prerequisites to setup development environments are as follows:
  • .Net Framework 4.0 or newer — Use the complete framework.
  • Visual Studio 2013 or newer — Any edition is acceptable.
  • SharePoint Client Components SDK — Project Online and Project Server sits on top of SharePoint, and SharePoint assemblies. The SharePoint Client Components are included in Visual Studio Professional and Enterprise editions.
  • A Project Online account — This provides access to your Project Online Development site.
  • Projects on the Development site that are populated with information.
Here are a few user case scenarios: CSOM User Case 1: Let’s say your PMO wanted to flag completed projects as Archived and then filter Archived projects from Project Center View/Portfolio Reports. In this case, you can use CSOM interface to develop a Windows App, and that can be used by PWA Administrator to flag bulk projects as Archived. This can save a lot of time for Project Managers. REST/OData User Case 2: Let’s say your PMO wanted a more robust self-service business intelligence solution that does not require any background in statistical analysis or data mining. In this case you can use OData Reporting URLs to develop a Project Online Reporting Add-in. User Case 3: Let’s say your PMO wanted to see all the Resources Timesheet Actuals & Next Approver (Next Approver can be Project Manager/Status Manager in case of pending Task Updates review, Timesheet Manager in case of pending Timesheet actuals review) in one place. In this case, you can use OData Reporting URLs to develop a Project Online Reporting Add-in. User Case 4: Let’s say your PMO wanted to see a Status report for each Project when they open the project in the Project Online. In this case, you can use OData Reporting URLs to develop a Project Online Reporting Add-in. User Case 5: Let’s say your PMO wanted to host an Azure database to sync Project Online Reporting data for Reporting purposes. In this case, you can use OData Reporting URLs to develop a backend job to perform the sync at regular intervals. JSOM User Case 6: Let’s say your PMO wanted a place where a Project Web App user can change his/her assignments percent complete and submit the updates on multiple projects. In this case, you can use JSOM interface to develop a Project Online Add-in. Looking for a more robust self-service business intelligence solution that does not require any background in development, statistical analysis or data mining?  PPMVUE for Microsoft Project Server and Project Online allows users to build dashboards and reports in minutes, simplifying your project and portfolio management tracking and reporting. For more details & kick start your project management journey, sign up for our Microsoft Training Classes or send us an email. For more information on how we can help you and your project management team, send us an email If you are looking to kick start your project management journey, sign up for our Microsoft Training Classes. We hope you find this blog post helpful.  For more tips and tricks on Project Management, follow us on LinkedIn and Instagram