(talk)このドキュメントはあなたにMaharaアーキテクチャの基本的な情報およびコードとの繋がりを提供することを目的としています。このドキュメントを読むことにより、あなたはMaharaの連携、プラグインの開発による拡張、コアコードのハッキングに関して理解することができます。OverviewMaharaはPHPで書かれたウェブアプリケーションであり、Moodle、Drupal、phpBB等に良く似ています。フレームワークのような機能を提供するため、Maharaはいくつかのライブラリを提供しますが、これ自体はZendフレームワークのようなPHPのフレームワークをベースにしていません。実際のところ、Maharaはデータベースアクセスおよびフォーム構築のようなフレームワークを提供しています。あなたはその中で作業を進める必要があります。プラグインアーキテクチャによりあなたのカスタマイズはコアコードの改変を避けることができます。この点において、MaharaはDrupalおよびMoodleのようなプラグイン設置可能なソフトウェアに非常に類似しています。Maharaへのリクエストは特定のPHPスクリプトにヒットします。現在、ディスパッチャはありません。ホームページへのリクエストはindex.php等により扱われます。これらのスクリプトはMaharaコアを読み込んで、必要なデータを検索して、必要なデータ構造またはフォームを生成して、それらを表示するためテンプレータに渡していました。これはどのPHPスクリプトがどのページを生成するか簡単に把握することのできるシンプルなモデルです。「クリーンURL」の利点を失うことになりますが、多くのウェブサイトにとって移植可能な方法でもあります。Maharaコアのコンセプトはプラグインです。大部分のMaharaの機能はコア機能であってもプラグインを書いた上で実装されています。あなたが変更したいMaharaの部分がプラグインに対応されていない場合、Maharaは簡単に改変できるよう設計されています。HackabilityMaharaは基本部分からすべてにおいて高度に着脱および簡単に改造できるよう設計されています。PHPおよびLAMPスタックに慣れている多くの開発者が存在しているため、私たちはMaharaを意図的にPHPで書くようにしました。移行も含めて、多くの様々なLAPMで動作させることができます。Maharaチームが厳密にテストしたわけではありませんが、MaharaをWindowsおよびIISで動作させた人もいます。:)パッチに関して話しますと、あなたがすでに知っているようにMaharaは無料のオープンソースです。