开放edx电子商务的导师插件
tutor-ecommerce的Python项目详细描述
这是一个用于Tutor的插件,它将Ecommerce应用程序集成到一个开放的edx平台中。
由于E-ducation的慷慨支持,这个插件被开发出来并向社区开放。谢谢您!
安装
此插件需要tutor>;=3.6.0和发现插件tutor-discovery。另外,您应该从源代码安装tutor,而不是从预编译的二进制文件安装tutor。
pip install tutor-ecommerce
然后,要启用此插件,请运行:
tutor plugins enable ecommerce
服务必须重新配置并重新启动,因此您最好重新运行快速启动:
tutor local quickstart
注意,这个插件与Kubernetes integration兼容,因此如果部署到kubernetes集群,请运行:
tutor k8s quickstart
操作
创建用户
电子商务用户界面将在本地实例的http://ecommerce.localhost和生产中的ECOMMERCE_HOST(默认情况下:http(s)://ecommerce.<yours lms host>)提供。要从用户界面运行命令,必须创建具有管理权限的用户:
tutor local run ecommerce ./manage.py createsuperuser
地方发展
要在本地开发,必须配置要从本地主机提供的电子商务服务:
tutor config save --set ECOMMERCE_HOST=ecommerce.localhost
配置
- ECOMMERCE_HOST(默认值:"ecommerce.{{ LMS_HOST }}")
- ECOMMERCE_PAYMENT_PROCESSORS(默认值:{cybersource: {...}, paypal: {...}}有关详细信息,请参见下文。)
- ECOMMERCE_ENABLED_PAYMENT_PROCESSORS:(默认值:["cybersource", "paypal"])
- ECOMMERCE_ENABLED_CLIENT_SIDE_PAYMENT_PROCESSORS(默认值:["cybersource"])
- ECOMMERCE_EXTRA_PAYMENT_PROCESSOR_CLASSES(默认值:[])
- ECOMMERCE_MYSQL_PASSWORD:"{{ 8|random_string }}")
- ECOMMERCE_SECRET_KEY(默认值:"{{ 20|random_string }}")
- ECOMMERCE_OAUTH2_SECRET(默认值:"{{ 8|random_string }}")
- ECOMMERCE_API_KEY(默认值:"{{ 20|random_string }}")
- ECOMMERCE_DOCKER_IMAGE(默认值:"overhangio/openedx-ecommerce:{{ TUTOR_VERSION }}")
- ECOMMERCE_WORKER_DOCKER_IMAGE(默认值:"overhangio/openedx-ecommerce-worker:{{ TUTOR_VERSION }}")
- ECOMMERCE_MYSQL_DATABASE(默认值:"ecommerce")
- ECOMMERCE_MYSQL_USERNAME(默认值:"ecommerce")
- ECOMMERCE_MYSQL_USERNAME(默认值:"ecommerce")
- ECOMMERCE_OAUTH2_KEY(默认值:"ecommerce")
- ECOMMERCE_API_TIMEOUT(默认值:5)
- ECOMMERCE_WORKER_JWT_ISSUER(默认值:"ecommerce_worker")
- ECOMMERCE_EXTRA_PIP_REQUIREMENTS(默认值:[])
您需要修改ECOMMERCE_PAYMENT_PROCESSORS参数来配置您的支付提供商凭据。默认情况下,它等于:
cybersource: access_key: SET-ME-PLEASE cancel_page_url: /checkout/cancel-checkout/ merchant_id: SET-ME-PLEASE payment_page_url: https://testsecureacceptance.cybersource.com/pay profile_id: SET-ME-PLEASE receipt_page_url: /checkout/receipt/ secret_key: SET-ME-PLEASE send_level_2_3_details: true soap_api_url: https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor/CyberSourceTransaction_1.140.wsdl sop_access_key: SET-ME-PLEASE sop_payment_page_url: https://testsecureacceptance.cybersource.com/silent/pay sop_profile_id: SET-ME-PLEASE sop_secret_key: SET-ME-PLEASE transaction_key: SET-ME-PLEASE paypal: cancel_url: /checkout/cancel-checkout/ client_id: SET-ME-PLEASE client_secret: SET-ME-PLEASE error_url: /checkout/error/ mode: sandbox receipt_url: /checkout/receipt/
我们建议您修改此配置,将其保存到ecommerce-config.yml,然后使用以下命令加载它:
tutor config save --set "ECOMMERCE_PAYMENT_PROCESSORS=$(cat ecommerce-config.yml)"
图像定制
电子商务的实施因国而异。如果你只需要贝宝,网络资源和条纹支付处理器,那么就不必定制导师电子商务Docker图像,其中包含香草电子商务平台。但是,如果你需要运行一个电子商务分支,或者安装额外的需求,那么你应该重新构建docker映像。为此,请先设置适当的设置:
tutor config save \ --set 'ENABLED_PAYMENT_PROCESSORS=["myprocessor"]' \ --set 'ENABLED_CLIENT_SIDE_PAYMENT_PROCESSORS=["myprocessor"]' \ --set 'ECOMMERCE_EXTRA_PAYMENT_PROCESSOR_CLASSES=["myextension.payment.MyProcessor"]' \ --set 'ECOMMERCE_EXTRA_PIP_REQUIREMENTS=["git+https://github.com/myusername/myplugin"]'
然后,构建图像,必要时指向叉子:
tutor images build ecommerce \ -a ECOMMERCE_REPOSITORY=https://github.com/myusername/ecommerce \ -a ECOMMERCE_VERSION=my/tag