Program Scheduling widget(项目排程(Program Scheduling)组件)¶
The Program Scheduling widget is a Workshop widget that provides a chronological view of programs, projects, and tasks. Use it to track progress across workstreams, visualize how tasks relate to one another, and identify blockers that may impact downstream deliverables. The widget works with any object type that has date or timestamp properties representing start and end times.
Module builders configuring a Program Scheduling widget can:
- Track project and task progress on an interactive timeline, with tasks displayed as pucks that reflect their scheduled duration.
- Visualize task dependencies as arrows between pucks, making it easy for users to identify blockers and understand how delays cascade through a program.
- Organize tasks into a hierarchical table of collapsible groups alongside the timeline — for example, grouped by project, team, or phase.
In the example below, the Program Scheduling widget displays tasks grouped by project phase, with dependency arrows highlighting the relationships between deliverables.

Puck types¶
Each task or event in a data layer is rendered as a puck on the timeline. The puck type is configured per layer and determines how items are visualized and what interactions are available.
- Standard pucks: Rectangular bars representing tasks or activities that span a time range. These support dependency arrows to visualize dependencies between tasks.
- Background pucks: Shaded rectangular regions representing broader time periods such as project phases, planning cycles, or review windows. Background pucks provide visual context for the tasks in front of them but are read-only and cannot be edited by users.
- Event pucks: Thin vertical markers at a single point in time. These can represent milestones, deadlines, or key decision points.
Dependencies¶
The Program Scheduling widget can visualize task dependencies as arrows connecting related pucks on the timeline, helping users understand sequencing constraints and identify which tasks are blocking downstream work. Dependencies are configured per layer by selecting an array property on the object type that references the primary keys of other objects in the same layer.
- Dependency arrows are only available for standard pucks.
- Hovering over a puck highlights its dependency chain, making it easier to trace which tasks are blocked and which are blocking others.
- You can hide arrows by default using the Hide arrows by default interface option. Users can toggle arrow visibility at runtime.
Widget layout¶
The image below provides an overview of the full widget layout.

- Timeline: The body of the widget displays task pucks positioned along a horizontal time axis controlled by configurable start and end timestamps. If edits have been made, the Save Changes button will appear on the right.
- Rows: The left side of the body displays a hierarchical table of rows organized by configurable properties such as project, team, or phase. Groups can be expanded or collapsed.
- Dependencies: Arrows connect related task pucks to visualize sequencing constraints and highlight blockers.
- Detail card: Selecting a puck opens a detail card displaying properties for the selected task. Users can also edit and traverse links in this view.
中文翻译¶
项目排程(Program Scheduling)组件¶
项目排程(Program Scheduling)组件是Workshop中的一个组件,用于以时间顺序展示项目、方案和任务。您可以使用它来追踪各工作流的进度,可视化任务之间的关联关系,并识别可能影响下游交付物的阻塞项。该组件适用于任何包含表示开始和结束时间的日期或时间戳属性的对象类型。
配置项目排程(Program Scheduling)组件的模块构建者可以:
- 在交互式时间线上追踪项目和任务进度,任务以反映其计划持续时间的圆块(puck)形式显示。
- 将任务依赖关系可视化为圆块(puck)之间的箭头,使用户能够轻松识别阻塞项并了解延迟如何在项目中级联传播。
- 将任务组织成可折叠分组的层级表格,与时间线并排显示——例如,按项目、团队或阶段分组。
在下面的示例中,项目排程(Program Scheduling)组件按项目阶段分组显示任务,依赖箭头突出显示了交付物之间的关系。

圆块类型(Puck types)¶
数据层中的每个任务或事件在时间线上都呈现为一个圆块(puck)。圆块类型(puck type)按层配置,决定了项目的可视化方式以及可用的交互操作。
- 标准圆块(Standard pucks): 表示跨越时间范围的任务或活动的矩形条。这些圆块支持依赖箭头,用于可视化任务之间的依赖关系。
- 背景圆块(Background pucks): 表示更广泛时间段的阴影矩形区域,如项目阶段、规划周期或审查窗口。背景圆块(Background pucks)为前方的任务提供视觉上下文,但为只读状态,用户无法编辑。
- 事件圆块(Event pucks): 在单个时间点上的细长垂直标记。这些可以表示里程碑、截止日期或关键决策点。
依赖关系(Dependencies)¶
项目排程(Program Scheduling)组件可以将任务依赖关系可视化为连接时间线上相关圆块(puck)的箭头,帮助用户理解排序约束并识别哪些任务阻塞了下游工作。依赖关系按层配置,通过选择对象类型上引用同一层中其他对象主键的数组属性来实现。
- 依赖箭头仅适用于标准圆块(Standard pucks)。
- 悬停在圆块(puck)上会高亮显示其依赖链,使追踪哪些任务被阻塞以及哪些任务阻塞其他任务变得更加容易。
- 您可以使用默认隐藏箭头(Hide arrows by default)界面选项默认隐藏箭头。用户可以在运行时切换箭头的可见性。
组件布局(Widget layout)¶
下图提供了完整组件布局的概览。

- 时间线(Timeline): 组件主体显示沿水平时间轴定位的任务圆块(puck),时间轴由可配置的开始和结束时间戳控制。如果进行了编辑,右侧将出现保存更改(Save Changes)按钮。
- 行(Rows): 主体左侧显示按可配置属性(如项目、团队或阶段)组织的层级行表格。分组可以展开或折叠。
- 依赖关系(Dependencies): 箭头连接相关的任务圆块(puck),以可视化排序约束并突出显示阻塞项。
- 详情卡片(Detail card): 选择某个圆块(puck)会打开一个详情卡片,显示所选任务的属性。用户还可以在此视图中编辑和遍历链接。