Reference: Gantt plugin

Prev Next

The Gantt plugin requires a specific app structure. The tables and fields required to use this plugin include:

Tables in the plugin

These tables have different relationships between them, which the plugin uses to do things like calculations, scheduling, and assigning resources.  

Note: The Gantt plugin does not create tables. Before you enter the table/field mapping page, your app must have all of the required fields and tables.

gantt-hierarchy-chart.png

This diagram is explained in the following section.

  1. The Calendars table defines the calendar used to schedule project tasks. 

  2. The Calendar Days table has information about working and non-working days in a calendar. 

  3. The Projects table defines a project and relationships to records in other tables.  

  4. The Resources table has information about the resources assigned to tasks in a project. 

  5. The Tasks table has information about all the tasks that need to be completed for a project. This table uses information from the Calendars table to schedule tasks.  

  6. The Time Ranges table uses information from the projects table to track things like milestones, which the plugin displays on the calendar to show project progress. 

  7. The Baseline Dates table tracks time ranges used to compare historical project data with current or expected data and scheduling. 

  8. The Task Segments table is a table that stores segments of tasks that are broken into segments. 

  9. The Resource Assignments table connects a resource to a task, and keeps track of what resources are assigned to tasks. 

  10. The Gantt Dependencies and Gantt Settings tables has information about how people view and configure the Gantt plugin.  

  11. The Gantt Settings table stores information about how someone customizes the view of the Gantt plugin and determines how different things display.

Projects table

The Projects table defines a project. The information in this table works with other tables like Tasks, Baseline Dates, Time Ranges, and Calendar to define what is done in a project and when. 

Both the Tasks table and the Projects table are child tables of the Calendar table, since both tables rely on the date information defined in the Calendar table. However, information in the Projects table organizes the tasks that make up a project.  

Field name

Field type

Description

Project ID

Numeric

Unique ID for the record. Quickbase generates this automatically.

Project Name 

Text 

The unique name to identify this project in your app.  

Notes

 Text - Multi Line

Additional details about this project that other people can see. 

Project Color 

 Text 

Hex code value for the project bar when you open the plugin.  

Note: color fields are for future use

Checked Out 

 Checkbox 

Shows if someone currently has the plugin open for a record. When selected, no one else can open the plugin for this record.  

Checked out By 

 Email 

The email of the user that currently has the plugin open. Quickbase automatically populates this value. 

Checked Out by Name 

 Formula - Text 

The name of the user that currently has the plugin open. Quickbase automatically populates this value. 
If(
[GANTT Checkout] = false, "", UserToName(ToUser([Checked Out By]))
)

Current User 

 Formula - Email 

The email of the user currently using the plugin. Quickbase automatically populates this value. 

UserToEmail(User())

Project Status 

 Text 

The status of the project that displays in the app. The plugin automatically populates this value based on task information.  

% Complete 

 Percent 

The overall percentage of a project that is complete. The plugin automatically calculates this value based on task information.  

Related Calendar 

 Numeric 

 The record ID of the project calendar record in the Calendars table. If no calendar is selected in this field, the plugin uses the default calendar from the Calendars table. 

Calendar Name 

 Text 

The Name field value of the project calendar record in the Calendars table. This displays in the app. 

Calendar - Hours Per Day 

 Numeric 

Working hours in a day, defined in the Calendars table. 

Calendar - Days Per Week 

 Numeric 

Working days in a week, defined in the Calendars table. 

Calendar - Days Per Month 

 Numeric 

Working days in a month, defined in the Calendars table 

Estimated Project Start Date

 

Date

 The earliest start date of the all tasks of the project. To schedule tasks earlier than this date, change this date to an earlier date.

Estimated Project Finish Date

Date

The latest finish date of all the tasks in the project.

Tasks table

