Joomla! 1.5.x 備忘録

2008年1月から生まれ変わったJoomla! 1.5.xについての備忘録。
ここではJoomlaに関する話題について掲載する。

Joomlaについて 

非常に高性能なCMS(コンテンツマネージメントシステム)のJoomlaはPHPでできたMySQLを必要とする簡単便利なウェブ構築システムである。

サーバはPHPとMySQLが使用できることが条件となるが、現在では安いレンタルサーバでも稼動しすることができる。えいたろう自身、以前は自前サーバを構築していたが、現在はさくらインターネットの共用サーバを利用して公開している。

ページデータやナビゲーション構成はオンラインで管理画面にて作業し、随時データベース(MySQL)に登録管理される。インターネットがあれば自宅や事務所だけでなく、外出先でホットスポットやネットカフェなどを利用して世界中どこからでも、追加修正などの更新作業が可能である。

Joomla 1.6.xの開発が進む時節ですが、それゆえにJoomla 1.0.xからのJoomla 1.5.xへのマイグレーション(メジャーバージョンアップグレード)を検討されている方も多いのではないでしょうか?

少し前から活用しているのですが、mtwMigratorというコンポーネントを利用してJoomla 1.0.xからJoomla 1.5.xへのマイグレーションを行える。Joomla 1.5.x標準?の移行コンポーネント(migration component:最新バージョンはPasamio Project's FRS サイトにあります。)より使いやすい。

自分なりの手順をまとめたので紹介します。
なお下記の手順はさくらインターネット環境で、MySQLのバージョン4.x->5.xへのアップデートも同時に行う手順になっています。
状況により幾分手順が異なると思いますが、参考になれば幸いです。


1. Joomla! 1.0.x環境のバックアップ(作業前の安全策)

(ア) 構成ファイルFTPバックアップ

(イ) データのMySQL dumpバックアップ

2. Joomla! 1.0.x構成ファイルのクリーニング(ローカル環境にて)

5. Joomla! 1.5.xインストール

(ア) Joomla! 1.0.x構成クリーニングファイルのインストール

(イ) Joomla! 1.5.xインストール

(ウ) Joomla! 1.5.x初期構築

(エ) Joomla! 1.5.x基本追加ソフトのインストール

(オ) Joomla! 1.5.xマイグレーションソフトのインストール、設定

① com_mtwmigratorインストール、

② com_mtwmigrator追加ソフトのインストール

③ com_mtwmigrator設定

6. CCKソフトの導入、設定

7. 追加ソフトの導入

8. Joomla! 1.5.xデータのMySQL部分 dumpバックアップ

(ア) jos_modules

(イ) jos_modules_menu

9. Joomla! 1.5.xデフォルトデータの削除

(ア) jos_menu id=1 削除

(イ) jos_modules テーブル削除

(ウ) jos_modules_menu テーブル削除

10. Joomla! 1.0.xからJoomla! 1.5.xへのマイグレーション

(ア) com_mtwmigrator 実行

(イ) jos_modules テーブル書き戻し

(ウ) jos_modules_menu テーブル書き戻し

11. Joomla! 1.5.xデータのMySQL dumpバックアップ

12. MySQLのバージョンアップ

(ア) データベース削除

(イ) バージョンアップ

(ウ) Joomla! 1.5.xのインポート

14. Joomla! 1.5.xコンポーネントの設定

15. Joomla! 1.5.xモジュールの設定

16. Joomla! 1.5.xマンボットの設定

17. Joomla! 1.5.xプラグインの設定

18. Joomla! 1.5.xデータのリンク確認、修正

19. Joomla! 1.5.xテンプレートの加工、調整

20. アクセス解析の設定

21. ドメインをJoomla! 1.0.xからJoomla! 1.5.xに移行

22. ウェブツールの設定

23. Joomla! 1.0.x環境の閉鎖、削除

(ア) FTPにて構成ファイル削除

(イ) MySQLにてデータ削除

Joomla! 1.5.xではモジュールの出力スタイルが下記のようになっています。

<jdoc:include type="modules" name="user1" style="custom" />

Comparison of the Joomla! 1.5 standard Module chromes
StyleOutputAppearance
rounded
(default for menus on milkyway)
<div class="module_menu"> <div> <div> <div> <h3>Main Menu</h3> <ul class="menu"> <li><!-- various menu items --></li> </ul> </div> </div> </div> </div>

Image:Module_chrome_rounded.png

none <ul class="menu"> <li><!-- various menu items --></li> </ul>

Image:Module_chrome_none.png

table <table cellpadding="0" cellspacing="0" class="moduletable_menu"> <tr> <th valign="top">Main Menu</th> </tr> <tr> <td> <ul class="menu"> <li><!-- various menu items --></li> </ul> </td> </tr> </table>

Image:Module_chrome_table.png

horz <table cellspacing="1" cellpadding="0" border="0" width="100%"> <tr> <td valign="top"> <table cellpadding="0" cellspacing="0" class="moduletable_menu"> <tr> <th valign="top">Main Menu</th> </tr> <tr> <td> <ul class="menu"> <li><!-- various menu items --></li> </ul> </td> </tr> </table> </td> </tr> </table>

Image:Module_chrome_horz.png

xhtml <div class="moduletable_menu"> <h3>Main Menu</h3> <ul class="menu"> <li><!-- various menu items --></li> </ul> </div>

Image:Module_chrome_xhtml.png

outline <div class="mod-preview"> <div class="mod-preview-info">left[outline]</div> <div class="mod-preview-wrapper"> <ul class="menu"> <li><!-- various menu items --></li> </ul> </div> </div>

Image:Module_chrome_outline.png

原文

What is module chrome?

参考

Joomla 1.0.xのmosLoadModulesについてのスタイル

Joomla!のSearch Engine Friendly URLsのツールのひとつでUnicode slugs SEFを、Joomla! 1.5.xのインストールが終わったら最初に導入してしまう。

SEFの目的よりも、記事(Article)のエイリアス(Alias)などに日本語が入らないなどのJoomla! 1.5.xに内包する日本語の不具合を、ちょうど良い感じに調整してくれる。

Joomla! 1.0.xとJoomla! 1.5.xではテンプレートの構造が変更になった。

Joomla! 1.5.x では下位互換のためにレガシーモードを搭載し、Joomla! 1.0.xで使用していたテンプレートがそのまま使えるが、標準状態ではレガシーモードが作動していないので気持ちのよいものではない。

rhuk_solarflare_iiをJooma! 1.5.x用に変更してみよう。参考資料は、Joomla! Documentationにある、Upgrading your template index file - Joomla! Documentationが有効な情報だ。

Upgrading your index.php file

  1. Replace _VALID_MOS with _JEXEC
  2. Replace $mosConfig_absolute_path with $this->baseUrl
  3. Replace $mosConfig_live_site with JURI::base()
  4. Replace fixed strings with translatable strings. For example, replace echo 'Hello' with echo JText::_( 'Hello' )
  5. Replace calls to mosGetParam with calls to JRequest::getVar. For example, replace $id = mosGetParam( $_REQUEST, 'id', 0 ); with $id = JRequest::getVar( 'id', 0 );
  6. Replace mosShowHead(); with <jdoc:include type="head" />
  7. Replace mosMainBody() with <jdoc:include type="component" />
  8. Replace mosCountModules( $position_name ); with $this->countModules( $position_name );

Module Chrome/Style Conversion Chart

Joomla! 1.0Joomla! 1.5
-3 rounded
-2 xhtml
-1 raw
0 or empty table

http://docs.joomla.org/Upgrading_your_template_index_file より抜粋