上个世纪的论坛(又称BBS),采取了清晰的“讨论区-文章”结构,所有的文章都属于且仅属于一个讨论区。从内容管理来看,在信息量不大的情况下,这种模式已经足够满足文章归类的要求。从系统设计来看,我们只需要在每个讨论区下维护一个文章索引即可,不同索引文件之间是不需要存在关系的。如果需要将一篇文章在多处张贴,只需使用转载功能即可,设计者们用磁盘空间换取了系统复杂度的下降。
随着信息量与日剧增,一些论坛出现了“分区-讨论区-文章”的结构。分区将要讨论的内容进行了宏观定位,更利于信息的发布和浏览。后又出现了多级分区结构,使信息归类趋于合理与细化。但随之带来的弊端是:信息被隐藏在更深处,引起了交流障碍;用户便倾向于到更“浅”的地段交流思想,这个地段一定是与文章相关的讨论区中最吸引眼球的那一个。出现的结果是:讨论区强者恒强,产生聚集效应;繁荣的讨论区的内容变得异常混乱,违背了分区的初衷。
原一塌糊涂BBS的代码设计者考虑到了这个问题,提出了“讨论区链接”的概念,允许将一个讨论区同时存放在两个分区内,与讨论区关系较密切的为“主分区”,另一个为“链接分区”,链接分区的人气一般较高,能够带来更多的访问量。这个设计既满足了用户渴望交流的需要,又尽量保证了文章能够被正确的分类。
但是这种设计会带来另一个问题:当所有讨论区都建立“链接”后,会重新造成内容的混乱,而且是病入膏肓的,不容易治理的。中国政府很英明的预见到了这种混乱,于是以一个莫须有的罪名关掉了这个站点。
历史的车轮总要继续滚下去。我们很欣喜的看到flickr.com提出了一个“tag”的概念。这其实是很久之前就出现的思路了,比如meta中的keyword,比如我四年前用asp建图片网站时的“文字标注”字段。但胜者为王,中国人总是希望借鉴别人的经验,而不愿吸取自己的教训,所以风光总被老外抢去。我认为今后论坛结构的发展方向就是用tag替代讨论区。tag是什么呢?它可以是很专一的方面,也可以是若干tags的集合(套用composite设计模式即可);它比讨论区更加细化,是在它出现之前不可细分的内容单元,比如“roxette乐队”、“七宿女生”、“中国足协”等等。
一个论坛的所有tags形成一个树状结构。tag拥有以下几个属性:
parent:记录tag的父节点。用这种设计存储tag树。不记录子节点的原因是:子节点数目是不确定的。tag的父节点在内容上涵盖了tag,双方为聚合关系。我们进入tag的父节点页面,也可以看到tag的文章内容,形成了一个松散的“互为转载”关系。
friendship[MAXTAGS][tagname, value]:记录tag与其它一些tags的亲密关系,这个关系的强度可以用value的数值来表示,特别的,用负数表示tag与友元之间的疏远关系。在此基础上可以衍生出tagrank的概念,即“Friendship is all”。tags太多了,一个完整的tags列表已经没有任何意义,相比而言,被其它tags链接的数目,以及每个链接对应的value,就变得十分重要了。我们利用量化过的tagrank,可以评价一个tag在论坛内的知名度。
一篇文章可以拥有有限个tags,那么到此为止,一个紧密的“互为转载”关系形成了,彻底解决了文章归类的问题。虽然这将信息整理的瓶颈扔给了tags,但很显然,管理员对tags的可控制性要远远强于文章。那么,我们也彻底解决了信息整理的问题。
其实我很早就着么想了,不过没有这么系统而已
赞赞
nice thoughts! I can’t agree more
赞赞
就像数据库的结构
赞赞