Baselines

Hi,

I'd like to check my understanding of how Baselines are handled in Aspose.Tasks...

My understanding from MS Project (older versions)... that there is a Baseline and a number of interim plans (saved as numbered baselines). In MS Project these are created by a 'Save Baseline' function with various options..

This indicates to me that it is valid that a project does not have any Baseline information in the XML document ... indicating that no baseline has been saved. Any baseline that does exist in the XML should be passed through and made available in a read only (possible protected) way. This way baselines remain fixed. (though sometimes, I'd like to be able to make slight alterations.. :-))

The implications are: It's ok for the TaskBaseline collection to be nothing. And it's ok for the Proj.BaselineForEarnedValue to be nothing. In these cases, the project does not contain a baseline. Given the above, is it also possible that task.bcws = nothing, same for resource and resassignment if there is no baseline?

I did not see a SaveBaseline method? Did I miss one? This might be nice to have a snapshot taken in a consistent repeatable way (as it is in MS Project). (especially now that I see there are some differences in the way Baseline information is included in the XML).

It would be nice to know which baselines did exist in the XML (e.g. baseline or interim plans 1-10).

There appears to be a Baseline object with a GetType method... Does this return the baseline type enumeration? If yes, how does this relate to the baseline.number? Also for the TaskBaseline.interim - is this true if (BaselineTypeEnumeration > 0)?

I also believe that if I wanted to make my own SaveBaseline method. I do have the ability to do this with the baseline objects and collections.

All I care about today in my application is: If baseline information exists in the source XML - the exact Baseline information exists in the output XML (no changes to baseline information). If it does not exist in the input file - it does not exist in the output file.

Am I missing something about baselines? Any thoughts appreciated!!

Regards, Bruce

Hi Bruce,

Thank you for your questions, they are important indeed.

You can find some information about tasks’ baselines here. The task’s baseline is an ArrayList containing an array of TaskBaseline elements. The class description you can find here.

Resource’s BaseLines array list contains an array of Baseline elements. Please see the type description here.

It was an issue with resource assignment baselines as in our previous releases we had just one element with Baseline type. We are going to fix it in our outgoing February release. It will be an array of AssignmentBaseline elements. You can get an interim hot fix here.

GetType() is a common .Net reference types method inherited from System.Object (like ToString()). Full method description you can find here.

And the main part of your question – SetBaseline() method. The issue ‘Add SetBaseline() method’ with id = 14482 has been created and linked to this forum’s thread. We have to provide a lot of interactive methods for working with project data like project and tasks recalculation, resolving resources overloading, work and duration recalculation when resource assignment changes and so on. The SetBaseline() method has to be one of them.