2004年06月10日
川俣晶の縁側ソフトウェアMagSite1開発日誌total 2417 count

「こんなこともあろうかと」配慮されたMagMLレンダラの仕様変更

Written By: 川俣 晶連絡先

 MagSite1を部分的にModulaF対応する作業を進めていますが、一通りある程度の範囲内で筋が通るだけの動作を実現するまでは公開できないのが辛いところです。作業はかなり進んでいますが、まだ今しばらくの作業が必要です。

 それはさておき、MagMLのレンダラの動作結果を変更する必要が生じました。

 MagMLのレンダラは、MagMLのソースを読み込んで、XHTMLのコードを吐き出します。しかし、その中にCSSを参照するclass属性や、画像メニューなどのやや複雑なUIも決め打ちで含んでいます。これらをそのまま使うことは、ModulaFの強力なカスタマイズ性や複数デバイス対応に反するので、仕様変更することにしました。

 そこで問題になるのは、現在のMagSite1では、レンダリングはコンテンツ作成時に行い、レンダリング結果をコンテンツファイルの一部としてファイルに保存していたことです。既に作成してしまったレンダリング結果をどうするかは、ちょっとやっかいな話になります。特に、旧バージョンのレンダリング結果と、新バージョンのレンダリング結果が混在したりすると、ややこしさも倍増です。

 しかし、「こんなこともあろうかと」レンダリング結果を書き込む時に、レンダリングした日付時刻と、レンダラのバージョンも一緒に書き込むようにしていました。具体的にどんな状況が起こるかは分からないものの、レンダリング結果が変更される事態は起こるものと考えて配慮してしてあったものです。

 どのバージョンでレンダリングした結果か分かれば、旧バージョンと新バージョンのレンダリング結果で混乱することはないはずです。

ないはずですが…… §

 混乱することはないはずですが、新バージョンと旧バージョンを判定して正しく処理を行うのは面倒です。ファイルに記録されてしまったレンダリング結果を全て更新すべきか。もし、更新しないと決めた場合、再レンダリングはどのタイミングで行うか。リクエストがあるごとに再レンダリングすべきか。どこかにキャッシュしておくべきか。キャッシュするとしたら、どこにキャッシュすべきか。

 もう1つ、レンダリング結果をファイルに保存するようにしたのは、MagMLのバージョン間で非互換性が発生した時、旧バージョンで正常にレンダリングできるものが、新バージョンでレンダリングできずにエラーになる可能性を想定したためです。その問題をどう扱うかはまだ未定なのが悩ましいところです。

Facebook

キーワード【 川俣晶の縁側ソフトウェアMagSite1開発日誌
【MagSite1開発日誌】の次のコンテンツ
2004年
06月
16日
現在の作業目標、ModulaFをちらっと体験できる最低限の機能を含むMagSite1のリリース
3days 0 count
total 2132 count
【MagSite1開発日誌】の前のコンテンツ
2004年
05月
20日
ModulaFに取り組んで気付くこと
3days 0 count
total 2259 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

http://mag.autumn.org/tb.aspx/20040610164912
サイトの表紙【MagSite1開発日誌】の表紙【MagSite1開発日誌】のコンテンツ全リスト 【MagSite1開発日誌】の入手全リスト 【MagSite1開発日誌】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.