[00:03:59] (03CR) 10Eileen: "I've gone through all of this code again & eyeballed all the changes & am feeling good about it now" [wikimedia/fundraising/crm] - 10https://gerrit.wikimedia.org/r/757286 (https://phabricator.wikimedia.org/T299455) (owner: 10Eileen) [00:05:17] (03PS24) 10Eileen: Switch over to smarty [wikimedia/fundraising/crm] - 10https://gerrit.wikimedia.org/r/757286 (https://phabricator.wikimedia.org/T299455) [00:05:37] AndyRussG: ejegg I've gone through that smarty switcheroo again myself & am feeling good about it now [00:06:16] eileen: cool! [00:06:21] great! I've gotta do a couple non-work things but should be able to take a look later too [00:06:48] same eileen ^ just finishing cooking supper, then eating and dog-walking will be in order [00:06:59] cool [00:07:03] so I can get to it again in about 2 hrs hope that's okok! [00:07:20] Yep - sounds great [00:07:47] eileen: so that 'deleteActivityTarget' => FALSE is totally not needed in the API create call? [00:08:25] (03CR) 10Ejegg: [C: 03+2] Remove addActivity function [wikimedia/fundraising/crm] - 10https://gerrit.wikimedia.org/r/759349 (owner: 10Eileen) [00:08:29] ejegg: I'm pretty sure I remember removing it - but it applied to updating activities not creating - [00:08:36] cool cool [00:08:45] yeah, your version doesn't have it [00:11:13] (03PS2) 10Ejegg: Pending txn resolver: send recurring tokens to queue [wikimedia/fundraising/crm] - 10https://gerrit.wikimedia.org/r/759360 (https://phabricator.wikimedia.org/T300281) [00:21:06] (03Merged) 10jenkins-bot: Remove addActivity function [wikimedia/fundraising/crm] - 10https://gerrit.wikimedia.org/r/759349 (owner: 10Eileen) [00:57:23] (03PS1) 10Ejegg: Expand list of cards supporting 3ds [extensions/DonationInterface] - 10https://gerrit.wikimedia.org/r/759365 (https://phabricator.wikimedia.org/T300188) [00:57:55] 10Fundraising-Backlog, 10fundraising Sprint Black Hole Fillings, 10MediaWiki-extensions-DonationInterface, 10Patch-For-Review: Expand list of supported submethods for 3d Secure - https://phabricator.wikimedia.org/T300188 (10Ejegg) [01:08:11] man, i hate when a web site asks for two factor auth and the last thing I had up on my phone was twitter [01:37:17] lol [01:43:13] ah crap, I didn't realize puppet would wipe out anything I put in /etc/nginx/sites-available [01:43:35] ok, I need to figure out how to puppetize this stuff correctly [01:43:41] (apple pay test server) [01:43:52] I had just gotten something working too [01:59:10] 10Fundraising-Backlog, 10fundraising Sprint Black Hole Fillings, 10FR-Adyen: payments fr-tech-dev server should serve something when ports are not forwarded - https://phabricator.wikimedia.org/T296860 (10Ejegg) a:03Ejegg [02:29:14] eileen: ejegg back finally [02:29:57] hey AndyRussG [02:32:54] heyyyy [02:33:35] k I don't think there should be much impediment to smarty merging shortly [02:34:22] I'll just debug thru little bit more to see if I find anything more to nag about okok? [02:46:12] hi AndyRussG and eileen, sorry I haven't had a chance to look at that - got all puzzled trying to get that nginx site config persisting, and nobody's answering over in the #wikimedia-cloud IRC channel [02:46:47] I have to call it a night - AndyRussG, don't feel like you need to wait for my review to +2 though [02:46:57] ejegg: oki yee no worries [02:47:08] and thx for doing the nginx stuff! :) [02:52:48] eileen: so everything that was previously {{ amount }} {{ currency }} (or the other way 'round) now becomes just {$amount} ? [02:53:12] just amount - I also put that on the phab task :-) [02:53:26] I wanted to put a table in the commit message but gerrit sux [02:53:33] (that's the technical term) [02:54:05] hehehe [02:54:23] u can put tables in Phab [02:57:46] or on-wiki might also be useful? not sure what missing table you're thinking of would be [03:12:55] eileen: what happened to ThankYou/Send.php which was added as of the first patcheset and then deleted in PS 22 ? [03:13:18] maybe that was by mistake? [03:13:41] AndyRussG: yeah - it was half baked - it needs to be in a follow up [03:14:14] eileen: so what functionality is now lacking due to its absence? [03:14:39] or what does its removal in the last PSs change? [03:16:58] AndyRussG: it didn't work - it wasn't being used [03:17:19] it will replace the thank_you_send function in some later more complete implementation.... [03:17:28] as part of moving stuff out of the drupal side [03:18:05] but the file that I included was basically a bunch of copy & paste from another Send class which wasn't updated for thank you [03:19:01] ah oki got it, thx! [03:27:19] funky how the transition from Drupal-y stuff to Civi-y stuff can happen gradually! [03:30:12] :-) [03:30:26] at some point we have to bite the bullet & move the cms [03:38:52] which is the cms? [03:49:22] eileen: so the change from using just the language code ("en") to language code + country ("en_US") is necessary for smarty? or just a side effect of... something? [03:49:31] apologies if we went over this before.... [03:49:51] yeah it's confusing! [03:50:06] the smarty is civi - which is en_US etc [03:50:34] the wmf stuff started from media wiki - which uses en-US or just en [03:51:29] in particular we still need the mediawiki variable for $locale in the template - as that is used in the urls (although why - I mean - you have a template per language so the variable doesn't really ... vary) [03:51:52] & also the Templating class is still using the old version to find the file on the disk [03:52:13] (which will change in the next update when we move it to the database) [03:52:19] eileen: [03:52:21] ok [03:53:00] which is used for selecting which template it is? is it the new one or the old? [03:53:15] ahh also thx for the explanation! [03:57:09] the mediawiki one is used to select the template .... for now [03:57:35] so when we call loadTemplate we give it the locale value [04:00:38] ok [04:00:52] so no (or not much) risk of selecting the wrong template [04:01:20] so how is the smarty local actually used? [04:02:07] so it's sent in to the template rendering as a parameter [04:02:16] but what does smarty actually do with it then? [04:08:19] OK so usages [04:08:19] 1) select the template [04:08:19] 2) civi usage - set the global locate before using the Civi money formatting function - this affects things like comma vs decimal [04:08:19] 3) smarty usage - it is used in the template although this usage is a bit silly IMHO - it is appended to urls - but .... we have a template per language so we don't need a variable to tell us the language.... [04:10:11] oki cool thx! [04:10:46] that next_fallback() method (which I see just moved, not new) is very subtle [04:10:52] refined even [04:16:33] mmm also not changed here, the $page_content = str_replace('

