首页
/ SolidTime v0.5.0 版本发布:PDF报告与安全增强

SolidTime v0.5.0 版本发布:PDF报告与安全增强

2025-06-09 01:09:16作者:霍妲思

SolidTime 是一款开源的时间追踪与管理工具,旨在帮助团队和个人高效记录和分析工作时间。该系统提供了时间记录、项目管理、报告生成等功能,特别适合需要精确时间管理的自由职业者、远程团队和创意工作者。

重要安全更新:注册功能默认禁用

本次发布的 v0.5.0 版本引入了一项重要的安全变更:系统默认禁用了用户注册功能。这一变更基于安全最佳实践,防止未经授权的访问。对于需要开放注册的环境,管理员必须显式设置环境变量:

APP_ENABLE_REGISTRATION="true"

这一变更反映了现代应用安全设计的趋势,即默认采用最小权限原则。建议所有升级用户评估自身业务需求后决定是否启用注册功能。

PDF报告功能实现

v0.5.0 版本新增了专业的PDF报告生成能力,这是通过集成 Gotenberg 服务实现的。Gotenberg 是一个专为HTML转PDF设计的开源服务,提供高质量的文档渲染。

部署要求

对于自托管用户,升级后需要配置Gotenberg服务。主要配置点包括:

  • 在docker-compose中添加Gotenberg服务
  • 配置适当的资源限制
  • 设置与SolidTime应用的正确网络连接

建议生产环境为Gotenberg分配至少1GB内存,以确保大型报告的生成稳定性。

共享报告功能

新版本引入了报告共享机制,允许用户:

  • 生成可共享的报告链接
  • 设置访问权限和有效期
  • 在不登录系统的情况下查看报告

这一功能特别适合需要向客户或合作伙伴定期发送工作进度报告的场景。

时间记录器改进

时间记录界面新增了"最近时间记录"下拉菜单,优化了用户体验:

  • 快速访问最近10条记录
  • 支持按项目筛选
  • 一键继续之前的任务

这一改进显著减少了用户在频繁切换任务时的操作步骤。

计算字段重建

本次更新涉及数据库计算逻辑的调整,升级后需要执行:

php artisan computed-attributes:generate

对于Docker环境用户:

docker compose exec scheduler php artisan computed-attributes:generate

此过程耗时与数据量成正比,大型数据库可能需要较长时间。建议在业务低峰期执行。

本地文件系统导出支持

除了云存储外,新版本增加了对本地文件系统的导出支持:

  • 支持配置本地存储路径
  • 提供文件权限管理
  • 可与现有云存储方案并存

这一功能为注重数据主权的用户提供了更多选择。

其他优化

  1. HTTPS中间件重构:将强制HTTPS的逻辑移至专用中间件,提高代码可维护性
  2. 焦点状态样式改进:增强键盘导航体验,符合WCAG 2.1标准
  3. 导入锁定机制修复:防止并发导入导致的数据不一致
  4. 单元测试优化:减少测试中的冗余网络请求,提高测试速度

升级建议

生产环境升级时建议:

  1. 首先在测试环境验证所有功能
  2. 备份数据库和重要文件
  3. 评估注册功能需求并相应配置
  4. 安排适当的维护窗口执行计算字段重建
  5. 监控系统资源使用情况,特别是新增的Gotenberg服务

此次更新为SolidTime带来了更专业的报告能力和更强的安全性,是团队提升时间管理效率的重要升级。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
165
2.05 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
954
563
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
60
16
apintoapinto
基于golang开发的网关。具有各种插件,可以自行扩展,即插即用。此外,它可以快速帮助企业管理API服务,提高API服务的稳定性和安全性。
Go
22
0
giteagitea
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
17
0
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
408
387
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Python
78
71
rainbondrainbond
无需学习 Kubernetes 的容器平台,在 Kubernetes 上构建、部署、组装和管理应用,无需 K8s 专业知识,全流程图形化管理
Go
14
1