Tag everything

在管理文件时,我经常碰到这样一个问题:目前树形结构的文件系统,一个文件只能放在一个地方,决定了它只能被单维度管理。虽然有软连接、硬连接、快捷方式辅助,还是非常不方便:要去多个目录下建立连接就费时费力,而且目标文件移动了位置,这些连接统统都失效。多维度的文件管理,我能想到的办法就是用类似于数据库的技术,具体而言: 一个文件就是一条记录。 套用 EAV 模型,让用户可以自定义属性,称之为 attribute 也好,tag 也好,都是为了归类文件。 用属性的排列组合去过滤出想要找的文件集(inspired by Magento’s Grid),如果文件集过大,一次也不用全都显示出来,免得过度消耗资源,一次显示 20-50 个文件足矣。用户可以选择设置更多的属性进行深度过滤,或翻页浏览。以我的眼力,如果在超过50条记录的一屏里找一条记录,就有烦躁情绪,来回扫描还经常漏过那条记录。这就是“过多的信息就是没有信息”的道理,所以定义适合自己的过滤条件去找文件集才是王道。 用户浏览传统树形结构的文件系统,但浏览模式在新的文件系统中并不好用,必须配合过滤。其实层层浏览和过滤是异曲同工,只是后者更灵活,但需要更多操作键盘甚于鼠标。如果一个上网用户喜欢浏览多于搜索,他通常觉得鼠标比键盘好用,那么他可以自定义 view,即把常用的过滤条件保存下来,减少键盘操作。搜索模式得以保留,能搜索过滤前或过滤后的结果。 其实 tag 化的文件管理系统已经有了很多,比如相片管理、视频管理、MP3管理、电子书籍管理等等。但这些系统都自称一套体系,没有可移植性,比如,不能把一组相片连同 tag 信息传输给别人(除非把相片管理系统也传输给别人)。我想要的是在 OS 文件系统层得到支持的 tag 存储,或者是根植于 Nautilus / windows explorer 的 tag 操作。有了她,相片管理系统、视频管理系统、MP3管理系统、电子书籍管理系统统统都没有销路了。 其实 Google docs 就是这个干的,如果能应用到本地就好了。 tag2find 基本可以实现我想要功能,但这个软件看上去不够大气,又只支持 windows,也非根植于 windows explorer,所以不足以打动我。