-
-
Notifications
You must be signed in to change notification settings - Fork 825
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
CRM-20521 Convert returning groups and mailings for CiviMail new mail… #10303
Conversation
@totten @eileenmcnaughton Would appreciate your thoughts on this. AUG is currently running with this on our production and we have found this generates a good performance boost for us also going to ping @jaapjansma not sure if you have hit similar things |
0496e9b
to
014763b
Compare
@seamuslee001 I haven't come accross this particulair issue but it makes sense in light of what we have discovered so far. |
Sounds like this would be a performance improvement when you have a large number of groups or a large number of mailings? Might also help in edge-cases where you're juggling multiple mailings in different tabs? In terms of testing/review, I can't do it right now, but the first thing I'd suggest looking out for is variations in the dataflow, e.g. (a) creating a new mailing vs (b) loading an existing mailing on a fresh page vs (c) editing the url bar to switch to a different mailing. |
@totten yep that would be the idea, We have had this code running for ~2 months now and haven't had any major issues with it as far as i know. Not sure about the edge cases you speak of but certainly the main thing for us was the performance improvement |
Yup, it seems to work consistently for me. One oddity: it feels like it's doing duplicate AJAX calls (at least in Firefox), e.g.
Any chance you might reduce the #AJAX calls? e.g.
|
@totten maybe haven't looked at that at all, i'm guessing its doing one per include and exclude for each of the 2 different entities |
@totten i have just had a try at debugging but i don't think there will be an easy way to reduce down the AJAX calls. The primary reason is that Include Groups and Exclude Groups are considered 2 separate arrays that are just joined together i think for example. Same with mailings. In my opinion just because its doing 2 AJAX calls i don't think should mean its a blocker to this being merged. Functionally it does the same job as it was doing previously |
@totten looks like this has been discussed & had low-level testing by you & production testing by @seamuslee001 - do you think it is good to merge? |
@monishdeb to test and possibly merge given comments above. I think it is not necessary for this PR to refactor the include and exclude group widgets so they are combined to a single call, though that would also improve performance. FWIW, we have had complaints from users about this performance issue. |
@monishdeb did you get anywhere with your review of this? |
@seamuslee001 I am not getting the groups in 'Recipients' field. Please check the screencast below: |
Hi @monishdeb i just tested this on a local buildkit install and it showed me groups fine. I would check to make sure that a) you have groups and b) the groups are ticked as mailing list |
…ing screen into an API request rather than loading in the DOM
@monishdeb ignore my previous comment, i found the issue please re-test now |
Yup the latest patch has fixed that issue. I agree with you that it will need major refactoring change to reduce AJAX calls and it's not a blocker, so we can skip this for now. Apart from that everything else is working fine. Tested as per |
@seamuslee001 in exchange can you please QA #10718? |
I found that this performs much better in Chrome than in Firefox. In both, it greatly speeded up the UI first appearing. But in Firefox, on a site with 2.7k mailing groups and 13k unarchived mailings, the Recipients select took 2 minutes to load when clicked. In Chrome it was 1-2 seconds. In either browser, there's a bunch more initialization that happens before the UI is ready to use: in my testing on the above site, this takes a few minutes, even with the current PR. See CRM-21260 CiviMail compose UI very slow to initialize when many mailing groups and past mailings. |
…ing screen into an API request rather than loading in the DOM