', '', $html); in Render.php seems... unexpected [04:22:27] (03PS1) 10Eileen: Remove use ot the twig Templating from wmf_campaigns [wikimedia/fundraising/crm] - 10https://gerrit.wikimedia.org/r/759373 (https://phabricator.wikimedia.org/T299455) [04:23:07] AndyRussG: yeah - I got rid of one class (Translation) - working on getting rid of 'Templating' [04:24:02] right [04:24:39] eileen: I'm about ready to +2. Caveats: I don't claim to understand 100% of every detail of the code change here. Certainly not something I'd know how to right myself, as usual. [04:24:44] It all looks quite sane though [04:24:48] :-) [04:24:58] and I think I have a decent idea of what's going on [04:25:04] sound good? [04:25:28] I'm assuming that's the level of review expected on this [04:25:38] so I was thinking that we deploy it - maybe tomorrow - with a warning to DR and an understanding among fr-tech that if there are any problems it can be rolled back quickly (so no-one has to worry under the gun) [04:26:21] yeah sounds good! [04:26:22] I feel like I did go through & check the language templates & didn't spot anything & we tried a few out with no issues [04:26:28] yeah [04:26:55] eileen: I also didn't check every single detail of every single language template... is that also ok or should I try looking over every one with a finer-toothed comb? [04:27:17] Hmm - I think I rechecked them all - and mostly it was find & replace [04:27:33] ok [04:27:50] I have to cook more for kiddo school lunches now [04:28:05] but I can either +2 now and leave it at that, or check them more carefully and +2 tomorrow [04:28:13] whichever u prefer is great of course [04:28:32] AndyRussG: why don't you add +1 for now in case ejegg|away wants to check first [04:28:40] & I'll do an end of day email [04:29:14] ok great! [04:29:42] thx also for adding the comments and the detailed commit message! [04:31:24] (03CR) 10AndyRussG: [C: 03+1] "This looks really great!! I've found nothing to complain about. I haven't combed over all the templates one-by-one, and other folks may al" [wikimedia/fundraising/crm] - 10https://gerrit.wikimedia.org/r/757286 (https://phabricator.wikimedia.org/T299455) (owner: 10Eileen) [04:32:40] thanks AndyRussG [04:32:47] I'll put an end of day email [04:34:48] okok thank u, for all the code, and also all the help reviewing :) [04:35:55] (03PS1) 10Eileen: Minor code cleanup [wikimedia/fundraising/crm] - 10https://gerrit.wikimedia.org/r/759374 (https://phabricator.wikimedia.org/T299455) [04:42:10] PROBLEM - check_log_messages on frav1002 is CRITICAL: CRITICAL: minFraud_endpoint_critical 1 [=1] https://icinga.wikimedia.org/cgi-bin/icinga/extinfo.cgi?type=2&host=frav1002&service=check_log_messages [04:45:28] (03PS1) 10Eileen: Remove complex templating from wmf_communication [wikimedia/fundraising/crm] - 10https://gerrit.wikimedia.org/r/759375 (https://phabricator.wikimedia.org/T299455) [04:46:06] (03PS2) 10Eileen: Remove complex templating from wmf_communication [wikimedia/fundraising/crm] - 10https://gerrit.wikimedia.org/r/759375 (https://phabricator.wikimedia.org/T299455) [04:47:10] RECOVERY - check_log_messages on frav1002 is OK: OK https://icinga.wikimedia.org/cgi-bin/icinga/extinfo.cgi?type=2&host=frav1002&service=check_log_messages [04:51:32] 10Fundraising-Backlog, 10fundraising Sprint Black Hole Fillings: turn on optional employer field by default - https://phabricator.wikimedia.org/T300086 (10NNichols) Default for just the US! I believe we were using the Employer 4 variant the last time this was live. [07:38:56] 10Fundraising-Backlog: Querying contacts from 'Reply Mail Block' events - https://phabricator.wikimedia.org/T300817 (10Peachey88) [07:46:18] (03CR) 10jerkins-bot: [V: 04-1] Localisation updates from https://translatewiki.net. [extensions/DonationInterface] - 10https://gerrit.wikimedia.org/r/759403 (owner: 10L10n-bot) [08:13:54] (03CR) 10Raimond Spekking: [C: 03+2] "false positive" [extensions/DonationInterface] - 10https://gerrit.wikimedia.org/r/759403 (owner: 10L10n-bot) [10:50:37] 10Fundraising Sprint Anti-matter doesn't matter, 10Fundraising-Backlog, 10Wikimedia-Fundraising-CiviCRM, 10fundraising Sprint Black Hole Fillings: Automatically populate created date on relationships - https://phabricator.wikimedia.org/T294487 (10Damilare) a:05Damilare→03Eileenmcnaughton [13:16:15] 10Fundraising-Backlog, 10Wikimedia-Fundraising, 10MediaWiki-extensions-CentralNotice, 10I18n: Allow better searching on Special:MessageGroupStats - https://phabricator.wikimedia.org/T125336 (10Kaganer) If this still not resolved, that replacing raw "listbox" to the combobox (with the editable search string... [14:30:47] 10Fundraising-Backlog, 10Wikimedia-Fundraising-CiviCRM: How to Identify RML contacts in civi - https://phabricator.wikimedia.org/T299697 (10EYener) 05Open→03Resolved a:03EYener Group ID = 310 - noting for future Thanks, we can close! [14:45:05] (03CR) 10Jgleeson: [C: 04-1] "Amex and Discovery worked fine." [extensions/DonationInterface] - 10https://gerrit.wikimedia.org/r/759365 (https://phabricator.wikimedia.org/T300188) (owner: 10Ejegg) [14:45:55] (03PS2) 10Jgleeson: Expand list of cards supporting 3ds [extensions/DonationInterface] - 10https://gerrit.wikimedia.org/r/759365 (https://phabricator.wikimedia.org/T300188) (owner: 10Ejegg) [15:41:37] hi fr-tech :) [15:45:32] hi AndyRussG ! [15:49:31] :) [15:50:47] how's it goijn? [15:50:51] goin* [16:00:38] jgleeson: eh not too bad thanks! many worky work and non-worky work stuff to do as always... [16:00:54] got my vaccine booster yesterday... they gave me Sputnik-V [16:03:35] oh rly [16:03:46] I've not heard of anyone getting that one before [16:03:51] how are you feeling AndyRussG [16:04:10] all fine jgleeson! no side effects other than a sore arm [16:04:16] ah that's good [16:04:22] how are you doing there? how's the boiler? [16:05:28] it's still not giving us any hot water so we're getting by sharing kettle baths at the moment. we've got an engineer coming out tomorrow so fingers crossed! [16:11:24] (03CR) 10Jgleeson: [C: 03+2] "Nice job, fits in nicely. Thanks for the test." [wikimedia/fundraising/crm] - 10https://gerrit.wikimedia.org/r/759360 (https://phabricator.wikimedia.org/T300281) (owner: 10Ejegg) [16:22:59] (03Merged) 10jenkins-bot: Pending txn resolver: send recurring tokens to queue [wikimedia/fundraising/crm] - 10https://gerrit.wikimedia.org/r/759360 (https://phabricator.wikimedia.org/T300281) (owner: 10Ejegg) [16:43:16] fr-tech should we move standup out to :20 as it clashes with the monthly staff meeting taking place now [16:43:56] that also gives me 30ish minutes to cook bolognese as I listen :) [16:49:25] im ok with that jgleeson just my virtual drs appointment is at :30 so I'll just have to leave early [16:50:46] also a lovely -9F -23C here right now [16:51:53] woah [16:52:00] that's dangerously cold [16:53:32] no wind though, not sure if they do it here but my hometown would only cancel school if windchill was below -20F [16:55:30] Oh, for some reason I thought the meeting right now was a repeat of the tech monthly meeting and not the all-staff one. [16:55:48] Yea, let's just do a quick standup when it's over. [16:59:56] cool fr-tech I was planning to listen to the meeting recording later... can u ping when standup would start maybe? thx in advance!!! [17:00:07] AndyRussG, yea, will do [17:00:14] thx!! [17:00:32] I'm watching the end of it, but I'll also be catching the recording for what I missed earlier. [17:01:23] hehe jgleeson has his cooking + staff meeting viewing now, and I'm hoping to follow the same procedure a bit later :) [17:02:08] Seems like everyone is in the staff meeting right? [17:07:12] WFan, yea, standup after. [17:31:32] yeah AndyRussG it's always a good window ha! [17:32:57] 10Fundraising-Backlog, 10FR-Adyen, 10Recurring-Donations: Put Adyen MC behind a variant - https://phabricator.wikimedia.org/T300902 (10DStrine) [17:33:09] 10Fundraising-Backlog, 10fundraising Sprint Black Hole Fillings, 10FR-Adyen, 10Recurring-Donations: Put Adyen MC behind a variant - https://phabricator.wikimedia.org/T300902 (10DStrine) [17:33:35] yeah [17:33:54] jgleeson: ah sorry to hear about the ongoing hot water troubles! [17:33:54] fr-tech: Monthly meeting is wrapping up, let's jump on standup and do a quick one. [17:38:53] 10Fundraising-Backlog, 10fundraising-tech-ops: Issue new SSL Client Certificate for mdemos - https://phabricator.wikimedia.org/T300763 (10Dwisehaupt) Certificate renewed and sent via email. Password sent via SMS. [18:22:19] damilare: ok, so for the employer field default, I guess we want to swap the label key in personal_infor.html.mustache from donate_interface-donor-employer to donate_interface-donor-employer-variant4, and we want to add the explainer text below the field right in the mustache template too [18:23:21] since the 'We'll let you know if your employer will match your gift' string is just hardcoded in the employerExplain.js, we'd want to add that as a new string to en.json and qqq.json [18:24:00] hmm, so do we always load the autocomplete JS? [18:25:06] I guess that question is up to you - if you find a clean way of only loading the autocomplete JS when the field will be shown, that'd be good so we can minimize load times for ppl outside of the US [18:25:33] 10Fundraising-Backlog, 10fundraising-tech-ops: Issue new SSL Client Certificate for jmando - https://phabricator.wikimedia.org/T300762 (10Dwisehaupt) Certificate renewed and sent via email. Password sent via SMS. [18:26:51] there is a way to asynchronously load extra scripts via ResourceLoader: https://doc.wikimedia.org/mediawiki-core/master/js/#!/api/mw.loader-method-using [18:28:25] since the employer field is at the bottom of the page, it might be OK to have the standard form script just check whether the field exists in the HTML, and if so, load the autocomplete [18:28:40] oh right, you might just need mw.loader.load, not even mw.loader.using [18:29:40] then finally, I guess we can delete the employer* variants [18:30:27] hmm, I guess if we're deleting the variants, it might be odd to leave the message key that has '-variant4' in it [18:31:29] instead of changing the key in the template, you could move the text from -variant4 in all the .json files to overwrite the non-variant employer label [18:31:42] anyway, various possibilities [18:38:33] 10Fundraising-Backlog, 10fundraising-tech-ops: Issue new SSL Client Certificate for jsimmons - https://phabricator.wikimedia.org/T300910 (10Dwisehaupt) [18:55:55] Thanks Ejegg, this is really helpful. sorry was afk for a short while [18:59:56] yw damilare, let me know if you have any more questions [19:02:38] Definitely would, going through the doc now [19:02:54] Did we have the Monthly Convert deployed? I just tested one for adyen with variant=MonthlyConvert, no modal as expected? [19:06:14] I see David is asking for the adyen MC links for all bundle countries, I mean we did check if variant equal monthlyConvert. [19:08:10] 10Fundraising-Backlog, 10fundraising Sprint Black Hole Fillings: turn on MC for Ingenico in Italy as default - https://phabricator.wikimedia.org/T300917 (10DStrine) [19:09:59] WFan I think it was deployed, its probably case sensitive... try variant=monthlyConvert [19:10:35] yeah, I used variant=monthlyConvert [19:19:01] https://payments.wikimedia.org/index.php?title=Special:AdyenCheckoutGateway&appeal=JimmyQuote&ffname=adyen&payment_method=cc&recurring=0&uselang=uk&language=uk¤cy=UAH&amount=26&country=UA&utm_source=internal_test&utm_campaign=internal_test&variant=monthlyConvert [19:22:09] PROBLEM - check_log_messages on frav1002 is CRITICAL: CRITICAL: minFraud_endpoint_critical 1 [=1] https://icinga.wikimedia.org/cgi-bin/icinga/extinfo.cgi?type=2&host=frav1002&service=check_log_messages [19:27:13] RECOVERY - check_log_messages on frav1002 is OK: OK https://icinga.wikimedia.org/cgi-bin/icinga/extinfo.cgi?type=2&host=frav1002&service=check_log_messages [19:33:44] WFan: I think the reason the modal isn't rendering is the amount donated [19:34:24] WFan: its also super sticky so you might need incognito window to see it [19:34:36] the variants that is [19:35:31] language=uk doesn't look right [19:35:47] oh wait it does [19:35:52] That for the big bundle haha [19:35:55] I'm just UK biased [19:36:01] haha [19:37:54] I'll check locally WFan [19:38:08] looks like theres no rules for ukranian currency for MC [19:38:53] Ohh ok that too [19:39:30] interesting, the google translation tool shows donate as "Sacrifice" [19:39:40] sounds ominous [19:39:48] I wouldn't donate if I saw that! [19:39:51] that does sound ominous [19:40:20] https://phabricator.wikimedia.org/F34941662 [19:50:38] 10Fundraising-Backlog: Enable Monthy Convert for Bundle Countries - https://phabricator.wikimedia.org/T300920 (10Cstone) [19:50:54] 👍 [20:19:00] 10Fundraising-Backlog, 10fundraising-tech-ops: Issue new SSL Client Certificate for eyener - https://phabricator.wikimedia.org/T300555 (10Dwisehaupt) Certificate renewed and sent via email. Password sent via SMS. [20:46:13] (03PS1) 10Umherirrender: Use ::class to refer class names [extensions/CentralNotice] - 10https://gerrit.wikimedia.org/r/759586 [21:12:36] (03CR) 10DannyS712: [C: 03+2] Use ::class to refer class names [extensions/CentralNotice] - 10https://gerrit.wikimedia.org/r/759586 (owner: 10Umherirrender) [21:15:07] (03Merged) 10jenkins-bot: Use ::class to refer class names [extensions/CentralNotice] - 10https://gerrit.wikimedia.org/r/759586 (owner: 10Umherirrender) [21:30:22] AndyRussG: I'm tempted to push that patch out now [21:31:22] eileen: I think it's fine [21:31:30] OK - can you +2 [21:31:35] yep! [21:32:28] (03CR) 10AndyRussG: [C: 03+2] "Cool beans!!! Thanks so so much, looks great!!" [wikimedia/fundraising/crm] - 10https://gerrit.wikimedia.org/r/757286 (https://phabricator.wikimedia.org/T299455) (owner: 10Eileen) [21:33:37] 10Fundraising-Backlog, 10fundraising-tech-ops: Issue new SSL Client Certificate for eyener - https://phabricator.wikimedia.org/T300555 (10Dwisehaupt) 05Open→03Resolved Verified in logs that the new certificate is in use. [21:34:10] 10Fundraising-Backlog, 10fundraising-tech-ops: Issue new SSL Client Certificate for mdemos - https://phabricator.wikimedia.org/T300763 (10Dwisehaupt) 05Open→03Resolved Verified in logs that the new certificate is in use. [21:34:50] 10Fundraising-Backlog, 10fundraising-tech-ops: Issue new SSL Client Certificate for jmando - https://phabricator.wikimedia.org/T300762 (10Dwisehaupt) 05Open→03Resolved Verified in logs that the new certificate is in use. [21:36:03] 10Fundraising-Backlog, 10fundraising-tech-ops: Issue new SSL Client Certificate for cstone - https://phabricator.wikimedia.org/T300554 (10Dwisehaupt) 05Open→03Resolved Verified in logs that the new certificate is in use. [21:36:54] 10Fundraising-Backlog, 10fundraising-tech-ops: Issue new SSL Client Certificate for ewilson - https://phabricator.wikimedia.org/T300765 (10Dwisehaupt) 05Open→03Resolved Verified in logs that the new certificate is in use. [21:37:30] (03CR) 10Jgleeson: "thanks for the review. I'm gonna merge the fixes into the follow-on patch" [wikimedia/fundraising/crm] - 10https://gerrit.wikimedia.org/r/758897 (https://phabricator.wikimedia.org/T298547) (owner: 10Jgleeson) [21:37:54] 10Fundraising-Backlog, 10fundraising-tech-ops: Issue new SSL Client Certificate for dstrine - https://phabricator.wikimedia.org/T299551 (10Dwisehaupt) 05Open→03Resolved Verified in logs that the new certificate is in use. [21:40:01] 10Fundraising-Backlog, 10fundraising-tech-ops: Issue new SSL Client Certificate for avalkov - https://phabricator.wikimedia.org/T300551 (10Dwisehaupt) 05Open→03Resolved Verified in logs that the new certificate is in use. [21:41:08] 10Fundraising-Backlog, 10fundraising-tech-ops: Issue new SSL Client Certificate for shust - https://phabricator.wikimedia.org/T300550 (10Dwisehaupt) 05Open→03Resolved Verified in logs that the new certificate is in use. [21:42:22] 10Fundraising-Backlog, 10fundraising-tech-ops: Issue new SSL Client Certificate for nnichols - https://phabricator.wikimedia.org/T300580 (10Dwisehaupt) 05Open→03Resolved Verified in logs that the new certificate is in use. [21:43:08] 10Fundraising-Backlog, 10fundraising-tech-ops: Issue new SSL Client Certificate for sredkina - https://phabricator.wikimedia.org/T300556 (10Dwisehaupt) 05Open→03Resolved Verified in logs that the new certificate is in use. [21:44:18] (03Merged) 10jenkins-bot: Switch over to smarty [wikimedia/fundraising/crm] - 10https://gerrit.wikimedia.org/r/757286 (https://phabricator.wikimedia.org/T299455) (owner: 10Eileen) [21:46:30] 10Fundraising-Backlog, 10fundraising-tech-ops: Issue new SSL Client Certificate for ejohnston - https://phabricator.wikimedia.org/T299547 (10Dwisehaupt) 05Open→03Resolved Verified in logs that the new certificate is in use. [21:47:14] (03PS1) 10Eileen: Merge branch 'master' of https://gerrit.wikimedia.org/r/wikimedia/fundraising/crm into deployment [wikimedia/fundraising/crm] (deployment) - 10https://gerrit.wikimedia.org/r/759616 [21:47:27] (03CR) 10Eileen: [C: 03+2] Merge branch 'master' of https://gerrit.wikimedia.org/r/wikimedia/fundraising/crm into deployment [wikimedia/fundraising/crm] (deployment) - 10https://gerrit.wikimedia.org/r/759616 (owner: 10Eileen) [21:48:53] 10Fundraising-Backlog, 10fundraising-tech-ops: Issue new SSL Client Certificate for ppena - https://phabricator.wikimedia.org/T299554 (10Dwisehaupt) 05Open→03Resolved Verified in logs that the new certificate is in use. [21:50:01] (03PS1) 10Umherirrender: Replace deprecated wfReadOnly() [extensions/CentralNotice] - 10https://gerrit.wikimedia.org/r/759618 (https://phabricator.wikimedia.org/T283978) [21:54:44] (03CR) 10Jgleeson: Add isLowConfidenceNameSource check to getExistingContactID lookup (031 comment) [wikimedia/fundraising/crm] - 10https://gerrit.wikimedia.org/r/758954 (https://phabricator.wikimedia.org/T298547) (owner: 10Jgleeson) [22:01:39] 10Fundraising-Backlog, 10fundraising-tech-ops: Issue new SSL Client Certificate for sguseman - https://phabricator.wikimedia.org/T299939 (10Dwisehaupt) 05Open→03Resolved Verified in logs that the new certificate is in use. [22:05:08] !log civicrm revision 7dcdc017 -> 04cbf35b [22:05:10] Logged the message at https://wikitech.wikimedia.org/wiki/Server_Admin_Log [22:28:07] here is a super easy patch if someone wants to merge https://gerrit.wikimedia.org/r/c/wikimedia/fundraising/crm/+/759374 - it is in a chain but can be rebased onto master since the pre-ceding patch is unrelated [22:32:43] (03PS4) 10Jgleeson: Add isLowConfidenceNameSource flag to WMFContact:save() API action [wikimedia/fundraising/crm] - 10https://gerrit.wikimedia.org/r/758954 (https://phabricator.wikimedia.org/T298547) [22:33:03] (03Abandoned) 10Jgleeson: Add isLowConfidenceNameSource flag to WMFConact::save() API Action [wikimedia/fundraising/crm] - 10https://gerrit.wikimedia.org/r/758897 (https://phabricator.wikimedia.org/T298547) (owner: 10Jgleeson) [22:34:52] (03PS5) 10Jgleeson: Add isLowConfidenceNameSource flag to WMFContact:save() API action [wikimedia/fundraising/crm] - 10https://gerrit.wikimedia.org/r/758954 (https://phabricator.wikimedia.org/T298547) [22:38:01] (03CR) 10Jgleeson: [C: 03+2] "Code so pretty!" [wikimedia/fundraising/crm] - 10https://gerrit.wikimedia.org/r/759374 (https://phabricator.wikimedia.org/T299455) (owner: 10Eileen) [22:38:14] jgleeson: thanks [22:38:18] np [22:38:28] (03PS2) 10Eileen: Minor code cleanup [wikimedia/fundraising/crm] - 10https://gerrit.wikimedia.org/r/759374 (https://phabricator.wikimedia.org/T299455) [22:38:28] thanks for the review on the other one [22:38:39] jgleeson: it needs more now doesn't it? [22:38:53] yup yup [22:39:06] I need to finish a test of the code really [22:39:17] (with apple pay) [22:39:34] my macbook is upstairs and I'm too tired to do the set up dance with that [22:39:49] I'll mark the patch as WIP for now so it doesn't get merged [22:40:28] I'll let CI finish [22:46:33] (03PS6) 10Jgleeson: WIP: Add isLowConfidenceNameSource flag to WMFContact:save() API action [wikimedia/fundraising/crm] - 10https://gerrit.wikimedia.org/r/758954 (https://phabricator.wikimedia.org/T298547) [22:49:49] bye for now fr-tech [23:03:38] eileen: yt? [23:03:46] AndyRussG: yep [23:04:05] cool! [23:04:43] eileen: so I almost forgot, earlier today we were talking about how to do the task to create a new address type to store country settings received via the e-mail pref ctr [23:05:08] This is the task T280674 [23:05:09] T280674: Email preference center: create new address type "Email Preference Country" - https://phabricator.wikimedia.org/T280674 [23:05:16] which WFan has started looking at [23:06:10] so we were just thinking you might have some more detailed guidance about where to start on that? is there doc about how Civi links contacts to different address types? how to create a new type? how to store and query that via the Civi API? [23:06:12] Yep, and Christine showed me how to add customized field from civi [23:06:21] ahhh fantastic! [23:06:48] heheh I if someone asked me right now, I think I wouldn't remember how to do that, though it has been explained to me before ;p [23:06:51] AndyRussG: WFan we already create one location type in civi - see /sites/default/civicrm/extensions/wmf-civicrm/Managed/LocationTypes.mgd.php [23:07:35] oh cool! [23:07:40] wow [23:07:43] so we can just add to there - I think the last conversation was a new location type rather than custom field ? (& make it primary so it gets exported I guess since it would be our best info we just don't want to lose the old info, if a different country) [23:08:05] so maybe searching the code or especially Civi api calls for "mailing" would also shed some light? [23:08:28] I imagine one can use the Civi API explorer to find how to query from contact to mailing address? [23:08:42] also thx so much eileen! [23:08:48] So adding to that file would add the location type - it ultimately works from the 'managed' hook - https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_managed/ [23:09:18] I think we use the 'mailing' location type primarily by user data entry? Not 100% sure [23:09:28] https://phabricator.wikimedia.org/T270680 you made this mailing for this ticket! thanks I will take a look [23:09:31] would one have to re-build Civi via buildkit for that to take effect? or I imagine there are other options [23:12:13] But yeah if we have preference centre info we would do something like [23:12:13] i if (!count(\Civi\Api4\Address::get(FALSE)->addWhere('contact_id', '=', 'x') [23:12:13] ->addWhere('is_primary', '=', 1) [23:12:13] ->addWhere('country_id:name', '=', 'y')->execute()) { [23:12:13] \Civi\Api4\Address::create(FALSE)->setValues([ [23:12:13] 'is_primary' => 1, [23:12:14] 'location_type_id:name' => 'Preference Centre', [23:12:14] 'country_id:name' => 'y', [23:12:15] 'contact_id', => 'x', [23:12:15] ])->execute(); [23:12:16] } [23:12:42] - that's pretty hard to read in irc - esp since I put a long fn in the !count [23:13:40] wow great [23:13:57] hmmm well some comments on the task might also be a good place for some notes like this? [23:13:59] thx again! [23:14:42] Yes, I was thinking maybe we could move this to to the ticket so task as ref if we have similar need in the future. Thanks Eileen~ [23:16:06] I mean move this code to the ticket, so next time we can take this as ref* haha [23:17:42] One question, if we create the mailing field this way, we do no need manually add customized field from the civi backoffice then right? [23:24:17] eileen: ^ [23:24:31] also yes definitely we can copy it to a comment on the task :) [23:26:41] AndyRussG: if you want me to I need the task number [23:26:48] oh I see it [23:27:00] https://phabricator.wikimedia.org/T280674 [23:27:15] eileen: ah sorry for the bother was pointing to WFan's last question, thx again! [23:27:39] thanks! [23:30:28] 10Fundraising Sprint Princess Mongodb, 10Fundraising Sprint Technical debt house of horrors, 10Fundraising-Backlog, 10Wikimedia-Fundraising-CiviCRM, and 5 others: Email preference center: create new address type "Email Preference Country" - https://phabricator.wikimedia.org/T280674 (10Eileenmcnaughton) Som... [23:30:44] 10Fundraising-Backlog, 10fundraising Sprint Black Hole Fillings: turn on MC for Ingenico in Italy as default - https://phabricator.wikimedia.org/T300917 (10Ejegg) Confirmed that variant 11 (the default) is fully translated into Italian, and deployed the settings change. Monthly convert is now on by default for... [23:30:54] (also I wonder if a custom field is even needed in this case! maybe not? that is, if there's a linking table that associates contact id, address and address type? [23:31:02] ) [23:32:12] AndyRussG: no - I think it isn't needed - I think just creating an extra address record probably makes sense - because whatever they give us in the preferences is their preferred address isn't it? Any other address we keep would be more for user-reference [23:32:41] AndyRussG: the address table has an FK to contact_id and another FK to address_type [23:32:55] ah great [23:33:08] I wonder what preferred means in this context? [23:33:30] in Civi it means we set the is_primary flag on that address [23:33:38] ah ok [23:33:46] and in practical use case terms what does that mean? [23:33:52] when we do that via the API, Civi should take care of un-setting it for the rest of the addresses [23:34:06] ok, we export the is_primary address to acoustic [23:34:25] hmmm oki [23:34:53] also we realized that the existing code used by the e-p-c might have to change, so that when it queries the country, it would go to billing address only when there's no address set via the e-p-c previously.... though maybe it'll already do that if it's looking for the is_primary flag? [23:35:00] so if we really want to complicate things, we can ask whether the email_preference Address should stay primary even after they make a donation with a different country later [23:36:02] current practice is for newer donations to update the primary address [23:36:20] hmmmmm [23:37:18] so with that structure ejegg a given address can only ever be associated with a single contact? [23:37:27] AndyRussG: is the fr-tech-dev forwarding server documented on-wiki at all yet? [23:37:45] don't think so ejegg [23:37:59] might be in the README of fr-dev tho [23:38:06] contacts can definitely have multiple addresses [23:38:10] but only one can be primary [23:38:34] right but can an address have more than one contact? [23:38:36] https://www.mediawiki.org/wiki/Fundraising_tech/notes/Draft:Documentation_overhaul [23:38:48] I'd say it would go under topic h1, or a subtopic thereof [23:39:02] oh right, an address can only have its FK point to one contact [23:39:32] So if current donor make a new donation from other country, and he did not manually update the email preference, will we update their new country to the billing country and the email_country? [23:39:49] I've seen some contacts in the test data say something like 'uses address of OtherContactY' but i'm not sure how that's modeled in the DB [23:40:28] wfan: that sounds right :) tho others I think would know in greater detail [23:40:36] wfan: If a donor doesn't manually update email preference, I think they just don't have an address of type 'email_preference' [23:40:42] ejegg: yeah I was imagining there might be some extra civi magic around that [23:41:06] Yeah, just because 5 location types exist doesn't mean that every contact automatically gets 5 rows in the address table [23:41:15] contacts can have zero addresses [23:41:55] wfan: so that means we don't have to worry about setting a default value for the new address type existing contacts [23:42:27] sorry, missing the word 'for' there [23:42:41] ejegg: ok, i see! [23:45:16] so if donor will have no address of type 'email_preference' by default, then we do not really need to update both country row with new donation, the only way to update their address of the type 'email_preference' will be donor manually update their email preference [23:46:12] wfan right, the new code for this ticket will create that email_preference-type address and will set it as is_primary [23:46:25] but then later, what if the donor makes a donation from a different country? [23:46:26] and when marketing send thank you email or run champion, they will first check if the donor has a country preferred, otherwise just use the most recent billing country [23:47:56] hmm, so we treat email_preference address type special in the export, rather than in the merge? [23:48:22] ejegg: this part I am not sure, might need to ask David? [23:49:11] wfan: So we should clarify the requirement, whether a new donation from a different country should take precedence over a country set in e-p-c [23:49:18] I the doc is not very clear about the country field update https://docs.google.com/document/d/1wKtGxJn06bs6OGAFV7DKUfVw2salKdU_NAUn5SMGks0/edit# [23:49:56] if the new donation DOES take precedence, that's easy for us, we just let the existing code work as is [23:50:28] but if email preference country should be permanently preferred, it's up to us techies to decide where we change the logic [23:51:02] yaah it's a good question [23:52:58] btw, what is e-p-c? [23:53:05] email-preference-center [23:53:42] just find out that haha sorry [23:56:07] I mean the task is just add a field and update through e-p-c, which country is more primary could be some other task for marketing right? [23:57:42] sure, that could be a follow-on task [23:57:55] Then we can have some follow up tasks like when new donation coming, which country field should we update, and another task might as when sending thank you email, which country filed will be used, right? [23:59:02] ok, I will leave comments then :) Thanks!