Actions

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

From Mahara Wiki

< Mahara日本語ドキュメント‎ | カスタマイズ
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
作成中です - [[User:Mits|mits]]
 
 
 
Maharaのカスタマイズに関して、サイトのインストール中にデータベースを変更して、あなたのデータベースカスタマイズ部分を更新する必要が生じる場合もあります。
 
Maharaのカスタマイズに関して、サイトのインストール中にデータベースを変更して、あなたのデータベースカスタマイズ部分を更新する必要が生じる場合もあります。
  
Mahara 1.2以降、サイト特有のデータベース更新は「/local」ディレクトリにカスタムインストールおよび更新コードを入れることにより、Moodleと同じくコアのインストールおよびアップグレードコードからは分離されました。このことにより、ローカルのカスタマイズはMaharaコアで使用されるデータベースに関して、独立した一連のバージョンナンバーのデータベースを使用することができます。
+
Mahara 1.2以降、サイト特有のデータベース更新は「/local」ディレクトリにカスタムインストールおよび更新コードを入れることにより、Moodleと同じくコアのインストールおよびアップグレードコードから分離されました。このことにより、ローカルのカスタマイズはMaharaコアで使用されるデータベースに関して、独立した一連のバージョンナンバーのデータベースを使用することができます。
  
 
データベースを変更するカスタムPHPコードは「htdocs/local/install.php」および「htdocs/local/upgrade.php」に入ります。
 
データベースを変更するカスタムPHPコードは「htdocs/local/install.php」および「htdocs/local/upgrade.php」に入ります。
  
In install.php:
+
install.php において:
 +
 
 +
コアデータベーステーブルが設定された後、local_preinst()関数が実行されます。そして、プラグインテーブルが設定される前、すべてのコアデータベーステーブルが設定された後、adminユーザが作成された後、そしてadminユーザがログインする直前にインストール処理の最後としてlocal_postinst()関数が実行されます。私たちは必要に応じて、後でこのファイルにフック (hook 独自処理) を追加することができます。
  
The local_preinst() 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.
+
Maharaコア内にて、version.phpおよびupgrade.phpは同じように動作します。admin/upgrade.phpページにアクセスした場合、ローカルコードのバージョンナンバー (local/version.php内) がデータベースのconfigテーブル内の「localversion」と比較されます。コードがデータベースより新しい場合、xmldb_local_upgrade関数 (local/upgrade.php内) が実行され、データベースの「localversion」が渡されます。ここに置かれたコードは、コードバージョンに対してデータベースバージョンをテストすべきです。コア内での動作例として、/htdocs/lib/db/upgrade.phpをご覧ください。
  
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.
 
 
[[Category:カスタマイズ]]
 
[[Category:カスタマイズ]]

Latest revision as of 03:18, 17 August 2011

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

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

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

install.php において:

コアデータベーステーブルが設定された後、local_preinst()関数が実行されます。そして、プラグインテーブルが設定される前、すべてのコアデータベーステーブルが設定された後、adminユーザが作成された後、そしてadminユーザがログインする直前にインストール処理の最後としてlocal_postinst()関数が実行されます。私たちは必要に応じて、後でこのファイルにフック (hook 独自処理) を追加することができます。

Maharaコア内にて、version.phpおよびupgrade.phpは同じように動作します。admin/upgrade.phpページにアクセスした場合、ローカルコードのバージョンナンバー (local/version.php内) がデータベースのconfigテーブル内の「localversion」と比較されます。コードがデータベースより新しい場合、xmldb_local_upgrade関数 (local/upgrade.php内) が実行され、データベースの「localversion」が渡されます。ここに置かれたコードは、コードバージョンに対してデータベースバージョンをテストすべきです。コア内での動作例として、/htdocs/lib/db/upgrade.phpをご覧ください。