Project Management using REST API

Project planning preview

Microsoft Project Professional is the world’s most popular project management software as it helps managers in developing plans, assigning tasks to members, tracking the progress of tasks, controlling finances and schedules, communicating project information, and organizing work and manpower in a Work Breakdown Structure format clearly explaining the tasks for a project and their assignment to specific resources in the team. However, in order to create/update the schedule/plan, you need to use MS Project Professional software which incurs installation effort as well as licensing cost.

MS Project Professional alternative

Aspose.Tasks Cloud is an amazing solution for MS Project files creation, manipulation, and rendering to other supported formats. The REST API based solution provides the flexibility to use any platform and the language of your choice to accomplish the desired requirements. It enables the users to perform project creation, scheduling, resource, task & attributes management in the cloud. The Aspose.Tasks Cloud API provides such flexibility that you can directly work with project assignments, project tasks, project resources, project calendars, project calendar exceptions, project extended attributes, VBA, time-scaled data, and various other properties of cloud projects.

Supported File Formats

Aspose.Tasks Cloud for cURL supports the popular Microsoft Project (MPT, MPP, MPX) and Primavera P6 (XER, XML) file formats. It also provides the feature to convert your cloud project files to industry-leading file formats, such as HTML, PDF, XPS, XLSX, CSV, TXT, and image formats (BMP, PNG, JPEG, TIFF, SVG).

Advanced features

Among the features specified above, the Aspose.Tasks Cloud API also provides some advanced features as listed below

  • Import project from a database including Primavera DB
  • Reschedule all project Task IDs, start/finish dates, calculate slacks
  • Get time-scaled data or recurring info for a specific task using UID
  • Perform risk analysis using Monte Carlo simulation and create a report
  • Manage project’s Work Breakdown Structure (WBS)
  • Recalculate project work for completion or incompletion
  • Read Microsoft Project’s Calendars and Calendar Exceptions information.

Installation

Specified below are the steps on how to install Aspose.Tasks Cloud SDK for .NET in Visual Studio for mac.

  • Expand the project structure under the Solution Explorer window.
  • Right-click packages folder and click Manage NuGet packages… option
  • Enter Aspose.Tasks Cloud in the search field and press enter key
  • Enable checkbox beside Aspose.Tasks Cloud and click the Add Package button
  • The SDK is added to the project packages
Manage NuGet packages option preview
Image 1:- Preview of Manage NuGet packages option
Aspose.Tasks Cloud in NuGet library
Image 2:- Aspose.Tasks Cloud in NuGet library
Aspsoe.Tasks Cloud added to project packages
Image 3:- Aspose.Tasks Cloud added to project packages collection.

Read MS Project Properties

These properties are a place to store metadata about your projects such as TitleSubjectAuthorManagerCompany, keywords, and descriptions of your project. These properties can be useful when searching for your project or for reference purposes when you or someone else revisits this project file months or years from now.

cURL Command

The cURL commands can be used to read project properties on any platform using a console/command prompt. Using the same cURL commands, you can read the properties associated with the project file as shown below.

curl -v "https://api.aspose.cloud/oauth2/token" \
-X POST \
-d 'grant_type=client_credentials&client_id=xxx-xxx-xxx&client_secret=xxxxx' \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"


curl -X GET "https://api.aspose.cloud/v3.0/tasks/sample.mpp/documentproperties" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"

Request URL

https://api.aspose.cloud/v3.0/tasks/sample.mpp/documentproperties

The API also provides the feature to read individual property associated with the file.

curl -X GET "https://api.aspose.cloud/v3.0/tasks/sample.mpp/documentproperties/LastAuthor" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"

Request URL

https://api.aspose.cloud/v3.0/tasks/sample.mpp/documentproperties/LastAuthor

Response Body

{
  "Property": {
    "Name": "LastAuthor",
    "Value": "Alexey Zhilin",
    "link": {
      "Href": "/documentProperties/LastAuthor",
      "Rel": "self",
      "Type": null,
      "Title": null
    }
  },
  "Code": 200,
  "Status": "OK"
}

C#.NET

In case you need to get the value associated with a certain property, please try using the following code snippet

var response = tasksApi.GetDocumentPropertyAsync(new Aspose.Tasks.Cloud.Sdk.Model.Requests.GetDocumentPropertyRequest
{
    Name = "sample.mpp",
    PropertyName = "LastAuthor"
});
Console.WriteLine(response.Result.Property.Value );

For your reference, a copy of sample.mpp can be downloaded from the given link.

Convert MS Project file to other formats

Aspose.Tasks Cloud provides a method GetTaskDocumentWithFormat(..) which provides the capabilities to read MS Project file and save it to either of the following supported formats

Render MPP to PNG format

The following cURL command provides the capabilities to read MS Project file storage in cloud storage and render the output in PNG format. The output is then saved on local storage.

cURL command

curl -X GET "https://api.aspose.cloud/v3.0/tasks/CalendarWorkWeeks.mpp/format?format=png&returnAsZipArchive=false" \
-H  "accept: multipart/form-data" \
-H  "authorization: Bearer <JWT Token>" \
-o resultant.png

The sample project file used in the above example can be downloaded from CalendarWeek.mpp.

C#.NET

The Aspose.Tasks Cloud SDK for .NET can be used exclusively in .NET projects for MS Project files processing. By using the same SDK, you may accomplish your requirements of rendering .mpp files to .png or other supported formats (as mentioned above).

  • First of all, we need to instantiate an object of TasksApi while passing ClientSecret and ClientID as input argument
  • Secondly, call GetTaskDocumentWithFormat (…) method of TasksApi while passing GetTaskDocumentWithFormatRequest object
  • The export format information is specified using GetTaskDocumentWithFormatRequest object. The value is accessed from ProjectFileFormat enumeration

The input Home move plan.mpp and resultant Converted.png are attached for your reference.