首頁 > Google, Linux, 資訊科技 > 從 DayNotez 到 Google Docs 的快速單向同步方案

從 DayNotez 到 Google Docs 的快速單向同步方案

Palm PDA 上有不少好用的工具,可惜因為經營欠佳,不思進取,導致 Palm 的市場近年不斷委縮,幾近消亡。我作為 Palm 用家,對此感到十分惋惜。

其中一個好用的軟件是 DayNotez,它是個簡單的日誌系統。從 2003 年到現在,我一直都用這個軟件來記錄日常生活中(工作以外)的靈感、經驗和感受,亦作為我寫《求學生涯系列》文章的草稿。寫完之後,軟件會按日期、時間和分類整理好,方便將來查找。

可惜這個軟件不能與時並進。例如,由於 Web 2.0 世代的來臨,我近月已開始試驗把「個人知識管理系統」轉移到 Google Docs 上,但 DayNotez 卻未能提供跟 Google Docs 進行同步的方案。現時只能做到單向同步,即把 DayNotez 的記錄從 Palm 上取下來,再發到 Google Docs 上去,當中涉及很多人手操作,費時失事。而我的 Palm 也沒有上網功能,就是有網絡也不穩定,所以也不可能在 PDA 上直接使用 Google Docs,即目前還是要先解決 DayNotez 跟 Google Docs 之間的同步問題。

能作單向的同步也聊勝於無,所以我今次就在這裡下功夫。我的桌面電腦是 Linux,而且一直以來都是用 Linux 來跟 Palm 同步,對當中的程序也略知一二,於是我用了幾個 Linux 上的小工具,把上述工序自動化,實現由 DayNotez 到 Google Docs 的快速單向同步。以下列出各個步驟,供有需要者參考(若欠缺下面提到的工具,請自行安裝)。

為方便起見,我先轉到 Linux 上存放 Palm 備份檔的目錄:

cd ~/.jpilot/backup

DayNotez 網站上提供兩款軟件,可以把 DayNotez 的數據匯出到其他格式。可惜這些軟件只有 Windows 和 Mac 版,難以在 Linux 上運行,而且逐次去按按鈕也不方便。我的方案是利用 DayNotez 上的 export 功能,把記錄匯出為 DOC 格式(Palm 上的電子書格式)檔案 “DayNotez Export.pdb” ,然後在 Linux 上用 pilot-xfer 把這個 “DayNotez Export.pdb” 取下來:

pilot-xfer -f DayNotez\ Export

Palm 的所謂 DOC 格式其實跟文字檔格式差不多,只在開首處加了幾行代碼,我們用文字編輯器去掉這幾行即可。如果還想簡單一點,可以用 txt2pdbdoc 套件把 DOC 格式轉為一般文字檔格式:

txt2pdbdoc -d DayNotez\ Export.pdb daynotez-export-big5.txt

上面檔名中標明了 big5,是因為 Palm 上的中文是 Big5 編碼,有異於 Linux 上的 utf-8 。為了方便以後處理,我用 iconv 把編碼轉為 utf-8。留意必須加上 -c 選項,以避開那少量不能轉成 utf-8 的字元:

iconv -c -f big5 -t utf-8 daynotez-export-big5.txt > daynotez-export-utf-8.txt

接著便是把檔案弄上 Google Docs。最直觀的方法是登入 Google Docs 並上載檔案,但我們也可以把檔案以電子郵件形式 發送到 Google Docs 提供的秘密地址。完成後,檔案會自動在 Google Docs 出現。利用 mutt 電郵程式,只需一行便能完成以上程序:

mutt -s “DayNotez Export” your-secret-address@prod.writely.com < daynotez-export-utf-8.txt

另一種方案是不用 Google Docs,而把檔案傳到 GMail 去。不過我在此遇到一點小困難:GMail 拒絕接收直接由我的電腦發出去的電子郵件。解決方案也很簡單:我把電郵發到工作機構給我的電郵地址。由於我早就設定了自動轉寄,所以郵件最終還是到了 GMail 郵箱裡。我又在 GMail 設定了一個過濾器,讓所有標題為 “DayNotez Export” 的郵件都加上 DayNotez 標簽,並繞過收件匣。這樣,我的 DayNotez 記錄便存到了我的 GMail 裡,方便以後搜尋。

最後,轉回原先的目錄:

cd -

這樣便大功告成。為了方便起見,我把上面的一連串命令設為 alias,方法是把以下句子加入到 .bashrc 裡(我使用 bash):

alias daynotez-sync=’cd ~/.jpilot/backup; pilot-xfer -f DayNotez\ Export; txt2pdbdoc -d DayNotez\ Export.pdb daynotez-export-big5.txt; iconv -c -f big5 -t utf-8 daynotez-export-big5.txt > daynotez-export-utf-8.txt; mutt -s “DayNotez Export” your-secret-address@prod.writely.com < daynotez-export-utf-8.txt; cd -’

以後只要在命令行輸入 daynotez-sync,系統便會要求我按 Palm 上的 HoySync 鈕,然後自動完成上述把 DayNotez 記錄送上 Google Docs 的所有工序。雖然還未能做到真正的同步,但這個方案可以作為進一步改良或其他同類應用的參考。

你有甚麼心得呢?歡迎留言。

Powered by ScribeFire.

  1. hippy
    2009/07/01 at 15:47 | #1

    不错~~学习了,可惜不用Linux

  1. No trackbacks yet.