SchedulingConfig#
Project-wide scheduling switches. It travels as the config field of ProjectData. Every field is optional: an omitted field, a null field, an omitted config and "config": null all give the defaults below. Unknown keys are ignored (see Wire format).
Fields#
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
apply_constraints |
boolean |
no | false |
Turns on the eight task constraint types. With false, task constraints are ignored. |
schedule_from_end |
boolean |
no | false |
Schedules the project backward (ALAP) from its end. level refuses such a project. |
gap_behavior |
"preserve" | "compress" |
no | "preserve" |
"preserve" keeps tasks at their own dates where links allow; "compress" pulls every task to its earliest position. |
move_projects |
boolean |
no | true |
true moves a summary and its children as one block; false schedules the leaves one by one. |
project_constraint |
boolean |
no | false |
Children inherit their parent summary's constraint. |
group_mode |
boolean |
no | false |
Suppresses the constraint inheritance of project_constraint. That's its only effect. |
use_progress |
boolean |
no | false |
Treats tasks with progress equal to 1 as completed and keeps them fixed. |
descendant_links |
boolean |
no | false |
Keeps links between a summary and its own descendant. With false, such links are dropped and reported in notes. |
calendar_mode |
"resource" | "task" | "task-inherited" |
no | "resource" |
Which calendars place the work. "resource": each assignment works on its resource's calendar. "task": task calendars only. "task-inherited": task calendars, and a task without one uses its nearest ancestor's. |
strict_calendar |
boolean |
no | false |
Reports a calendar-non-working conflict when a summary moved as a block lands a child on non-working time. |
max_iterations |
number |
no | 8 |
Planner pass limit. An integer, at least 1. A fraction or negative number fails with validation and no path; 0 fails with validation, path: "config.max_iterations". |
project_start |
DateValue | null |
no | absent | Lower bound for the plan, and the date source for undated tasks. |
project_end |
DateValue | null |
no | absent | Upper bound for the plan, used by backward projects. |
duration_unit |
TimeUnit |
no | "day" |
Unit of duration and lag values. Accepts "minute", "hour", "day"; "week", "month" and "year" fail with validation. |
use_calendars |
boolean |
no | true |
false makes every calendar flat 24/7 time. |
default_resource_capacity |
number |
no | 1 |
Capacity of a resource that sets no capacity of its own, in assignment value units (1 = 100 %). Must be finite and non-negative, or the call fails with validation, path: "config.default_resource_capacity". |
root_id |
Id |
no | 0 |
The parent value that means "no parent". Ids compare like JavaScript object keys, so the default matches both 0 and "0". With another root_id, a task with id 0 is an ordinary parent. A parent of "" always means no parent. |
A value of the wrong JSON type (for example "apply_constraints": "yes") fails the call with parse. An unknown enum string or an unparsable date fails with validation and path: null. Error kinds are described in Error handling.
Used by#
As ProjectData.config, in the data_json argument of:
Example#
Every field left out keeps its default. The project-data guide shows this config in a full payload: Scheduling config.
Related#
ProjectData- carries the config- Project data - the config in a full payload
- Links, constraints and summaries - constraints, gap behavior and summaries
- Working time and calendars -
calendar_modeanduse_calendars