Firefox3书签中的Tags存哪儿了?
授权方式:署名,非商业用途,保持一致,转载时请务必以超链接(http://www.fwolf.com/blog/post/398)的形式标明文章原始出处和作者信息及本声明。电脑岁数大了是不行,即使装上了号称速度有很大改观的Firefox3,我的老爷机也没快到哪儿去,这还是在一大票插件都由于不兼容被咔嚓了之后,唉。
不过Firefox3还是有些不错的新功能的,比如网址栏中的“星星”,和Gmail里面的哪个很像吧,不知道是谁家的专利,这个星星挺有意思,当你浏览到觉得不错的网站时,点一下星星就可以收藏起来了,默认是在书签的Unfiled Bookmarks文件夹中,以后可以慢慢整理;点两下星星会弹出窗口让你选保存位置,并可以输Tag。
Tag可以说是Web 2.0的标志性特征了,也是组织和查找信息的一种有效方式,所以我就很感兴趣,这个Tags被Firefox3存到哪个文件里去了?Tag的存储方式和Tag Cloud的算法我很感兴趣,也想看看FF的解决方式。
一般Firefox会把书签保存在bookmarks.html文件当中,不过Firefox3改进了,把书签放到了sqlite数据库中,文件名就叫做places.sqlite。这个文件在Firefox3运行时会以独占方式打开,关闭FF后才能用sqlite3打开。
起初没想到有什么难处,直接看schema,结果仔细的读了一遍也没发现哪些地方有tag的踪影:
- moz_anno_attributes 注释的属性,没几行数据,不知道干啥的
- moz_annos 目前是空的,应该是什么的注释
- moz_bookmarks 书签项目
- moz_bookmarks_roots 书签项目的根网站集合,新安装FF的还没数据呢
- moz_favicons 网站图标favicon的位置
- moz_historyvisits 哪个网站你浏览了多少次,偶的隐私啊。。。
- moz_inputhistory 输入历史?暂无数据
- moz_items_annos 书签的注释,也就是那个“Description:”
- moz_keywords 关键字,和“Description:”在一个界面输入,没啥用处
- moz_places 所有浏览的地址历史
看吧,没哪个表是和tag有什么关联的,可用grep一查,我标记的tag确实是在这个文件中,只好出绝招:
sqlite3 places.sqlite ".dump" > t.sql
然后在t.sql里面一查找,终于明白了:
INSERT INTO "moz_bookmarks" VALUES(346,2,NULL,4,2,'testtag',NULL,'',1208788891265751,1208788891362043);
INSERT INTO "moz_bookmarks" VALUES(347,1,638,346,0,NULL,NULL,NULL,1208788891361294,NULL);
tag就是存在了moz_bookmarks这个表中,和书签的记录混在一起。像上面这种情况,每个tag除了自身占一行记录之外,如果有几个书签被标记了这个tag,那么就还会多出几条记录tag-书签关联关系的记录。
窃以为这并不是存储tag的最佳方式,而且FF在tag的使用上也太简单了,目前看到的就是一个Smart Bookmarks里能按常用tag查网站,连Tag Cloud也没有。一是不知道以后的tag数据格式是否会改变,二是应该会有扩展来完善这块功能,期待吧。

Save to Browser Favorites
Ask
backflip
blinklist
BlogBookmark
Bloglines
BlogMarks
Blogsvine
BUMPzee!
CiteULike
co.mments
Connotea
del.icio.us
DotNetKicks
Digg
diigo
dropjack.com
dzone
Facebook
Fark
Faves
Feed Me Links
Friendsite
folkd.com
Furl
Google
Hugg
Jeqq
Kaboodle
linkaGoGo
LinksMarker
Ma.gnolia
Mister Wong
Mixx
MySpace
MyWeb
Netvouz
Newsvine
PlugIM
popcurrent
Propeller
Reddit
Rojo
Segnalo
Shoutwire
Simpy
sk*rt
Slashdot
Sphere
Sphinn
Spurl.net
Squidoo
StumbleUpon
Technorati
ThisNext
Webride
Windows Live
Yahoo!
Email This to a Friend
If you like this then please subscribe to the