数据库试用反馈:建议数据库、属性和标签功能合并

本贴最后更新于 415 天前,其中的信息可能已经时移世改

数据库特性上线后,测试后发现数据库功能很有想法,突然有一个关于思源易用性的想法,把思源的标签和数据库以及属性这几个特性集合到一起,参考 Tana 的 SuperTag。

现有数据库本质

思源的数据库在本质上就是一个三重属性面板,很奇妙的是前一阵比较火的 Tana 的 SuperTag 也是一样的模式,区别就是 SuperTag 用起来比较方便

  • 思源:数据库-列属性-属性值
  • Tana:SuperTag-属性-属性值
  • 本质:类-类属性-属性值
  • 示例:论文笔记-(标题/作者/期刊/...)-(title/authors/journal/...)

现有问题及改进

数据库

  • 独立性
    • 创建:数据库目前只能在编辑器中创建,意味着它会具体落在某个文档中,这在创建数据库的时候就带来了负担,我该在哪个文档中创建它?
    • 查看:需要到特定的文档中,或者通过搜索功能查找,而没有某个单独的面板查看,当我需要查看某个数据库的时候还需要回忆数据库的名字或者其所在的文档
    • 维护:后续还有维护成本,如果这个文档要删除或修改,数据库可能需要换个位置存放
  • notion like database?
    • 从数据库添加行:
      • 新建 block:保存在数据库中,并且搜索功能无法查找到
      • 引用 block:可以,但是需要几步,并且同时用到鼠标键盘
    • 把 block 或页面添加到数据库:只能从数据库添加,如果我正在日记页面中记录,突然有某个块或者页面我想添加到某个数据库,我只能这么做:
      • 创建页面或者块
      • 找到这个数据库
      • 输入已经写过一遍的内容
      • 建立引用
  • 从上面可以看出,现有数据主要还是只有记录功能,没有统计能力,如果我有很多文档都要放到同一个数据库中,我只能一个一个添加,并且我并不希望从数据库这里添加,我更想要一个可以在输入的时候就顺手把当前内容添加到某个数据库的手段,最好可以只用键盘完成。

标签

  • 基础功能
    • 点击标签面板,出现的是搜索结果,结果比较杂乱,不清晰
    • 没有一个可以直接复制的手段,让我统计并输出该标签的所有相关内容
  • 和数据库功能重复
    • 数据库特性推出之后,标签的部分功能被代替了
    • 数据库功能强大,但是使用起来很复杂
    • 标签使用简单,但是功能太弱
  • 如果标签和数据库可以结合起来,像使用标签一样使用数据库,那么可以解决大部分问题

属性

  • 主要问题
    • 入口太深
      • 在不考虑背快捷键的前提下,属性面板真的很难打开,block 还好,页面属性还要去文档树才能找到入口
    • 编辑方式
      • 添加自定义属性或者修改数据库属性的时候总是要鼠标键盘一起用,真的体验不好

建议

建议将标签面板和数据库功能合并,属性面板去除自定义属性(反正也没什么用)并且只作为查看工具

数据库独立性

  • 修改标签面板作为数据库显示面板
    • 点击标签打开对应的同名数据库,并且作为唯一本体
    • 文档之中只能嵌入此数据库

数据库编辑

  • 新建
    • 写作过程中直接输入标签 #tag1,新建数据库 tag1
    • 在标签面板中添加新标签以创建同名数据库
  • 添加行
    • 写作过程中在 block 或者文档中直接输入标签 #tag1,将相关内容添加到数据库 tag1 中
    • 在标签面板中点击标签#tag1,打开数据库面板,直接从数据库中添加内容
      • 添加 block:记录在当天日记中
      • 添加文档:在设定的路径下创建
  • 属性编辑
    • 写作过程中直接点击标签,打开数据库面板,并锁定 block 对应行,直接编辑各属性
    • 打开标签面板,直接打开数据库面板进行编辑

数据库继承

  • 子标签可以继承父标签的数据结构,这样就可以复用一些属性,不用重复创建
  • 多层标签 #阅读笔记/文献笔记
    • #阅读笔记,对应数据库
      • block 书名 作者 文件链接
    • #阅读笔记/文献笔记 继承 #阅读笔记 的属性结构,并且可以自己添加属性
      • block 书名 作者 文件链接 期刊 引用

