From 21facc0a2cca8ea145866acd6fd1340ae27834d9 Mon Sep 17 00:00:00 2001 From: Maria Fernanda Magallanes Zubillaga Date: Tue, 24 Oct 2023 21:44:17 -0500 Subject: [PATCH 1/2] docs: add the first ADRs --- .../create-openedx-course-as-product.png | Bin 0 -> 38038 bytes .../source/_images/decisions/refund-order.png | Bin 0 -> 50607 bytes .../decisions/0001-purpose-of-this-repo.rst | 48 +++++++++++++++ docs/source/decisions/0002-api-connection.rst | 57 ++++++++++++++++++ .../decisions/0003-fulfillment-and-refund.rst | 55 +++++++++++++++++ docs/source/decisions/index.rst | 4 +- docs/source/how-tos/index.rst | 2 +- docs/source/index.rst | 5 +- 8 files changed, 167 insertions(+), 4 deletions(-) create mode 100644 docs/source/_images/decisions/create-openedx-course-as-product.png create mode 100644 docs/source/_images/decisions/refund-order.png create mode 100644 docs/source/decisions/0002-api-connection.rst create mode 100644 docs/source/decisions/0003-fulfillment-and-refund.rst diff --git a/docs/source/_images/decisions/create-openedx-course-as-product.png b/docs/source/_images/decisions/create-openedx-course-as-product.png new file mode 100644 index 0000000000000000000000000000000000000000..02f0437e067527777a651bf86f11cc443dc5771d GIT binary patch literal 38038 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 literal 0 HcmV?d00001 diff --git a/docs/source/_images/decisions/refund-order.png b/docs/source/_images/decisions/refund-order.png new file mode 100644 index 0000000000000000000000000000000000000000..1231406fa45262e254bcbaf6088025e5d5a85010 GIT binary patch literal 50607 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°gPRg+SX>|D2k7$Bw-0p_sPjnL=eYVDN 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 literal 0 HcmV?d00001 diff --git a/docs/source/decisions/0001-purpose-of-this-repo.rst b/docs/source/decisions/0001-purpose-of-this-repo.rst index 58367be..c8f6328 100644 --- a/docs/source/decisions/0001-purpose-of-this-repo.rst +++ b/docs/source/decisions/0001-purpose-of-this-repo.rst @@ -1,2 +1,50 @@ 1. Purpose of this Repo ======================= + +Status +****** + +Accepted + + +Context +******* + +The Open edX community currently uses the e-commerce repo to manage commerce-related tasks. However, that repo is in `the process of being deprecated`_. 2U is building an extensible and pluggable next-generation commerce platform (commerce coordinator). However, this platform may be more complex and require more technical capabilities than all operators have. Therefore, `Axim looked for proposals for creating a WooCommerce Discovery`_ to have another way to sell Open edX courses easily. + +In that discovery (`WooCommerce Discovery`_), we realized we needed to create a Wordpress plugin that would connect the Open edX APIs with the WooCommerce orders in Wordpress. + +Decision +******** + +- Have a WordPress plugin that allows the connection between Open edX and WooCommerce. + + +Consequences +************ + +- We must install a WordPress plugin to sell Open edX courses with WooCommerce. +- We need to maintain this plugin. + + +Rejected Alternatives +********************* + +- Use WooCommerce Webhooks: WooCommerce offers a natively supported way of managing webhooks. Still, the payload from a paid order did not include metadata that could be used to link the WooCommerce product to a course. It would have required then that the openedx plugin contained e-commerce information to link courses, programs, or discounts. + +- Maintain the Open edX eduNEXT extension in its current form: eduNEXT has published about five years ago with a similar plugin called `Open edX LMS and WordPress integrator`_. The code for this plugin is also available on GitHub. However, after years of supporting different initiatives using this plugin, we have concluded that the order handler needs to be more robust and built with a stronger foundation. Also, this plugin initially started as a way of making the information contained in the user-info cookie available to the menu header, and this and other such features grew organically into a plugin that needs to be better defined and focused. + + +References +********** + +- `Ecommerce deprecation`_. +- `Axim looked for proposals for creating a WooCommerce Discovery`_. +- `WooCommerce Discovery`_. +- `Open edX LMS and WordPress integrator`_. + +.. _the process of being deprecated: https://github.com/openedx/public-engineering/issues/22 +.. _Ecommerce deprecation: https://github.com/openedx/public-engineering/issues/22 +.. _Axim looked for proposals for creating a WooCommerce Discovery: https://discuss.openedx.org/t/tcril-funded-contribution-woocommerce-discovery/9337 +.. _WooCommerce Discovery: https://docs.google.com/document/d/1gImq4DFy3B_JSZlH3tCj5bmPQXji0OCnw1SbGB8bVxw/edit?usp=sharing +.. _Open edX LMS and WordPress integrator: https://wordpress.org/plugins/edunext-openedx-integrator/ diff --git a/docs/source/decisions/0002-api-connection.rst b/docs/source/decisions/0002-api-connection.rst new file mode 100644 index 0000000..fd60158 --- /dev/null +++ b/docs/source/decisions/0002-api-connection.rst @@ -0,0 +1,57 @@ +2. API connection +================== + +Status +****** + +Accepted + + +Context +******* + +We must connect this plugin with the available APIs in the Open edX platform to perform commerce actions raised in `Purpose of this repo`_. + + +Decisions +********* + +- This plugin uses the OAuth2 and JWT authentication following the standards in Open edX from the `OEP-42 Authentication`_. +- To generate the JWT token, we use information such as client_id and client_secret as specified in the doc of `How to Use the REST API`_. +- The JWT must be created with a Staff user to use all the endpoints this plugin needs. +- We use the LMS APIs to do the basic functionalities. + - To obtain info about enrollments, we use ``GET /enrollment/v1/enrollments/`` + - To create enrollments, ``POST /enrollment/v1/enrollment`` + - To perform an unenroll, we use the same endpoint to create enrollment, but we set the attribute is_active in False. + - We can pass the flag force in the request to allow you to enroll; disregard the course's enrollment end dates. + - To know if a user exists in the platform, ``GET /user/v1/accounts`` + - If the user does not exist yet, we can get, create, or delete an enrollment allowed with: ``GET, POST, DELETE /api/enrollment/v1/enrollment_allowed/`` + + +Consequences +************ + +- You need to create an OAuth Application in your platform with a Staff user to use this plugin. +- The backward compatibility depends on the JWT support in previous Open edx versions. +- We can use the course enrollment allowed API since Quince. +- The actions of this plugin are restricted by the endpoints mentioned above. For example, We can't enroll someone in a course that is in invite-only mode. + + +Rejected Alternatives +********************* + +- Create another plugin to add the needed endpoints: we could use the existing `LMS APIs`_, and we added the course enrollment-allowed API to the edx-platform and brought email support in some of the endpoints. + + +References +********** + +- `Purpose of this repo`_. +- `OEP-42 Authentication`_. +- `How to Use the REST API`_. +- `LMS APIs`_. + +.. _Purpose of this repo: 0001-purpose-of-this-repo.html +.. _OEP-42 Authentication: https://docs.openedx.org/projects/openedx-proposals/en/latest/best-practices/oep-0042-bp-authentication.html#oauth2-and-jwts +.. _How to Use the REST API: https://docs.openedx.org/projects/edx-platform/en/latest/how-tos/use_the_api.html +.. _LMS APIs: https://docs.openedx.org/projects/edx-platform/en/latest/references/lms_apis.html#lms-apis diff --git a/docs/source/decisions/0003-fulfillment-and-refund.rst b/docs/source/decisions/0003-fulfillment-and-refund.rst new file mode 100644 index 0000000..2b03008 --- /dev/null +++ b/docs/source/decisions/0003-fulfillment-and-refund.rst @@ -0,0 +1,55 @@ +3. Fulfillment and refund +========================== + +Status +****** + +Accepted + + +Context +******* + +This plugin was created focusing on workflows that are streamlined: + +- A course bought in WooCommerce will have the consequence that the enrollment for that course is made in the Open edX platform, understood with the enrollment as a seat in a specific course run. +- If the order is refunded, the associated enrollment will be unenrolled using the soft delete(using the is_active flag) used in regular unenrollments. + + +Decisions +********* +- When someone generates a WooCommerce order, which changes the status to 'processing', the plugin generates an enrollment request using the Open edX courses items in the order and the email used in the billing address. The plugin uses the hook ``woocommerce_order_status_changed`` listed in `WooCommerce hooks`_, and it uses 'processing' because that means the payment was completed, and the admin can process/post the items. `WooCommerce payment complete function`_. + + .. image:: /_images/decisions/create-openedx-course-as-product.png + :alt: Product data section in a WooCommerce Product + +Screenshot of a product data section in a WooCommerce Product. + +- When a WordPress admin refunds an Open edX Course in a WooCommerce Order, the plugin creates an enrollment request of type unenroll. The plugin uses the hook ``woocommerce_order_refunded``, also listed in `WooCommerce hooks`_, and it uses the billing email and the Open edX courses marked as refund items in the refund process. + + .. image:: /_images/decisions/refund-order.png + :alt: Refund process marking the course to be refunded + +Screenshot of a refund process marking the course to be refunded. + + +Consequences +************ +- We shouldn't set our Open edX Courses as Downloables WooCommerce Products because if that happened and someone only bought downloadable products, the order never passed through the 'processing' status. The plugin wouldn't create the enrollment request. +- Refunding is a manual process; a customer can't do it alone. +- It is our responsibility to avoid enrollment errors by setting our product as an Open edX course and setting a correct course_id and course_mode to the enrollment trigger by an order will be performed well. + + +Rejected Alternatives +********************* + +- Make the hooks that trigger the request variables: to keep the plugin simple. + +References +********** + +- `WooCommerce hooks`_. +- `WooCommerce payment complete function`_. + +.. _WooCommerce hooks: https://woocommerce.github.io/code-reference/hooks/hooks.html +.. _WooCommerce payment complete function: https://github.com/woocommerce/woocommerce/blob/abc476a005b405068b07bd4c50d1797c3dcc396d/plugins/woocommerce/includes/class-wc-order.php#L122 diff --git a/docs/source/decisions/index.rst b/docs/source/decisions/index.rst index b17f1cd..b4c739f 100644 --- a/docs/source/decisions/index.rst +++ b/docs/source/decisions/index.rst @@ -2,7 +2,9 @@ Decisions ========== .. toctree:: - :maxdepth: 1 + :titlesonly: :caption: Contents: 0001-purpose-of-this-repo + 0002-api-connection + 0003-fulfillment-and-refund diff --git a/docs/source/how-tos/index.rst b/docs/source/how-tos/index.rst index 11e1006..413b799 100644 --- a/docs/source/how-tos/index.rst +++ b/docs/source/how-tos/index.rst @@ -2,7 +2,7 @@ How-tos ======== .. toctree:: - :maxdepth: 1 + :titlesonly: :caption: Contents: create_an_openedx_app diff --git a/docs/source/index.rst b/docs/source/index.rst index b7cc6fa..e758594 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -13,6 +13,8 @@ User Guide ----------- .. toctree:: + :titlesonly: + plugin_quickstart decisions/index how-tos/index @@ -21,10 +23,9 @@ User Guide Open edX Compatibility ----------------------- -- Palm or latest - Tested from Olive -**NOTE:** Enrollment of users who are not platform users is only supported for versions after Palm. +**NOTE:** Enrollment of users who are not platform users is only supported for versions after Quince. Releases From 8e8f2c791f53f68eb32868b35dcff9c98adf8b1b Mon Sep 17 00:00:00 2001 From: Maria Fernanda Magallanes Zubillaga Date: Fri, 27 Oct 2023 18:45:46 -0500 Subject: [PATCH 2/2] docs: improve grammar and style --- docs/source/decisions/0002-api-connection.rst | 4 ++-- docs/source/decisions/0003-fulfillment-and-refund.rst | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/source/decisions/0002-api-connection.rst b/docs/source/decisions/0002-api-connection.rst index fd60158..63dc273 100644 --- a/docs/source/decisions/0002-api-connection.rst +++ b/docs/source/decisions/0002-api-connection.rst @@ -22,7 +22,7 @@ Decisions - We use the LMS APIs to do the basic functionalities. - To obtain info about enrollments, we use ``GET /enrollment/v1/enrollments/`` - To create enrollments, ``POST /enrollment/v1/enrollment`` - - To perform an unenroll, we use the same endpoint to create enrollment, but we set the attribute is_active in False. + - To perform an unenroll, we use the same endpoint to create enrollment, but we set the attribute is_active in ``False``. - We can pass the flag force in the request to allow you to enroll; disregard the course's enrollment end dates. - To know if a user exists in the platform, ``GET /user/v1/accounts`` - If the user does not exist yet, we can get, create, or delete an enrollment allowed with: ``GET, POST, DELETE /api/enrollment/v1/enrollment_allowed/`` @@ -34,7 +34,7 @@ Consequences - You need to create an OAuth Application in your platform with a Staff user to use this plugin. - The backward compatibility depends on the JWT support in previous Open edx versions. - We can use the course enrollment allowed API since Quince. -- The actions of this plugin are restricted by the endpoints mentioned above. For example, We can't enroll someone in a course that is in invite-only mode. +- The actions of this plugin are restricted by the endpoints mentioned above. For example, we cannot enroll someone in a course that is in invite-only mode. Rejected Alternatives diff --git a/docs/source/decisions/0003-fulfillment-and-refund.rst b/docs/source/decisions/0003-fulfillment-and-refund.rst index 2b03008..c5a14fd 100644 --- a/docs/source/decisions/0003-fulfillment-and-refund.rst +++ b/docs/source/decisions/0003-fulfillment-and-refund.rst @@ -13,7 +13,7 @@ Context This plugin was created focusing on workflows that are streamlined: - A course bought in WooCommerce will have the consequence that the enrollment for that course is made in the Open edX platform, understood with the enrollment as a seat in a specific course run. -- If the order is refunded, the associated enrollment will be unenrolled using the soft delete(using the is_active flag) used in regular unenrollments. +- If the order is refunded, the associated enrollment will be unenrolled using the soft delete (using the is_active flag) used in regular unenrollments. Decisions @@ -35,9 +35,9 @@ Screenshot of a refund process marking the course to be refunded. Consequences ************ -- We shouldn't set our Open edX Courses as Downloables WooCommerce Products because if that happened and someone only bought downloadable products, the order never passed through the 'processing' status. The plugin wouldn't create the enrollment request. -- Refunding is a manual process; a customer can't do it alone. -- It is our responsibility to avoid enrollment errors by setting our product as an Open edX course and setting a correct course_id and course_mode to the enrollment trigger by an order will be performed well. +- We should not set our Open edX Courses as Downloadable WooCommerce Products because if that happened and someone only bought downloadable products, the order never passed through the 'processing' status. The plugin would not create the enrollment request. +- Refunding is a manual process; a customer cannot do it alone. +- It is our responsibility to avoid enrollment errors by setting our product as an Open edX course and setting a correct ``course_id`` and ``course_mode`` to the enrollment trigger by an order will be performed well. Rejected Alternatives