SSPanel-UIM 开发规划(2023.7-2024.3)

i18n 支持 多语言支持是从 SSPanel-UIM 开发最早期就有人提出的需求之一,部分使用第三方主题的 Fork 也实现了这一系统,但由于这个功能的实现没有统一的标准,加上 Slim Framework 其作为迷你框架的性质,不像 Laravel 一样有官方的多语言支持实现,因此这个功能在 SSPanel-UIM 主线中一直是处于很多人希望有(包括我),但一直没人愿意实现的窘境。 在花费了无数个小时寻找解决方案的过程中,我得出以下结论: 因为 i18n 的文本翻译工作十分繁琐且消耗大量的时间,因此不会等到 Smarty -> Twig 迁移工作完全完成之后再进行,取而代之的,文本翻译工作会和模板引擎的迁移同步进行,在添加新的 Twig 模板文件时即会同步更新对应的翻译文件。同时为了简化翻译流程,部分我并不熟悉的语言,譬如日语,德语和波斯语等语言将会使用 DeepL 进行翻译,并将纠错工作交由社区跟进。 WebAPI V2(即 Node API V1) 这是对现有 WebAPI 系统的全面重写,包括了两个关键改动: Admin/User REST API 为了能够更好地支持各种第三方客户端,在未来,SSPanel-UIM 中将会新增针对管理员与用户的 RESTful API,在不影响现有前后端实现的情况下提供一个全新的站点互动方式。同样地,这个 API 也会采用 Bearer Authentication 与独立设置用户和管理员访问权限的方式以避免可能的安全性问题。 Discord 与 Slack Bot 在 2023.5 版本中,SSPanel-UIM 新增了统一的 IM […]

SSPanel-UIM 开发规划(2023.7-2024.3) Read More »

SSPanel-UIM 开发规划(2023.3-2023.6)

全新的 Release 周期管理方式 由于一些意料之外的问题(主要是在原型设计的过程中发现瑕疵,导致几乎全部的代码都需要重写),导致原定 2022 年 12 月的第二个 Release 拖延了数月,直至昨天才正式进入 RC。虽然这个延期不是在意料之中的,但也反应了过去 SSPanel-UIM 版本周期管理中存在的问题,很多时候一些重大改动因为要赶上月初的 Release 窗口导致其没有时间进行充分的测试,而目前的开发方式并不允许在月度版本 Release 后频繁发布 bugfix release,导致一些可以轻松通过一个简单的 patch 修复的问题一直拖到下一个主要版本才能完全修复。因此从 2023 年的第一个 Release 开始,不再按照月度发布更新,而是在一个或数个重大改动之后发布一个 beta release,每个 beta release 之间可能会再额外添加新的功能,最后通过至少三个 beta 版本的测试方可进入 RC,如果期间发现重大问题则会有数个独立的 RC 版本,在全部测试都完成之后才会正式 Release因为缺少愿意测试的用户,所有新版本将直接发布而不再提供任何 beta 和 rc 版本。同时 Release 名称则会采用 Release年份.Release编号 进行命名。 重做 Cron 系统 初步的计划已经在这个 Github Issue 里面做了初步的解释,这个是属于原 sspanel-v3-mod 版本中就存在的遗留问题,只不过后续一些开发者“屎山上堆屎”的开发方式加剧了这个问题,为定时任务系统添加了不必要的复杂性和配置难度,让很多不太熟悉 Linux 操作系统的新手望而却步。新版的

SSPanel-UIM 开发规划(2023.3-2023.6) Read More »

SSPanel-UIM 开发规划(2023.1-2023.2)

Slim 4 随着2022年11月28日 7.4.33 版本的发布,PHP 7.4 已经正式被 PHP 官方列入 EOL 的版本中,而目前面板所使用的 Slim 框架版本 3 正是以 PHP 7.4 为基础进行开发的。虽然绝大部分功能在 PHP 8.0 环境中尚能正常运作,但是随着时间推移,新的 Braking Change 不断被加入新的 PHP Release 中,可以预见的是如果继续使用旧版本的 Slim ,项目遇到无法解决的底层框架兼容性问题是几乎必然发生的情况。因此我们的开发者目前的工作重心在将 Slim 框架更新至版本 4,如果进度符合预期的话应该可以在 2023.1 的 beta 版本中提供给用户进行测试此更新已在 2022.12.1-beta5 中提供。 新的商店系统 SSPanel-UIM 现行的商店系统是基于原有充值码系统改造而来,因此可以在代码中看到许多移花接木的痕迹。因为在初期开发时缺少对于后续系统可扩展性的考量,其执行逻辑已经无法满足现有代理服务供应商的需求。举例来说,目前的 SSPanel-UIM 商店一次只能购买一个套餐,且在账户中有已激活套餐时无法继续购买新的套餐,而同时商品种类也过于简单,只有流量+用户等级+连接IP数的套餐和附加流量包可选。具体的新商店系统逻辑会在单独的一篇文章中解释,目前是与 Slim 4 同步进行开发,预计是会放在 2022.12.1 更新中先行提供。 PHP 8.2 之前提到 PHP 7.4 已经正式 EOL,但是同样地,PHP

SSPanel-UIM 开发规划(2023.1-2023.2) Read More »