Home »  » 2006年 » 5月 » 21日

XOOPS Cube 2.1にアップグレード

そろそろ、XOOPS CubeもAlpha3のリリース準備に入っていますが、次回のリリースでは従来のsystemモジュールへの依存性を無くし、systemモジュール無しでの運用を可能に出来るように考えています。

ちょうど良いタイミングでもあったので、お知らせでも書いたように、当サイトも従来までのXOOPS2.0.14 JPからXOOPS Cube2.1の最新CVSリポジトリ版にアップグレードをしました。

minahitoさんの「2つの新サイト」を信頼するならば、RYUSLABOに次ぐ2番目のXOOPS Cube2.1による公開サイトという事になります。既存のXOOPS2.0.xからアップグレードしたサイトという事であれば、唯一かもしれませんね!

で、既存のサイトからのアップグレード方法ですが、最終的にはアップグレードツールなども提供しないといけないと考えていますが、現行での手順は以下のようになります。

  1. とりあえず、サイトをクローズ状態にする。
    • これは、特に必須では無いですが、念のためという事です。
  2. XOOPS Cube2.1の最新版を入手して、mainfile.php以外を既存のサイトに上書きアップロードする。
    • いままでのアップデートなら、自分でハックを行った場合にはその箇所に対して差分適用等を行う必要がありましたが、XC2.1では大幅に構造が異なるので、既存のハックはほとんどは意味を持たなくなります。
      よって、もしハックを行っている場合にはその処理内容だけを別途記録しておいて下さい。(別途、今後説明予定のpreloadにて同等機能が実現できるかもしれません)
    • すべてのファイルの上書きが完了した段階で、上記の1.でサイトクローズしていなくても、自動的にサイトクローズ状態になります。
      これは、XC2.1では必須のモジュールがインストールされていない状態は、メンテナンス作業中やシステム障害中と判断できますので、自動的にサイトクローズにするようになっています。
  3. トップ画面にアクセスして、サイトクローズ画面が表示される場合には、管理者権限ユーザでログイン。
  4. 必須モジュールをインストールする専用画面が表示されるので、そのまま実行
    • この操作が完了すると、基本的にはXC2.1が動き出します。
  5. systemモジュールが提供していたブロックを、base, user, legacyRenderモジュールが提供しているブロックに入れ替えます。
    • 現在の所は、systemモジュールのブロックの使用を継続したとしても、そのまま動作します。
    • これらのブロックの移行に関してはアップグレードツールにて提供する予定です。
  6. systemモジュール内の一般設定の一部を新モジュールの一般設定に書き写す。
    • 「ユーザ情報設定 」をuserモジュールの一般設定に転記
    • 「METAタグ/フッタ設定」をlegacyRenderの一般設定に転記
    • これらの転記処理もアップグレードツールにて提供する予定です。
  7. サイトクローズを解除する。

とりあえず、手作業の場合でも、上記手順によってXC2.1への移行は完了します。

実は、当サイトがXOOPS 2.0.14JPの時には、私自身で作成したsysutilモジュールをベースに一部拡張を行ったモジュール等を利用しており、標準のXOOPSに比べて以下のような機能拡張を行っていました。

  • AutoLogin
    • 当サイトは、現在ユーザ登録を許可していないので、あくまでも私用の便利機能提供でしかないです。
  • 静的URLへの書き換え
    • このサイトで使用しているモジュールのURL構造にかなり依存したURLの書き換えルールを定義したハックです。
      Simplified URLの様な汎用性は全くありませんが、見た目ではXOOPSのモジュールを使用しているとは判らない様なサイトが構築できます。
  • ファイルベーステンプレートHack
    • 今回CSSベースのテーマに挑戦したため、テーマに依存したテンプレートを使用する必要があったため、このハックを適用しています。
  • modPukiWiki レンダー使用TextSanitizer Hack
    • 結局は、WordPress用に用意したmodPukiWiki用プラグインの方が自由度が高く、ブログの投稿ツールとも親和性を高められたので、実際にはこのHackは使用していません。

これらのうち、AutoLoginと静的URL書換、ファイルベーステンプレートに関しては、すべてXC2.1のpreloadとして実装できました。このためXC2.1のコアに対してはハックは行っていません。
これらのpreloadに関しては、今後少しずつ紹介していきたいと考えています。


コメント

このコメントのRSS

この投稿には、まだコメントが付いていません

コメントの投稿

ごめんなさい、現在コメントを付けることは出来ません


18 queries. 0.019 sec.
Powered by WordPress Module based on WordPress ME & WordPress

flagflag

メインメニュー

XOOPS初心者サーチ


Add to Google

Xoops Cube Project

XOOPS Cube Project Site

XC Developers Ring

http://img.simpleapi.net/small/http://www.peak.ne.jp/xoops/ SIZE:128x128(7.6KB)