Skip to main content

Task Scheduling & Gantt Chart

The Gantt timeline in the Project Workspace visualizes your project schedule, showing start dates, due dates, task durations, milestones, and predecessors.


Gantt Controls​

The controls above the Gantt chart help you manage the timeline view:

  • Search Task: Instantly filters tasks by name.
  • Status Filter: Filters tasks to show All Status, Open, Completed, or Cancelled tasks.
  • Today Button: Instantly scrolls the timeline canvas to focus on the current date.
  • Critical Path: Highlights the sequence of dependent tasks that directly affect the project completion date.
  • Zoom Scale: Choose from Day view, Week view, or Month view depending on the duration of your project.

Task vs. Milestone​

AceCBM distinguishes between normal project tasks and progress milestones:

  • Normal Task (milestone_flg = 'N'): Represents work with duration (e.g., Development: Aug 19 – Nov 02).
    • UI Rule: A one-day normal task must render as a block bar in the Gantt timeline.
  • Milestone (milestone_flg = 'Y'): Represents a zero-duration checkpoint (e.g., Design Doc Approval).
    • Constraint Rule: Milestones must have the same start date (open_dt) and finish date (due_dt), resulting in a 0-day duration.
    • UI Rule: Rendered as a distinct Diamond Icon positioned at its due date rather than a bar.

Scheduling Interactions​

You can update the schedule directly from the timeline:

  • Drag-to-Move: Click and hold the center of a task bar, then drag left or right to change its start and due dates simultaneously.
  • Drag-to-Resize: Hover over the left or right edge of a task bar until the resize handle appears, then drag to extend or shorten the task duration.
  • Task Details: Click any task name or double-click a task bar to open the task details drawer to adjust task assignments, status, or descriptions.

Task Predecessors & Dependencies​

You can link tasks to enforce logical scheduling sequences (e.g., Task B cannot start until Task A finishes).

Creating Dependencies​

  1. Direct Drag: In the Gantt view, hover over a task bar to show connector nodes at the edges. Click and drag a line from one task's connector node to another task's connector node to establish a dependency.
  2. Form Entry: Open the Task Details Drawer, navigate to the Dependencies section, and add a predecessor task by choosing a dependency type.

Dependency Types​

TypeNameRule
FSFinish-to-StartThe successor task cannot start until the predecessor task finishes.
SSStart-to-StartThe successor task cannot start until the predecessor task starts.
FFFinish-to-FinishThe successor task cannot finish until the predecessor task finishes.
SFStart-to-FinishThe successor task cannot finish until the predecessor task starts.
  • Lag Days: Enter a lag duration (e.g., 2 days) to introduce a buffer between linked tasks.
  • Validation Rules:
    • Self-Dependency: A task cannot depend on itself; this is strictly blocked.
    • Circular Dependency: Loops (e.g., A depends on B, and B depends on A) are strictly blocked or warned against to prevent scheduling lockouts.

Critical Path & Float​

The Critical Path identifies the sequence of tasks that directly determine the project completion date. If any task on the critical path is delayed, the overall project finish date will slip.

Dynamic Calculation​

The critical path is not stored in a database table in V1. Instead, the frontend dynamically calculates schedule metrics on the fly using tasks (task), dependencies (task_dep/task_dep2), and the project planned completion date.

Derived Calculations​

During calculation, the system resolves the following properties for each task:

  • earlyStart / earlyFinish: The earliest possible start and completion dates for the task.
  • lateStart / lateFinish: The latest allowable start and completion dates that avoid delaying the project.
  • totalFloatDays (Float/Slack): The number of days a task can slip without delaying the project finish date.
  • isCritical / isNearCritical: Flags identifying critical tasks.

Status Rules​

StatusRuleUI Visualization
CriticalFloat <= 0 daysTask bar, milestones, and connecting dependency arrows highlight in Red.
Near CriticalFloat is between 1 and 2 daysTask bar/milestones highlight in a distinct warning color (e.g., Orange).
NormalFloat is greater than 2 daysStandard task colors apply.

Timeline Visual Elements​

  • Toggles: Turn the "Critical Path" or "Near Critical" highlights on/off above the timeline.
  • Float Column: Adds a float column in the task grid. Negative float values represent late or over-schedule tasks.
  • Non-Destructive: Activating critical path highlights change styling only; no task dates are auto-altered during calculation.

Testing Checklist​

Verify the following schedule and timeline behaviors:

  1. Milestone Creation: Create a milestone task. Verify that the start and end dates automatically lock to the same day and duration is 0. Confirm it renders as a diamond.
  2. One-day Task Bar: Create a normal non-milestone task spanning exactly 1 day. Ensure it renders as a bar, not a diamond.
  3. Timeline Drag-Drop: Drag a task bar to move it, and drag the edges to resize. Verify task start/end dates are updated in the database.
  4. Dependency Validations: Test adding self-dependencies and circular loops. Ensure the system blocks them.
  5. Critical Path Toggle: Turn on the Critical Path toggle. Verify that tasks with Float <= 0 float turn red and dependency lines update. Confirm no task dates change in the database.
  6. Near Critical Toggle: Verify that tasks with 1-2 days of float highlight in warning orange when toggled.
  7. Task dropdown integration: Ensure created tasks appear immediately in the task dropdown on the timesheet and labor estimate drawers.
  8. Security Locks: Ensure tasks cannot be edited, moved, resized, or created on DONE or CANCEL projects.