官方有无计划支持在文档开头显示数据库属性

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

文档开头的「数据库属性条目界面」就类似于 notion 的属性界面 :

image.png

另外关于文档的「数据库属性条目界面」,个人感觉需要改进的几个方面:

  1. 当前打开文档的「数据库属性条目界面」需要点击数据库的小块标,不方便,需要额外操作;另外也不够直观,不能在进入文档时就直接查看该文档的属性条目,而打开「数据库属性条目界面」后又会遮盖住文档。因此应在文档开头提供数据库属性条目的显示

    在文档层面查看的不直观,其实某种程度上削弱了数据库属性在分类上的作用

    image.png

  2. 文档的(包括内容块的)「数据库属性条目界面」应支持增删、隐藏、重命名属性条目等各种交互,并且这样的修改在对应数据库表格中能同步显示,类似于 notion 中操作逻辑。

    而现在的思源数据库属性界面只支持修改各个属性条目中的具体内容,若想增删、隐藏、重命名文档/内容块的属性条目,必须切换到相应数据库表格中,修改完后再切回文档,相当复杂了
    以 notion 中的文档内增加属性条目为例,操作相对就比较简单:

    1.gif

    这里给出了「数据库属性条目界面」编辑条目的逻辑:

    Snipaste20240105150620.png

  3. 思源除了文档块之外,其他内容块也支持数据库属性,这也属于思源的优势之一。个人感觉对于除了文档的其他内容块,可以加入上面第二条提到的更多属性条目交互方式,但无需考虑添加「数据库属性条目界面」(内容块体积限制,因此其实也是不现实的),保持现在的打开方式就挺好

记得 D 大之前好像说过文档开头的数据库属性条目显示要交给社区插件大佬们来做,不过个人感觉因为该界面涉及到与数据库表格的交互,由官方来实现这个功能会更好些。插件「文档属性面板」的作者大大也在这个插件的 issue 里面提到了由插件来实现的相关担忧

用户群、以及插件「文档属性面板」issue 下面不少人都提到对文档的「数据库属性条目界面」的期待,个人也感觉实现这个功能后,思源的数据库才会更像一个属性面板,而不是一个大号的多功能表格

上述是个人的一点点建议和想法,欢迎大家来讨论

  • 思源笔记

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

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

    23023 引用 • 92618 回帖

相关帖子

