数据库(属性视图)公测反馈

本贴最后更新于 417 天前,其中的信息可能已经时移俗易

今天属性视图进行了付费用户公测,和预期功能有些偏差,部分功能也挺奇怪或有缺陷,特来反馈。

设计思路

目前用户在讨论笔记软件的数据库的时候其实涵盖了多种不同的东西:多维表格、notion 数据库、属性视图。

多维表格

大略可以当成加强版 Excel,单元格内可以填充的内容多种多样,所有的数据依托于表格存在。典型代表 airtable。

notion 数据库

在 airtable 的基础上有所发展,每一行都是一个内嵌于数据库的页面,可以打开页面记录数据库字段之外的内容。

image.png

image.png

notion 的数据库内嵌页面也是依托于数据库存在的,在文档树中无法找到它,并且删除数据库时里面的所有页面都会被删除。

属性视图

顾名思义,就是把块、页面的属性进行汇总显示的一种视图,可以有表格视图、日历视图、看板视图、列表视图等。属性视图与多维表格、notion 数据库的主要区别在于:属于依托于块或页面存在,把表格删了属性仍然存在。表格只是起到汇总、筛选、批量操作的作用。

本地笔记御三家目前都在做或计划做相关功能:

  • 思源笔记:attribute view(block attribute、page attribute)
  • logseq:property(block property、page property)
  • obsidian:file property(ob 没有块,所以只有 file property,没有 block property)

obsidian

下图是 obsidian 的 file property,可以直接在文档中添加 property,不需要有表格(目前 ob 本体还没有提供对 file property 进行汇总的功能,后续不知道会不会提供)

image.png

logseq

可以直接给页面和块设置属性,并且能够通过 query 进行汇总,目前汇总表只能查看,不支持修改。

image.png

image.png

思源笔记

在借鉴 notion 的路上渐渐丢失属性视图的本质。

属性视图表格和 notion 长得很像,功能比较完善(吐槽:日期类型不设置时间竟然不显示)

image.png

需要点击块标 → 属性 → 数据库 才能查看数据库表格给页面添加的属性。

image.png

存在的问题

新建文档问题

在数据库中新建文档,该文档会变成当前文档的子文档,并且在文档树中不可见。

在文档树中不可见这个显示效果与 notion 是一致的,但是由于实际上会在当前文档下生成子文档,因此会导致一些 notion 中没有的问题。例如我在文档 A 的数据库中新建了文档 B,文档 B 变成了文档 A 的子文档,后续整理笔记过程中我将数据库从文档 A 移到到了文档 C,并顺手删除了文档 A,此时文档 B 也会被删除,数据库中的文档 B 失效。

改进建议:把数据库新建的文档统一放到一个不可见笔记本或者文档中,或者干脆就在文档树中进行显示。

显示问题

  1. 文档属性需要到属性页面才能查看,比较麻烦,建议像 notion 一样直接在页面顶部显示。
  2. 在属性页面显示了数据库表格的名称,但是无法点击跳转到数据库表格。

引用范围问题

目前在数据库表中进行引用,引用范围同 [[ 引用,会受到下面这个选项的影响,就是这么设计的吗?我觉得是合理的,但最好进行一下说明。

image.png

到底是谁的属性?

既然叫属性视图,属性还是应该要算到块或者页面的头上,但是目前呈现出来的结果是这些属性应该算是数据库表格的属性,主要有两个原因:

  1. 不同数据库表格给同一个块添加的同名、同类型属性被当做两个属性。如果这个属性属于块,那么这个块应该只能有一个同名、同类型属性。
  2. 在块属性界面的数据库分页无法对属性进行修改、删除、添加。只能看、不能改,这怎么能算是块的属性呢?

汇总功能缺失

目前的操作步骤是:

  1. 在文档中添加一个数据库
  2. 在数据库中引用一个块或者新建一个文档
  3. 给数据库增加属性列,并为每一个块设置属性值

这个是和 notion 一样的、从上而下的逻辑,都是现有数据库、后有页面(块)属性,这应该算是多维表格的做法,而不是属性视图的做法。属性视图应该是自下而上的逻辑,先有块,再有块属性,最后才有对块属性进行汇总、筛选的属性视图。

以上是我的个人理解及期望,也有人是想要多维表格的功能,建议把多维表格和属性视图分成两个功能,而不是进行大杂烩,现在端出来的这道菜已经成功让群里不同需求用户都嫌弃了 😂

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    22243 引用 • 88915 回帖
1 操作
qiancang 在 2023-09-26 20:49:41 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 88250 1 1 赞同

    感谢反馈,我描述一下我们的设计思路:

    这个特性正式的名称是 数据库(Database),属性视图 用作内部开发,主要设计思路是借鉴 Notion Database,并结合思源块级属性进行一些创新,比如 模板列,通过模板列我们可以实现属性的计算渲染,举个例子,比如给块 A 自定义属性 Author,块 A 在被放到不同 Database 中后可以通过设置模板列 .Author 来渲染这个自定义属性,修改属性值以后不同的 Database 中的模板列都会刷新为新的值。

    对于 Query View 类需求我们期待社区进行扩展,因为查询汇总的需求非常多,需要不同的视图渲染以满足特定需求,所以由社区扩展更适合。

    另外对于帖子中提到的一些问题还在考虑:

    • 新建文档是否要隐藏,我个人也是偏向于不隐藏的
    • “在属性页面显示了数据库表格的名称,但是无法点击跳转到数据库表格”这个会加入跳转 Issue #9285 · siyuan-note/siyuan
    • 文档属性显示在顶部还需要考虑,近期暂时不会安排
    • 块属性数据库页签中可以进行修改,只是不能新增和删除,你看下是不是主题影响导致不能修改
    2 回复
  • 其他回帖
  • 这个文章思路很清晰,把我要说的话都说了。

    简之就是一句话,目前做的,虽然名叫属性视图, 但实际上是 notion 表格。logseq query 那种,才叫属性视图。

    十分同意作者把两者分开的建议。

  • 初步使用了一下,个人觉得思源在已有的内置属性和自定义属性之外单列一个数据库属性还是未来可期的很有创造性的做法。

    数据库属性本质上仍然是块属性,不过是由原先的 属性名-属性值的二级属性系统变成了数据库名-表列名(属性名)-值(属性值)的三级属性系统,变得更加灵活,上限更高了。一个最基本的好处就是数据库属性可以根据数据库自动汇总,另外数据库属性的名与值也不再受到英文与纯文格的制约,应该是一次很大的进化了。

    现在最大的问题是缺少块端的属性操作,如果后续版本中能够在块处新建、修改数据库属性,那使用体验肯定是要比基于传统二级属性的属性视图要强的。

  • RiiichMan
    1. 支持数据库操作新增文档作为子文档可视化处理。
    2. 支持属性视图实现类似 dataview 的功能,确实太需要这个了。
    1 回复
  • 查看全部回帖