flat7th

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をOKにすればいいだけじゃん。
でもそれだと全員がSVGビューワをインストールしないと見れない?
サーバ側でパージングして内部フォーマットに変換、VMLでも出力可にする?
それは作業量が多いからいやだ…

ともあれ今回はこの「オフィススイートモデル」で進める。

内部/外部データ形式(ファイルフォーマット)

  • 内部で保持するフォーマットと、ブラウザが取得(し、その後描画)するフォーマットは、必ずしも同じでなくてもいい。
  • 外部フォーマットとして既存のものを採用すれば、好みのエディタで編集しアップロードする使い方もありうる。
  • フリーで利用できないものは検討しない。

データ形式メリットデメリット
VMLIE5から(?)標準でレンダラが組み込まれており、誰でも読めるW3Cで「SVGと統一化するように」と標準化を却下された。
SVGW3Cで標準化され、デファクトスタンダードになりつつある。AdobeやCorelがフリーのビューワプラグインを提供しているが、動作が重い。プラグインをインストールする必要があり、「誰でも読める」かというと微妙。
その他既存フォーマット
独自フォーマット内部では独自フォーマットでもち、外部にはユーザごとの希望フォーマットとする方法もある。こうすると外部フォーマットの変更に影響を受けにくくなる。

表示に関して

うひゃ

編集に関して

うひゃ

まとめ

うひゃ

libRSVGでSVGをPNGに変換する案が有力かな…