-
-
Notifications
You must be signed in to change notification settings - Fork 812
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
REF Move event cart to extension #17339
Conversation
(Standard links)
|
27dccdd
to
845de86
Compare
Test result:
|
@bgm Right, that makes sense because the schema no longer exists in core but in an extension which will load later. I can't see where that FK is used except in event cart (and then I only found one usage). I've just pushed a commit that removes the FK constraint (as we already do that elsewhere in CiviCRM). Let's see if anything else fails. |
@mattwire it needs a rebase |
@eileenmcnaughton Rebased |
@mlutfy tests are passing. Can you review? |
@mattwire - I'm really looking forward to being able to remove the system setting |
It looks so simple on the surface, but reading the diff.. really impressive work. About translation: I had commented about Ran into an issue enabling it: I did a bit of testing on the demo site: http://core-17339-2fwtx.test-1.civicrm.org:8001/ (admin / jXm4wSbqdecP)
Had a fatal error:
I noticed that the extension is enabled in the Upgrader by running an SQL function. Is it to avoid a cache-flush from using Extension.enable or equivalent BAO? Looking at the diff, maybe I missed it, but I couldn't find an equivalent |
It's just the way it had been done with |
I don't know how far down the road you've gotten, but since core extensions are "always on" you could leave the schema & install/uninstall logic for a future PR. |
Would it be possible to add a |
I've just pushed the civix upgrader as that was missed off too. Basically on install we need a way of calling the extension install/postInstall hooks. I wonder if we could set the |
the install issue it was pretty tricky last time. A big part of the reason for hidden core extension was to allow us to not solve everything all at once - e.g we could move most things to the extension but not some tricky thing (in this case the install) and not delay all work on it until we solved the hard parts. |
In other words: it's a big PR and will go stale quickly, we can merge now and fix the install in a separate PR? (fine by me, considering the circumstances) |
a38d385
to
fc9630a
Compare
Jenkins re test this please |
After discussing in ct catchup this am we have progressed getting some of the stale-ness prone parts of this merged - with the civix generated code merged and this to move the BAO stuff #17743 |
The big move is merged! I think the way forwards now is small PRs like this one so I'll close this & the component pieces can be considered separately |
@mattwire this is stale do you want to keep it open? |
See totten/civix#189 that fixes an issue with autogenerated upgrader |
As with the other one - let's close this & just keep the parts that are reviewable open. They don't need to be open to be used as a to-do for the person working on them but I'm trying to get the PR list down to being a review to-do list |
Oh I just saw your comment - I think the same thing can be achieved by having a branch though? I've put about 70 hours into triaging & reviewing just recently & I'm very focussed on how to make the PR list work as a review to-do list at the moment |
Overview
Using the new "hidden" core extension functionality to allow us to start moving functionality into extensions.
This creates an eventcart extension and moves a large part of the functionality out of core into the extension.
It does not yet move:
Before
Event cart part of CiviCRM core.
After
Event cart (mostly) an extension.
Technical Details
Move the eventcart schema, BAO and forms to an extension. Add installer methods in the same way as sequentialcreditnotes.
Comments
An upgrade should be smooth. If event cart was previously enabled you may need to clear caches but that should happen during upgrade anyway.
@bgm @eileenmcnaughton Tests should now be passing (it needed a little bit of work to pull out the schema from core).
To test, enable and disable event cart. Check that event cart functionality such as "Add to Cart", "View Cart" and "Checkout" still works.