Hi,
The following setup makes sense. The Start and Finish dates of Setup web server are both null then it picked up values from the child components.
Start Date = earliest date from child components
Finish Date = latest date from child components
Data
"tasks": {
"rows": [
{
"id": 1000,
"name": "Launch SaaS Product",
"percentDone": 50,
"startDate": "2022-03-14",
"manuallyScheduled": false,
"expanded": true,
"children": [
{
"id": 1,
"name": "Setup web server",
"percentDone": 50,
"duration": null,
"startDate": null,
"manuallyScheduled": false,
"rollup": true,
"endDate": null,
"expanded": true,
"children": [
{
"id": 12,
"name": "Configure firewall",
"percentDone": 50,
"startDate": "2022-03-14",
"manuallyScheduled": true,
"rollup": true,
"duration": 3,
"endDate": "2022-03-17",
"showInTimeline": true,
"cost": 1000
},
{
"id": 13,
"name": "Setup load balancer",
"percentDone": 50,
"startDate": "2022-03-14",
"manuallyScheduled": true,
"rollup": true,
"duration": 3,
"endDate": "2022-03-17",
"cost": 1200
},
{
"id": 14,
"name": "Configure ports",
"percentDone": 50,
"startDate": "2022-03-14",
"manuallyScheduled": true,
"rollup": true,
"duration": 2,
"endDate": "2022-03-16",
"cost": 750
},
{
"id": 15,
"name": "Run tests",
"percentDone": 0,
"startDate": "2022-03-21",
"manuallyScheduled": true,
"rollup": true,
"duration": 2,
"endDate": "2022-03-23",
"cost": 5000
}
]
}
],
"endDate": "2022-05-16",
"baselines": [
{
"startDate": "2022-03-13T23:00:00",
"endDate": "2022-05-15T23:00:00"
},
{
"startDate": "2022-03-13T23:00:00",
"endDate": "2022-05-15T23:00:00"
},
{
"startDate": "2022-03-13T23:00:00",
"endDate": "2022-05-15T23:00:00"
}
]
}
]
}
For the following example, I have inserted Install Apache task with StartDate=Apr 15, 2022 and FinishDate=null. Question, how can Setup web Server capture the Apr 15, 2022 as FinishDate ? Because if Start Date of Install Apache is Apr 15, 2022 then the EndDate should be Apr 15, 2022 or later.
Data
"tasks": {
"rows": [
{
"id": 1000,
"name": "Launch SaaS Product",
"percentDone": 50,
"startDate": "2022-03-14",
"manuallyScheduled": false,
"expanded": true,
"children": [
{
"id": 1,
"name": "Setup web server",
"percentDone": 50,
"duration": null,
"startDate": null,
"manuallyScheduled": false,
"rollup": true,
"endDate": null,
"expanded": true,
"children": [
{
"id": 11,
"name": "Install Apache",
"percentDone": 50,
"startDate": "2022-04-15",
"manuallyScheduled": true,
"duration": null,
"rollup": true,
"color": "teal",
"endDate": null,
"cost": 200
},
{
"id": 12,
"name": "Configure firewall",
"percentDone": 50,
"startDate": "2022-03-14",
"manuallyScheduled": true,
"rollup": true,
"duration": 3,
"endDate": "2022-03-17",
"showInTimeline": true,
"cost": 1000
},
{
"id": 13,
"name": "Setup load balancer",
"percentDone": 50,
"startDate": "2022-03-14",
"manuallyScheduled": true,
"rollup": true,
"duration": 3,
"endDate": "2022-03-17",
"cost": 1200
},
{
"id": 14,
"name": "Configure ports",
"percentDone": 50,
"startDate": "2022-03-14",
"manuallyScheduled": true,
"rollup": true,
"duration": 2,
"endDate": "2022-03-16",
"cost": 750
},
{
"id": 15,
"name": "Run tests",
"percentDone": 0,
"startDate": "2022-03-21",
"manuallyScheduled": true,
"rollup": true,
"duration": 2,
"endDate": "2022-03-23",
"cost": 5000
}
]
}
],
"endDate": "2022-05-16",
"baselines": [
{
"startDate": "2022-03-13T23:00:00",
"endDate": "2022-05-15T23:00:00"
},
{
"startDate": "2022-03-13T23:00:00",
"endDate": "2022-05-15T23:00:00"
},
{
"startDate": "2022-03-13T23:00:00",
"endDate": "2022-05-15T23:00:00"
}
]
}
]
}