Webチャート:3. 設計検討
created 2004-05-27 modified 2004-06-23
案を列挙
プラットフォーム
- サーバはLinux。ロケールはUTF-8
- クライアントはWindowsXP + InternetExplorer。ただし…
利用モデル
- チャットやホワイトボードのモデル
- オフィススイートのモデル
内部/外部データ形式(ファイルフォーマット)
- VML
- SVG
- 独自フォーマット
表示に関して
- IEに標準で組み込まれているVMLビューワ
- Adobe や Corel のSVGビューワ
- Javaアプレットによるビューワ(独自作成)
- Flash(Ming)によるビューワ(データを動的にロード。独自作成)
- Flash(Ming)でチャート1枚ごとにおのおのファイルを出力
- ActiveXによるビューワ(独自作成)
- GDでPNGを動的(or静的)に出力。ビューワ側はペイント系データとして表示。
編集に関して
- 既存ツールを利用し、VMLやSVGのファイルを作成してからアップロードする
- Javaで独自作成
- OpenOfficeのドローツールを利用できないか?
- Flashで独自作成
プラットフォーム
まずは以下で実現し、- サーバはLinux。ロケールはUTF-8
- クライアントはWindowsXP + InternetExplorer
その後、クライアントとしてLinux + Mozillaも利用可能にする余地を残しておく。
想定シナリオをいくつか
- MS Officeからの移行。つまりMS Officeのドローツールがインストールされている環境
- MS Officeなんて利用しない環境
現実問題としてMS Officeから移行するひとに「だめだこりゃ」といわれないレベルは必要。
しかし、利用にはMS Office不要であるとうれしい、と。そういうこと。
利用モデル
チャットのモデル
要素ごとに送信すると他のユーザのビューにも反映する。ホワイトボードともいえる。もともとのアイデアはこのモデルで、やりたいことも「遠隔勤務で打ち合わせ」だった。
- SVGの1要素を「行」としてチャット風クライアントでアップロードし
- 時系列で並べられるように番号をつけてDBMSに保存
- サーバ側スクリプトで、ある時点以降の「行」をならべて出力する
- ビューワはSVGビューワ
よくよく考えるとこうした利用法が必要な場面は少ないな…。
これはこれで、あってもいいが。
オフィススイートのモデル
- なにかをクリックして編集開始
- ローカルのツールで編集して
- 1枚のチャート全体をアップロード
でもそれだと全員がSVGビューワをインストールしないと見れない?
サーバ側でパージングして内部フォーマットに変換、VMLでも出力可にする?
それは作業量が多いからいやだ…
ともあれ今回はこの「オフィススイートモデル」で進める。
内部/外部データ形式(ファイルフォーマット)
- 内部で保持するフォーマットと、ブラウザが取得(し、その後描画)するフォーマットは、必ずしも同じでなくてもいい。
- 外部フォーマットとして既存のものを採用すれば、好みのエディタで編集しアップロードする使い方もありうる。
- フリーで利用できないものは検討しない。
データ形式 | メリット | デメリット |
---|---|---|
VML | IE5から(?)標準でレンダラが組み込まれており、誰でも読める。 | W3Cで「SVGと統一化するように」と標準化を却下された。 |
SVG | W3Cで標準化され、デファクトスタンダードになりつつある。 | AdobeやCorelがフリーのビューワプラグインを提供しているが、動作が重い。プラグインをインストールする必要があり、「誰でも読める」かというと微妙。 |
その他既存フォーマット | ||
独自フォーマット | 内部では独自フォーマットでもち、外部にはユーザごとの希望フォーマットとする方法もある。こうすると外部フォーマットの変更に影響を受けにくくなる。 |
表示に関して
うひゃ編集に関して
うひゃまとめ
うひゃlibRSVGでSVGをPNGに変換する案が有力かな…