总结与展望

  • 本文的建议主要是希望能够通过结合标签和数据库功能,来改进当前数据库功能使用困难的问题
    • 标签功能本身并不复杂,修改起来应该没那么困难
    • 我提的建议是在现有数据库的基础上和标签进行一定的结合,不需要修改已有的数据库功能,希望工作量不大
  • 在我使用 obsidian、logseq 和思源笔记的过程中,它们各有各的优缺点
    • obsidian

      • 插件多、白板功能强大、统计功能强大、性能最强,但是它是一个传统 markdown 编辑软件,这是用什么插件都没办法改变的,富文本编辑功能以及类 roam 式大纲写作这两点功能的缺失是硬伤
      • 同时 obsidian 中的双链只有文档级别,双链形同虚设,这进一步导致 ob 的日记功能也没太大用处了
    • logseq

      • 编辑体验好,使用起来最顺手,没有文档树结构的约束
      • 但是它是强制的类 roam 大纲编辑,有的时候需要写传统的 markdown,它反而不好用,并且导出功能也不完善
      • 性能也一般,有时候会卡
    • 思源

      • 编辑功能强大,可以写传统文档,也可以用类 roam 大纲式编辑来实践 dailynote 工作流
      • 性能够用
      • 数据库功能不够强、没有白板
  • 思源只要把数据库功能做到易用易上手,再补上白板功能,基本上能满足我的大部分需求了。
  • 希望思源越来越好!
  • 思源笔记

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

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

    22421 引用 • 89760 回帖 • 1 关注

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 块数据和数据库估计是不太可能合并了。因为块属性需要写入到 dom 的标签属性中,所以只能是英文符号,没法支持中文。

    1 回复
  • xuyayin

    但是目前数据库里面也可以用中文吧,标签代替数据库名称,这都是原本就可以用中文的呀,为什么组合起来就不行呢

    1 回复
  • 感谢反馈,但是现有标签和数据库大概是不会融合在一起了,标签还是仅作为行级元素好一些。

    对于自定义属性,可以集合数据库的模板列使用,这里有个示例,等稳定一些以后会在用户指南中介绍数据库功能。关于数据库内容目前的设计是不加入搜索索引,只有视图名称能搜索到,对于不绑定块的行的确会出现无法搜索到的情况,这个点我们后续再收集反馈看看,可能是需要将整个数据库内容进行索引的。

    目前属性面板入口是有点深,桌面端可以用 Shift+ 单击 块标打开属性面板。因为设计是块级的,所以大概率也不会为文档块单独在编辑器顶部设置属性编辑器区,也许这一点后期可以期待一下出现相关的社区插件。

    1 回复
  • xuyayin

    感谢 D 大回复,其实我大部分时候是把思源当 logseq 用的,需要写那种输出给别人的东西的时候当 obsidian 用,所以我最想要的是从数据库外面向数据库里面输入的功能,因为我大多数时候都只打开日记页面,如果写到一半回去找数据库,割裂感太严重了 😭。而且标签也可以作为行级元素啊,只要不给它添加列应该可以吧 😂,目前的标签功能感觉和只有第一列的数据库也没啥大区别。

    1 回复
  • 「中文不能用」是特指块属性。

    1 回复
  • 用多页签顶顶吧,钉住一个数据库所在文档的页签,另外也可以试试引用一个数据库块,然后用浮窗。

    1 回复
  • xuyayin

    嗯嗯,了解了。但是我的设想是从标签新建数据库,然后从数据库的列新建属性,应该就和现在从数据库里面添加列是一样的,可以用中文。

  • xuyayin

    好的,感谢 D 大,目前也只能这样了 😄

  • 赞同这种思路,但技术实现上就不懂了。

    数据库的意义和场景是什么?这个暂时没搞懂。

    1. 目前搜了一下论坛里的相关帖子,都是当作 excel 来使用的吗?
    2. 思源笔记的标签暂时没有多元视图的呈现和管理界面,只能在搜索界面里浏览。
    3. “属性”的话想想都觉得一团乱麻,块属性?列表属性?文档属性?这样的话,会不会交叉重叠或者关联错乱?

    暂时就想到这些。

  • ennea

    这个思路好,数据库一统天下。

请输入回帖内容 ...