The Tasks table defines the tasks that make up a project. The information in this table works with other tables like Gantt Dependencies, Baseline Dates, Task Segments, and Resource assignments to define the details, status, and data of a task.   

 The Tasks table is the parent table of the following tables: 

  1. Baseline Dates 

  2. Task Segments 

  3. Resource Assignments 

  4. Gantt Dependencies (Related Predecessor and Related Successor)  

Field name

Field type

Description

Record ID# 

Numeric 

Unique ID for the record. Generated automatically by Quickbase. 

Project ID 

Numeric - Reference 

The record ID of the project record in the Projects table.  

Task Name 

Text 

The name of a task that displays in the plugin. 

Start Date 

Date 

The date that work on a task starts. The plugin automatically calculates this value based on task information. 

End Date 

Date 

The date that work on a task ends. This can be edited in the plugin, but is a read-only value in the app. 

Duration 

Numeric 

The length of time between the start date and end date for a task. 

Duration Unit 

Text 

Non-editable task duration unit automatically populated by the plugin. 

Effort 

Numeric 

The plugin automatically calculates this value based on task information. The effort is the total amount of work for a task to be completed. 

Effort Unit 

Text 

The time unit to measure effort in. Generally, effort is measured in hours. 

% Complete 

Percent 

A percent that represents the progress of a task. People manually update this field on a frequency determined by their project. 

Scheduling Mode 

Text 

The scheduling mode used for the Gantt calculations that define how the plugin schedules tasks. These modes include:

  • Normal

  • Fixed duration

  • Fixed units

  • Fixed effort

Manually Scheduled 

Checkbox 

When selected, this field indicates that a task is manually scheduled. When clear, the task was automatically scheduled. Manually scheduled tasks require the start and end time to be entered. The plugin populates this information for automatically scheduled tasks. 

Constraint Type 

Text 

Constraints are things that can impact how a task is done, such as...  
The plugin automatically calculates this value based on task information or people can define constraints for individual tasks. 

We support constraint types including: 

  • Finish no earlier than 

  • Finish no later than 

  • Must finish on 

  • Must start on 

  • Start no earlier than 

  • Start no later than 

Constraint Date 

Date 

A date associated with the constraint defined for this task. The plugin automatically calculates this value based on task information. 

Task Notes 

Text-Multiline 

Any notes about the task that people can add at any time. This is a rich text field, which means people can include things like text formatting and images.  

WBS Code 

Text 

The Work Breakdown Structure (WBS) that corresponds with this task. 

The plugin automatically manages codes and calculates this value based on task information. 

Calendar ID 

Numeric 

The record ID of the project calendar in the Calendars table. The plugin automatically calculates this value based on task information. 

Task Sequence 

Numeric 

The task sequence determines the order tasks appear in the Gantt plugin. The plugin automatically calculates this value based on task information. 

Gantt Delete 

Checkbox 

When selected, the task does not display in the Gantt plugin even though it still exists in the database. These tasks can be restored or deleted by app admins. When cleared, tasks display in the Gantt plugin. The plugin automatically calculates this value based on task information. 

Related Task 

Numeric 

A reference number that corresponds to the record ID of a related task. The relationship between tasks is a recursive relationship. The plugin automatically calculates this value based on task information. 

Task Color 

Text 

The hex code value of the color that displays on task bars in the Gantt plugin. Only the default value can be used. 

Note: color fields are for future use

Task Status 

Text 

This field shows the status of project. The plugin automatically calculates this value based on task information. These values include: 

  • Not started – 0% complete and end date is before today 

  • Started – 1% or more complete and not late 

  • Late – Not 100% complete and end date is before today 

  • Complete – 100% complete 

Show in Timeline 

Checkbox 

When selected, this task displays in the Gantt plugin as part of the timeline view. When cleared, this task is available, but doesn’t display in the timeline view.  

Rollup 

Checkbox 

When selected, this task displays under the parent task bar in the Gantt plugin. People can make this change in the plugin to associate a task with another task in a hierarchical relationship. 

Project Name 

Text 

The name of the project. This value matches the Project name in the Project table. This is a lookup field to the Projects table. 

Milestone 

