Firefox 3のmoz_bookmarksテーブルを編集してブックマークを登録する

杉山貴章(オングス)
2008-10-09 08:00:00
  • このエントリーをはてなブックマークに追加
最新特集【一覧】

ブックマークデータの自作

 Firefox 3Placesシステムでは、moz_bookmarksテーブルからmoz_placesテーブルを参照することでブックマークのデータを構成している。今回はこのテーブルのデータを編集してみることにする。なお本稿ではSQLite Managerのダイアログを利用してテーブルを編集しているが、SQL文を直接実行してもよい。ただし、いずれにしても必ずplaces.sqliteのバックアップを取ってから作業しよう。

 ここでは、moz_bookmarksテーブルに図1のデータを追加してみた。このとき、主キーであるidの値は一意でなくてはならず、またfkがmoz_placesテーブルにあるidを、parentが自身のテーブルにあるidを指すことに注意する。

図1 SQLite Managerを利用してmoz_bookmarksテーブルを編集する 図1 SQLite Managerを利用してmoz_bookmarksテーブルを編集する

 この例ではparentが前回追加した「マイフォルダ」に、fkがGoogleトップページのplacesデータになるようにしてある。typeはブックマークなので「1」だ。追加後のテーブルは図2のようになった。

図2 ブックマーク追加後のテーブルの様子 図2 ブックマーク追加後のテーブルの様子

 ここでブックマークメニューを開いてみると、図3のように追加したデータが反映されていることがわかる(ただし、Firefoxのウィンドウを再起動しなければメニューには反映されない場合もある)。

図3 テーブルの変更はメニューに反映される 図3 テーブルの変更はメニューに反映される

 フォルダを追加したい場合にはtypeの値を2に指定すればよい。図4は「中のフォルダ」というフォルダを追加し、先程のブックマークのparent値をこのフォルダのidに変更してみた様子である。この結果、ブックマークメニューは図5のようになった。

図4 フォルダを追加し、階層構造を変更 図4 フォルダを追加し、階層構造を変更
図5 メニューも新しい階層構造で表示される 図5 メニューも新しい階層構造で表示される

 もちろん、place URIを利用したブックマークなども同様にして作成することが可能だ。SQLを駆使すれば他にも様々なデータ操作ができるだろう。

  • 新着記事
  • 特集
  • ブログ