mamhoff
11/07/2023, 5:35 PMsolidus_friendly_promotions is hitting its first Release Candidate. This gem replaces Solidus' promotion system and switches out the promotion application algorithms. It's somewhat invasive, but it has a number of neat features that core Solidus does not and cannot have (for backwards compatibility reasons):
β’ Shipping Rate Discounts (to preview what discounts you will get if you choose a particular shipping method)
β’ Stackable adjustments (allows distributing a flat amount safely on already discounted line items)
β’ Free items / Goodies (buy one, get one free type things)
β’ No more zero-amount adjustments
β’ No more ineligible adjustments
β’ Ability to use calculators for shipment discounts
β’ Readable and understandable code
β’ Migration path for historical promotions, order_promotions, and adjustments including optimized SQL migrations for all databases
β’ New admin UI
We've heavily tested it on our store, and will be deploying very soon. One of the goals was to research which extension points are necessary for switching out all of the promotion system in core, and I want to specifically thank @kennyadsl, @Jared Norman and Adam from SuperGood Software, and @tvdeyen for reviewing my PRs. Another thank you goes out to @elia for helping me get started with the extension and (especially) the sandbox.
We've tried to be very thorough with testing this extension, and hope for very few bugs and inconsistencies. While we stop supporting a lot of the existing API for promotions, almost every sensible promotion rule or action should be easily portable. There's a migration guide as well.
I would LOVE reports on how hard it is for y'all to integrate this in your stores.
https://github.com/friendlycart/solidus_friendly_promotions
https://rubygems.org/gems/solidus_friendly_promotionskennyadsl
Jared Norman
Adam Mueller
11/07/2023, 5:38 PMtvdeyen
mamhoff
11/08/2023, 11:39 AMkennyadsl
mamhoff
11/08/2023, 12:02 PMmamhoff
11/08/2023, 12:03 PMtvdeyen
Jared Norman
Jared Norman
Jared Norman
mamhoff
11/13/2023, 6:43 PM1Maskhal
11/30/2023, 2:11 PMmamhoff
11/30/2023, 2:35 PMjon_wu
12/07/2023, 7:05 PMmamhoff
12/07/2023, 7:07 PMjon_wu
12/07/2023, 7:32 PMmamhoff
12/07/2023, 7:36 PMjon_wu
12/07/2023, 7:51 PMmamhoff
12/07/2023, 8:00 PMjon_wu
12/07/2023, 8:56 PMmamhoff
12/08/2023, 4:06 PMsolidus_friendy_promotions does offer a few features this can help with, and can likely be a good base to implement it. What do you think about meeting about this in the new year sometime?
We're really looking at several challenges with this gem: Can we get it to be Solidus' default? Does it offer the right abstractions and extension points for features like the above? @kennyadsl what do you think, how can we move forward here?kennyadsl