開発:開発者向け文書
Moodleドキュメントのこの開発者向けセクションは、Moodleコード、プラグイン、テーマなどに貢献する開発者を対象としています。
- あなたがMoodleサイトを管理している場合、 管理者ドキュメンテーションはあなたのニーズにより適しているかもしれません。
- あなたがMoodleの使い方を教えているのなら、 教師用ドキュメントを試してください。
注意:次のように入力して、 開発者向けの新しいドキュメントページをDevelopment名前空間に追加する必要があります。
Development:新しいページ名の前
。あなたが開発者であるならば、あなたはおそらく検索に開発名前空間を含むようにあなたの好みを変更したいと思うでしょう。[[Development:New page name]]
テンプレートを追加することにより、ページを開発者カテゴリに追加できます。
ページの下部に。 - 必要に応じて、あなたは使用することができます{{CategoryDeveloper}}
デフォルトのページ名以外のソートキーを指定します。[[Category:Developer|Sort key]]
内容
Moodle開発のしくみ
Moodle開発プロセスの概要では、Moodle開発がどのように行われ、人々がMoodle開発者になるかについて説明します。現在の計画はロードマップに記載されています。
Moodle開発者コースの 1つに登録することもできます。
ガイドライン
以下のガイドラインは、Moodleコードベースに貢献したい人のための重要な読み物です。
- コーディングガイドラインはすべてのMoodle開発者が従う必要があります
- MoodleアーキテクチャはMoodleコードがどのように機能するかの概要を説明します
- 開発:プロセスは変更がどのようにMoodleに組み込まれるのかを説明します
- Trackerはバグ、問題、機能要求などを追跡するためのMoodle Trackerについて説明します
- コミュニティと協力することで、開発者コミュニティとの付き合い方や変更点について議論する方法を説明します。
- 単体テストでは、単体テストの実行方法と新しいテストケースの書き方について説明します。
- PHPをプロファイリングすることで、コードがどのように分析されて実行が遅くなるのかを調べる方法。
- 開発:高速ポータブルSQLは、高速で効率的で、サポートされているすべてのDBで機能することが知られているSQL技法を示しています。
- 開発:開発のヒントとヒントは、あなたのMoodleプロジェクトを支援するための一般的な知恵の(発展中の)リストです。
コアコンポーネントの文書
このセクションは、既存のコアMoodleコードの特定のコンポーネントのドキュメンテーション用です。議論中または開発中のコンポーネントについての議論は、 開発者向けメモまたはロードマップにあります。
以下の文書は一般的な概要を示しています。関数ごとの詳細な説明については、コード内のコメントから自動的に生成されるphpDocumentorの説明を参照してください。
そして、コードがどのように機能するかについての最新かつ詳細な説明はコードそのものであることを忘れないでください。そしてPHPXrefを使ってオンラインでコードを閲覧することができます。
コアコンポーネント
- データベース抽象化レイヤ @ v 1.7
- 誰が何ができるかを制御するためのロールと機能システム @ v 1.7
- ユーザーが編集できるようにするアクセス可能で安全なHTMLフォームを作成するためのフォームライブラリ @ v 1.8
- Moodleによって保存されたファイルを管理するためのFile API @ v 2.0
- データベーススキーマ
- あなたがconfig.phpを要求したとき何が起こるか
- lib / moodlelib.php
- ものを出力するためのlib / weblib.php
より具体的な用途のあるコアライブラリ
- 認証API
- 無クッキーセッション
- メール処理
- インストール前に環境チェックを行い、Moodleが動作することを確認するためにユーザのサーバをチェックしてください。
- グループ制
- 評定表
- ムードルネットワーク
- 質問エンジン
- 統計パッケージ
- UTF-8 @ v 1.6 への移行
- YUI JavaScriptライブラリ - YUIがMoodleの公式AJAXライブラリとして選択されました。
- lib / graphlib
- 管理者設定
標準配布に含まれるモジュール
あなたはどのように貢献できますか
新しいプラグインを作る
M in Moodleはモジュラーを表し、Moodleに新しい機能を追加するための最も簡単で最も保守しやすい方法は、多くのプラグインAPIの1つを使用することです。あなたが書くことができるプラグインの多くの種類があります。
- 活動モジュール 、 開発:NEWMODULE文書 (進行中の作業も参照)
- とサブプラグイン (2.0以降)
- 管理者レポート
- 課題タイプ
- 認証プラグイン
- ブロック
- コンテンツエディタ(2.0以降)
- コースフォーマット
- コースレポート
- コースインポーター(2.0以降)
- データベースフィールド
- データベースプリセット
- 登録プラグイン
- フィルター
- 評定表レポート
- 評定表のエクスポート
- 評定表のインポート
- メッセージ送信者(2.0以降)
- Mnetサービス
- 盗用検出プラグイン(2.0以降)
- ポートフォリオプラグイン (2.0以降)
- 質問の種類
- 質問のインポート/エクスポート形式
- 小テストレポート
- リポジトリプラグイン (2.0以降)
- リソースの種類
- 検索エンジンアダプター
- Moodle 2.0とそれ以前のバージョンで異なるテーマ。
- ユーザープロファイルフィールド
- Webサービス(2.0以降)
- ワークショップアロケータ(2.0以降)
- ワークショップフォーム(2.0以降)
- ワークショップ評価者(2.0以降)
すべての種類のプラグインに適用される一般情報
Moodleコードへの貢献方法の概要については、 貢献コードのガイドラインをご覧ください。
時々あなたがやりたいことのために適切なプラグインを書くことが不可能である、その場合あなたはローカルカスタマイゼーションフックを使うことに頼らなければならないかもしれません。
コアコードを変更する
いくつかの種類の変更はコアのMoodleコードを編集することによってのみ行うことができます。そのような変更はプラグインよりも維持するのがはるかに困難です。あなたのコアな変更を公式のMoodleリリースに含めるために考慮したい場合は、 トラッカーで問題を作成し、あなたの変更をパッチとして添付する必要があります。最初にフォーラムであなたの考えについて話し合うのも良い考えです。詳細は開発:概要#メジャー開発をご覧ください。
PHPプログラミングを必要としない貢献方法
将来設計
Moodleの今後の予定されている機能についてのアイデアと詳細は、moodle.orgのUsing Moodleコースのフォーラムで最初に議論されています。開発者の議論が同じフォーラムでのユーザーの議論と混ざっていることは、最初は奇妙に思えるかもしれませんが、Moodleの成功の理由の1つです。エンドユーザーと開発者の両方が将来の機能について一緒に議論することが重要です。
フォーラムでアイデアが具体化し始めたら、 ロードマップの一部として、または開発者向けメモの形で、このWikiにまとめられます 。これらのページはフォーラムでさらに議論するための基礎を形成します。
リソース
- 開発者向けFAQ - よくある質問、特にMoodleを初めて使う人に便利です。
- Moodleコードへの道を見つける - これもまた初心者向けです
- Moodleトラッカー - バグ報告、機能要求、その他の追跡された問題
- Firefoxトラッカー検索 - Moodleバグに簡単にナビゲートするためのFirefoxクイック検索の設定方法
- Firefox検索プラグイン - 追跡された問題をさらに簡単に見つける
- マージされていないファイル - HEADにマージされていないCVSの安定版ブランチの変更点
- コードをオンラインで閲覧する:
- Moodle PHPドキュメントリファレンス - コード内の各クラスと関数に添付されたコメントから毎晩コンパイルされます。
- データベーススキーマ - 最近のリリース用
- Using Moodleコースの開発ニュースとディスカッションセクション
道具
Moodleコードで作業するときに人々が使ういくつかのツール:
IDE
- Moodle開発用にNetBeansを設定する - NetBeans for PHPはすぐに使える優れたエディタです。
- Moodle開発用にEclipseを設定する - Eclipseを設定する方法を考え出すことができれば、Eclipseはphp開発に使用する素晴らしいエディタです。
- Moodle開発用にVimを設定する
- アプタナスタジオ2
ブラウザアドオン
- Firebug 、詳しくはFirebugを見てください。
- Web開発者エクステンション
- ViewSourceWith - 主な目的は外部アプリケーションでページソースを表示することですが、他にもたくさんのことができます。
その他
- Ctags - タグファイルを使ってコードをナビゲートする
- W3C HTMLバリデーター - Moodleはそれを使いやすくするためのサポートを組み込んでいます。
- Windowsインストーラ - 開発者向けのWindowsインストーラのドキュメント。
Moodleプログラミング入門コースの Useful Development Toolsフォーラムもご覧ください。
関連情報
- Moodleセキュリティに関するお知らせ
- Moodle Partners - カスタムMoodle開発サービスのプロバイダ