現在は、モジュールに「モジュールの実行優先度」といったパラメタが存在します。
実行優先度は、インストール時にモジュールにハードコードされたデフォルト値がシステムに通知されます。管理者は、コントロールパネル上でモジュールの優先度を上げ下げ(調節)することが可能です。
モジュールに優先度を持たせることで、
1. 特別な機能が実行される順番を制御したい。
[ HTML生成完了後に、特別な変換を行いたい場合 ]
[ 他のモジュールが処理を始める前に、システムに対し特別な初期化処理を行いたい場合 ]
2. モジュールの生成結果を同じ棚に表示する場合に、表示順番を手軽に制御したい。
[ 棚に設置したモジュールの生成結果の表示順序を、モジュールの優先度で指定したい]
といった問題を解決していました。
が…しかし、これでは解決できない問題があるため、
モジュールに優先度を持たせるといった方法は廃止することにします。
代用として、
A. 特別な処理を行いたいという要求があり、他に実現する方法が無い場合は、
システムにイベントハンドラを追加する。
モジュール側はインストール時に、通知して欲しいイベントハンドラをシステムに通知することにより、
イベントフックを実装する。
B. bookshelfにモジュールをアサインする時点で、
モジュールの生成結果の配置[表示]順を10段階で指定可能とする。
1 = [一番上に配置する]
10 = [一番下に配置する]
モジュールを呼び出し、動的なコンテンツを生成する処理(CSite)では、
配置順を元にモジュールを呼び出しHTMLを生成する。
C. articleにもモジュールと同様の配置順を指定可能とする。
bookshelfとarticleで同じ配置順の場合は、bookshelfを優先する。
Aのイベントハンドラによる通知は既に実装中なので、
BとCの実装を行います。
実行優先度は、インストール時にモジュールにハードコードされたデフォルト値がシステムに通知されます。管理者は、コントロールパネル上でモジュールの優先度を上げ下げ(調節)することが可能です。
モジュールに優先度を持たせることで、
1. 特別な機能が実行される順番を制御したい。
[ HTML生成完了後に、特別な変換を行いたい場合 ]
[ 他のモジュールが処理を始める前に、システムに対し特別な初期化処理を行いたい場合 ]
2. モジュールの生成結果を同じ棚に表示する場合に、表示順番を手軽に制御したい。
[ 棚に設置したモジュールの生成結果の表示順序を、モジュールの優先度で指定したい]
といった問題を解決していました。
が…しかし、これでは解決できない問題があるため、
モジュールに優先度を持たせるといった方法は廃止することにします。
代用として、
A. 特別な処理を行いたいという要求があり、他に実現する方法が無い場合は、
システムにイベントハンドラを追加する。
モジュール側はインストール時に、通知して欲しいイベントハンドラをシステムに通知することにより、
イベントフックを実装する。
B. bookshelfにモジュールをアサインする時点で、
モジュールの生成結果の配置[表示]順を10段階で指定可能とする。
1 = [一番上に配置する]
10 = [一番下に配置する]
モジュールを呼び出し、動的なコンテンツを生成する処理(CSite)では、
配置順を元にモジュールを呼び出しHTMLを生成する。
C. articleにもモジュールと同様の配置順を指定可能とする。
bookshelfとarticleで同じ配置順の場合は、bookshelfを優先する。
Aのイベントハンドラによる通知は既に実装中なので、
BとCの実装を行います。