Actions

Difference between revisions of "Mahara日本語ドキュメント/開発者エリア/Maharaプロジェクト概要"

From Mahara Wiki

< Mahara日本語ドキュメント‎ | 開発者エリア
Line 71: Line 71:
 
詳細は[[Developer Area/Coding guidelines]]をご覧ください。
 
詳細は[[Developer Area/Coding guidelines]]をご覧ください。
  
最初にコントリビュータがコードを書きます。First, a contributor writes some code. Mahara has a loose set of coding guidelines, and code is generally expected to follow PHP best practices: following security practices, "blending in" with the surrounding code, using Mahara's existing APIs, maximizing code re-use, and minimizing API changes, that sort of thing.
+
最初にコントリビュータがコードを書きます。Mahara has a loose set of coding guidelines, and code is generally expected to follow PHP best practices: following security practices, "blending in" with the surrounding code, using Mahara's existing APIs, maximizing code re-use, and minimizing API changes, that sort of thing.
  
 
=== コードの共有 (Sharing the code) ===
 
=== コードの共有 (Sharing the code) ===

Revision as of 04:45, 1 July 2015

作成中です - mits

このページではMaharaプロジェクトの開発手順概要に関して説明します。

誰がMaharaを所有していますか? (Who owns Mahara?)

MaharaはGPL3ライセンスの下、オープンソースソフトウェアとして配布されています。これは標準的な意味での「所有者」が存在しないことを意味します。Maharaのコピーを持っている人は許可を得ずに「誰でも」、使用すること、修正すること、再配布すること、自分でフォークしたプロジェクトでさえ開始することができます (技術的に、Maharaには個々のコードを書いている法人および開発者の著作権がありますが、GPL3ライセンスの下で配布される限り、著作権保持者は誰でもコードを使用、修正および再配布することに同意すると謳っています。これは基本的に「コピーレフト」が意味するものです)

これに関する1つの例外が「Mahara商標 (Mahara trademark) 」です。Maharaの名称およびロゴは商標であり、特定の環境で使用する場合には許可を必要とします (例 ドメインおよび商用利用)。詳細は私たちの商標ポリシーをご覧ください。

