Browse our Products

Aspose.Tasks for C++ 22.11 Release Notes

All Changes

KeySummaryIssue Type
TASKSNET-10699Add an API for read-only access to Primavera-specific task’s properties for projects read from XER\P6XML formatsEnhancement
TASKSNET-10696Change sort order of summary tasks for a project read from XER formatEnhancement
TASKSNET-10693Fix reading of rates from XER formatBug
TASKSNET-10692Fix incorrect values of Work and Cost fields for assignments with Units count not equal to 1 in project read from XER file.Bug
TASKSNET-10691Fix incorrect PercentageComplete value for task with zero duration for project read from XER fileBug
TASKSNET-10683Fix timephased data for baselines are not shown when project is opened using MS ProjectBug
TASKSNET-10678Fix resetting of the dates when opening .XER file using trial version of Aspose.TasksBug
TASKSNET-10667Fix reading of timephased data for task’s numbered baselines.Bug
TASKSNET-4334Fix writing of baseline’s TimephasedData for files with large number of timephased data items in baseline’s TimephasedData collectionBug

Public API and Backwards Incompatible Changes

The following public types were added:Description
Aspose.Tasks.PrimaveraTaskPropertiesRepresents Primavera-specific properties for a task read from Primavera format (XER of P6XML).
The following public types were deleted:Description
Aspose.Tasks.PrimaveraXmlReadingOptions
The following public methods and properties were added:Description
Aspose.Tasks.PrimaveraTaskProperties.SequenceNumberGets or sets the sequence number of the WBS item (summary tasks). It is used to sort summary tasks in Primavera.
Aspose.Tasks.PrimaveraTaskProperties.ActivityIdGets an activity id field - a task’s unique identifier used by Primavera.
Aspose.Tasks.PrimaveraTaskProperties.RemainingEarlyFinishGets remaining early finish date - the date when the remaining work for the activity is scheduled to be finished.
Aspose.Tasks.PrimaveraTaskProperties.RemainingEarlyStartGets remaining early start date - the date when the remaining work for the activity is scheduled to begin.
Aspose.Tasks.PrimaveraTaskProperties.RemainingLateStartGets remaining late start date.
Aspose.Tasks.PrimaveraTaskProperties.RemainingLateFinishGets remaining late finish date.
Aspose.Tasks.PrimaveraTaskProperties.RawDurationTypeGets raw text representation (as in source file) of ‘Duration Type’ field of the activity.
Aspose.Tasks.PrimaveraTaskProperties.RawActivityTypeGets raw text representation (as in source file) of ‘Activity Type’ field of the activity.
Aspose.Tasks.PrimaveraTaskProperties.RawCompletePercentTypeGets raw text representation (as in source file) of ‘% Complete Type’ field of the activity.
Aspose.Tasks.PrimaveraTaskProperties.RawStatusGets raw text representation (as in source file) of ‘Status’ field of the activity.
Aspose.Tasks.Task.ActivityIdRepresents activity id field - a task’s unique identifier used by Primavera. (only applicable to Primavera projects).
Aspose.Tasks.Task.SVThe earned value schedule variance, through the project status date.
Aspose.Tasks.Task.PrimaveraPropertiesGets an object containing Primavera-specific properties for a task read from Primavera format.
The following public methods and properties were deleted:Description
Aspose.Tasks.LoadOptions.PrimaveraOptions
Aspose.Tasks.PrimaveraXmlReadingOptions.#ctor
Aspose.Tasks.PrimaveraXmlReadingOptions.ProjectUid
Aspose.Tasks.Project.#ctor(System.IO.Stream,Aspose.Tasks.PrimaveraXmlReadingOptions)
Aspose.Tasks.Project.#ctor(System.IO.Stream,Aspose.Tasks.ParseErrorCallback,Aspose.Tasks.PrimaveraXmlReadingOptions)
Aspose.Tasks.Project.#ctor(System.String,Aspose.Tasks.PrimaveraXmlReadingOptions)
Aspose.Tasks.Project.#ctor(System.String,Aspose.Tasks.ParseErrorCallback,Aspose.Tasks.PrimaveraXmlReadingOptions)

Examples and additional notes

Related issue: TASKSNET-10699 - Add an API for read-only access to Primavera-specific task’s properties for projects read from XER\P6XML formats

It not a secret that in API of Aspose.Tasks model of Project (including Tasks, Resources, Assignments and related entities) was built with MS Project’s model in mind. Primavera has slightly different model of Project and, as a consequence, some Primavera fields don’t have corresponding properties in public API of Aspose.Tasks. To partially address this issue we added Tasks.PrimaveraTaskProperties property which will contain read-only values of Primavera-specific fields read from source XER of P6XML file.

System::SharedPtr<Project> project = System::MakeObject<Project>(System::String(u"test.xer"));
    
for (auto&& task : System::IterateOver(project->EnumerateAllChildTasks()))
{
    if (task->get_IsSummary())
    {
        System::Console::WriteLine(u"Sequence number: {0}, Task : {1}", task->get_PrimaveraProperties()->get_SequenceNumber(), task->get_Name());
    }
    else
    {
        System::Console::WriteLine(u"RemainingLateStart: {0}, Task : {1}", task->get_PrimaveraProperties()->get_RemainingLateStart(), task->get_Name());
    }
}