
OpenProject 10.3.0 发布深度解析移动端工作包瓦片视图与 RTL 长文本自定义字段【免费下载链接】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 官方 10.3.0 发布说明docs/release-notes/10/10-3-0/README.md结合当前仓库源码与数据库迁移实现完整解读该版本的两大核心能力——移动端工作包视图的瓦片化重构、工作包长文本自定义字段的从右到左RTL文字方向支持——并汇总全部 Bug 修复与升级注意事项。读完本文你将掌握 10.3.0 的功能变更全貌、RTL 选项在数据模型与表单层面的落地方式以及如何安全地把本地安装升级到该版本。OpenProject 10.3.0 于2019-12-17正式发布。该版本的重点是显著改善移动端使用体验在手机等小屏设备上工作包列表以瓦片tile视图呈现同时为工作包自定义字段引入了 RTLRight-to-Left从右到左文字方向支持使阿拉伯语等从右向左书写的语言能够在长文本字段中正确排版显示。一、改进的移动端支持Improved mobile support在 10.3.0 之前移动端浏览工作包列表时沿用的是桌面端表格结构在小屏幕上信息拥挤、横向滚动频繁结构辨识度差。10.3.0 针对这一痛点做了系统性重构1. 工作包瓦片视图tile view当通过移动设备访问工作包视图时任务列表改为瓦片视图呈现每个工作包以独立卡片形式纵向堆叠替代传统表格的行列布局结构更清晰、浏览更符合移动端习惯。关键信息主题 subject、负责人 assignee、状态 status直接展示在瓦片上用户无需点击进入详情即可快速获取核心信息。这与当前仓库中前端工作包卡片视图组件的实现一脉相承——wp-card-view.component.ts 负责卡片单元渲染而 wp-list-view.component.ts 则负责根据设备环境在表格与瓦片布局间切换关联工作包项#31631。2. 最大化屏幕空间的界面收敛为了让小屏设备获得尽可能多的内容展示面积10.3.0 还做了以下布局调整隐藏页头菜单与设备菜单栏减少垂直方向的常驻占位把屏幕空间让给工作包内容本身关联项#31699 Scroll header out of view on mobile限制移动端侧边栏宽度侧边栏不再占满屏宽保证主内容区可见#31701去除移动端工作包页卡片视图的边框视觉更扁平清爽#31702工具栏标题与按钮合并为一行减少操作区占用提升小屏横向利用率#31736。上述移动端适配逻辑在仓库中由设备检测与移动端守卫等服务支撑例如 browser-detector.service.ts、device.service.ts 与 mobile-guard.helper.ts它们共同决定了在何种屏幕宽度下启用瓦片视图与上述收敛布局。二、工作包长文本自定义字段的 RTL 支持10.3.0 的另一项核心新特性面向多语言/多文化团队工作包自定义字段中类型为 Long text长文本的字段现在可选支持从右到左RTL的文字方向用于正确显示阿拉伯语等从右向左书写、阅读的语言。1. 数据模型层的落地从当前仓库的数据库表结构迁移定义中可以明确看到该特性的实现基础。在 db/migrate/tables/custom_fields.rb 中custom_fields表包含一个布尔列t.boolean :content_right_to_left, default: false # rubocop:disable Rails/ThreeStateBooleanColumn即每个自定义字段都有一个content_right_to_left标志默认false关闭。当管理员为某个长文本自定义字段开启该选项后字段内容将以从右到左的方向渲染同时相关的校验与表单处理逻辑也一并生效——这些逻辑分布在 app/forms/custom_fields/details_form.rb字段详情表单、app/contracts/custom_fields/base_contract.rb字段创建/更新的校验契约以及 app/models/permitted_params.rb允许的参数白名单中。2. 使用方式与适用场景适用字段类型工作包自定义字段中的 Long text长文本类型典型语言阿拉伯语Arabic等 RTL 书写系统行为开启后字段内的文字从右向左排布、右对齐显示避免混排错乱。从发布说明附带的截图可见开启 RTL 后长文本字段内阿拉伯语内容排版规整、方向正确关联缺陷修复见下文 #31731 Lists are out of place in rtl-CF。三、Bug 修复与行为变更Bug fixes and changes10.3.0 同时修复了 10.2 系列遗留的多个问题并调整了若干行为。按变更Changed与修复Fixed分类汇总如下Changed行为变更编号变更内容关联工作包1移除 Watcher 时会向被移除的 Watcher 发送通知邮件#213042小屏设备工作包展示为瓦片视图#316313移动端页头随滚动移出视口#316994限制移动端侧边栏宽度#317015去除移动端工作包页卡片视图边框#317026移动端工具栏标题与按钮合并为一行#31736Fixed缺陷修复编号修复内容关联工作包1翻译错误#298282附件 MIME 类型为application/json时Attachment API 会对二进制数据错误调用to_json#316613在工作包详情页使用浏览器返回按钮会重新加载工作包表格#316984iOS 上项目列表输入框出现缩放zoom效果#317005移动端看板Board列表按钮与侧边栏重叠#317226移动端底部栏与内容重叠#317237RTL 自定义字段中列表错位#317318Markdown 中出现超过两个波浪号~会破坏 CKEditor#317499用户头像选项为 none 时仍显示头像#3176410注册过程中关闭错误提示消息会连带关闭整个注册表单#3180811版本VersionWiki 页面设置允许输入 URL导致版本视图异常#3184512估算值的派生值Derived Values被截断#3185213工作包列高度随内容变化而抖动#3187414非管理员按项目状态Status列排序时返回 500 错误#3188915移动端打开侧边菜单时菜单被截断#31891其中部分修复直接与本文两大主题呼应#31731属于 RTL 特性上线后的跟进修正#31699、#31701、#31702、#31736、#31891则围绕移动端布局收尾#31661附件 API 对application/jsonMIME 的to_json误调用是 API 层值得注意的数据处理修正。四、升级到 OpenProject 10.31. 云版Enterprise cloud如果你使用的是 OpenProject Enterprise 云版本系统会在发布后的数日内自动升级到最新版本无需任何手动操作。2. 本地安装Self-hosted对于本地安装packaged / Docker / 源码部署升级前需要注意该版本引入的一些小变更。官方提供了完整的升级指南涵盖各部署形态的迁移步骤与前置检查请参考OpenProject 升级指南提示升级前请务必先备份数据库与配置文件并核对当前版本与 10.3.0 之间的迁移脚本本次 RTL 特性对应custom_fields表新增content_right_to_left布尔列见 db/migrate/tables/custom_fields.rb属轻量表结构变更。3. 遇到问题怎么办升级或使用过程中如遇问题可以查阅 OpenProject 常见问题 FAQ或参考 如何报告 Bug 向社区提交缺陷。五、致谢与社区OpenProject 10.3.0 的发布离不开整个社区的贡献所有参与开发的开发者、设计师与项目经理每一位报告缺陷并积极在论坛答疑解惑的用户以及在 CrowdIn 上持续提供本地化翻译的贡献者。正是这些持续投入才让 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创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考