ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

OpenProject 13.0.8 补丁版本详解:时区修复、Entra ID 登录、IFC 转换与 Nextcloud 同步稳定性

OpenProject 13.0.8 补丁版本详解:时区修复、Entra ID 登录、IFC 转换与 Nextcloud 同步稳定性 OpenProject 13.0.8 补丁版本详解时区修复、Entra ID 登录、IFC 转换与 Nextcloud 同步稳定性【免费下载链接】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发布日期2023-12-05本指南围绕 OpenProject 13.0.8 这一补丁版本展开逐一剖析其修复的 5 项缺陷“我的耗时”小部件时区问题、Microsoft Entra ID 登录内部错误、IFC 转换 libhostfxr.so 缺失、项目设置页自定义字段按钮布局、Nextcloud 文件存储同步稳定性并基于当前仓库源码说明各修复所涉及的核心模块与底层实现。读完本文你将了解每个 bug 的成因范围、对应代码路径以及如何安全地升级到 13.0.8。版本概览与升级建议OpenProject 13.0.8 是 13.0 系列的一个补丁patch版本官方在 发布说明 中明确建议所有用户升级到该版本。与功能版本不同补丁版本通常不引入新特性而是聚焦于缺陷修复13.0.8 的变更列表完全由 bug fixes 组成属于只修不增的维护性发布。从仓库结构看13.x 系列发布说明统一维护在 docs/release-notes/13 目录下每个补丁版本如 13-0-1、13-0-2……13-0-8各自拥有独立目录便于对照历史修复记录。本次版本共包含 5 项修复覆盖时间记录、身份认证、BIM/IFC 转换、界面布局与文件存储集成五个方面。修复一使用我的耗时小部件记录时间返回前一天时区问题问题编号#49779现象描述用户在我的页面My page中通过我的耗时My spent time小部件记录时间时系统记录的日期会回退到前一天。官方在发布说明中直接点明了可疑根因——likely time zone issue很可能是时区问题。底层机制我的耗时背后是 OpenProject 的耗时统计体系。当前仓库中耗时的核心计算逻辑位于 app/models/work_packages/spent_time.rbdef spent_hours(user User.current) if respond_to?(:hours) hours.to_f else compute_spent_hours(user) end || 0.0 end def compute_spent_hours(user) WorkPackage.include_spent_time(user, self) .pluck(Arel.sql(SUM(hours))) .first end从该实现可以看到spent_hours支持两种取值路径预加载路径当通过WorkPackage.include_spent_time作用域定义于 app/models/work_packages/scopes/include_spent_time.rb批量预加载时直接读取hours属性即时计算路径否则针对当前用户对工作包及其子孙工作包的耗时执行SUM(hours)聚合。这类涉及日期回退一天的缺陷通常在记录日期与显示日期之间存在 UTC 与本地时区尤其东半球 UTCX 区域的转换错位若在本地时间接近午夜时提交耗时服务端按 UTC 或错误的时区上下文解析日期就会把记录归属到前一天。13.0.8 的修复即针对该时间归属逻辑。验证与影响该问题直接影响所有使用我的页面耗时小部件的用户。升级到 13.0.8 后应重点回归验证以下场景在本地时间 00:00 前后各记录一次耗时确认日期归属正确检查服务器时区配置与用户个人时区设置的一致性通过我的耗时小部件与工作包耗时标签页交叉核对累计小时数。修复二通过 Microsoft Entra IDAzureAD登录时报内部服务器错误问题编号#50167现象描述使用Microsoft Entra ID即原 Azure Active Directory / AzureAD作为身份提供方IdP登录 OpenProject 时触发内部服务器错误Internal server error用户无法完成登录流程。相关模块与机制Entra ID 登录在 OpenProject 中属于 OpenID Connect 认证范畴由openid_connect模块实现核心代码位于 modules/openid_connect。该模块包含Provider 模型modules/openid_connect/app/models/openid_connect/provider.rb负责将配置映射为 OmniAuth 可用的 provider 定义配置映射服务modules/openid_connect/app/services/openid_connect/configuration_mapper.rb将管理员填写的 IdP 配置issuer、client_id、client_secret 等转换为标准化配置管理界面modules/openid_connect/app/controllers/openid_connect/providers_controller.rb 与 providers/view_component.html.erb。这类登录即 500的缺陷常见根因包括Entra ID 返回的 token 中缺少 OpenProject 期望的某些 claim如email、groups、OIDC discovery 文档字段与预期不符或用户在 IdP 侧不存在对应的 OpenProject 账号且自动注册流程异常。13.0.8 针对其中某一具体路径做了修复。排查建议升级后如仍遇到 Entra ID 登录问题可依次检查log/production.log中 500 错误对应的堆栈确认异常发生在 OmniAuth 回调阶段还是账号映射阶段管理员后台 → 认证 → OpenID Connect 提供商配置中回调地址redirect URI是否与 Entra ID 应用注册一致使用 modules/openid_connect 模块的配置映射服务验证 Entra ID 的 discovery 端点返回内容是否可被正确解析。修复三IFC 转换失败libhostfxr.so not found回归缺陷问题编号#50172现象描述BIM 模块中IFC 模型转换失败错误信息为libhostfxr.so not found。发布说明特别标注这是一个reintroduced bug回归缺陷即曾在旧版本修复、又在 13.0 中重新出现的问题。背景知识IFCIndustry Foundation Classes是 BIM 领域的开放数据交换格式。OpenProject 的 BIM 模块modules/bim依赖IFC 转换工具将 IFC 文件转换为可供 Web 端查看的格式如 xkt。从仓库文件分布可以看到 modules/bim 中存在.ifc、.xkt、.bcf等模型文件类型印证了这一处理链路的真实存在。libhostfxr.so是.NET Core/.NET 运行时的原生宿主库。IFC 转换组件如 xkt 转换器通常作为 .NET 程序运行其启动依赖系统能够找到libhostfxr.so。该文件缺失通常意味着运行 OpenProject 的容器或主机上 .NET Runtime 未安装或路径不在LD_LIBRARY_PATH中Docker 镜像更新后 .NET Runtime 层被意外移除转换子进程的环境变量如DOTNET_ROOT配置错误。验证与影响修复后应回归验证 BIM 模块的完整 IFC 处理链路上传.ifc模型文件确认能成功转换为.xkt并在 3D 查看器中渲染在 Docker 部署环境下执行转换任务确认子进程能正常定位 .NET 运行时检查部署镜像中 .NET Runtime 的安装情况与libhostfxr.so的可用性。修复四项目设置中自定义字段的 自定义字段 按钮位置偏移问题编号#50285现象描述在项目设置 → 自定义字段页面中 自定义字段Add custom field按钮从右侧移动到了左侧破坏了预期的界面布局。该问题属于纯 UI/样式缺陷不影响数据逻辑。相关代码路径自定义字段的展示与辅助逻辑集中在以下位置app/helpers/custom_fields_helper.rb自定义字段页面的视图辅助方法app/views 下的自定义字段管理视图custom_fields相关模板。从渲染机制看这类按钮位置偏移通常源于按钮容器与页面工具栏toolbar之间的 CSS 布局规则变化例如 flex 布局中justify-content方向配置、按钮与标题/筛选器的排列顺序或旧版样式类与新版组件结构不匹配。13.0.8 将按钮恢复为位于页面右侧的标准位置。验证方式升级后在 项目设置 → 自定义字段 页面确认 自定义字段按钮回到页面右上角/右侧的标准位置在浅色/深色主题下按钮位置均保持一致自定义字段列表为空与已有字段两种状态下按钮布局均正常。修复五提升 13.0 中 Nextcloud 同步的稳定性问题编号#51265现象描述在 OpenProject 13.0 中与 Nextcloud 文件存储的同步不稳定13.0.8 针对性地增强了同步的稳定性。此项修复属于文件存储集成File storages领域对应仓库中的storages模块modules/storages。底层机制Nextcloud 集成由 storages 模块内的 Nextcloud 适配器实现核心代码位于 modules/storages/app/common/storages/adapters/providers/nextcloud包含命令层commands如 copy_template_folder_command.rb、set_permissions_command.rb负责模板文件夹复制、权限设置等写操作查询层queries如 files_query.rb、propfind_query.rb基于 WebDAV PROPFIND 等协议实现文件列举校验层validators如 authentication_validator.rb、storage_configuration_validator.rb、ampf_configuration_validator.rb负责认证、存储配置与 AMPFApplication Managed Password Flow配置的合法性检查注册中心nextcloud_registry.rb统一注册 Nextcloud 提供方支持的命令与查询数据转换storage_file_transformer.rb将 Nextcloud 返回的数据转换为 OpenProject 内部文件表示。同步稳定性在 OpenProject 文件存储语境下通常涉及 OpenProject 与 Nextcloud 之间元数据的双向同步——包括工作包与文件夹/文件的关联、上传/重命名/删除操作的反映、权限变更的传播等。13.0.8 的修复针对 13.0 中出现的特定不稳定路径从发布说明看官方将其表述为 Make Nextcloud synchronization more stable in 13.0。验证建议升级后建议回归以下 Nextcloud 同步场景工作包中创建文件存储File storage链接确认文件夹自动创建与模板文件夹复制正常在 Nextcloud 中重命名/移动/删除文件回到 OpenProject 确认变更正确同步检查权限管理自动管理文件夹场景下权限设置命令执行是否稳定。社区贡献13.0.8 的修复离不开社区反馈。发布说明对以下贡献者表达了特别感谢Daniel GrabowskiJeffrey McDole同时官方对所有帮助报告 bug、协助定位与提供修复的社区成员致以谢意。这也体现了 OpenProject 的缺陷报告流程work package 编号系统与社区驱动的质量保障机制。升级注意事项结合以上 5 项修复从当前仓库出发升级到 13.0.8 时建议关注以下几点关注点相关修复验证动作耗时记录日期#49779 时区问题午夜前后记录耗时核对日期归属单点登录#50167 Entra ID使用 Entra ID 账号完整走通登录流程BIM 功能#50172 IFC 转换上传 IFC 并确认 xkt 转换与 3D 渲染项目管理 UI#50285 按钮位置检查自定义字段页按钮布局文件存储#51265 Nextcloud 同步回归文件夹同步与权限操作由于 13.0.8 是补丁版本升级路径平滑建议生产环境按照既有维护窗口执行升级并在升级后对上述五个场景做定向回归测试。官方在 发布说明 中亦明确推荐更新到该版本。【免费下载链接】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),仅供参考
返回列表