实例管理面板
位于 /instance-admin 的实例管理面板,是 实例管理员 查看服务器上所有账户的地方:有多少个账户、每个账户里有谁,以及少数几个只有运维者才应该拥有的破坏性操作。本页说明这个面板能做什么,同样重要的是,它刻意不能做什么。
如果你运行的是只有一个账户的个人实例,可能永远都用不到这个面板。它真正发挥价值的场景,是拥有多个账户的共享实例,比如俱乐部或家庭服务器。
只有带有实例管理员标志的用户才能看到这个面板。其他任何人访问 /instance-admin 得到的都是未找到页面,而不是访问被拒绝页面,因此这个面板从不会透露自己的存在。
概览页面
打开面板首先看到的是整个实例的概览:
- 整个服务器上账户、用户、收藏和藏品的数量统计。
- 本月新建账户数和本月活跃用户数,让你了解实例是在增长还是趋于平静。
- 过去十二个月每月注册数的图表。
这些数字统计的是整个实例的情况,不会透露任何人具体的编目内容。
浏览账户
账户区域列出实例上的所有账户,每页 25 个,并显示每个账户的成员数量和收藏数量。
你可以通过成员的邮箱地址搜索账户,并按角色筛选。无法按账户名称或个人姓名搜索,因为姓名在数据库中是加密存储的,无法直接匹配。邮箱是唯一可靠的检索方式。
打开一个账户,可以看到其成员列表(先显示所有者,再显示编辑者,最后是查看者),以及该账户的收藏数量、藏品数量,还有最近的十五条活动日志。
删除原因
用户在删除自己的账号之前需要先说明原因,删除原因页面就是这些回答汇集的地方,最新的排在最前,每页 25 条。
每条记录只有一句话和一个日期。它不与写下它的人关联,并且在那个人离开之后依然保留:用户被删除,这句话留了下来。这里没有可以打开的内容,也没有可执行的操作,页面只是把它们列出来。
原因在存储时是加密的,和人们在应用里写下的其他内容一样,所以这个页面没有搜索框。
站点选项
站点选项 区域集中管理公开营销站点的设置,也就是访客登录之前看到的那些页面。在自托管实例上,这个站点默认是关闭的(参见 配置你的实例)。如果你从未开启过它,这里的任何设置都不会改变你的用户所看到的内容。
公告横幅
横幅是营销站点每个页面顶部的那条黑色长条。它适合放一句简短的话:一个你希望别人注意到的版本、一个维护窗口、一场活动。
必填的只有那句话,其余都是可选的:
- 显示横幅 控制它的开与关。设为 否,就不会出现任何长条,无论你填了什么。
- 版本 是左侧那个绿色小胶囊,例如
v0.9。留空,胶囊就不出现。 - 链接 是横幅指向的地址,链接文字 是访客点击的文字。如果只是想说一句话,把链接留空即可。
- 句子 就是公告本身。
营销站点会以多种语言提供,因此句子和链接文字要按语言逐个填写,每种语言一个标签页。留空的语言会回退到英文,也就是说只填英文,就已经能让所有访客看到横幅。标签页上的绿点表示该语言有自己的句子。
表单上方的预览会按你当前所在标签页的语言,显示访客将看到的横幅样子。保存时会自动清除 Cloudflare 的缓存,所以改动会立刻生效。
清除 Cloudflare 缓存
营销页面很少变动,因此每个页面只渲染一次,之后七天内都由 Cloudflare 保存并直接提供。这让公开站点保持快速,但也意味着一次修改可能一周都无人看见。
清除缓存 会一次性丢弃 Cloudflare 保存的所有页面。当你改动了公开站点会展示、而应用本身并不知情的内容时(比如你在服务器上编辑了一个文档页面),就该用它。保存横幅和审核用户评价本身已经会清除缓存。
清除不会丢失任何东西。每个页面会在下一次有人访问时重新渲染,唯一的代价是第一位访客要等待这次渲染。同样的事情也可以用命令行完成:php artisan kollek:purge-cloudflare-cache,详见 使用命令行管理。
只有部署在 Cloudflare 之后的实例才会显示这一节,也就是设置了 CLOUDFLARE_API_TOKEN 和 CLOUDFLARE_ZONE_ID 的实例。没有它们就没有什么可清除的:直接对外提供服务的实例会在页面被请求时才渲染它。另外要注意,访客自己的浏览器无论如何都会保存页面五分钟,任何清除都触及不到那份副本。
破坏性操作
面板中有三项操作会更改或删除数据,而且都无法撤销:
- 删除账户,会移除该账户以及其中的所有收藏、藏品、副本、成员和全部历史记录。
- 删除用户,会将这个人从其账户中移除。
- 切换其他用户的管理员标志,为其他人授予或撤销实例管理权限。
在这个面板中删除账户或用户是立即且永久生效的。不会经过回收站,也无法恢复。确认操作之前,请务必再三核实你选中的账户或用户是否正确。
有两项保护机制保护着实例本身:管理员无法撤销自己的标志,也无法在面板中删除自己的用户。无论这个面板如何被使用,实例始终会保留至少一位可用的管理员。
这个面板不是什么
这个面板在设计上仅限于 Web 端。JSON API 是限定在单个账户范围内的,没有实例级功能的容身之处,因此这些能力都不会以 API 接口的形式存在。
面板中可见的支持和评价区域目前只是占位内容,尚未实际构建。参见 功能状态与路线图。