OpenProject 7.1.0 发布详解:时间线查询增强、企业版自定义样式与设计升级
2026/9/16 19:03:57 网站建设 项目流程

OpenProject 7.1.0 发布详解:时间线查询增强、企业版自定义样式与设计升级

【免费下载链接】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 7.1.0(2017-07-04 发布)是 7.x 系列的一次重要功能迭代,重点改进了时间线(timeline)查询的可用性、为 Enterprise 版本新增了 favicon / touch icon / 白色 header 等自定义样式能力,并更新了侧边栏设计。本文以该版本发布说明为骨架,结合当前仓库源码,逐条解读 4 项新增功能、20 项缺陷修复以及日历模块的弃用声明,帮助你完整理解该版本的能力边界与实现细节。

版本概览

OpenProject 7.1.0 的核心改进集中在三个方面:

  • 时间线查询增强:时间线缩放级别(zoom factor)现在会随查询保存,打开已保存的时间线查询时会恢复到之前的缩放级别;
  • 更多自定义选项:Enterprise cloud / on-premises 版本可上传自定义 favicon、touch icon,并可配置白色 header 及两种新增颜色选项(hover 背景色与 hover 字体色);
  • 设计与稳定性改进:侧边栏样式更新,同时修复了工作包表格、自定义字段、时间线关系显示等 20 个问题。

新增功能(4 项)

1. 侧边栏样式更新

