Open edX プラットフォームは、あらゆる規模のオンライン学習を作成および提供するためのサービス指向のプラットフォームです。このプラットフォームは Python と JavaScript で書かれており、Django フレームワークを広範囲に利用しています。最も高いレベルでは、プラットフォームはモノリス、いくつかの独立して展開可能なアプリケーション (IDA)、および ReactJS に基づくマイクロ フロントエンド (MFE) で構成されます。
このリポジトリは、Open edX プラットフォームの中心にあるモノリスをホストします。機能的には、edx-platform リポジトリは 2 つのサービスを提供します。
ドキュメントは https://docs.openedx.org/projects/edx-platform にあります。
Open edX インスタンスのインストールと実行は簡単ではありません。ソフトウェアを実行するにはサービス プロバイダーを使用することを強くお勧めします。簡単に始められる無料トライアルがあります: https://openedx.org/get-started/
ただし、時間と専門知識がある場合は、実稼働 Open edX インスタンスを自己管理することが可能です。インスタンスの構築、カスタマイズ、アップグレード、スケーリングを支援するには、コミュニティでサポートされている Docker ベースの Open edX ディストリビューションである Tutor を使用することをお勧めします。
Tutor デプロイメントの立ち上げと実行について詳しくは、docs.openedx.org の Site Ops ホームを参照してください。
Tutor には、edx プラットフォームの変更、テスト、拡張にも役立つ開発モードもあります。すべての Open edX 開発者にこの方法をお勧めします。
Linux ホスト上で Open edX プラットフォームを直接起動することも可能です。この方法はあまり一般的ではなく、ほとんど文書化されていません。 Open edX コミュニティは、それに対して限定的なサポートのみを提供できます。
「ベア メタル」の実行は、(a) 冒険を求めている開発者、および (b) Open edX の構成と展開の複雑さを自らの手で引き受けたいと考えている経験豊富なシステム管理者にのみ推奨されます。
OS: * Ubuntu 20.04
インターピーター/ツール:
サービス:
言語パッケージ:
フロントエンド:
npm clean-install
(本番環境)npm clean-install --dev
(開発)バックエンドのビルド:
pip install -r requirements/edx/assets.txt
バックエンド アプリケーション:
pip install -r requirements/edx/base.txt
(運用環境)pip install -r requirements/edx/dev.txt
(開発)一部の Python パッケージにはシステム依存関係があります。たとえば、これらのパッケージを Debian または Ubuntu にインストールするには、 mysqlclient
Python パッケージの要件を満たすために、最初にsudo apt install python3-dev default-libmysqlclient-dev build-essential pkg-config
実行する必要があります。
2 つの MySQL データベースと、両方への書き込み権限を持つ MySQL ユーザーを作成し、 DATABASES
設定を更新してそれらを使用するように Django を構成します。
次に、移行を実行します。
./manage.py lms 移行 ./manage.py lms 移行 --database=student_module_history ./manage.py cms 移行
静的アセットを構築します (詳細については、「静的アセットの構築」を参照してください)。
npm run build # または、'build-dev'
ロケールをダウンロードし、静的アセットを収集します (開発サイトの場合はスキップできます)。
pull_translation を作成する ./manage.py lmscollectstatic ./manage.py cmscollectstatic
CMS SSO をセットアップします (開発用):
./manage.py lms manage_user studio_worker [email protected] --unusable-password # 運用環境ではこれを行わないでください。認証が不安定になります。 ./manage.py lms create_dot_application studio-sso-id studio_worker --grant-type 認可コード --skip-authorization --redirect-uris 'http://localhost:18010/complete/edx-oauth2/' --scopes ユーザー ID --クライアント ID 'スタジオ SSO ID' --client-secret 'studio-sso-secret'
CMS SSO をセットアップします (運用環境用):
CMS ユーザーと OAuth アプリケーションを作成します。
./manage.py lms manage_user studio_worker--unusable-password ./manage.py lms create_dot_application studio-sso-id studio_worker --grant-type 認可コード --skip-authorization --redirect-uris 'http://localhost:18010/complete/edx-oauth2/' --scopes ユーザー ID
Django 管理者 (例: http://localhost:18000/admin/oauth2_provider/application/) にログインし、上で作成したアプリケーション ( studio-sso-id
) をクリックして、その「クライアント シークレット」をコピーします。
プライベート LMS_CFG yaml ファイルまたはプライベート Django 設定モジュール:
SOCIAL_AUTH_EDX_OAUTH2_KEY
クライアント ID (studio-sso-id
) に設定します。SOCIAL_AUTH_EDX_OAUTH2_SECRET
クライアント シークレット (コピーしたもの) に設定します。
まず、MySQL、Mongo、Memcached が実行されていることを確認します。
LMS を開始します。
./manage.py lms ランサーバー 18000
CMS を起動します。
./manage.py cms ランサーバー 18010
これにより、ほとんどヘッドレスの Open edX プラットフォームが得られます。ほとんどのフロントエンドは「マイクロ フロントエンド (MFE)」に移行されており、個別にインストールして実行する必要があります。 UI を有意義に操作するには、少なくとも、認証 MFE、学習者ホーム MFE、および学習 MFE を実行する必要があります。
このリポジトリのコードは、特に明記されていない限り、AGPL バージョン 3 に基づいてライセンスされています。詳細については、LICENSE ファイルを参照してください。
Open edX の世界について詳しくは、Open edX サイトをご覧ください。 Open edX ソフトウェアのホスティング、拡張、および貢献に関する情報を見つけることができます。さらに、Open edX サイトでは、製品の発表、Open edX ブログ、その他の豊富なコミュニティ リソースが提供されています。
問題がある場合は、https://discuss.openedx.org にディスカッション フォーラムがあり、コミュニティ内の他の人とつながることができます。
私たちのリアルタイムの会話は Slack 上で行われます。 Slack への招待をリクエストして、コミュニティ Slack チームに参加できます。
これらのオプションの詳細については、「ヘルプの表示」ページを参照してください。
問題追跡には Github Issues を使用します。以前に報告された問題を検索できます。バグを報告する必要がある場合、または新機能を実装する前に議論したい場合は、新しい問題を作成してください。
貢献は大歓迎です!最初のステップは、署名された個人貢献者契約書を提出することです。詳細については、CONTRIBUTING ファイルを参照してください。このファイルには、高いコード品質を維持する方法に関するガイドラインも含まれており、これにより、あなたの貢献が受け入れられる可能性が高くなります。
新しい機能は受け入れられます。コードを書く前に新しいアイデアをメンテナと話し合うと、あなたの作品が受け入れられる可能性が高まります。
このリポジトリを操作する場合は、コミュニティ行動規範をお読みください。
公共の場でセキュリティ問題を報告しないでください。 [email protected] に電子メールを送信してください。
このリポジトリの現在のメンテナは Backstage で見つけることができます。