誰がMaharaを作っていますか? (Who makes Mahara?)

  • Catalyst IT (http://catalyst.net.nz) はMaharaプロジェクトを創出した法人であり、その開発をリードしています。Catalystは https://mahara.org を主催しています。また、(小規模の) フルタイムのMahara開発者 (しばしばMahara HQと呼ばれます) が管理、およびほとんどのMaharaリリース頻度を管理しています。
  • Maharaコントリビュータ (貢献者) はMaharaを改良して、その改良をコミュニティと共有する人すべてです。貢献者の中にはMaharaを使用している学校または大学も含みます。その他の貢献者にMaharaインストールのサポートを提供しているCatalystのような法人があります。そしてまた、貢献者としてMaharaの熱心なユーザも存在します。貢献者は個人のバグ修正からサイト全体の機能強化に及びます。
    • 一般のメンバーの方もコントリビュータ (貢献者)として歓迎します。
    • Maharaに興味のある方は誰でも気軽に参加することのできるMaharaコントリビュータグループもLaunchpad上にあります。
      • このグループにはMahara bug trackerのためのバグ管理者権限があります。そのため、バグステータスを設定したり、バグをマイルストーンにピン留め等するには、あなたはこのグループに入る必要があります。
    • 他のコントリビュータのパッチを "+1 レビュー済み" および検証済みと評価するために、誰でも https://reviews.mahara.org の「Maharaテスター」グループに参加することができます。IRCまたはmahara.orgフォーラムでお尋ねください。
  • Maharaコア開発者 (別名 Maharaレビュア) は "+2レビュー" およびMaharaコードレビューシステムにコミットアクセスできるユーザです [1]。Maharaコードの品質を保証するため、すべてのコントリビューション (寄贈コード) はコード作者ではない信頼できるレビュアによってレビューおよびコミットされます。
  • Mahara セキュリティチームはセキュリティ問題をレビューするMaharaレビュア内のグループです。
    • 信頼できるすべての認証MaharaレビュアはMaharaセキュリティチームへの参加を歓迎します。

Maharaバージョン (Mahara versions)

詳細は6MonthlyCycleをご覧ください。

Mahara 1.5から始まって、4月および10月のメジャーリリースを発表しながら、Maharaは6ヶ月ごとのリリースサイクルを保っています。メジャーリリースには重要な新しい機能を含み、バージョンナンバーは0.1ずつ (1.5 -> 1.6 -> 1.7) 増加します。

Maharaのマイナーリリースにはバグフックス (バグ修正) およびセキュリティフィックス (セキュリティ修正) のみ含まれます。マイナーリリースは任意のスケジュールに従って、必要に応じてリリースされます。マイナーリリースのバージョンナンバーは0.01ずつ (1.7.0 -> 1.7.1 -> 1.7.2) 増加します。

サポート存続期間 (Support lifetime)

詳細はSupportedVersionsをご覧ください。

現在、Maharaでは最新の3つのメジャーバージョンに関して更新 (マイナーリリース) を提供しています。このドキュメントの執筆中、これには1.9、1.8および1.7を含みます。古いバージョンのコードベースを利用することはできます。また、オープンソースプロジェクトとして、誰でも変更、バックポート、好きなように修正することができますが、Maharaプロジェクトが提供できるサポートは古いバージョンから新しいサポートバージョンへのアップグレードのみです。

最新バージョンのMahara 1.9では、1.10またはそれ以上のバージョンからアップグレードすることができます。まだMahara 1.0のインストレーションがある場合、あなたは1.9にアップグレードする前に1.1.0にアップグレードする必要があります。

問題追跡 (Issue tracking)

詳細はDeveloper Area/Bug Statusをご覧ください。

問題点追跡 (Issue tracking) は継続的な品質管理プロセスの重要な一部でもあります。これには問題 (バグ) の報告、改善のアイデアおよび新しい機能を含みます。ほとんどの商用ソフトウェアとは異なり、Maharaの問題報告および追跡情報は誰にでも公開されています。MaharaのバグはLaunchpad.netのMaharaプロジェクトで報告および追跡されています: https://bugs.launchpad.net/mahara

すべてのMaharaユーザは自由に問題追跡システム (issue tracker) の活発な報告者として活動することができます。Launchpadのアカウントを持っている人は誰でもバグ報告を作成、閲覧、コメント、投票および監視することができます。

コードが存在する場所 (Where the code lives)

詳細はDeveloper_Area/Source codeをご覧ください。

ZIPファイルをLaunchpadからダウンロードできるのに対して、完全なMaharaのコードベースはgitバージョン管理システムで管理されています。「生」のコードベースは私たちのhttps://reviews.mahara.orgのGerritコードレビューシステムで保持されています。これは自動的にgit.mahara.orgGithubGitlab.comおよびthe NZOSSに同期されます。

コードブランチ (Code branches)

1.0_STABLEにさかのぼり、Maharaではそれぞれのメジャーリリースを1.8_STABLE、1.7_STABLEのようにgit「ブランチ」で分けています。加えて、次のメジャーリリースのための開発場所である「マスター (master)」ブランチがあります。

どのようにすれば、あなたのコードがMaharaのコアコードになるのか (How your code becomes Mahara core code)

それでは (あなたのような) コントリビュータ (貢献者) はどのようにすれば自分のMaharaコードを次のMaharaリリースのために公式gitリポジトリに入れることができるのでしょうか?

コーディングガイドライン (Coding Guidelines)

詳細はDeveloper Area/Coding guidelinesをご覧ください。

最初にコントリビュータがコードを書きます。Mahara has a loose set of coding guidelines, and code is generally expected to follow PHP best practices: following security practices, "blending in" with the surrounding code, using Mahara's existing APIs, maximizing code re-use, and minimizing API changes, that sort of thing.

コードの共有 (Sharing the code)

See Developer Area/Contributing Code

Then, the contributor shares their code with the Mahara project. The preferred way to do this, for users with a sufficient level of technical ability, is for them to submit it directly into our Gerrit code review system. But we'll also welcome code contributed via a patch file, a PHP file, or even just a sufficiently specific Launchpad comment. In those cases, a Mahara reviewer can create a Gerrit Change on the contributor's behalf

コードレビュー (Code review)

See Developer Area/How to Review Code and Developer Area/Code Review

The submitted Change (aka "patch") in Gerrit is then reviewed and verified (tested). Each patch must receive a "+1" verified score, which means that someone tested it and found that it worked. It must also receive a "+2" reviewed score, which means that an approved Mahara Reviewer examined the code and saw no problems with it. If the patch fails testing or contains review problems, the tester or reviewer will leave a friendly comment explaining what the contributor needs to change and why. The contributor can then submit a revised version, which will be reviewed and tested anew.

Once the Change has been verified and reviewed, a Mahara Reviewer can then instruct gerrit to merge it into the appropriate branch. It will then be included in the next Mahara release.

セキュリティ問題 (Security issues)

See Security#How_to_report_a_security_issue?

There's a separate, parallel process for handling Mahara security issues, in order to ensure that they aren't disclosed to the public until after a patch is released.

プラグインおよびAPI (Plugins and APIs)

See Developer Area/Plugins

Although Mahara is open source and you can change anything you want, the best and most maintainable way to extend Mahara is to write a plugin. Plugins are a directory of code that can be simply "dropped" in to any Mahara installation and it will be detected, installed, and automatically made available as a tool within the Mahara interface.

Plugins can also easily be shared with other Mahara sites without having to go through the process of being "upstreamed" into Mahara core. There's even a page on the Mahara wiki for sharing "third-party" Mahara plugins: See Plugins