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

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

Public API and Backwards Incompatible Changes

The following public types were added: Description
com.aspose.tasks.ProjectServerManager The class provides the methods to read and to perform operations on projects in the specified Project Online account or
com.aspose.tasks.ProjectServerSaveOptions Allows specifying additional options when the project is saved to Project Server or Project Online.
com.aspose.tasks.Properties.PropertyKeyedCollection A 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.getProjectList Gets 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.#ctor Initializes 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.#ctor Initializes a new instance of the class.|
com.aspose.tasks.PropertyKeyedCollection.getNames Gets the collection of all property names.
com.aspose.tasks.PropertyKeyedCollection.size Gets the number of properties in the collection.
com.aspose.tasks.PropertyKeyedCollection.isReadOnly Gets 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.clear Direct 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.GUID The GUID of the project.