Checkbox 

When selected, this task is a milestone task that has a duration of zero days. This task displays with a diamond icon in the Gantt plugin. A milestone is an indication of significant progress, and help measure project progress. 

Gantt Dependencies table

The Gantt Dependencies table has information about dependencies between the tasks in a project. Tasks can have dependencies with other tasks and use a specific field mapping to track this. This information is used to calculate things like start and end dates of tasks. 

Field name

Field type

Description

Record ID# 

Numeric 

Unique ID for the record. Generated automatically by Quickbase. 

Project ID 

Numeric 

The record ID of the project record in the Projects table. 

Successor ID 

Numeric 

The record ID of the task record that Is a successor to this task. A successor is a task that happens after another task. The plugin automatically calculates and populates this value. 

Predecessor ID 

Numeric 

The record ID of the task record that Is a predecessor to this task. A predecessor is a task that happens before another task. The plugin automatically calculates and populates this value. 

Lead/Lag 

Numeric 

The lead or lag is a numeric value that describes the dependency between tasks. The plugin automatically calculates this value based on task information. 

Lag Unit 

Text 

The unit for the lead or lag such as days, weeks, and so on. The plugin automatically calculates this value based on task information. 

Dependency Type 

Numeric 

The type of scheduling dependency between tasks. The plugin automatically calculates this value based on task information. Dependencies include:  

  • FS – Finish to Start 

  • SS – Start to Start 

  • FF – Finish to Finish 

  • SF – Start to Finish 

Delete 

Checkbox 

When selected, this task does not display in the Gantt plugin but the task information is still available. When cleared, the task is included and displayed. The plugin automatically calculates this value based on task information.  

Gantt Deleted Task Dependency 

Formula - Checkbox 

When selected, indicates that there was a dependency with a task that was deleted, and the plugin ignored dependency records in calculations. For example, if this task had a successor task that was deleted, this checkbox would be selected.  

If( 

[GANTT Delete] or [Predecessor - GANTT Delete] or [Successor - GANTT Delete],true 

)

Resources table

The Resources table has information about the resources available to contribute to a project. One or more resources can be assigned to a task and they can be associated with things like users.   

Field name

Field type

Description

Record ID# 

Numeric 

Unique ID for the record. Generated automatically by Quickbase. 

Name 

Text 

The name of the resource that displays in the plugin. People search for this name to associate a resource with a task. 

User Name 

Text 

The name of that is associated with this resource. This name is associated with each resource QuickBase account. 

UserToName([Name], "FF") 

Current User 

Formula - Checkbox 

Quickbase automatically evaluates this field. When selected, the resource record is linked to the Quickbase user currently viewing the record.

If( 

[Name] = User(), true, false 

) 

Active 

Checkbox 

When selected, the resource is active and displays as an option in the Resource Assignment column in the plugin. Only active resources can be assigned to tasks. When cleared, the resource can’t be assigned to new tasks. 

Resource Assignments table

The Resource Assignments table has information about how resources are assigned to tasks in a project. There is a many-to-many relationship between tasks and resources.

Field name

Field type

Description

Record ID# 

Numeric 

Unique ID for the record. Quickbase generates this automatically.

Related Resource 

Numeric 

This reference field shows the record ID of the resource related to this one.  

Project ID 

Numeric 

The record ID of the project record in the Projects table. 

Related Task 

Numeric 

This reference field is the record ID of the task related to this resource. 

Gantt Combine Delete 

Formula-Checkbox 

This field is populated based on the Soft Delete field value in the Assignments table and the Related Resource and Related task fields in this table. The plugin evaluates this field and, when true, these records are not included in calculations. 

[Task - GANTT Delete] or [GANTT Delete] //This field controls whether it will be queried by the GANTT 

Effort % 

Percent 

An effort percentage is associated with a resource assignment and it determines how much of the total effort a resource applies to a task. For example, an effort percentage of 50% means this resource contributed half of their available effort to this task.  

Delete 

Checkbox 

