Skip to content

Feature Request: Implement task dependencies for sequential workflow management #11

@RUS29TAM

Description

@RUS29TAM

Problem Description

Currently, tasks in Joplin are independent with no way to define relationships. In real projects, many tasks cannot start until previous tasks are completed (prerequisites). This limits realistic project workflow planning.

Proposed Solution

Implement task dependency/link system similar to professional project management tools.

Dependency Types:

  1. Finish-to-Start (FS): Task B cannot start until Task A finishes (most common)
  2. Start-to-Start (SS): Task B cannot start until Task A starts
  3. Finish-to-Finish (FF): Task B cannot finish until Task A finishes
  4. Start-to-Finish (SF): Task B cannot finish until Task A starts (rare)

Implementation Details:

  1. UI for Creating Links:

    • Drag-and-drop connection between tasks on Gantt chart
    • Or selection from dropdown in task properties
  2. Visual Representation:

    • Arrows between dependent tasks on Gantt chart
    • Color coding for critical path
    • Visual warning for circular dependencies
  3. Behavior:

    • Automatic date adjustment when linked tasks change
    • Warning when trying to schedule conflicting dates
    • Critical path calculation (sequence of dependent tasks that determine project duration)
  4. Optional Enforcement:

    • Soft dependencies (visual only)
    • Hard dependencies (prevent date conflicts)

Benefits

  • Realistic project workflow management
  • Automatic schedule adjustments
  • Critical path identification
  • Prevents impossible scheduling scenarios
  • Professional-grade project planning

Integration with Other Features

Note: This is a more complex feature that would make Joplin's project management capabilities comparable to tools like ProjectLibre or MS Project.

This feedback was discussed with @Scrayil who suggested creating this issue.

Priority: High for professional project management users
Complexity: High - Requires new data structures, UI elements, and scheduling logic

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions