Joplin Cloud Teams 团队功能:成员管理、统一计费与账户迁移完整指南
【免费下载链接】joplinJoplin - the privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and iOS.项目地址: https://gitcode.com/GitHub_Trending/jo/joplin
Joplin Cloud 的 Teams 功能面向需要集中管理多个用户的团队场景:由一个"团队管理员账户"统一负责成员增删与账单,而真正的同步与协作交给各"成员账户"完成。本文基于仓库中的官方文档 readme/apps/teams.md,并结合服务端账号模型与计费配置的源码实现,完整讲解 Teams 的术语体系、团队搭建、成员邀请与移除、个人加入团队以及从个人版迁移到团队版的操作流程,读完后你可以独立完成一个 Teams 订阅的初始化、成员管理与数据迁移。
术语:团队管理员账户与成员账户
理解 Teams 功能的第一步是区分两类账户,这是后续所有操作的基础:
- 团队管理员账户(team admin account):团队的主账户,仅用于管理用户和账单。该账户不能用来同步数据。
- 成员账户(member account):由团队管理员账户添加到团队中的账户。这些账户可以同步数据,并可与同一团队中的其他成员账户协作。
这一"管理与数据分离"的设计在源码中有直接印证。在 packages/server/src/models/UserModel.ts 中,AccountType.Team作为一种独立的账户类型被定义了完整的资源配额:
[AccountType.Team]: { account_type: AccountType.Team, can_share_folder: 1, // 允许分享笔记本 can_receive_folder: 1, // 允许接收他人分享的笔记本 max_item_size: 200 * MB, // 单条笔记或附件上限 200 MB max_total_item_size: 50 * GB, // 账户总存储上限 50 GB },也就是说,Teams 账户在能力上支持笔记本分享(can_share_folder为 1,而 Basic 账户为 0),单个笔记或附件最大 200 MB,账户总容量 50 GB——与 Basic(10 MB/2 GB)和 Pro(200 MB/30 GB)形成明确的档位差异。账户类型与订阅计划的映射关系在同文件的accountTypeToPlan中定义:AccountType.Team对应PlanName.Teams(见 packages/server/src/models/UserModel.ts)。
AccountType枚举本身的定义在共享库 packages/lib/utils/joplinCloud/index.ts:Team = 3,与Basic = 1、Pro = 2、Pro100Gb = 4、SelfHosted = 5并列,这个数值直接出现在后文的 Stripe 价格配置中。
Teams 相比个人计划的独有能力
在 packages/lib/utils/joplinCloud/index.ts 的特性表中,有四项能力是 Teams(及自托管的 Joplin Server Business)独有、Basic 与 Pro 均不具备的:
| 特性 ID | 说明 |
|---|---|
multiUsers | 管理多个用户,即 Teams 功能本身:集中式地查看组织内所有用户,方便增删成员与集中计费 |
consolidatedBilling | 统一计费:按所选计划出具单一月付或年付账单,并随团队成员数量自动调整 |
sharePermissions | 分享权限:可指定分享的笔记本为"可编辑"还是"只读",例如分享不希望被修改的文档 |
prioritySupport | 优先支持 |
同时,Teams 也保留了 Pro 档位的常规能力:200 MB/条的条目上限、50 GB 存储、笔记本分享与协作、Email to Note、自定义发布横幅等(见同文件的features()定义)。
在计划页数据中,Teams 计划的页脚注明了计费单位与起购门槛(见 packages/lib/utils/joplinCloud/index.ts):
teams: { name: 'teams', ... priceMonthly: findPrice(stripeConfig, { accountType: 3, // 即 AccountType.Team period: PricePeriod.Monthly, }), ... footnote: _('Per user. Minimum of 2 users.'), // 按用户计费,最少 2 个用户 ... },仓库中的 packages/server/stripeConfig.json 给出了实际价格配置:生产环境下accountType: 3的月付价格为 7.99 EUR/用户/月,年付为 80.28 EUR/用户/年;开发环境为 7.99 EUR/月、80.28 EUR/年。这印证了原文档"基于所选计划出具单一月付或年付账单"的说法——账单金额随用户数线性伸缩。
搭建你的团队
要设置团队,打开 Joplin Cloud 网站页面顶部的Team(团队)标签页。在该页面中你可以:
- 设置团队的成员数量;
- 修改团队名称。
成员数量直接决定账单金额,因为 Teams 是"按用户计费、最少 2 个用户"的计划(见上文footnote与价格配置)。
向团队邀请成员
邀请成员的操作步骤如下:
- 进入 Joplin Cloud 的Members(成员)标签页;
- 输入一个或多个邮箱地址(多个邮箱之间用逗号分隔);
- 点击"Invite members"(邀请成员)。
被邀请的成员会收到一封包含链接的邮件,需要点击该链接接受邀请才能正式入队。邀请状态的确认同样在 Members 页面的成员表中完成——你可以看到每个成员是否已经接受了邀请。
这一流程与服务端用户管理的权限约束相吻合:packages/server/src/models/UserModel.ts 中的checkIfAllowed方法规定,创建新用户必须是管理员操作(non-admin user cannot create a new user),而普通用户只能修改自己的full_name、email、password三个字段。从源码结构看,Teams 页面背后就是这套"管理员/成员"权限模型。
从团队移除成员
要移除某位成员,点击该用户旁的Profile 图标,然后点击"Remove user"(移除用户)即可。
移除成员后,下一个计费周期账单会随之减少;若在计费周期中间变更成员数,则按"按比例计费"(prorated charges)结算,详见下文计费说明。
把自己加入团队
团队管理员账户仅用于管理用户和计费,不能同步数据。如果你希望与其他团队成员一起协作,需要用另一个邮箱地址把自己作为成员加入团队。
这是官方文档明确给出的操作建议:管理账户与协作账户必须分开。
迁移到团队账户
如果你已经拥有 Basic 或 Pro 个人订阅,目前无法直接将数据迁移到 Team 账户,因为两者的工作方式差异很大(个人订阅是单账户模型,Teams 是"管理账户 + 多个成员账户"模型)。官方文档给出了一条手动迁移路径,完整步骤如下:
- 打开 Joplin 桌面应用;
- 点击 Synchronise(同步)并等待同步完成;
- 将所有笔记导出为 JEX 文件(File => Export => JEX);
- 创建一个新的 Profile(File => Switch profile);
- 导入刚才导出的 JEX 文件;
- 取消当前的 Joplin Cloud(个人版)订阅;
- 开通一个新的 Joplin Cloud Team 订阅;
- 将新 Profile 与新订阅进行同步。
关键细节在于第 2 步与第 3 步的顺序:必须先完成同步再导出,确保本地 Profile 包含云端的全部数据;而新 Profile 通过 JEX 导入后与 Team 订阅同步,数据即完成迁移。个人版订阅则应在迁移验证无误后再取消,避免在过渡期丢失云端数据源。
团队计费的按比例结算(Prorated Billing)
原文档说明"账单会根据团队人数自动调整",仓库中 packages/server/src/views/index/help.md 的 "Team billing" 一节给出了精确的按比例计费规则和示例,建议与上文的操作流程对照理解:
在 Joplin Cloud Teams 账户中增加或减少成员数量都会产生按比例(prorated)的费用,确保你不会为未使用的服务付费。例如:你有 10 名团队成员共 80 EUR,在计费周期中间又加入 5 人(达到每月 120 EUR),则收费方式为:
- 本月前半段:80 - 40 = 40 EUR
- 本月后半段:120 - 60 = 60 EUR
因此第一个月合计 100 EUR,第二个月起恢复为正常的 120 EUR。
这意味着:邀请成员(前文"Members 标签页"操作)或移除成员都会立即影响当期账单金额,而不是等到下一个计费周期。团队管理员在执行增删操作时,应结合该规则预估当期实际扣款。
延伸阅读:与 Teams 相关的仓库资源
- 本文档正文:readme/apps/teams.md
- 账户类型定义与 Teams 资源配额:packages/server/src/models/UserModel.ts
- Teams 计划特性矩阵与计费页脚(按用户、最少 2 人):packages/lib/utils/joplinCloud/index.ts
- 各环境 Stripe 价格配置(accountType 3 即 Team):packages/server/stripeConfig.json
- 团队计费按比例结算规则与示例:packages/server/src/views/index/help.md
- 笔记本分享与协作(Teams 成员间协作的入口):readme/apps/share_notebook.md
- 多 Profile 管理(迁移步骤中创建新 Profile 的依据):readme/apps/profiles.md
- 自托管方案中与 Teams 对应的团队能力说明:readme/apps/joplin_server_business.md
需要说明的前提与限制:以上价格、配额数字均以当前仓库中的配置与元数据为准,实际生产环境的数值以 Joplin Cloud 官方页面展示为准;文档中的 Team/Members 页面入口指向 Joplin Cloud 网页端,需要订阅团队计划后才可访问相应管理界面。
【免费下载链接】joplinJoplin - the privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and iOS.项目地址: https://gitcode.com/GitHub_Trending/jo/joplin
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考