
OpenProject 如何创建工作包之间的依赖关系【免费下载链接】openprojectOpenProject is the leading open source project management software for product, project and portfolio management. A powerful Jira alternative with agile planning, issue tracking, roadmaps, Gantt charts, time tracking, collaboration features, and more. Available on premises or in the cloud. ⭐ Star us on GitHub项目地址: https://gitcode.com/GitHub_Trending/op/openproject在 OpenProject 中当你需要让两个工作包work package产生依赖——比如 B 必须等 A 完成才能开始或者 A 未关闭前 B 不能标记为完成——可以通过工作包详情页的Relations选项卡建立关系relations。OpenProject 的关系分为两类表达功能或时序依赖的关系如前驱/后驱、阻塞以及父子结构的层级关系hierarchy即父工作包与子工作包。本文以给两个已有工作包建立一条依赖关系为主线说明操作路径、各类关系的效果以及如何在 Relations 选项卡和工作包表格中核对结果。在 Relations 选项卡中创建关系前提是你已经打开了目标工作包工作包的创建方式见 创建工作包。建立一条关系的完整步骤打开工作包点击Relations选项卡再点击 Relation按钮。在下拉菜单中选择关系类型。输入目标工作包的 ID 或名称也可以按工作包类型和状态缩小范围自动补全会提示待关联的工作包。输入这条关系的描述description。该描述会同时显示在两个关联工作包中。按 Enter然后点击Save按钮保存。保存后两个工作包的 Relations 选项卡中都会出现这条关系。如果你在当前工作包 A 中选择了 Blocks 并指定工作包 B那么 B 那边会自动显示为 Blocked by A无需重复操作。选择合适类型的关系下拉菜单中的关系类型及各自的效果如下按需选择Related to在 A 与 B 之间建立纯链接让项目成员能直接看到两者的关联即使它们不属于同一个层级结构。Predecessor (before) / Successor (after)定义两个工作包的时间顺序。例如 A 先于 B则 B 的开始日期必须至少比 A 的完成日期晚一天。这是唯一会约束工作包日期的关系类型。注意如果 B 处于 手动排程模式manual scheduling修改 A 的完成日期不会影响 B 的日期。Create new child新建一个工作包并自动挂为当前父工作包的子工作包。Child把一个已有工作包挂为当前父工作包的子工作包。Parent把被关联的工作包设为当前子工作包的父工作包。Duplicates / Duplicated byOther relations 中表示 B 以某种方式重复了 A例如两者对应同一任务。关联仅具语义A 中的修改需要手动同步到 B。例外是状态如果 A 被设为 closed或系统设置中任何被定义为 closed 的状态例如 rejected 常算作 closedB 的状态会自动变为 closed这个方向是单向的B 关闭不会反过来影响 A。Blocks / Blocked byOther relations 中定义状态限制。若 A 阻塞 B则 A 关闭之前B 的状态不能被设为 closed 或 resolved。Includes / Part of、Requires / Required byOther relations 中表达包含或依赖的语义文档明确说明没有额外副作用。术语变更提示15.1 之前Predecessor (before)叫PrecedesSuccessor (after)叫Follows。在旧版本界面中看到的旧名称指的是同一类型。为 Predecessor/Successor 关系设置 lag仅对 Predecessor/Successor 类型还可以定义lag即两个工作包之间保持的最少工作日数默认 0 个工作日也可为负值。计算 lag 时只计工作日文档给出的示例lag 为 0后驱在前驱完成后的第 1 个工作日开始lag 为 2后驱在前驱完成后第 3 个工作日开始lag 为 -1后驱在前驱完成的同一天开始lag 为 -2后驱在前驱完成的前 1 个工作日开始依此类推若前驱在周三完成且周六、周日为休息日则 lag 为 -3 时后驱排到上周四开始。lag 的实际排程效果取决于排程模式自动排程后驱默认紧跟前驱完成时间开始前驱被推迟时后驱会自动顺延想用计划中的间隔就给关系加 lag。手动排程前驱/后驱关系仍保留但两个工作包可各自独立自由排期后驱甚至可以被移到在前驱开始之前。保存后Description和Lag两个字段都可以随时再编辑。核对关系是否创建成功保存关系后打开任意一方的Relations选项卡即可核对关联的工作包按关系类型分组显示分节顺序与 Relation 下拉菜单中的类型顺序一致related to、前驱、后驱等Children 分节排在最后同一分节内按添加时间先后排序。只有日期型关系children、predecessor、successor会在列表里显示日期。如果权限有限例如只共享了某个工作包而整个项目未共享仍能看到存在关系及其日期但看不到对方工作包的其他详情。如果需要从表格层面检查比如查看哪些工作包正在阻塞其他工作包在工作包表格右上角点击三个点的图标选择Insert columns在搜索栏输入关系名称如 blocked by选中后点击 apply。新列显示每个工作包在该关系类型下的数量点击数字即可展开看到具体是哪些工作包。层级关系添加子工作包与更换父工作包如果需求是父子结构而不是平级依赖创建子工作包有四种方式在工作包详情页的Relations选项卡点 Relation选择Create new child新建子工作包或Child挂入已有工作包。在工作包表格中右键某个工作包选择 Create new child。在表格中右键某个工作包选择 Indent hierarchy将其变为上一行工作包的子工作包。在相关工作包表格下直接添加子工作包。此方式需要先在工作包表单中启用该表格企业版附加组件管理员配置见 工作包表单配置。通过Create new child新建时会要求选择类型、填写主题subject可选填描述若所选类型有必填字段也会一并出现。如果当前工作包已有子工作包还可以直接点 Relations 选项卡中 Children 分节标题上的Child按钮。需要更换或移除父工作包时打开工作包在详情页顶部的层级条上点击edit icon或delete icon或者在Relations选项卡的父级关系旁选择Delete relation。在表格中核对层级确保Subject列可见点击 Subject 旁的图标即可显示/隐藏层级缩进也可以在表格配置右上角齿轮中把Parent加入列。Parent 列只显示直接子级要看全部下层孙级及更深改用Descendants of过滤用法见 工作包表格配置。限制说明只有 Predecessor/Successor 关系会约束或影响工作包日期Blocks/Blocked by 影响的是状态变更A 关闭前 B 不能 closed/resolved其余类型Related to、Includes/Part of、Requires/Required by没有额外副作用。手动排程模式下前驱/后驱关系不产生日期约束修改前驱日期不会带动后驱。Duplicated by 的自动状态同步是单向的仅限closed方向。若只被授予了单个工作包的权限能看到关系存在及日期但看不到相关工作包的其他详情。完成上述任一路径并保存后关系即刻出现在双方工作包的 Relations 选项卡中如需调整 lag 或描述直接在对应关系上编辑即可。【免费下载链接】openprojectOpenProject is the leading open source project management software for product, project and portfolio management. A powerful Jira alternative with agile planning, issue tracking, roadmaps, Gantt charts, time tracking, collaboration features, and more. Available on premises or in the cloud. ⭐ Star us on GitHub项目地址: https://gitcode.com/GitHub_Trending/op/openproject创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考