When selected, this resource assignment is not available in the plugin but it is still in the system. When someone deletes a resource assignment in the plugin, this checkbox is automatically selected. 

Task Segments table

The Task Segments table has information about the segments of a task. If a project has tasks that are made up of segments, they’re defined in this table.  

Field name

Field type

Description

Record ID# 

Numeric 

Unique ID for the record. Quickbase generates this automatically.

Related Task 

Numeric 

This reference field is the record ID of the task this segment is part of. 

Start Date 

Date 

The date that work on a segment starts. The plugin automatically calculates this value based on task information. 

Duration 

Numeric 

The length of time between the start date and end date for a segment. The plugin automatically calculates this value based on task information. 

Duration Unit 

Text 

Non-editable task duration unit automatically populated by the plugin. 

Project ID 

Numeric 

The record ID of the project record in the Projects table. 

Delete 

Checkbox 

When selected, this resource assignment is not available in the plugin but it is still in the system. When someone deletes a task segment in the plugin, this checkbox is automatically selected.  

Gantt Settings table

The Gantt Settings table has information about Gantt Settings and States. These define how the Gantt plugin displays when you launch it. This includes things like column placement or user settings. 

Field name

Field type

Description

Record ID# 

Numeric 

Unique ID for the record. Quickbase generates this automatically.

User 

User 

The user associated with these settings. The plugin automatically populates this value. 

Gantt Settings 

Text - Multi-line

The configurations and settings someone applies to the plugin when they use it. The plugin automatically tracks, stores, and applies this information. 

Gantt State 

Text - Multi-line

The configurations someone applies to the plugin when they view it, such as what displays, zoom level, and things like that. The plugin automatically tracks, stores, and applies this information. 

Calendars table

The Calendars table has information about the calendar used for a project. This is what is used for things like timeline calculations and scheduling. The information in this table is used for the entire project. 

The default calendar in the template app is a Working Day calendar and only allows tasks to be scheduled mon-fri and skips over weekends when determining start and end dates. Child records can be added to each calendar record via the Calendar Days table. These records define intervals of working and non-working time. We recommend that you only define intervals of time which are non-working.

Field name

Field type

Description

Record ID# 

Numeric 

Unique ID for the record. Quickbase generates this automatically.

Calendar Name 

Text 

The unique name of this calendar that displays in the plugin when it is associated with a project.  

Days Per Month 

Numeric 

The number of days in a month the plugin uses to calculate dates for tasks.  

Days Per Week 

Numeric 

The number of days in a week that the plugin uses to calculate timelines for projects.  

Hours Per Day 

Numeric 

The number of hours in a day that can be used in a project. 

Weekends Are Workdays 

Checkbox 

When selected, project calculations include weekend days (Saturday and Sunday) as work days. When cleared, Saturday and Sunday are not counted towards work weeks.  

Weekend First Day 

Numeric 

A number that represents the first day of the weekend. The days and values are: 

0 Sunday 

1 Monday 

2 Tuesday 

3 Wednesday 

4 Thursday 

5 Friday 

6 Saturday 

 

The value someone enters here affects things like workday calculations in timelines.  

Weekend Second Day 

Numeric 

A number that represents the last day of the weekend. The days and values are: 

0 Sunday 

1 Monday 

2 Tuesday 

3 Wednesday 

4 Thursday 

5 Friday 

6 Saturday 

 

The value someone enters here affects things like workday calculations in timelines. 

Default Availability 

Text 

The availability used as the hours, out of 24 total, of working time per working day in the calendar.  

Leaf 

Checkbox 

When selected, indicates that this calendar is a leaf node in a tree structure. Leaf nodes are used for calendar calculations with other child calendars. When cleared, this calendar is used in calculations normally.  

Related Parent Calendar 

Numeric 

The record ID of a calendar in the Calendars table that has a defined recursive relationship with the current calendar. These relationships are defined manually by creating multiple calendars. 

Default

Checkbox

