建议用回文件名的功能 1.2.5 文件 (夹) 名称 ID 化,是否与本地化的初衷渐行渐远?

本贴最后更新于 702 天前,其中的信息可能已经时过境迁
  • 建议使用笔记文件名 +ID 组合,这样笔记方便
  • 建议使用.md 格式,真的

引用之前的帖子

引用之前的帖子

  • 每次大本版更新,都是提心吊胆,因为新特性总是在负面影响甚至破坏已有的工作流

  • 1.2.5 最大的改动便是文件名 ID 化,这直接导致

    • 除思源外任何工具对思源文件的管理不具备可读性和可操作性性
    • 系统资源管理器几乎变为资源管理空气
    • 文件级,文件夹级拷贝分享变的异常艰难,以至不可能
    • 第三方同步盘的同步日志变得没有丝毫可读性,同样文件级的版本恢复变得异常艰难(特别是思源自身的同步仍然只能作为 plan B, 即便一直改进,应该也无法和专业软件(坚果云)比肩)
  • 对系统工具,对第三方工具的友好性,不正是本地化的一大便利么(另一大便利是安全)

  • 如果 ID 化是子文档的代价的话,那真是子文档的一个最糟糕的本地化实现,更何况子文档也丝毫不会对笔记带来本质的提升。纯在线的 ID 化无所谓,用户根本不关心这个。可用思源就是冲着本地来的

  • 特性的引入伴随思源一直在收紧自由度,从资源的统一管理到文档名的 ID 化,收紧的方向正常,但方法真是一言难尽

  • “思源用户不关心本地文件名,软件能打开就行”,但还是有一部分用户关心文件名的,越是深度用户越关心,随着笔记的数量提升,协作需求的提升,也许会有越来越多的用户看到这一串 ID 而苦恼吧

  • 实现同样的功能,应该有比文件名 ID 化更高效,更平和的实现吧?希望两位主创能考虑下这个问题

思源笔记 v1.2.0 发布,一个全新的开始 - LianDi (ld246.com)】写的承诺

1. 以后还会不会有类似这样大的改动?能不能不要随意砍掉我特别需要的功能?

这次调整方向的动作确实太大,我们完全重写了大部分代码,这样大的改动以后不会有第二次了。用户体验上我们正在逐步完善,把现在的功能做好、做稳、做到极致是第一要务,添加新特性会谨慎对待,并且不会再移除已有功能了(除非是实在没人用的功能或者有更好的替代方案)。

看了一些评论,结论:这个社区确实如网上很多平台说的那样戾气很重,懂的都懂,不多说

【此贴不会删除,算是给后面的新人看看这社区的德性,懂的都懂不多说】

  • 思源笔记

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

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

    22337 引用 • 89380 回帖
