Browse our Products

Aspose.Tasks for Java 20.6 Release Notes

Major Features

In this release, we are presenting improvements related to interaction with Project Online and Project Server.

You can now create or update an existing project in your Project Online account using ProjectServerManager class:

ProjectServerCredentials credentials = new ProjectServerCredentials("https://xxxxxx.sharepoint.com", "yyyyy@xxxxxxx.onmicrosoft.com", "password");
Project project = new Project("sample.mpp");
ProjectServerManager manager = new ProjectServerManager(credentials);
manager.createNewProject(project);

You can now create, read, and update projects in on-premise Project Server (2016 or 2019) using ProjectServerManager class:

ProjectServerCredentials projectServerCredentials = new ProjectServerCredentials("https://xxxxxx.sharepoint.com", "yyyyy@xxxxxxx.onmicrosoft.com", "password");
ProjectServerManager manager = new ProjectServerManager(projectServerCredentials);
Iterable<ProjectInfo> list = manager.getProjectList();
for (ProjectInfo projectInfo : list) {
    System.out.println(String.format("%s - %s - %s", projectInfo.getId().toString(), projectInfo.getCreatedDate().toString(), projectInfo.getName()));
}

Deprecated Members

ProjectOnlineReader class is deprecated and will be removed after v.20.8. Use ProjectServerManager class instead. Value.getNumberValue()/Value.setNumberValue(int) property is deprecated and will be removed after v.20.8. Use Value.getNumericValue()/Value.setNumericValue(java.math.BigDecimal) property instead.

All Changes

KeySummaryIssue Type
TASKSNET-2567Provide the ability to add a project in Microsoft Project ServerNew Feature
TASKSNET-3897Add an ability to get page count using the provided instance of SaveOptions.Enhancement
TASKSNET-3894Improve the performance of auto recalculation for large sets of tasksEnhancement
TASKSNET-3583Extended duration 1-10 fields are always displayed in hours regardless of a set formatEnhancement
TASKSJAVA-1073Resource GUID is not being saved correctly in MPPBug
TASKSNET-3725Fix writing of calendar’s ResourceIdBug
TASKSNET-3913Fix serialization of null tasks when the project is created/updated using PWABug
TASKSNET-3899Field.OutlineCode not working when saving to XLSXBug
TASKSJAVA-1096Creation of new Project object causes SIGSEGV JVM crashBug
TASKSJAVA-1137Fix inability of MSP to open MPP generated by Aspose.TasksBug
TASKSJAVA-1131Time phased data incorrect readBug

Public API and Backwards Incompatible Changes

The following public types were added:Description
com.aspose.tasks.ProjectServerManagerThe class provides the methods to read and to perform operations on projects in the specified Project Online account or
com.aspose.tasks.ProjectServerSaveOptionsAllows specifying additional options when the project is saved to Project Server or Project Online.
com.aspose.tasks.Properties.PropertyKeyedCollectionA base class of a collection of properties.
The following public methods and properties were added:Description
com.aspose.tasks.Project.getPageCount(com.aspose.tasks.SaveOptions)Returns page count for the project to be rendered using given .
com.aspose.tasks.ProjectServerManager.#ctor(com.aspose.tasks.ProjectServerCredentials)Initializes a new instance of the class.
com.aspose.tasks.ProjectServerManager.getProject(java.util.UUID)Gets the project with the specified guid from the Project Online Project Server instance.
com.aspose.tasks.ProjectServerManager.getProjectRawData(java.util.UUID)Gets the project’s binary data for troubleshooting purposes.
com.aspose.tasks.ProjectServerManager.getProjectListGets the list of published projects in the current Project Online account Project Server instance.
com.aspose.tasks.ProjectServerManager.updateProject(com.aspose.tasks.Project)Updates existing project in Project Server Online instance using default save options. The existing project will be overwritten.
com.aspose.tasks.ProjectServerManager.updateProject(``com.aspose.tasks.Project,com.aspose.tasks.ProjectServerSaveOptions)Updates existing project in Project Server Online instance using the specified save options. The existing project will be overwritten.
com.aspose.tasks.ProjectServerManager.createNewProject(com.aspose.tasks.Project)Creates new project in Project Server Online instance using default save options.
com.aspose.tasks.ProjectServerManager.createNewProject ``com.aspose.tasks.Project,com.aspose.tasks.ProjectServerSaveOptions)Creates new project in Project Server Online instance using the specified save options.
com.aspose.tasks.ProjectServerSaveOptions.#ctorInitializes a new instance of the class.
com.aspose.tasks.ProjectServerSaveOptions.getProjectName com.aspose.tasks.ProjectServerSaveOptions.setProjectName(String)Gets or sets name of a project which is displayed in Project Server Project Online projects list. Should be unique within Project Server Project Online instance.
com.aspose.tasks.ProjectServerSaveOptions.getProjectGuid com.aspose.tasks.ProjectServerSaveOptions.setProjectGuid(java.util.UUID)Gets or sets unique identifier of a project. Should be unique within Project Server Project Online instance.
com.aspose.tasks.ProjectServerSaveOptions.getTimeout com.aspose.tasks.ProjectServerSaveOptions.setTimeout(double)Gets or sets timeout used when waiting for processing of save project request by a Project Server’s queue processing service. The default value for this property is 1 minute.
com.aspose.tasks.ProjectServerSaveOptions.getPollingInterval com.aspose.tasks.ProjectServerSaveOptions.setPollingInterval(double)Gets or sets interval between queue job status requests. The default value is 2 seconds.
com.aspose.tasks.BuiltInProjectProperty.getValueBuiltInProjectPropertyNew com.aspose.tasks.BuiltInProjectProperty.setValueBuiltInProjectPropertyNew(String)Gets or sets the value of the property.
com.aspose.tasks.GenericProperty.getName
com.aspose.tasks.PropertyKeyedCollection.#ctorInitializes a new instance of the class.
com.aspose.tasks.PropertyKeyedCollection.getNamesGets the collection of all property names.
com.aspose.tasks.PropertyKeyedCollection.sizeGets the number of properties in the collection.
com.aspose.tasks.PropertyKeyedCollection.isReadOnlyGets a value indicating whether this collection is read-only; otherwise, false.
com.aspose.tasks.PropertyKeyedCollection.getItem(String)Gets the Property associated with the specified key.
com.aspose.tasks.PropertyKeyedCollection.contains(String)Determines whether the contains a property with the specified name.
com.aspose.tasks.PropertyKeyedCollection.add(T)Creates a new custom property.
com.aspose.tasks.ResourceAssignment.getGuid com.aspose.tasks.ResourceAssignment.setGuid(java.util.UUID)Gets or sets unique identifier for this assignment.
com.aspose.tasks.ResourceCollection.clearDirect clearing is not supported, this method just throw NotSupportedException.
com.aspose.tasks.Value.getNumericValue com.aspose.tasks.Value.setNumericValue(java.math.BigDecimal)Gets or sets the actual value which is used to represent number or cost value.
The following public methods and properties were deleted:Description
com.aspose.tasks.GenericProperty.#ctor(System.String)
com.aspose.tasks.PropertyCollection.getNames
com.aspose.tasks.PropertyCollection.size
com.aspose.tasks.PropertyCollection.isReadOnly
com.aspose.tasks.PropertyCollection.getItem(String)
com.aspose.tasks.PropertyCollection.contains(String)
The following public enumerations were added:Description
com.aspose.tasks.Prj.GUIDThe GUID of the project.