When selected, this is the calendar added to a project by default when someone opens the plugin. When clear, a calendar needs to be selected to use for the project.

Users and the Resources Table

The Gantt does not create a record in the resources table when a user who has never used the Gantt
launches it. This allows for apps to utilize connected tables and/or tables with custom keys as their Resources table.

Calendar Days table

The Calendar Days table has information about the working and non-working days in a calendar for a project. This is used to calculate things like timelines and scheduling. 

Field name

Field type

Description

Record ID# 

Numeric 

Unique ID for the record. Quickbase generates this automatically. 

Interval Name 

Text 

A way to identify this interval. Calendars can have different types of intervals.  

Type 

Text 

A type to define the interval for a non-working calendar period. Usually this is a day. 

Cls 

Text 

A class to define the non-working calendar period. The plugin uses this to visualize elements.  

Related Calendar 

Numeric 

The record ID for a related calendar in the calendar table. The information configured in this table is used by the related calendar. 

Recurrent Start Date 

Formula-Text 

For recurring time intervals, this defines the start of the interval. The start date is based on the Weekend Second Day field value. 

Formula:

var text Dy = [Recurrent Start Day];   

var text Tme = [Recurrent Start Time]; 

var text lbl = If($Dy = "weekday", "every ", "on "); 

If( 

$Dy = "" and $Tme = "", "", 

$lbl & $Dy & " at " & $Tme 

Recurrent End Date

Formula-Text 

For recurring time intervals, this defines the end of the interval. The end date is based on the Weekend First Day field value. 

Formula:

var text Dy = [Recurrent End Day]; 

var text Tme = [Recurrent End Time]; 

var text Lbl = If($Dy = "weekday", "every ", "on "); 

If( 

$Dy = "" and $Tme = "", "", 

$lbl & $Dy & " at " & $Tme 

)

Start Date 

Date 

The start of a time interval that occurs once a calendar year, or occurs every year on a different date. 

End Date 

Date 

The end of a time interval that occurs once a calendar year, or occurs every year on a different date. 

IsWorking 

Checkbox 

When selected, indicates that the interval is a working interval. If an interval is working or non-working is used by timeline calculations. 

Recurrent

Checkbox

When selected, this interval is a recurrent, which means that it is repeated every calendar year. When cleared, the plugin doesn't repeat this interval automatically. 

Time Ranges table

The Time Ranges table has information that defines periods of time that are custom to your company or project. These time ranges display in the plugin. 

Field name

Field type

Description

Record ID# 

Numeric 

Unique ID for the record. Quickbase generates this automatically.

Time Range 

Text 

A unique description of this time range that people use to associate with tasks and project information. 

Start Date 

Date 

The calendar start date of a time range. The plugin uses this to schedule and calculate tasks.  

End Date 

Date 

The calendar end date of a time range. The plugin uses this to schedule and calculate tasks. 

Duration 

Numeric 

The value of the duration for this time range. The duration unit for this field is always days.

Class 

Text 

Information about what class to apply, which defines visual elements such as color.

Related Project 

Numeric 

This reference field is the record ID of the project this time range is associated with.  

Baseline Dates table

The Baseline Dates table has information about historical task dates and durations in a project. The plugin uses this information for things like comparing current task dates with historical task dates. 

Field name

Field type

Description

Record ID# 

Numeric 

Unique ID for the record. Quickbase generates this automatically.

Baseline Start 

Date 

The calendar start of a baseline. The plugin uses this to schedule and calculate tasks. 

Baseline End 

Date 

The calendar date this baseline date ends. The plugin uses this to schedule and calculate tasks. 

Related Project 

Numeric 

This reference field is the record ID of the project this baseline date is associated with. 

Related Task 

Numeric 

This reference field is the record ID of the task related to this baseline date. 

Calculated Project ID 

Numeric 

This reference field is the record ID of the project related to this baseline date. The plugin automatically calculates and populates this value. 

If( 

[Related Project] > 0, [Related Project], [Task - Project ID]