

== ALTSYS == 代替システムモジュール&ライブラリ
●要旨
使いづらいシステムモジュールの代わりとして作ってきたblocksadminやtplsadminといったコアに関する操作を統合したモジュールです。
Duplicatable V3モジュールから、ライブラリとして利用できる形にしたため、構造から大きく見直しています。
バグ報告を大歓迎します。
今後は、avamanも吸収し、私自身のメンテナンスを楽にしたいと思います。
●インストール
- mainfile.php にて XOOPS_TRUST_PATH を設定してください
- アーカイブのxoops_trus_path/内を、XOOPS_TRUST_PATHに展開してください
- アーカイブのhtml/内を、XOOPS_ROOT_PATHに展開してください
- モジュールとしてインストールしてください
- 管理画面テーマ機能を利用する場合は、下の手順に従ってください
●アップデート
0.2x や 0.3x からのアップデートでは、公開側(XOOPS_ROOT_PATH/modules/altsys)をいったん消してから、上書きしてください。
0.4から、altsysは見かけ上メイン部を持つようになりました。メインメニューなどに、ALTSYSが表示されて困る場合は、モジュール管理から表示順を0に変更してください。
●機能
- X2コアよりも判りやすくブロック管理ができます
- X2コアよりも判りやすく権限管理ができます
- 本来DBテンプレートが持つ性能を活かした形で編集できます
- テンプレートのインポート/エクスポートが自由自在です
- テンプレート編集の差分を表示します
- 対象テンプレートを見つけやすくできます
- テンプレート編集をしやすくするためのDreamWeaver用Extensionを自動生成します
- X2管理画面の管理メニュー部分を表示改善できます
- 管理画面を通常テーマで表示することができます(管理画面テーマ機能参照)
- テンプレート自動更新機能を提供します(テンプレート自動更新機能参照)
- X2, XCL2.1, ImpressCMS等、あらゆるコアの操作性・開発効率を向上します
●テンプレート自動更新機能
DBテンプレートをローカルで編集する際には、ファイルを更新するだけで、自動的にDBテンプレートへ反映してくれる機能があると、とても開発効率が向上します。altsysでは、3つのパターンを提供します。
(1)テーマ内テンプレート自動更新機能
サイトやテーマ開発者にとって便利な機能です。
mainfile.phpのcommon.php読込行の直後に、以下のように1行挿入します。
include XOOPS_ROOT_PATH."/include/common.php";
include XOOPS_TRUST_PATH."/libs/altsys/include/autoupdate_from_theme.inc.php" ;
これにより、選択されたテーマ内のtemplates/フォルダ内に置かれたテンプレートを自動的に読み込むようになります。
(2)モジュール内テンプレート自動更新機能
モジュール開発者にとって便利な機能です。
mainfile.phpのcommon.php読込行の直後に、以下のように2行挿入します。
include XOOPS_ROOT_PATH."/include/common.php";
$tplsadmin_autoupdate_dirnames = array( 'piCal' ) ;
include XOOPS_TRUST_PATH."/libs/altsys/include/autoupdate_from_module.inc.php" ;
このように記述することで、piCalモジュールのテンプレートの元ファイルを編集するだけで、即時にデータベースに反映されます。includeする前に、$tplsadmin_autoupdate_dirnamesに配列をセットしておくことが重要です。
もちろん複数のモジュールを同時指定することも可能です。array( 'piCal' , 'tinyd0' ) のように指定します。
(3)TRUST_PATH内テンプレート自動更新機能
D3モジュール開発者にとって便利な機能です。
mainfile.phpのcommon.php読込行の直後に、以下のように2行挿入します。
include XOOPS_ROOT_PATH."/include/common.php";
$tplsadmin_autoupdate_mydirnames = array( 'pico' , 'd3forum' ) ;
include XOOPS_TRUST_PATH."/libs/altsys/include/autoupdate_from_d3module.inc.php" ;
このように記述することで、picoモジュールやd3forumのテンプレートの元ファイルを編集するだけで、即時にデータベースに反映されます。includeする前に、$tplsadmin_autoupdate_mydirnamesに配列をセットしておくことが重要です。
(1)〜(3)のいずれも、併用が可能です。
●管理画面テーマ機能
管理画面を、公開画面用のテーマで表示します。これにより、管理画面も公開画面も同じ画面でシームレスに利用できるようになり、利用者にとっての違和感がなくなるメリットがあります。使い勝手全体も、テーマ・テンプレートレベルでいくらでも向上させることができます。
コアタイプによって有効化する方法が違います。(俺的とXOOPS2.2には対応していません)
(1) XOOPS2.0.x
mainfile.php のcommon.php読込行の直後に、以下の1行を挿入します。
include XOOPS_TRUST_PATH.'/libs/altsys/include/admin_in_theme.inc.php' ;
無効化するには、この1行を削除してください。
(2) XOOPS Cube Legacy 2.1
settings/site_custom.ini.php に以下の行を挿入します。(このファイルがなければ作る)
[RenderSystems]
Legacy_AdminRenderSystem=Legacy_AltsysAdminRenderSystem
[Legacy_AltsysAdminRenderSystem]
path=/modules/altsys/include
class=Legacy_AltsysAdminRenderSystem
無効化するには、これらの行を削除してください。
管理画面テーマは、altsysの一般設定で指定します。
つまり、公開側テーマと管理側テーマは別々のものを指定できます。
ここを空欄にするだけでも、管理画面テーマを無効化することができます。
問題発生時には、この方法を使うのがお勧めです。
ほとんどのブロックを管理画面テーマに表示することが可能ですが、ブロック管理で「前ページ」と指定しても管理画面には表示されません。ALTSYSモジュールに対して表示指定されたブロックだけが表示されます。管理画面にも公開画面にも表示したいブロックであれば、「全ページ」と「ALTSYS」をCTRL+クリックで両方選択してください。
管理画面でのハマリを避けるために、管理画面にはかならず管理メニューブロックが表示されます。明示的に表示指定をしていない場合、左ブロックの一番上に強制挿入されます。表示指定されていれば、そのまま表示されます。
●管理メニュー
0.4から、「管理メニュー」ブロックがaltsysにつきました。ブロック管理から、ALTSYSモジュールに対して表示指定することで、管理画面内にブロック表示されます。もちろんこれは、管理画面テーマが有効になっている場合のみです。
XOOPS2.0.x において、通常管理画面を利用している場合(管理画面テーマを利用していない場合)、altsys一般設定の「管理者用メニューの書き換え」が意味を持ちます。いろいろ試してみてください。これによってもし画面がおかしくなったなら、cache/adminmenu.php というファイルを削除してから、あらためて管理画面に入るだけで復旧します。(確認画面で「はい」を押してください)
●言語ファイルオーバーライド
0.5から言語ファイルオーバーライド機能がaltsysにつきました。言語定数管理から、モジュール->言語->ファイルを選んで、必要な部分を書き換えるだけです。
ただし、これが有効にならないケースも多い点に注意が必要です。
D3LanguageManagerに対応したモジュールであれば、無条件で有効に機能しますが、それ以外のモジュールについては、コアバージョンによる制約があります。
XoopsCube Legacy2.1であれば最も簡単です。アーカイブ添付のpreloadを有効にするだけです。これで一般的なモジュールは書き換え可能です。
従来のXOOPS2について、この機能を有効にするためには、コアHackが必要になってしまいます。言語ファイルの共通読込処理を書き換える形になるため、比較的ハードルも高く、あまりお勧めしません。(やり方もここでは書きません)
v0.71 (2008-12-21)
- XCL2.1のcl::{BlockClass}に対応した (thx tohokuaiki)
- XOOPS2.3での動作を確認した
- プレビュー時にグループ権限が失われていたのを修正
- RTLサポート (leftやrightを直に記述せずに、_GLOBAL_LEFT/RIGHTを使う)
- 言語定数更新
-- persian (thx voltan)
- _ADM_USE_RTLが定義されていない環境で_GLOBAL_LEFTがrightになるバグを修正 0.71a
v0.70 (2008-12-14) ※ 要モジュールアップデート
- myblocksadminをまるまる書き直した
- 表示対象グループを直接選択できるようにした
- ImpressCMSに対応した(ページIDおよび追加ブロックポジション)
- XOOPS2.2への対応をやめた
- common/fckeditor (fckxoops)でカスタムブロックを編集できるようにした
- カスタムブロック編集でspawへの対応をやめた
- 言語定数追加
-- portuguesebr (thx leco1)
v0.61 (2008-09-05)
- D3NotificationHandler を追加
- 言語定数オーバーライドで modinfo.php が二度読まれてしまう現象を修正 0.61a
v0.60 (2008-08-07)
- Text_Diffが吐くassert()によるWarningをとりあえず消した
- modinfo.phpを読み込まないケースでNoticeが出ていたのを修正 (thx shige-p)
v0.59 (2008-05-22)
- XCL2.1における管理画面テーマで、CSSが読み込まれない問題の改善
- XCL2.1におけるブロック管理の相性問題改善
- gtickets.php の更新
- 言語ファイル更新
-- persian (thx stranger) 0.59a
v0.58 (2008-04-10)
- パンくず関連のバグ修正
- 管理画面テーマのテーマ下言語ファイル対応
- XOOPS_TRUST_PATHを設定していない場合の対応追加
v0.57 (2008-04-01)
- Altsysを開始モジュールとしてしまった場合の対処を追加
- 言語マネージャのtypo修正 (thx nobunobu)
- テンプレートキャッシュ内ファイルの誤削除修正 (thx nobunobu)
- XCL2.1用言語マネージャフックpreloadのテーマ下言語ファイル対応
- XCL2.1用言語マネージャフックpreloadのmy_language/下ページタイプ言語ファイル対応
- XCL2.1の管理画面テーマで、メニュー項目が重複するバグの修正 (thx nobunobu)
- AltsysBreadcrumbs クラスの新設
- Altsys内のxoops_breadcrumbsを比較的真面目に作った
- 言語ファイル追加
-- spanish (thx debianus)
v0.56 (2007-12-28)
- カスタムテンプレートの実装
- 複製ブロックのfunc_numがなるべくダブらないようにした
- 管理画面テーマで Module.class.php でオーバーライドするモジュールに対応した
- XOOPS_ROOT_PATH/my_language による言語定数の差分オーバーライドを実装した
- 差分オーバーライド状況を管理画面でも確認できるようにした 0.56a
- NBFrameへの対応 0.56a
v0.55 (2007-07-12)
- 本家版コア2.0.14/15/16との互換性改善
- XoopsTplを継承したD3Tplクラスの実装・利用
- 管理画面メニュー書き換え機能の改善 (thx nobu) 0.55a
- 言語ファイル更新 0.55a
-- persian (thx voltan)
- 言語ファイル追加 0.55a
-- german (thx rene)
v0.54 (2007-07-06)
- 管理画面テーマを使うとエラー表示がなくなってしまったのを修正
- 管理画面テーマとお手軽高速化Hackとの衝突を回避
v0.53 (2007-06-05)
- 細かな操作性向上
- 言語ファイル名変更
-- ja_utf8 (旧 japanaeseutf)
v0.52 (2007-05-11)
- ブロック強制複製可能オプションの新設
- キャッシュファイルの生成ルール変更
- 言語ファイルオーバーライドで modinfo.php も扱えるようにした
v0.51 (2007-05-10)
- 通常モジュールも言語ファイルオーバーライドシステムで扱えるように仕様変更
- XoopsCube Legacy 2.1 用のランゲージマネージャオーバーライドpreloadの同梱
- mylangadmin の操作性改善
- altsys専用mymenuのテンプレート化
- 同サブメニューのテンプレート化
v0.50 (2007-05-07)
- 言語ファイルオーバーライドシステムmylangadminの実装
- mymenuのテンプレート化
- テンプレート編集での確認ボタンの追加
- 言語ファイル追加
-- japaneseutf
- mylangadminの互換性改善 0.50a
- 言語ファイル修正 0.50a
-- persian (thx voltan)
v0.41 (2007-04-04)
- tplsadmin をテーマ編集対応した (dbthemeモジュールとの併用時)
- 管理画面テーマの対Legacy 2.1互換性を向上させた (thx sakichi)
- お手軽高速化Hackでメッセージが表示されていなかったのを修正 0.41a
v0.40 (2007-03-27) ※ 公開側も上書きしてください
- 構造を大幅に変更した
- 管理画面テーマをXC Legacy 2.1で動くようにした
- 管理画面メニューをブロック化した
- ドキュメントを少し整備した
v0.36 (2007-03-23)
- 管理画面テーマの互換性のさらなる改善
- 管理画面テーマで、本家版2.0.xでもブロック表示を可能とした
- 管理画面テーマブロック表示仕様変更 (対象に"ALTSYS"が明示的に指定された時だけ)
- 管理画面テーマでのxoops_breadcrumbs対応
- PHPだと管理画面テーマが機能しなかったのを修正 (thx sakichi) 0.36a
v0.35 (2007-03-22)
- 管理画面テーマの互換性改善
- ブロック表示を可能にした (現状ではJP版のみ)
v0.34 (2007-03-21)
- 管理画面を公開側テーマで表示する機能の追加
v0.33 (2007-03-20)
- 管理メニューの書き換え機能をもう少し改良した
- テンプレートの高度な管理で、HTML以外のテンプレートの処理を変更
- 言語ファイル更新
-- persian (thx voltan)
v0.32 (2007-03-19)
- 管理メニューの書き換え機能の完成度を高めた
- 0.31でインストールできなくなっていたバグの修正 (thx fourpsk)
v0.31 (2007-03-18)
- 管理メニューの書き換え機能追加
v0.30 (2007-03-14) ※ 公開側をいったん消してください
- ファイル構成の見直し(以降はXOOPS_TRUST_PATHのみ上書きすれば良い形にした)
v0.21 (2006-10-27)
- テンプレートへの埋め込みでリンク先がおかしかったのを修正 (thx makimaki)
- トルコ語追加 (thx voltan)
v0.20 (2006-10-18)
- Cube 2.1 beta で動くようにした
- メニューがおかしかったのを修正 (thx usagiya) 0.20a
v0.12 (2006-07-18)
- Cube 2.1 alpha3 でsystemモジュールが存在しない場合への対応を追加
v0.11 (2006-06-21)
- myblocksadmin上のspawリンクがおかしかったのを修正 (thx nico)
- アイコン更新 (thx argon)
v0.10 (2006-05-19)
- 最初のリリース
- myblocksadmin
- mytplsadmin
- mypreferences
- compilehookadmin
- & の扱いを修正 (myblocksadmin)
- XOOPS 2.2対応 (myblocksadmin)