欢迎来到这里!

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

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

    我们主要是想保持设计的统一性,所以文档块和其他块的数据库数据都通过 属性面板 - 数据库 进行维护,文档块不作为例外考虑。因此,我们认为这部分交由社区扩展是比较好的选择。

    关于 2. 中的相关功能支持后续会考虑改进,谢谢。

    4 回复
  • QMike 1 赞同

    个人觉得虽然应保持文档块和其他内容块的统一性,但毕竟文档块是存在特殊性的,作为单个页面存在的特性表明它需要更直观地显示出数据库属性条目,这其实也是数据库属性存在的意义之一:不止是在数据库中汇总查看,也应可以方便直观地结合文档中的具体内容查看它所属的分类

    更进一步的意义,打开文档后看一眼它开头的数据库属性条目,就可以大致了解该文档的主体内容是什么,类似于文献管理中的 meta data 的作用:

    image.png

    另外,在数据库中采用文档块作为主键、为文档块设置数据库属性毕竟是更常见的做法(需要给 除了文档块的其他内容块 赋予数据库属性的场景应该很少),如果仅考虑和其他内容块保持一致性而刻意避免文档数据库属性条目的直观显示,个人感觉其实有点顾此失彼了

  • 😭 D 大,这么多人要,再考虑考虑呗

  • 我觉得没必要,文档标题因为是纯文本不支持标签、行内引用、颜色样式之类的,我都是另建一个标题做文档标题。而且现在已经有插件了。

    2 回复
  • 插件现在只支持显示 内置属性自定义属性,还不支持显示 数据库属性

    帖子里面给的 github issue 链接就是这个插件的

    ps:为啥突然提到文档标题了呀 😂

  • li80 1 赞同

    【1】各大双链笔记中,只有思源没有在文档中显示属性。

    【2】目前的属性显示方式,我估计应该会导致『属性』这一功能的使用率非常低。

    【3】文档块的确应该在某个方面成为一个例外的块类型,这是常理。如果开发难度不大,设计思想可以稍作变动。毕竟设计思想也是为了用户的使用和体验。

    【4】如果不确定这个功能有需求情况,可以在社区做个投票(话说回来,似乎社区从没有发起过投票?)

  • li80 1 赞同

    可以开发这一功能,然后让用户自已选择是否在文档前面显示属性。不想显示的话,不让它显示就可以了嘛 。这样可以两拔人都照顾到。

  • Achuan-2 2 赞同

    我觉得 flowus 的方案就挺好的,也像思源一样可以在数据库的条目可以是普通文本或文档Clip20240107105640.png

    点击打开此页面,打开属性面板,可以添加属性,当正文处添加文字后该普通文本条目自动转化为文档条目

    思源可以借鉴下这个方案,这样内容块、文档块都可以用属性面板来维护数据库内容

    当然思源要把内容块变为文档块不一定要是自动,下方添加一个按钮,是否转换为文档块,交互和选中文本新建块引文档一样就行

    Clip20240107110138.png

    Clip20240107110106.png

    个人觉得通过把属性面板放到页面来还是有必要的,单个条目要更改属性,点击该条目侧边栏进入属性面板,进行更改就好,不必在数据库左右滑动选择条目,还可能点错行

    1 回复
  • QMike 1 赞同

    是呀,页面(包括内容块的)属性面板支持更改属性条目还是很有必要的。我现在在维护一个 24x10 的大数据库,要修改某个文档某个属性条目的时候需要上下左右滑动很长距离,一不小心就会改错位置 😂

    能支持页面内修改属性的话(不仅是修改条目内容,也包括增删、隐藏、重命名等)就差不多能避免这个问题了

    当然,要是可以在文档开头直接显示数据库属性条目,查看起来也会方便很多(不忘初心 hhtrollface

    1 回复
  • 刚刚发现插件「文档属性面板」的作者大大和 D 大进行了相关讨论,可以关注一下这个 issue

  • isXavier 2 评论

    image.png如果实现跳转文档内编辑属性比较难的话,其实可以写一个输入交互界面先实现一下,横向输入变纵向,就很方便了

    其实把数据库的属性面板变成这种可移动的页面交互就好了,主键单元格右边的更新改为属性面板开启键,数据库更新换到整个数据库菜单里,里面改成更新当前展示行及更新全部行,就能减少不必要的更新处理
    isXavier
    @isXavier Issue #11371 · siyuan-note/siyuan 欢迎来此 issue 讨论,浮动的属性面板我也提过,现在折中的办法是想放在侧栏
    5kyfkr
  • Add the database attribute dock panel · Issue #11371 · siyuan-note/siyuan (github.com)

    欢迎来此 issue 讨论,现在感觉侧边栏显示是比较折中的方式,在顶部可能需要大改一番,并且应该就会没法记录文档浏览位置,因为每次编辑查看都会需要跳转到顶部。

  • AndyLeo

    同样的需求!假设场景如下:我通过数据库整合了非常多的文献 page,每个文献的 page 如何显示它的诸如“出处”、“作者”等属性?在 obsidian 中可以通过简单的为文档设置并显示 properties 显示,但思源中我并没有找到显示属性的方式,求解决方案

    1 回复
  • 目前只能点击右上角的数据库标识打开属性面板窗口查看

请输入回帖内容 ...

推荐标签 标签

  • Eclipse

    Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

    75 引用 • 258 回帖 • 624 关注
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    179 引用 • 407 回帖 • 490 关注
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    58 引用 • 22 回帖
  • GraphQL

    GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。

    4 引用 • 3 回帖 • 8 关注
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 394 关注
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    334 引用 • 323 回帖 • 4 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖
  • Logseq

    Logseq 是一个隐私优先、开源的知识库工具。

    Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.

    6 引用 • 63 回帖 • 4 关注
  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    107 引用 • 295 回帖
  • Hexo

    Hexo 是一款快速、简洁且高效的博客框架,使用 Node.js 编写。

    21 引用 • 140 回帖 • 3 关注
  • V2EX

    V2EX 是创意工作者们的社区。这里目前汇聚了超过 400,000 名主要来自互联网行业、游戏行业和媒体行业的创意工作者。V2EX 希望能够成为创意工作者们的生活和事业的一部分。

    17 引用 • 236 回帖 • 316 关注
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    30 引用 • 96 回帖
  • 尊园地产

    昆明尊园房地产经纪有限公司,即:Kunming Zunyuan Property Agency Company Limited(简称“尊园地产”)于 2007 年 6 月开始筹备,2007 年 8 月 18 日正式成立,注册资本 200 万元,公司性质为股份经纪有限公司,主营业务为:代租、代售、代办产权过户、办理银行按揭、担保、抵押、评估等。

    1 引用 • 22 回帖 • 772 关注
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    186 引用 • 318 回帖 • 282 关注
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 104 关注
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 回帖
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    142 引用 • 442 回帖
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    545 引用 • 672 回帖
  • SSL

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。

    70 引用 • 193 回帖 • 416 关注
  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    524 引用 • 4601 回帖 • 699 关注
  • OnlyOffice
    4 引用 • 3 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 361 关注
  • 宕机

    宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。

    13 引用 • 82 回帖 • 60 关注
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖
  • WebSocket

    WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。

    48 引用 • 206 回帖 • 317 关注
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    139 引用 • 269 回帖 • 29 关注