Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • order.processing.EventHandler is responsible for fulfillment via the "handle_shipping_event()" function. 
  • For all our digital product types, "handle_shipping_event()" will need to be extended to handle fulfillment.
    • Each ProductType will require unique fulfillment actions, such as Enrollments requiring the Enrollment API.
    • Each ProductType must have a unique fulfillment strategy defined in a new fulfillment.py module. 
  • We can use Order Status via order.abstract_models.AbstractOrder to have statuses for failed fulfillment.

 

Quick Notes

  • Create a ProductType Definition (stories exist)
  • Fulfillment API
    • Wired into EventHandler
    • Takes an Order
    • Fulfills associated products
    • Updates Order status
  • Define order status
    • state machine
  • Update the Marketing Site to call into the new endpoint
  • Course Mode table with SKUs for checking whether to use the new or old order workflows (short term)
  • Login and Registration Pages
  • Third Party Enrollment
  • Bypassing Payment (via RESTful API work)