OpenProject 4.0.3 版本解析:工作包表格、查询分组、子目录部署与 Wiki 时间线宏的修复清单

发布时间:2026/9/17 3:58:30
OpenProject 4.0.3 版本解析:工作包表格、查询分组、子目录部署与 Wiki 时间线宏的修复清单
OpenProject 4.0.3 版本解析工作包表格、查询分组、子目录部署与 Wiki 时间线宏的修复清单【免费下载链接】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 官方发布的 4.0.3 版本说明release date: 2014-12-11系统梳理该补丁版本修复的核心问题工作包表格的显示与交互、Chrome 浏览器字体渲染、查询Query的错误提示与分组移除、子目录subfolder安装环境下的异常以及 Wiki 页面多时间线宏和 Backlogs 插件文案调整。通过结合当前开源仓库中的源码结构如 app/models/query.rb、app/models/query/timelines.rb、lib/api/v3/queries/query_representer.rb 与modules/backlogs、modules/wikis模块帮助读者理解这些修复背后的功能机制并为升级、排查同类问题提供参考。版本概览OpenProject 4.0.3 是 4.0 系列的一个补丁维护版本主要目标是修复工作包表格work package table相关的一系列缺陷同时解决 Chrome 浏览器下的字体显示异常。该版本没有引入新功能属于纯缺陷修复发布适用于希望在不改变工作习惯的前提下获得更稳定体验的 4.0.x 用户。从版本说明的修复清单看4.0.3 的修复集中在五个方面工作包表格中自定义字段user / version 类型的显示问题查询Query使用过程中的错误提示与分组选项无法移除的问题子目录部署环境下父级变更卡死与导出报错Wiki 页面通过宏macro展示多个时间线timeline的问题Backlogs 插件中复制功能的文案调整。工作包表格自定义字段显示修复用户类型与版本类型自定义字段在 4.0.3 之前的版本中当工作包表格列包含类型为 user 的自定义字段时用户链接无法正确显示对应社区缺陷 #17660当包含类型为 version 的自定义字段时字段值同样无法在列表中被正确渲染#17630。这两个问题直接影响了团队在表格视图中识别负责人目标版本等信息的能力因为自定义字段是 OpenProject 中按项目/类型定制的核心扩展手段。4.0.3 修复后这两类自定义字段在表格列中能以与系统字段一致的链接/文本形式正常呈现。从当前仓库的模型层看自定义字段与工作包表格的联动机制已经相当成熟app/models/custom_value目录下维护了针对不同字段类型的取值与渲染逻辑而工作包表格列配置则由查询模型驱动见下文。查询分组移除分组不再失灵4.0.3 修复了已有查询中分组选项无法被移除的问题#17570。此前用户在编辑一个已保存的查询时取消勾选分组字段后更改无法保存导致分组一直残留。在 OpenProject 中查询Query是工作包表格的配置载体分组grouping是查询属性之一。当前仓库中 app/models/query.rb 定义了查询的完整属性体系分组、排序、过滤、列配置等而lib/api/v3/queries/query_representer.rb通过 API 表示层将查询属性暴露给前端。可以推断分组状态的读写与持久化链路贯穿模型与 API 表示层4.0.3 的修复正是对这一链路的缺陷修正——分组变更后未正确写入查询导致保存无效。查询相关的错误提示另一个查询相关修复是错误提示误导#17572在查询中修改工作包属性时界面会错误地弹出 Unable to retrieve query无法获取查询提示。4.0.3 修正了这一误报避免用户在正常操作时被虚假错误信息干扰。Chrome 浏览器字体渲染修复4.0.3 修复了 Chrome 浏览器在部分版本/环境下完全不渲染文本的问题#17567。这类问题通常与前端资源字体文件、CSS 加载顺序、缓存在特定浏览器内核下的兼容性有关。修复后 Chrome 用户可以正常看到全部界面文本。值得注意的是OpenProject 的字体资源在仓库中维护于 app/assets/fonts含 woff2 字体文件与 public/fonts含 ttf 字体与说明文件前端资源通过 frontend/src 的构建体系打包分发浏览器兼容问题在此链路中任一环节都可能出现。子目录subfolder安装环境的修复对于将 OpenProject 部署在域名子路径如https://example.com/openproject的场景4.0.3 修复了两个典型问题通过工作包详情视图变更父级工作包时卡在加载中#17566导出功能在子目录安装下抛出 object not found 错误#17564。子目录安装下出现这类问题的根本原因通常是URL 路径生成时未正确包含子目录前缀导致前端发起的 AJAX 请求、导出请求命中了错误的路径。从当前仓库的 config/routes.rb 以及 app/helpers/url_helper.rb、app/helpers/additional_url_helpers.rb 等辅助模块可以推断OpenProject 的 URL 生成逻辑需要始终以部署的根路径为基准4.0.3 的修复正是在这一层补齐了相对路径处理。Wiki 页面支持多个时间线宏4.0.3 恢复了在一个 Wiki 页面中通过宏macro展示多个时间线timeline的能力#17568。时间线视图甘特图风格是 OpenProject 的项目计划核心呈现方式。在 Wiki 中通过宏嵌入时间线可以让项目文档页直接展示计划视图。修复前该功能在同时放置多个宏时失效4.0.3 修复后可以正常并列展示多条时间线。从当前仓库看时间线相关的查询属性是否可见、缩放级别、标签配置在 API 表示层中均有对应字段lib/api/v3/queries/query_representer.rb 定义了timeline_visible、timeline_zoom_level、timeline_labels等属性app/models/query/timelines.rb 则承载查询对象的时间线子模块逻辑。而 Wiki 的宏体系在modules/wikis模块中实现如 modules/wikis/app/components/wikis 下的宏相关组件与page_link_macro控制器说明宏机制的渲染与加载是独立组件化的多实例支持需要保证每个宏实例的状态互不干扰。Backlogs 插件复制任务更名为复制工作包4.0.3 对 Backlogs敏捷看板/冲刺管理插件做了一处界面文案调整#17602当复制一个包含子级children的工作包时原本显示Copy tasks复制任务的功能按钮更名为Copy work packages复制工作包。这一改名的背景是该操作复制的不只是任务这一类型而是整个工作包树含子工作包旧文案容易让用户误解复制范围。从当前仓库modules/backlogs模块的结构看其组件体系已全面面向工作包work package建模——例如 modules/backlogs/app/components/backlogs/add_existing_work_package_dialog_component.rb、backlog_component.rb、sprint_component.rb等均以 work package 为操作对象印证了复制即复制工作包的语义在后续版本中成为默认认知。升级与验证建议如果你仍在使用 4.0.x 分支可参照以下清单验证 4.0.3 的修复是否生效表格显示在查询列配置中加入 user 类型与 version 类型的自定义字段确认链接与文本均正常渲染分组移除编辑一个已保存的、启用了分组的查询移除分组后保存并重新打开确认分组已清除错误提示在查询编辑中修改工作包属性确认不再出现 Unable to retrieve query 误报子目录部署在子路径部署环境下测试父级工作包变更与导出功能Wiki 宏在同一个 Wiki 页面中放置两个时间线宏确认均正常渲染Backlogs启用 Backlogs 后复制含子级的工作包确认按钮文案为 Copy work packages。完整变更列表版本说明指出4.0.3 的完整变更清单可参见Changelog v4.0.3社区版本管理中的 543 号版本。以上六个缺陷编号#17564–#17660对应的修复均已在 4.0.3 中落地后续维护版本在此基础上继续演进当前仓库中modules/backlogs、modules/wikis、app/models/query*等模块的代码即为这些功能长期迭代后的形态。【免费下载链接】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),仅供参考