2008年5月25日日曜日

Apacheの mod_rewriteで 否定の条件を付ける方法

ある階層の下で、CSSやJS以外をリライトしたい場合などに。

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/foo/(css|js)/
RewriteRule ^/foo/ /bar/dist.php [L]

参考:OZACC.blog: mod_rewriteの否定パターン(コメント欄にある方)

2008年5月13日火曜日

Flash表示に最低限必要な HTML

とりあえずこれだけあればIE(6,7)でもFirefox(2,3beta)で表示できた。

<object data="/path/to/swf" width="800" height="600" type="application/x-shockwave-flash"> <param name="movie" value="/path/to/swf" /> </object>
IEの仕様変更により、フラッシュなどのアクティブ化のクリックが不要になったので、JavaScriptによるレンダリングも不要になった。(Windows UpdateしてないIEのことを考えると、しばらくはJavaScriptで表示したほうが良い?)

WWW SQL Designerのインストール&設定

PHP & JavaScriptでできているサーバインストール型のER図作成ツールWWW SQL Designerのインストールメモ。


ダウンロード
WWW SQL Designerから。現在の最新版は2.0.1。


インストール
ZIPを展開してWebサーバ配下に配置するだけ。


データの保存方法
下記の4種類の保存方法がある。サーバ側のファイル(php-file)に保存するのが一番手軽で使い勝手が良い。
サーバ側の保存のデフォルトを変えるには、js/config.jsを編集する。

  1. クライアント側にXMLで保存
    • 表示されるXMLをコピー&ペーストしてテキストファイルに保存する。
    • LOADするときもコピー&ペースト。
    • 使い勝手は良くない。
  2. サーバのMySQLに保存 ("php-mysql")
    • 下記手順でセットアップする
      1. (必要に応じて)MySQLにデータ保存用のスキーマを作る
      2. backend/php-mysql/index.phpの先頭部分にあるDB接続情報を編集
      3. backend/php-mysql/database.sqlを実行してデータ保存用のテーブルを作成 (テーブル名は上記のindex.phpに合わせる)
    • PHPからMySQLへのアクセスにはphp_mysqlエクステンションを使っている
  3. サーバのファイルに保存 ("php-file")
    • backend/php-file/dataに保存される。
    • 保存されるファイルの中身はXMLのテキストファイル。
  4. "php-blank"に保存
    • 詳細不明。未実装("Not Implemented")のようだ。


リレーション(テーブル間の関連の線)の作り方
  • リレーションを作るにはフィールドを選択して「Create foreign key」ボタンを押す。
  • しかし、Primary Keyのフィールドでないとボタンが押せない。その他のフィールドでもCreate foreign keyボタンを押下可にするには、js/wwwsqldesigner.jsの1499行目を下記のように変更する。
    this.dom.foreigncreate.disabled = !(this.selected.isPrimary());

    this.dom.foreigncreate.disabled = false;
  • リレーションを付けるともう一方のテーブルに勝手にフィールドが追加されてしまう。勝手に追加されるフィールド名は、Optionsボタンからある程度編集できる。


MySQL以外のER図を書きたい場合
デフォルトで用意されているのはMySQLとSQLite。
他のDBMSでも定義を書けば使えるようだ。(未検証)


その他の注意点
undo機能が無いので削除や"Clear tables"などをする際には注意。
特に、SAVEと間違えてLOADすると悲惨なので注意!



参考: ウノウラボ Unoh Labs: ブラウザでER図が描ける「WWW SQL Designer」紹介 (ver.1.3についての記述なので、ver.2とはMySQL接続設定のPHPファイル等が少し違う)


2008/08/05 追記:
WWW SQL DesignerのSave・Loadまわりが使い辛いので改良した。改良方法は floatingdays: WWW SQL Designerの Save ・ Loadをスマートに改良 に書いた。(ここに追記するの忘れてた。)

ブログ アーカイブ

tags