不知道像我一样有两台电脑,又是zotero的忠实粉丝的人多不多。这种情况下就需要保持两台电脑上zotero数据的同步,免得在台式机上添加的文献后来在笔记本上看不了。
但是如果你只是简单的在zotero的设置-高级选项里面将zotero的文件夹放到dropbox(或者其他网盘)里面的话,你可能会遇到一个很大的问题:zotero.sqlite文件,就是zotero的数据库文件里面的数据会不完整,或者你发现在zotoro的数据文件夹里面有一堆的conflict文件,如果你的zotero.sqlite文件有数十兆的话,二三十个冲突文件就能有快1G的容量了。
这个问题的原因是,zotero.sqlite在打开的时候会被zotero锁定,此时Dropbox就认为这个文件已经有了修改,经过二进制对比,Dropbox会把修改部分上传并同步。如果两台电脑同时打开zotero/firefox的话,Dropbox会认为两边都是在更新这个文件,于是他会把对应修改的二进制文件合并到一块去,如果不能合并到一块去的话就生成冲突文件,在这个过程中很有可能就造成数据库文件的损坏(回想一下数据库课程里面是怎么说的)。因为这个原因,我一直避免同时打开两台电脑上的firefox。
昨天稍微研究了一下,这个问题还是挺容易解决的。其实只需要让zotero自己提供的网络同步功能同步数据库文件即可,然后存储在zotero里面的附件文件夹用符号链接的方式放到Dropbox目录里就可以了,这样把数据库和外部附件分开,以免Dropbox去处理zotero.sqlite。
具体的操作就是先把Zotero从Dropbox里面移出并在Firefox里面设置好,然后在Mac终端里
或者在Windows下,打开命令行