WWW SQL Designerをちょっとカスタマイズしてみた

日本語化してみる

旧バージョンに関してはid:ku-sukeさんのエントリWWW SQL Designerを便利に使うTipsとかに日本語化するデータがありますが、最新のバージョンではlocale関連の情報はxml形式に変更されているようなので作ってみました。

ja.xml.tgz

config.jsを下記の様に修正するとI/Fが日本語化されます

AVAILABLE_LOCALES:["en","ja","fr","de","cs","pl","pt_BR","es", "ru"],
DEFAULT_LOCALE:"ja",

バックエンドにPostgreSQLを使える様にする

私の開発環境には、MySQLPostgreSQLも両方入っているのですが、MySQLを使用している案件があまり多くないのでMySQLは必要なときだけ起動してます。
この状態だとWWW SQL Designerを使うのにちょっと不便なので、PostgreSQLをバックエンドとして使える様にしてみました。

WWW SQL Designerではバックエンドの処理をプラグインっぽく追加出来る構成になっているので、php-mysqlを元にしてPostgreSQL対応のものをつくりました。
インポートに関しては色々と面倒なのでまだ途中ですが、保存/復元先としては問題なく使えると思います。

php-postgresql.tgz

こちらも、config.jsを下記の様に修正するとPostgreSQLを選択出来ます。

AVAILABLE_BACKENDS:["php-postgres","php-mysql","php-blank","php-file","php-sqlite"],
DEFAULT_BACKEND:["php-postgres"],

あとは、付属のdatabase.sqlを参考に保存用のテーブルを作成して、付属のindex.php内のsetup_saveloadlist関数に定義されているデータベースの情報を適宜書き換えれば動くと思います。

ページを閉じる(遷移する)時にアラートをだす

WWW SQL DesignerはWebベースのアプリなので、編集中にブラウザを閉じたり、別ページに遷移してしまうとそれまでの作業が消えてしまいます。
#実際何度かやっちゃってます(;_;

で、超手抜きですがindex.htmlに以下のような処理を追加して、ブラウザを閉じる前に確認をする様にして使ってます。

<script type="text/javascript">
  window.onbeforeunload = function(event){
  event = event || window.event; 
  event.returnValue = _("closealert");;
}
</script>

あとは使用している言語のxmlに以下のようなメッセージ定義を追加すればオッケーです。

保存していない修正は失われます。