4 操作
dwe3030 在 2022-12-20 22:39:24 更新了该帖
dwe3030 在 2022-12-19 20:51:50 更新了该帖
dwe3030 在 2022-12-19 14:56:06 更新了该帖
dwe3030 在 2022-12-19 14:55:41 更新了该帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • Bard
    • 对系统工具,对第三方工具的友好性,不正是本地化的一大便利么(另一大便利是安全)
      • 对三方工具的友好性,和便利没关系,便利也可以是在自己体系内的“功能自恰”
      • 在单一软件内,相对效率才能更高,更换软件容易打断心流体验,得不偿失
    • 如果 ID 化是子文档的代价的话,那真是子文档的一个最糟糕的本地化实现,更何况子文档也丝毫不会对笔记带来本质的提升。纯在线的 ID 化无所谓,用户根本不关心这个。可用思源就是冲着本地来的
      • 没有看到过“ID 化是子文档的代价的话”请列明出处,或者详细阐述这个观点
      • 像什么“真是子文档的一个最糟糕的本地化实现,更何况子文档也丝毫不会对笔记带来本质的提升”更像是主观臆断,欢迎继续详细表达自己的观点
      • 现在的思源还是在本地为主,上条评论已经有所阐述
    • 特性的引入伴随思源一直在收紧自由度,从资源的统一管理到文档名的 ID 化,收紧的方向正常,但方法真是一言难尽
      • 哪里没有自由度了,是不让你用了,还是不让你回来了
      • 文档 ID 化在那次知后就都是 ID 了,什么叫“一直在收紧自由度”,请把后续收紧自由度的措施列出来
      • 思源是个开源软件,全开源的软件,开源的
      • 什么叫方向正常?本地 Markdown 么,不要不符合自己的使用习惯就说“别人的方法一言难尽”
      • 那么“怎么收紧不一言难尽”可以详细阐述下
    • “思源用户不关心本地文件名,软件能打开就行”,但还是有一部分用户关心文件名的,越是深度用户越关心,随着笔记的数量提升,协作需求的提升,也许会有越来越多的用户看到这一串 ID 而苦恼吧
      • “一部分用户关心文件名”到底多少用户是关心“文件名”还坚持用 “ID 化”,还是坚持到现在的,不谈剂量谈毒性都是哈哈哈,推荐发个帖子统计下
      • 再说一次看看用户文档吧,有协作需求,请用在线笔记,不要跟你看重的“本地化”笔记来较真,南辕为何北辙
    • 实现同样的功能,应该有比文件名 ID 化更高效,更平和的实现吧?希望两位主创能考虑下这个问题
      • 没有
      • ID 化是计算机发着这些年最重要的发明,不然“数据库”就不会存在,就不会有今天的互联网
      • 如果你能有完美方案,或者更好的方案,欢迎推荐
      • 如果有,我觉得这值得一个“图灵奖”

    作者:dwe3030
    链接: 建议用回文件名的功能 1.2.5 文件 (夹) 名称 ID 化,是否与本地化的初衷渐行渐远?
    来源:链滴
    协议:CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0/

  • 其他回帖
  • foolishman83

    同感,在核心功能和底层格式方面,要尽量做到最大程度的稳定和简约,不轻易为了某些可有可无的功能而做颠覆性的改变,笔记是逐步积累的,大的改动对以往的笔记而言无论如何平滑迁移,都有可能因为版本上的不注意而对数据造成灾难性的后果。建议在核心功能上要保持简约克制,在操作效率和稳定性上要做到极致,特殊功能需求上建议尽快上线插件模式,通过插件来实现个性化的需求。说实话,新增的很多功能,一些在旧有版本上本就能够实现,有的则只是某些人的个性化需求,大部分人使用的概率很低,譬如 2.2.0 版本关于行级格式的多种格式叠加,这种笔记的富文本化其实对 markdown 格式而言并不是必要的,也有违 markdown 文本编辑笔记软件简约高效的初衷,我不反对此项功能可以由插件个性化实现,但并无必要放入核心原生功能中,这种方向将导致笔记的底层数据格式愈加复杂,出 bug 的几率也会几何级上升。

  • 没见到什么被砍掉的功能,反而在思源抛弃了 MD,使用了 ID 文件名之后,才带来了更多的功能。就像你认为不需要或者不重要的功能,或许对于其他人而言就是不可或缺的,比如你说了子文档对于笔记没什么提升对吧,但是对我而言这功能没有就不行,你的无所谓不代表其他人。

    笔记软件存在的意义就是为了更好更方便的处理笔记的内容,如果只是原始的文件夹和文件的名称塞在里面,和换了个界面的资源管理器有什么不同?仅仅是一个 ID 化,它能够带来更好的特性,那么即使失去了资源管理器中的可读性,对我而言在使用上没有区别,反而体验更好。而且思源在一次次升级的过程中,ID 化只是表面的一点而已,这也是为了实现更多功能、更好的同步做出的改变。

    数据完全存在本地,支持导出为其它格式,软件也开源,这已经是十分完善的本地化了,即使是文件原本的名字,即使是用 Markdowm,在添加了足够多的功能和语法的扩展,它的内容在其它软件那在也不可能完全兼容。至于思源,它的代码在那,如何创建、读写文件的方法都在里面,至于其它软件能不能兼容思源的笔记结构,能不能读写创建的内容,那不是思源要做的,也不是思源做得到的。

  • leolee 4 赞同

    用回文件名需要解决这么一些问题:

    1、后端解析部分的重写谁来做;前端部分基于 ID 的实现谁来重新实现?既然从文件名到 ID 需要完全重写大部分代码, 反过来也是同样的很好理解对吧?

    2、现有数据已经基于 ID 改造,怎么处理?

    不仅仅是从 markdown 到 JSON 才是数据结构大改, 从 JSON 返回 Kramdown 也是一样,这个过程可能造成的数据损坏和用户丢失如何处理?

    另外只要改回 Kramdown 就能解决对资源管理器和第三方编辑器的兼容问题可能不太现实。

    我就是从 Kramdown 时代就开始用的,看法是 Kramdown 很强但第三方软件支持约等于没有,解析性能比现在方案差了不是一星半点,资源管理器管理笔记大概一个月用不上几回,使用体验上比现在差了很多。

    3、如何证明有大量用户需要这样的功能?

    当初改的时候是根据用户反馈的问题和需求才确定的修改方向的;经历几个版本的迭代,从用户数量上来看,证明至少对于大多数用户来说 ID 文件名并不是一个很强的痛点。

    而对与越是深度用户越关心这个的结论说实话我确实不太知道你是如何得出的。我至少在使用时长上来说还算是比较深度, 结论是思源的管理方式更加适合我的写作和管理,反而是 obsidian 那样的方式对我来说更适合作为素材收集软件而不是笔记管理。

    4、社区开发者基于现有数据框架做出的各种功能如何兼容?

    不过这个可能也就对我这种影响比较大一点。

    5、所谓“应该有”的,比文件名 ID 化更高效更平和的实现是什么样的?

    我开发过白板,也尝试过在本地 markdown 基础上通过 yaml 实现一些高级功能比如双链和图上链接之类,结论是就算不用 ID 也只是假装不用,实际的数据处理还是必须基于唯一 ID 和更结构化的数据才能高效实现,而这个过程中如果还是要假装自己在用 markdown 的话生成 markdown 代码也没有什么可读性,不如直接写 html。

    所以我认为单纯在存储格式的扩展名上下功夫兼容没有意义,直接存储 ast 反而保证了数据到通行的标准 markdown 之间的转换可行,因为这样不能很好兼容的数据根本就不能存进文件里,你所设想的方案是什么样的?用什么样的识别方式替代 ID 能够至少覆盖绝大多数现有功能而不造成因为解析步骤增加而带来的性能下降?

    6、说一句难听点的,思源虽然开源,但是是商业软件,且不说不兼容坚果云主要是因为实时保存带来的文件锁问题, 就算是其他原因,开发者也没有必要浪费精力在一个并非核心功能而且会影响自己营收的功能上;你也不要用我的话去怀疑他们的动机,至少把同步实现开源并且官方支持了 S3 和 webdav 存储的对接就证明了他们没有故意不去兼容的动机, 那么你想过为什么没有能够直接兼容吗?

    7、接上一条,因为你提到了越是深度用户越关心,我才去看了一下你在论坛的其他发言。就你的一些建议来看我觉得你应该目前使用这款软件还不是很多,那么我真心有一个建议,使用一个工具不是不能有意见和建议,开源软件就更是欢迎各种意见和建议乃至批评。但是在此之前至少应该对软件的基本功能和适用领域有大概的认知,否则就不要做出太过于武断的论断和“代表”用户群发言,其它的都还好说,这两种做法我个人觉得不管对于软件作者和其他用户而言都是不太礼貌的,虽然这对你可能有些冒犯,但是我觉得我还是不得不说。

    8、这个还是一个建议,希望你不要误会,我觉得你提出来的这些可能 obsidian 或者 logseq 能够更好的满足你的需求,他们对资源管理器和第三方软件相比思源应该友好不少,与其削足适履不如去尝试一下,可能会更适合你的使用,我自己也在使用 obsidian,也经常推荐它,不是说“哎呀你说思源的坏话我不同意我要赶你走”,而是真心觉得他们对你来说可能更好用,就像你先要的扩展工具栏在 obsidian 就有插件实现,真的可以趁现在沉默成本还不是很高去尝试一下。

  • 查看全部回帖

推荐标签 标签

  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 58 关注
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖 • 67 关注
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 134 关注
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    53 引用 • 37 回帖
  • 单点登录

    单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    9 引用 • 25 回帖
  • Firefox

    Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。

    8 引用 • 30 回帖 • 407 关注
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    2 引用 • 14 回帖
  • Openfire

    Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。

    6 引用 • 7 回帖 • 94 关注
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 51 关注
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    107 引用 • 153 回帖
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    179 引用 • 995 回帖
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 62 关注
  • OnlyOffice
    4 引用 • 3 关注
  • 设计模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

    200 引用 • 120 回帖
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    25 引用 • 191 回帖 • 16 关注
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    125 引用 • 169 回帖 • 1 关注
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 31 关注
  • 安全

    安全永远都不是一个小问题。

    199 引用 • 816 回帖 • 1 关注
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    90 引用 • 59 回帖 • 1 关注
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1434 引用 • 10054 回帖 • 490 关注
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    497 引用 • 1387 回帖 • 283 关注
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖
  • JRebel

    JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。

    26 引用 • 78 回帖 • 664 关注
  • RabbitMQ

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

    49 引用 • 60 回帖 • 362 关注
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 3 回帖 • 3 关注
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 463 关注