Skip to content

笔记本 assets 资源文件伺服 #2113

Closed
@88250

Description

@88250
Member

背景需求

目前插入资源文件会存放在工作空间 data/assets/ 文件夹下,目的是为了统一管理。但同时存在的需求是需要笔记本级的资源隔离,这样的需求会出现在团队协作场景中:

  • 团队中每个人的数据需要隔离
  • 通过第三方同步盘进行多文件夹数据同步

对管理者来说,为每个成员创建工作空间是可行的方案,但是不支持多开工作空间(以后也不会支持,因为工作空间从设计上来说就是为了隔离的),所以在需要同时对照修改多个工作空间数据时较为麻烦。

解决方案

在这样的场景下,最优的方案是笔记本自带 assets,这样管理者就可以通过多开笔记本(每个成员使用一个笔记本)来进行管理。

使用方式是约定大于配置,即如果用户在笔记本下建立了 assets 文件夹,则在插入资源文件时默认放置到该笔记本下的 assets 文件夹中。

技术实现

  • 插入资源文件时加 block id,用于获取笔记本 box 然后判断是否存在 assets 文件夹
  • 重写资源文件伺服路由机制,优先搜索笔记本下的 assets 文件夹,最后再搜索工作空间 data/assets/ 文件夹

Activity

changed the title [-]笔记本资源文件伺服[/-] [+]笔记本级资源文件伺服[/+] on Jun 11, 2021
liubo-hebau

liubo-hebau commented on Jun 11, 2021

@liubo-hebau
  • 1.2 版本之前 assets 是做到了目录级,这应该是最细粒度的管理了,若在同目录的笔记中引用了外部资源,便会自动在当前目录下创建assets目录,优点是在多人场景中,资源管理基本是透明的。
  • 目前的解决方案修正了新版带来的不便,但问题仍没有根本解决,就是笔记本嵌套问题。比如团队有一个主笔记(笔记软件中表现为为主目录,即根目录),其下分为A、B、C三个子笔记(子目录)来自团队内三人。此时只属于A的 assets 如何管理?A如何把自己的笔记资源共享出来?根据目前的描述,似乎assets 只属于了主笔记了,多笔记本资源仍然没法很好的隔离。
  • 可以参考1.2 之前版本的实现。
88250

88250 commented on Jun 11, 2021

@88250
MemberAuthor

@liubo-hebau

  • 同级目录下 assets 的缺陷更多所以才调整为统一伺服的,比如不方便查找和共享,统一备份和管理也很困难
  • 笔记本嵌套这个应该是误用……如果有这方面的考虑的话,同级目录下 assets 就更没法共享了,团队协作的话只能按照工作空间隔离或者笔记本隔离的方式,子文件夹粒度不对
liubo-hebau

liubo-hebau commented on Jun 11, 2021

@liubo-hebau

@88250

  • 在第三方同步盘的帮助下,基本没关注备份等问题
  • 关键是,有了第三方同步盘,其实“误用“的非常舒服...
  • 为了使用目前的解决方法,会导致出现一大批同级目录(笔记本)
  • 为了使用新版,自己写程序,遍历当前目录,通过在总data下拷贝,恢复以前的方式,搭配同步盘,是否可行?
  • 感觉外部资源不必纳入查找范畴,毕竟在笔记本里都写了“命名链接“到对应资源,能找到这些链接就可以了。
88250

88250 commented on Jun 11, 2021

@88250
MemberAuthor

@liubo-hebau 如果手工建立了 assets 目录(无论是笔记本根文件夹还是子文件夹),则优先使用该文件夹,你认为这个方案如何?

liubo-hebau

liubo-hebau commented on Jun 11, 2021

@liubo-hebau

@88250 这个赞,解决了!
唯一的问题是,对小白用户是否友好,可能 assets 这个单词的意思都不清楚(我没别的意思啊)。

88250

88250 commented on Jun 11, 2021

@88250
MemberAuthor

@liubo-hebau 我们还需要时间考虑,比如移动块时资源文件如何处理等细节。我估计最快也要 v1.2.0 正式版发布以后才有时间着手了。

liubo-hebau

liubo-hebau commented on Jun 11, 2021

@liubo-hebau

@88250 好的,可以为资源管理加入提前配置选项,集中还是分散。好的。等稳定。

88250

88250 commented on Jun 11, 2021

@88250
MemberAuthor

@liubo-hebau 这个多半不会加选项,“约定大于配置”。

pinned this issue on Jun 12, 2021
changed the title [-]笔记本级资源文件伺服[/-] [+]笔记本 assets 资源文件伺服[/+] on Jun 12, 2021
added this to the backlog milestone on Jun 12, 2021

16 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Relationships

None yet

    Development

    No branches or pull requests

      Participants

      @88250@Vanessa219@liubo-hebau

      Issue actions

        笔记本 assets 资源文件伺服 · Issue #2113 · siyuan-note/siyuan