Baseline Task Scheduling
In project management, a baseline schedule defines the original planned Start and Finish dates for tasks. By comparing baseline dates with the actual or current schedule, project managers can identify delays, track progress, and evaluate schedule performance. Using the TaskBaseline class in Aspose.Tasks for .NET, developers can programmatically access and manipulate these dates when working with MPP/XML files.
Baseline Start and Finish Properties
The following properties are available:
- Start – captures the planned start date when the baseline was saved.
- Finish – captures the planned finish date when the baseline was saved.
Both properties use the DateTime data type.
Viewing Baseline Schedule in Microsoft Project
To verify baseline schedule values in Microsoft Project:
- From the View menu, select More Views ? Task Entry.
- From the Insert menu, select Columns.
- Add the Baseline Start and Baseline Finish columns.
Getting Task Baseline Schedule using Aspose.Tasks
The code below displays the task baseline schedule in a console window after traversing a task’s baselines.
1Project project = new Project();
2
3// Creating TaskBaseline
4Task task = project.RootTask.Children.Add("Task");
5project.SetBaseline(BaselineType.Baseline);
6
7// Display task baseline schedule
8TaskBaseline baseline = task.Baselines.ToList()[0];
9Console.WriteLine("Baseline duration is 1 day: {0}", baseline.Duration.ToString().Equals("1 day"));
10Console.WriteLine("BaselineStart is same as Task Start: {0}", baseline.Start.Equals(task.Get(Tsk.Start)));
11Console.WriteLine("BaselineFinish is same as Task Finish: {0}", baseline.Finish.Equals(task.Get(Tsk.Finish)));
EUpdating Task Baseline Dates
You can also programmatically set or update baseline start and finish dates:
1 var project = new Project("input.mpp");
2
3 // Access a task
4 Task task = project.RootTask.Children.GetById(1);
5
6 // Get first baseline
7 TaskBaseline baseline = task.Baselines[0];
8
9 // Update baseline dates
10 baseline.Start = new DateTime(2025, 10, 1, 9, 0, 0);
11 baseline.Finish = new DateTime(2025, 10, 5, 18, 0, 0);
12
13 project.Save("output.mpp", SaveFileFormat.Mpp);
Best Practices
- Preserve history: avoid overwriting baselines frequently.
- Use variance analysis: regularly compare baseline vs. actual dates to detect schedule risks.
- Automate reporting: integrate baseline schedule checks into dashboards or scheduled scripts.
Conclusion
Baseline task scheduling is essential for tracking whether tasks are completed on time. With Aspose.Tasks for .NET, you can access and update baseline Start and Finish dates, automate variance analysis, and integrate schedule tracking into custom project management workflows.