しらぎくモバイルシステムFULLでのHTMLユーザ独自処理。

しらぎくモバイルシステムFULLでのHTMLユーザ独自処理について。

しらぎくモバイルシステムFULLがHTMLを処理する前によりモバイルに適切なHTML文書になるように事前処理を行う事が出来ます。

HTMLユーザ独自処理の概要。

しらぎくモバイルシステムFULLでは、HTMLの事前処理を行えるよう、HTML処理前にPerlスクリプト ./etc/txtHook.pl (txt.cgiなどの設置ディレクトリ基準)があればそれを requireし、その中にある kconv::txtHook を呼び出します。

これに依り、例えば、以下のような処理が可能になります。

事前にHTML文書を依り最適なフォーマットに変換出来ます
PC向けには適切な記述も、モバイルで閲覧すると不適切になると言う事はしばしばあります。

そんな場合でも、ブロックを削除したり配置を入れ替えるなどしてより適切な文書フォーマットに変換してから処理を通す事が可能になります。

事前に何らかの処理を行わせる事が出来ます
アクセスカウンタやアクセス解析などを実行させる事が可能になります。
他のスクリプトとの連携も可能になります
予め決めておいたクエリを渡す事で、掲示板やデータベースなどとの連携も可能になります。

HTMLユーザ独自処理を行うには。

HTMLユーザ独自処理を行うには、設置者がPerlでのコーディングに精通している必要があります。

txt.cgiなどの設置ディレクトリ基準にあるサブディレクトリ etc 内に txtHook.pl と言うPerlコードファイルを設置し、そこに必要なコードを記述します。

  • 一つのスクリプトを複数設定の元で共有している場合、デフォルトの設定(設定ファイルが KConfig.pl となる設定)以外については、ファイル名 txtHook と関数名 txtHook の直後に _設定名 を付けてください。
    • 例えば、設定ファイルが KConfig-AnotherSetting.pl となる設定については、 txtHook_AnotherSetting.pl と言うファイルに kconv::txtHook_AnotherSetting.pl と言う函数を記述します。

データの引渡し。

  • HTML文書そのものは、グローバル変数 $kconv::r にHTML文書データが入りますので、これを直接操作してください。
  • その他は %ENV などの環境変数を参照すれば良いでしょう。

注意事項。

txtook.pl 内に記述されるべき函数・ kconv::txtHook は、通常のテキスト処理と同じパッケージに在ります。

  • つまり、通常のテキスト等の処理パッケージは全て kconv となります。

ですので、変数を扱う場合は必ず my 修飾子を付けて当該ファイル内のみ有効な変数とするようにしてください。

また、以下のパッケージ以外のパッケージ名の下請ルーティンにデータを引き渡す事も可能です。

  • general
  • kconv
  • img