The Gantt plugin requires a specific app structure. The tables and fields required to use this plugin include:
- Projects table
- Tasks table
- Gantt Dependencies table
- Resources table
- Resource Assignments table
- Task Segments table
- Gantt Settings table
- Calendars table
- Calendar Days table
- Time Ranges table
- Baseline Dates table
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.
This diagram is explained in the following section.
- The Calendars table defines the calendar used to schedule project tasks.
- The Calendar Days table has information about working and non-working days in a calendar.
- The Projects table defines a project and relationships to records in other tables.
- The Resources table has information about the resources assigned to tasks in a project.
- 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.
- 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.
- The Baseline Dates table tracks time ranges used to compare historical project data with current or expected data and scheduling.
- The Task Segments table is a table that stores segments of tasks that are broken into segments.
- The Resource Assignments table connects a resource to a task, and keeps track of what resources are assigned to tasks.
- The Gantt Dependencies and Gantt Settings tables has information about how people view and configure the Gantt plugin.
- 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 |
|
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. |
Current User |
Formula - Email |
The email of the user currently using the plugin. Quickbase automatically populates this value.
|
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:
- Baseline Dates
- Task Segments
- Resource Assignments
- 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:
|
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... We support constraint types including:
|
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:
|
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:
|
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.
|
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.
|
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.
|
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:
) |
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:
|
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.
|