Actions

Mahara日本語ドキュメント/カスタマイズ/データベース

From Mahara Wiki

< Mahara日本語ドキュメント‎ | カスタマイズ
Revision as of 04:49, 10 August 2011 by Mits (talk | contribs)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

作成中です - mits

Maharaのカスタマイズに関して、サイトのインストール中にデータベースを変更して、あなたのデータベースカスタマイズ部分を更新する必要が生じる場合もあります。

Mahara 1.2以降、サイト特有のデータベース更新は「/local」ディレクトリにカスタムインストールおよび更新コードを入れることにより、Moodleと同じくコアのインストールおよびアップグレードコードからは分離されました。このことにより、ローカルのカスタマイズはMaharaコアで使用されるデータベースに関して、独立した一連のバージョンナンバーのデータベースを使用することができます。

データベースを変更するカスタムPHPコードは「htdocs/local/install.php」および「htdocs/local/upgrade.php」に入ります。

install.php において:

コアデータベーステーブルが設定された後、local_preinst()関数が実行されます。そして、プラグインテーブルが設定される前、すべてのコアデータベーステーブルが設定された後、adminユーザが作成された後、そしてadminユーザがログインする直前にインストール処理の最後としてlocal_postinst()関数が実行されます。function gets run after the core database tables have been set up, and before the plugin tables are set up; and local_postinst() is run at the very end of the installation, after all the database tables have been created, after the admin user has been created, and just before the admin user is logged in. We may add more hooks in this file later as required.

version.php and upgrade.php work the same way as in the Mahara core. When the admin/upgrade.php page is hit, the local code version number (in local/version.php) is compared against the 'localversion' in the database's config table. If the code is newer than the database, then the xmldb_local_upgrade function (in local/upgrade.php) is run, and passed the database 'localversion'. Code placed in here should test the database version against the code version. Look in /htdocs/lib/db/upgrade.php for examples of how it looks for the core.