Seafile 是一款开源的企业云盘,注重可靠性和性能。支持 Windows、Mac、Linux、iOS、Android 平台。支持文件同步或者直接挂载到本地访问。
现在,Seafile 社区版 11.0.0 beta 已经可以进行测试了 (通过 Docker 部署的方式,Docker image 地址为 seafileltd/seafile-mc:11.0.0)。这个版本有几个重大的改变,包括简化 Seafile 的架构、新增强大的协作编辑器 SeaDoc、对用户界面进行改进等。因此,在稳定版本发布之前,我们提早提供了 beta 版本,以便进行充分的测试和收集反馈意见。
升级说明: https://cloud.seafile.com/published/seafile-manual-cn/upgrade/upgrade_notes_for_11.0.x.md
下面来看详情。
主要改变
用户 ID 的变化
之前的 Seafile 版本直接使用用户的电子邮件地址或单点登录(SSO)身份作为其内部用户 ID。
Seafile 11.0 引入了虚拟用户 ID,即类似于 “adc023e7232240fcbb83b273e1d73d36@auth.local” 的随机内部标识符。对于新用户,将生成一个虚拟 ID,而不是直接使用其电子邮件地址。电子邮件和虚拟 ID 之间的映射将存储在 “profile_profile” 数据库表中。
对于单点登录(SSO)用户,在旧版本中,从 SSO 提供商获取的 ID 将直接存储。
在新版本中,对于单点登录(SSO)用户,将生成一个虚拟 ID,而不是直接使用 SSO ID。SSO ID 和虚拟 ID 之间的映射将存储在 “social_auth_usersocialauth” 表中。
这种改变的好处包括:
-
用户可以更轻松地更改他们的外部电子邮件或 SSO ID。只需更新映射表,而不需要在系统中的每个实例都更新 ID。
-
通过将不同的外部 ID 映射到一个内部虚拟 ID,允许单个用户通过多种方式登录。
总体而言,这增加了处理用户账户和身份变更的灵活性。现有用户将继续使用相同的旧 ID。
LDAP 集成的重新实现
之前的 Seafile 版本在 ccnet-server 组件中处理 LDAP 身份验证。在Seafile 11.0 中,LDAP 在 Seahub Python 代码中进行了重新实现。
LDAP 配置已从 ccnet.conf 移动到 seahub_settings.py。不再使用 ccnet_db.LDAPImported 表 - LDAP用户现在与其他用户一起存储在 ccnet_db.EmailUsers 中。
这种新实现的好处包括:
-
在不同系统间提供更好的兼容性。Python 代码比之前的 C 语言实现更易于移植。
-
无论用户是通过 LDAP 还是其他方法(如电子邮件/密码)登录,都能进行一致的处理。
社区版启用了文件活动功能
之前的 Seafile 专业版包含了 seaf-events 组件,用于跟踪文件活动和维护文件的元数据。在 Seafile 11.0 中,已将其整合到了社区版中。
通过 seaf-events,社区版获得了几个强大的功能:
-
文件活动 - 查看文件的历史更改和编辑记录。
-
智能链接 - 即使文件重命名或移动,链接到文件的链接仍然有效。
-
改进的版本控制 - 更好地处理修订版本,尤其是 Office 文档。
-
通知电子邮件 - 可选择定期发送有关未读通知的电子邮件。
将 seaf-events 引入社区服务器,使得两个版本的功能集保持一致。用户可以在所有 Seafile 部署中获得强大的活动跟踪和元数据管理功能的好处。
新型在线协作编辑器-SeaDoc(alpha 版)
预计 9 月中旬可以部署测试
Seafile 11.0 引入了一款功能强大的新型协作文档编辑器 - SeaDoc(alpha版本)。
SeaDoc 使得在 Seafile 中存储的文档能够无缝进行协同编辑和工作流管理。其主要特点包括:
- 直观的编辑功能 - 一个针对高效生产力而优化的富文本编辑器,轻巧、快速
- 内置文档工作流程管理 - 修订和审批功能让你可以精准控制文档的改变
- 文档间链接 - 用户把相关的文档关联在一起
- AI 集成 - 利用人工智能进行内容生成、摘要生成和文件的管理
- API 接口 - 提供全面的 API 以支持文档创建和处理的自动化
SeaDoc 擅长的应用有很多,例如:
- 撰写深度的技术/产品手册和文档
- 创建和管理知识库文章、维基页面
- 构建内部文档门户
- 起草小组备忘录和会议记录
- 简化周/月报告生成
使用 SeaDoc,你可以直接在 Seafile 中协作撰写、管理和发布高质量文档。简化你的内容创建流程,数字化内容的组织。
主要的编辑界面:
SeaDoc 提供了直观、易用的编辑界面和大量的文本处理功能。例如:
-
工具栏:位于顶部,包括各种常用的文本编辑工具,如段落标题设定、加粗、斜体、下划线、插入链接等。你可以单击相应的按钮,也可以使用快捷键。
-
文本区域:位于界面的中央,用于输入和编辑文档内容。支持各种文本操作,包括输入、删除、复制/粘贴、移动光标等。文本区域中的文本可以轻松地进行格式化和排版,以及插入各种块级元素。
-
侧边栏:位于编辑区的一侧,可以展示一些与文档相关的辅助信息,比如目录结构、文档大纲、书签等。
历史记录和更改:
这个功能用于记录和查看文档的历史版本及其变更记录。帮助用户更好地追踪和管理文档的修改情况。
表格:
下图介绍了对电子表格的输入、删除等一些操作的处理逻辑。
块级操作:
SeaDoc 提供了丰富的功能和操作来处理文本,包括复制和粘贴、剪切和粘贴、删除、格式化、插入图像/表格/链接/代码块等。
与 OnlyOffice 相比,SeaDoc 更适用于轻量级文本文档,如会议记录、维基页面、技术文档等。其关注点在于简洁性、速度和在 Seafile 内无缝的知识管理。SeaDoc 引入了反向链接和文档网络功能,以增强协作编辑的能力,更具扩展性。
弃用 SQLite 数据库支持
Seafile 11.0 开始弃用使用 SQLite 作为数据库。这一变化是基于以下几个原因:
- 专注于协作功能 - SQLite 的局限性使得无法对数据库进行并发访问,对于协同编辑功能,不同的 Seafile 组件需要同时访问数据库。
- Docker部署 - 我们的官方 Docker 镜像从 9.0 开始就已经不支持 SQLite,MySQL 是首选选项。
- 迁移困难 - 之前通过 SQL 转换脚本将 SQLite 数据库迁移到 MySQL 不可靠。
通过移除对 SQLite 的支持,我们可以将开发工作集中在实现强大的实时协作上。建议目前使用 SQLite 的站点尽快升级到 MySQL。
改进 Seafile 用户界面
11.x 后续的维护版本将包括各种 UI 改进,以增强界面的一致性和可用性:
- 清理过期的一些界面元素
- 规范化字体、图标的使用
- 改善移动端响应性
- 添加一些动画和微交互
在此基础上,我们计划在 Seafile 12.0 中对 UI 进行大的升级。
结语
我们非常重视用户对我们产品的期望和需求,我们真诚地欢迎用户的反馈,以便能够持续改进产品。如果您还有其他想要改进或者添加的功能,请告诉我们。我们会认真考虑并尽力满足。期待与您一起打造更好的 Seafile!