Browse our Products
Aspose.Tasks for C++ 22.4 Release Notes
All Changes
Key | Summary | Issue Type |
---|---|---|
TASKSNET-4602 | Extend XER import to support XER files with more than 1 projects | Feature |
TASKSNET-10500 | Add a way to specify behavior of task constraints import for XER format | Enhancement |
TASKSNET-10468 | Add support of reading User Defined Fields for Primavera XER format | Enhancement |
TASKSNET-10520 | Fix reading \ writing of PreleveledStart and PreleveledFinish fields | Bug |
TASKSNET-10519 | Fix task ‘Notes’ icon is incorrectly shown when MPP saved by Aspose.Tasks is opened using MS Project | Bug |
TASKSNET-10508 | Fix calculation of formula | Bug |
TASKSNET-10507 | Fix reading of Activity Codes from XER: some codes are missing | Bug |
TASKSNET-10497 | Fix calculation of PercentComplete and PercentWorkComplete for tasks read from XER file | Bug |
TASKSNET-10482 | Fix incorrect Start\Finish dates of task with zero duration | Bug |
TASKSNET-4691 | Fix incorrect writing of extended attributes for specific version of MPP 2003 format | Bug |
Public API and Backwards Incompatible Changes
The following public types were added: | Description |
---|---|
Aspose.Tasks.PrimaveraReadOptions | Allows to specify additional options when reading Primavera Xml or Primavera Xer files. |
Aspose.Tasks.PrimaveraXerReader | Represents a reader to read Project UIDs from Primavera XER file |
Aspose.Tasks.UndefinedConstraintHandlingBehavior | Specifies the behavior used to handle tasks with undefined constraints. |
The following public methods and properties were added: | Description |
---|---|
Aspose.Tasks.LoadOptions.PrimaveraReadOptions | Gets or sets a specified instance of the PrimaveraReadOptions class which can be used to customize the behavior of loading Primavera formats (Primavera P6 XER or Primavera P6 Xml). |
Aspose.Tasks.PrimaveraReadOptions.#ctor | Initializes a new instance of the PrimaveraReadOptions class. |
Aspose.Tasks.PrimaveraReadOptions.ProjectUid | Gets or sets the UID of a project to read from file containing multiple projects. |
Aspose.Tasks.PrimaveraReadOptions.UndefinedConstraintHandlingBehavior | Specifies the behavior used to process tasks with undefined constraints read from XER format. |
Aspose.Tasks.PrimaveraXerReader.#ctor(System.String) | Initializes a new instance of the PrimaveraXerReader class. |
Aspose.Tasks.PrimaveraXerReader.#ctor(System.IO.Stream) | Initializes a new instance of the PrimaveraXerReader class. |
Aspose.Tasks.PrimaveraXerReader.GetProjectUids | Return a list of the projects’ unique identifiers. |
Aspose.Tasks.Project.#ctor(System.IO.Stream,Aspose.Tasks.PrimaveraReadOptions) | Initializes a new instance of the Project class from the Stream |
Aspose.Tasks.Project.#ctor(System.String,Aspose.Tasks.PrimaveraReadOptions) | Initializes a new instance of the Project class from a template (existent MPP or MPT file |
The following public enumerations were added: | Description |
---|---|
Aspose.Tasks.UndefinedConstraintHandlingBehavior.None | The default behavior for loading from XER format. |
Aspose.Tasks.UndefinedConstraintHandlingBehavior.SubstituteWithStartNoEarlierThan | Constraints with type ‘ConstraintType.StartNoEarlierThan’ and date = Start are added for tasks with ‘Undefined’ constraint. |
Examples and additional notes
In this release we focused on improvement of Primavera XER format support.
Related issue: TASKSNET-4602 - Extend XER import to support XER files with more than 1 projects
The support of reading of XER files containing multiple projects was added. Also PrimaveraReadOptions class was introduced to make a unified API for both Primavera XML and Primavera XER formats reading. PrimaveraReadOptions.ProjectUid can be used to specify ID of project to read. You can use PrimaveraXerReader to read IDs of projects contained in .XER file:
string xerFile = "test.xer";
PrimaveraXerReader reader = new PrimaveraXerReader(xerFile);
var projectUids = reader.GetProjectUids();
var projectId = projectUids[0];
var firstProject = new Project(xerFile,
new PrimaveraReadOptions()
{
ProjectUid = projectId
});
Related issue: TASKSNET-10500 - Add a way to specify behavior of task constraints import for XER format
PrimaveraReadOptions.UndefinedConstraintHandlingBehavior was added to make it possible to specify behavior used to handle tasks with Undefined contraint when reading project. Prior to 22.4 the default behavior was to add “StartNoEarlier” constraint with “Start” date for these tasks. Now the default behavior is “None” (no constraints are added).
var firstProject = new Project("test.xer",
new PrimaveraReadOptions()
{
ProjectUid = 1,
UndefinedConstraintHandlingBehavior = UndefinedConstraintHandlingBehavior.SubstituteWithStartNoEarlierThan
});