本版本对侧边栏的视觉样式进行了整体更新(对应社区工作包 #25556)。侧边栏是 OpenProject 中承载模块导航、已保存查询列表的主要入口,此次样式调整旨在提升导航信息的可读性与层次感,属于纯设计层面的改进。

2. 时间线缩放级别持久化

时间线(甘特图)视图的缩放因子现在会保存在查询中:当用户打开一个已保存的时间线查询时,会看到与上次一致的缩放级别(对应社区工作包 #25318)。

从当前仓库源码可以印证这一机制的实现:

  • 查询模型在 app/models/query/timelines.rb 中定义了缩放级别的取值集合与校验规则:

    enum :timeline_zoom_level, { days: 0, weeks: 1, months: 2, quarters: 3, years: 4, auto: 5 } validates :timeline_zoom_level, inclusion: { in: timeline_zoom_levels.keys }

    缩放级别支持天(days)、周(weeks)、月(months)、季度(quarters)、年(years)以及自动(auto)共六档,默认由查询自身状态决定,用户手动调整后即持久化为查询的一部分。

  • API v3 的查询表示层 lib/api/v3/queries/query_representer.rb 通过property :timeline_zoom_level将该字段暴露给前端读写;

  • 查询 schema 表示层 lib/api/v3/queries/schemas/query_schema_representer.rb 中同步声明了schema :timeline_zoom_level,保证前端在编辑查询时对该字段的类型、枚举范围有正确的元数据可依。

也就是说,7.1.0 之前缩放是前端会话级的临时状态;7.1.0 起它正式成为查询持久化属性,通过 API v3 随查询一起存取。

3. 自定义 favicon 与 touch icon(Enterprise 功能)

Enterprise cloud 与 Enterprise on-premises 版本的用户现在可以上传自定义 favicon(显示在浏览器标签页/地址栏),也可以设置 touch icon(显示在智能手机上,例如添加到主屏的书签图标场景)(对应社区工作包 #25517)。

当前仓库中该能力的实现沉淀在“自定义样式(Custom Styles)”模块:

  • 控制器 app/controllers/custom_styles_controller.rb 中提供了favicon_downloadtouch_icon_downloadfavicon_deletetouch_icon_delete等动作,且 favicon / touch icon 的下载动作被列入UNGUARDED_ACTIONS(无需登录即可访问,便于浏览器/移动端正常加载图标资源);
  • 参数白名单custom_style_params中包含faviconremove_favicontouch_iconremove_touch_icon,即支持上传与移除两类操作;
  • 模型 app/models/custom_style.rb 中通过mount_uploader :faviconmount_uploader :touch_icon挂载文件上传器,并为每个资源自动生成favicon_path/touch_icon_path等本地文件路径访问方法;
  • CustomStyle.current使用RequestStore按请求缓存当前生效的自定义样式(app/models/custom_style.rb),保证整页渲染过程中 favicon 路径的一致性与性能。

4. 白色 header 与新增颜色配置项(Enterprise 功能)

Enterprise 版本用户现在可以将 header 配置为白色,并新增两个颜色配置项:hover 背景色(hover background color)与 hover 字体色(hover font color)(对应社区工作包 #25275)。这三项共同作用于管理后台的“外观与品牌”自定义样式页面,进一步细化了企业品牌定制的颗粒度——此前用户只能设置整体主题色,7.1.0 允许对导航栏 hover 交互状态做更精确的色彩控制。

Bug 修复(20 项)

本版本修复的 20 个问题主要集中在工作包查询、自定义字段、时间线展示与若干导出/交互边界场景,按主题归类如下。

工作包查询与表格

  • 分组的持久化:工作包页面上被停用的分组(grouping)没有正确保存到查询中,现已修复(#25606);
  • 按负责人分组的重复显示:当列中同时显示“作者”且按“负责人”分组时,相同分组会被重复展示,现已解决(#25605);
  • 查询菜单滚动:修复了阻止用户滚动工作包查询菜单的错误(#25572);
  • 侧边菜单新增查询不显示:将查询添加到侧边菜单后,新查询未能作为侧边菜单项出现,此问题已修复;
  • 层级模式切换:某些情况下层级(hierarchy)模式需要多次点击对应图标才生效,现已解决;
  • 连续快速编辑属性丢失:修复了连续快速编辑工作包属性时,属性偶尔未能正确保存的错误;
  • 超长分类名换行:名称过长的分类会导致工作包表格行跨越多行显示,现已修复。

自定义字段

  • 类型专属属性不显示:某些情况下类型专属(type-specific)属性未在工作包上显示,现已修复(#25594);
  • 布尔字段过滤结果错误:按布尔型工作包自定义字段过滤时返回了错误结果,现已解决;
  • 复制工作包布尔值恒为 True:复制工作包后布尔自定义字段总是被置为 “True”,即使原工作包中值为 “False”,现已修复;
  • 长文本字段全屏尺寸异常:长文本(long text)自定义字段在工作包全屏模式下未以正确尺寸显示,现已解决。

时间线(甘特图)与关系

  • 里程碑与阶段关系显示:时间线上里程碑(milestones)与阶段(phases)之间的连线有时显示不正确,此问题已处理;
  • 搜索结果显示 HTML 属性:工作包关系的搜索结果中暴露了 HTML 属性文本,现已修复(#25534)。

导出与其他

  • CSV 导出首列 ID 无法打开:当 ID 作为首列导出时,生成的工作包 CSV 文件无法正常打开,现已解决(#25536);
  • 仓库深链接重定向:指向仓库页面的深链接会被重定向回仓库根页面,此问题已解决;
  • 批量删除含工时工作包报错:批量删除包含工时记录(time entries)的工作包会触发错误,现已修复(#25569);
  • 若干设计缺陷:多个设计层面的 bug 一并修复(#25595、#25371、#25356、#25298)。

弃用声明:日历模块

OpenProject 7.1.0 正式将日历(calendar)模块标记为弃用,并已在模块中增加相应警告提示。该模块计划在 OpenProject 8.0.0 中移除,相关用户应提前评估对日历功能的依赖并规划迁移。

社区致谢

本次发布特别感谢社区成员 Peter F、Jochen Gehlbach 与 Ole Odendahl 反馈并协助定位缺陷。版本发布说明还指向了完整的 Changelog v7.1.0 供进一步查阅,如需深入代码级细节,可结合本仓库的 CHANGELOG.md 与 docs/release-notes 目录继续研究。

小结

OpenProject 7.1.0 是典型的“体验打磨 + 企业定制扩展”型版本:时间线缩放持久化让甘特图使用体验更连贯(可在 app/models/query/timelines.rb 中看到完整的枚举定义),favicon / touch icon / 白色 header / hover 配色让 Enterprise 用户获得更完整的品牌定制能力(实现位于 app/controllers/custom_styles_controller.rb 与 app/models/custom_style.rb),同时 20 项修复覆盖了查询分组、布尔自定义字段、CSV 导出、时间线关系显示等高频痛点。若你正在使用 7.x 系列并遇到上述问题,升级到 7.1.0 即可获得对应修复;若你关注日历能力,则需留意其在 8.0.0 的移除计划。

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询