共享表单
表单、问卷或测验可以通过链接共享:/f/<jeton>。回复者无需对数据表拥有任何权限:每份回复都会新增一行,数据表中的其他内容都不会向其展示。如果想展示行而不是收集行,可以将视图以只读方式共享。

| 访问方式 | 谁可以回复 | 显示内容 |
|---|---|---|
| 公开 | 任何持有链接的人,无需账户 | 仅显示表单 |
| 已登录成员 | 租户中的成员——如有需要,可仅限特定用户组 | 先显示登录页面,然后是表单以及“您正在以 … 的身份回复” |
链接页面位于应用之外:没有侧边栏,没有数据库名称,也看不到其他行。它会采用表单的外观——主题、颜色、字体——并且只会询问之前的回答所需要的问题。

以谁的名义写入回复
Section titled “以谁的名义写入回复”该行以发布共享者的权限写入——即最后一个保存共享设置的人。此人创建行的权限会在每次回复时校验,且仅限于表单中的问题:如果此人失去该权限,表单会被暂停,直到拥有该权限的人重新保存。
历史记录显示的是谁回复,而不是谁发布:
- 成员的回复归属于该成员本人;
- 公开回复归属于表单本身:“表单‘Demande de devis’ · 公开回复 · 由 Camille 发布”。
对话框中可以设置:
- 启用链接开关;
- 截止日期;
- 最大回复数——即使同时收到多份回复,也能精确控制;
- 重新生成链接:旧链接立即失效;
- 停止共享:链接消失,已有回复仍保留在数据表中。
已关闭的表单会用一句话说明这一点,甚至在要求登录之前。
测验页面不会收到任何正确答案:它只知道每道题值多少分。评分由服务器完成。
- 若设置为每道题之后公布答案,页面会在作答的同时把每道计分题的回复发送给服务器,随即得知该回复是否正确——以及正确答案是什么。
- 提交时,服务器会根据收到的回复计算分数,并写入为此指定的字段——前提是存在这样一个字段,且发布该共享的人拥有写入权限。页面会显示服务器返回的分数,并在测验未设置为”从不”时显示公布的答案。
因此,数据表中记录的分数是服务器计算出的结果,而不是页面自行宣布的结果。
- 关联、文件和图片类型的问题不会出现在共享链接中;对话框会给出提示。
- 提交限制为每个地址、每个链接每分钟 20 份回复。在随附的代理(Caddy)之后,识别的是访问者的真实地址。
详细内容见架构文档的第 15 章。
basedb 是 AI 原生软件工作室 Eodia 出品的自由软件。