[00:00:21] pizzzacat: http://www.notes-uk.squarespace.com/find-us/ [00:01:35] http://boroughmarket.org.uk/flat-cap-coffee-co-2 [00:05:11] http://www.thelondoncoffeemap.com/map [00:06:10] https://foursquare.com/v/noodle-bar-lan-zhou-la-mian/4b9d0b2cf964a520d18a36e3 [00:14:58] (PS3) Ssmith: Refactor backbone -> knockout main structure [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/149470 [00:15:10] (CR) jenkins-bot: [V: -1] Refactor backbone -> knockout main structure [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/149470 (owner: Ssmith) [02:57:39] (CR) Awight: [C: 2] "Great!" [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/150852 (owner: Ejegg) [02:57:53] (Merged) jenkins-bot: Add 'id' and 'for' attributes to WorldPay form labels [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/150852 (owner: Ejegg) [03:11:07] (CR) Awight: Get innerHTML correctly in DI node assertions (1 comment) [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/150897 (owner: Ejegg) [03:12:02] (CR) Awight: [C: 2] Test Amazon error form shown and return URI parsed [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/147158 (owner: Ejegg) [03:12:12] (Merged) jenkins-bot: Test Amazon error form shown and return URI parsed [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/147158 (owner: Ejegg) [03:17:26] (CR) Ejegg: [C: 2] (FR #1845) Assert no unconsumed tokens while rendering thank-yous [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150884 (owner: Awight) [03:24:58] (CR) Ejegg: "See reply inline" (1 comment) [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/150897 (owner: Ejegg) [04:03:00] (CR) Ejegg: [C: 2] add minor msg defaults [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/149616 (owner: Awight) [05:44:34] (CR) Ejegg: [C: -1] "Couple questions inline" (3 comments) [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150038 (owner: Awight) [06:32:37] (CR) Awight: Split RGC message creation into its own function (2 comments) [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150038 (owner: Awight) [06:32:58] (PS6) Awight: Split RGC message creation into its own function [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150038 [06:40:33] (PS1) Awight: WIP remove synchronous thank-you functionality [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/151030 [15:08:46] (CR) Ejegg: [C: 2] Split RGC message creation into its own function [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150038 (owner: Awight) [15:12:45] (CR) Ejegg: [C: 2] Fix timezone bug in next_sched search [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/150165 (owner: Awight) [16:11:36] ejegg: is the Civi bounce processing driving you nuts yet? [16:11:53] I'm available if you need a finger puppet for talking things out [16:15:12] awight: that will be great. I took a break from it yesterday cause I'm getting a tour of email things from Caitlin's perspective today [16:15:45] actually, is she around the office? I thought that was supposed to start 15 minutes ago [16:17:25] ejegg: She's upstairs, so I don't know [16:17:29] wanme to check? [16:17:35] you tried gchat? [16:18:00] oh, good call [16:18:24] aw, I see the meeting now. sounds fun :D [16:18:42] I'd like to join in actually, pls ping if it happens [16:18:54] sure thing! [16:19:46] oh well, not on gchat either right now [16:19:58] ejegg: btw, I'm sure atgo communicated already, but Major Gifts is getting the ants about the bounce work, you might want to give them a vague outline of status and work remaining [16:20:07] ejegg: ok lemme run up there... [16:23:50] ejegg: no breadcrumbs, sorry! [16:24:05] ah well, I'll wait till she shows up online. [16:24:30] well. Yeah I never had a tour either, so if you reschedule :( +1 me [16:25:04] For the TY emails, I'm adding a 'Mailing' for each revision of each language. [16:25:26] each revision, huh... that sounds trixy [16:25:37] This means adding the revision number to the filename, I think [16:26:12] I wanted to do something along those lines, adding an html comment that linked to the exact onwiki source... [16:26:36] Well, in Civi you can click from a contact record into the mailings they have received [16:26:40] Let's try to not add rev to the filename though, that sounds very quickly unmanageable, plus will break git versioning [16:26:53] Oh, that's a good point [16:27:00] it would be really really great to have the functionality you're describing [16:27:21] So in the file content some place [16:27:24] maybe we store in the database? [16:27:50] Any existing tables that would make sense to add it to? [16:28:13] I wish we could have letter content configurable entirely in the db, actually, but the Twig thing... [16:28:27] ejegg: umm, does Civi do that for its own Mailings? [16:28:45] Civi doesn't version mailings as far as I know [16:29:06] you can reuse and save as a new template [16:29:56] grr [16:30:07] Anyway, the single sent 'job' is going to need at least one child 'job' per day to report the correct TY date [16:30:09] well. [16:30:18] since the individual queue entries have no date on them [16:30:26] what a mess! [16:30:35] mmm, a bit [16:31:12] I found a Civi extension on github that imports mail events from some other 3rd party mailer, and they do about the same thing [16:31:48] Hi ccogdill! [16:31:56] hi ejegg! [16:32:04] Do you have time for the Silverpop tour this morning? [16:32:18] Adam would like to join as well [16:32:22] hey! yes, I’m sorry about that [16:32:31] I can call in now if you’d like [16:32:38] we probably don’t need a full hour [16:32:39] Sure thing [16:32:46] okay let me run to a room [16:33:17] awight, might want to see where she's headed ^ [16:34:50] I’m in Hopper, the new small room by the kitchen awight [17:03:47] ejegg: looks like this has snowballed into a serious project... u think it can be split into phases? [17:04:01] maybe start a trello board for all the things? [17:04:18] yeah, definitely [17:04:27] let me type up a list of pieces [17:05:46] ejegg: I think we should go back and reconsider a lighter-weight integration with Civi for the first phase, fwiw [17:06:51] You mean just marking ppl 'do not email' from the Silverpop records? [17:07:19] Anything beyond that is going to need the pseudo-records [17:08:01] if we don't care about content, we can just add a single mailing to attach all the sent records, and at least get Civi to process our TY bounces [17:08:21] But going back and sorting those out later would be no fun [17:15:51] ejegg: Can we do something lighter? How about handling processing ourselves, classifying with their code, and having a soft and hard threshold [17:16:18] that seems like a waste of effort. [17:16:43] For the rest, we would just rewrite the Civi calls to use the API after we upgrade to 4.4 [17:16:55] But any bounce processing code we write would be duplicative [17:18:04] yeah, but it would also duplicate insanity to massage silverpop and thank-you mailings into the civi schema [17:19:47] i'm adding methods to insert a template with 'completed' mailing that we could use for both. [17:20:12] then a method to add the 'sent' record which might need a bulk version for Silverpop [17:20:29] then a method to add the 'bounce' record which only silverpop would need [17:35:54] ejegg: I think the "bounce processing" is actually really simple: email comes in, run some regexes, classify the matches [17:36:20] that seems much easier to just duplicate than to create these mailing/template wedges [17:36:26] for now... [17:36:46] I agree we want the whole package in the nearish future, but the bounces are the only urgent piece [17:37:27] let me see what i can do on the pseudo mailings in the next couple hrs. [17:38:15] ejegg: by all means. I'm just (ironically) here in the role of sanity barometer [17:38:24] if it's a quagmire, i'll change course [17:38:50] heading to library,be back on in 15 min [17:38:51] ejegg: can u still document the moving pieces somehow? [17:38:54] kk [17:39:10] yeah, just added a trello board [17:39:14] woot! [17:39:23] will populate shortly. [17:42:39] (PS11) Awight: Script to backfill missing recurring contributions [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/146364 [17:43:24] BEER PONG ON THE 4TH FLOOR [17:43:26] or something... [17:43:44] my they are having fun [17:48:23] I think pizzzacat secretly wants me to die [17:48:37] 600,000 line patch? [17:48:41] I can't hear it awight [17:48:44] because headphones [17:48:57] * awight rushes to do that code review :p [17:49:48] pizzzacat: actually, serious question. I see the knockout refactor is PCR, but there are predecessor patches marked WIP. [17:50:27] yeah. so I don't know if there's really a good workflow for what I've been doing. [17:51:00] Obviously before refactor I had WIP stuff right, but then it all became moot [17:51:09] um [17:51:23] so you want to rebase onto a previous commit? [17:51:42] sure, whatever makes sense, I don't know at this point [17:51:54] Can i help somehow? [17:52:28] I guess it just depends on how you feel like code reviewing [17:52:36] holy cow you are really on a spider's thread at this point... [17:52:41] I'm just chasing the dependencies [17:52:43] I don't understand [17:52:54] ? [17:52:55] you're way down a branch full of WIP, is all... [17:52:58] RL? [18:16:13] (PS4) Awight: Refactor backbone -> knockout main structure [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/149470 (owner: Ssmith) [18:25:53] pizzzacat: git submodule add https://gerrit.wikimedia.org/r/wikimedia/fundraising/dash node_modules [18:27:46] (PS1) Awight: try to repair node_modules submodule [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/151135 [18:30:04] (CR) Ssmith: [C: 2] try to repair node_modules submodule [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/151135 (owner: Awight) [18:30:33] (PS1) Awight: read submodule pointer for node_modules [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/151136 [18:30:37] (CR) jenkins-bot: [V: -1] read submodule pointer for node_modules [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/151136 (owner: Awight) [18:30:42] (PS2) Awight: real submodule pointer for node_modules [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/151136 [18:30:44] (CR) jenkins-bot: [V: -1] real submodule pointer for node_modules [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/151136 (owner: Awight) [18:32:12] (PS1) Ssmith: Change modal selections for time period choices [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/151137 [18:32:16] (CR) jenkins-bot: [V: -1] Change modal selections for time period choices [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/151137 (owner: Ssmith) [18:33:46] (CR) Ssmith: [V: 2] real submodule pointer for node_modules [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/151136 (owner: Awight) [18:33:54] (CR) Ssmith: [C: 2] real submodule pointer for node_modules [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/151136 (owner: Awight) [18:33:56] (CR) jenkins-bot: [V: -1] real submodule pointer for node_modules [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/151136 (owner: Awight) [18:34:27] (Abandoned) Ssmith: Add timepicker subview/make widget header smaller [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/148158 (owner: Ssmith) [18:34:37] (PS3) Awight: real submodule pointer for node_modules [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/151136 [18:34:41] (CR) jenkins-bot: [V: -1] real submodule pointer for node_modules [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/151136 (owner: Awight) [18:34:43] (Abandoned) Ssmith: WIP don't review: add datepickers/styles [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/148572 (owner: Ssmith) [18:35:55] (CR) Ssmith: [C: 2] real submodule pointer for node_modules [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/151136 (owner: Awight) [18:35:57] (CR) jenkins-bot: [V: -1] real submodule pointer for node_modules [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/151136 (owner: Awight) [18:39:28] pizzzacat: http://www.mediawiki.org/wiki/Git/New_repositories/Requests [18:55:31] (CR) AndyRussG: "My only comment is that it would be nifty to see at least some PHPDoc for these parameters, at least on DonationInterfaceTestCase. Admitte" [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/150898 (owner: Ejegg) [19:15:07] (PS3) Ejegg: Add dataProvider params to DI test case constructors [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/150898 [19:18:55] (CR) Awight: [C: 2] Refactor backbone -> knockout main structure (2 comments) [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/149470 (owner: Ssmith) [21:36:31] Argh, I'm having greediness issues. [21:40:43] greedy for what? [21:41:01] Beating my head against python re.finditer non-greedy stuff [21:41:25] The internets are helping me understand that leftmost-ness trumps non-greediness... [21:41:43] Trying to scrape logs to backfill a recurring globalcollect thing. [21:42:03] oh, to gather the ids to feed to your new script? [21:42:05] I think I'm gonna have to parse out each charge, then do another match on its contents [21:42:08] yeah [21:54:05] that worked. ghastly [22:04:32] Hi awight and ejegg [22:04:40] Oooops I missed standup!!!! :( [22:04:48] Just realized [22:04:53] Oh, I guess we all did [22:04:59] Sorry!!!! [22:05:38] I was on the phone for like 1/2 an hour for a silly insurance claim [22:05:52] I did some code review and I'm still struggling with the recurring globalcollect backfill in card 1623 [22:06:07] Mmmm OK we could just pretend it never happened [22:07:53] awight: is that something I could help with? [22:08:07] How are you struggling? [22:08:58] AndyRussG: Well the nastiest part is probably over now, I had to refactor the recurring_globalcollect module so I could reuse the internals from a fixup script [22:09:19] AndyRussG: but now I'm trying to parse logs in the least horrible way possible. which is an oxymoron [22:10:12] Like the most un-dis-pleasureful way? [22:10:16] Hmmm [22:10:31] I heard Perl is good for text parsing [22:10:37] jk [22:10:44] lol that's pretty much what I'm doing [22:11:54] You could write up a grammar https://en.wikipedia.org/wiki/Yacc [22:12:09] AndyRussG: in case it's entertaining: http://paste2.org/k3Nxy0n4 [22:12:29] In ruby http://ruby-doc.org/stdlib-2.1.0/libdoc/racc/parser/rdoc/Racc.html [22:12:59] that would be "fun", but I have to allow the grammar to be totally broken... [22:14:41] Hmmm [22:16:30] What doesn't work? [22:16:50] just having greediness problems ;) [22:17:37] I think I'm close... :'-( [22:18:50] omg, \s I forgot some escaped whitespace $ [22:19:21] got it [22:19:31] Woot! \o/ [22:19:39] cool! [22:28:05] (PS12) Awight: Script to backfill missing recurring contributions [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/146364 [22:28:07] (PS1) Awight: Make prepared query less magical [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/151230 [22:29:43] (CR) AndyRussG: "Cool...! Mmm... and maybe a note somewhere or a @see indicating that the parameters are passed wholesale to MediaWikiTestCase, PHPUnit_Fr" [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/150898 (owner: Ejegg) [22:38:06] (PS2) Awight: Make prepared query less magical [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/151230 [22:38:13] (PS13) Awight: Script to backfill missing recurring contributions [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/146364 [22:45:44] (PS2) Awight: WmfException responds to base getCode() [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/149514 [22:50:03] (PS3) Awight: Fix some unit tests [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/147853 [22:52:04] (PS1) Ssmith: Better time period selection panel [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/151237 [22:52:08] (CR) jenkins-bot: [V: -1] Better time period selection panel [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/151237 (owner: Ssmith) [22:52:18] (PS2) Awight: queue2civicrm phpunit tests pass [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/149466 [22:52:29] (PS2) Awight: Comment that HHVM will mess up this code [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/149468 [22:52:44] (PS2) Awight: WmfTransaction test coverage and bugfixes [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/149509 [22:53:57] (CR) Ejegg: [C: 2] WmfException responds to base getCode() [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/149514 (owner: Awight) [22:54:45] (PS2) Awight: Tests for donation and recurring _import [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/149515 [22:54:52] ejegg: awesome, thanks [22:55:33] (PS2) Awight: Tests for refund_import [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/149517 [22:55:39] (PS2) Awight: EOT message fixture [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/149520 [22:55:45] (PS2) Awight: assert more interesting things about recurring contributions [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/149536 [22:55:50] (PS2) Awight: skip some tests under hhvm [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/149537 [22:55:55] (PS2) Awight: recurring donations must have the same contact [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/149538 [22:56:00] (PS2) Awight: assert different donations have unique contacts [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/149539 [22:56:11] * awight ties gerrit's laces together... [23:13:06] sorry, awight, can you remind me how to set the include paths so when I run your unit thests recurring_globallcollect_charge can find DonationInterface [23:17:38] ejegg: drush vset wmf_common_di_location "/vagrant/mediawiki/extensions/DonationInterface" [23:20:09] sorry, it's not even finding the wrapper from wmf_civicrm [23:20:28] PHP Fatal error: Class 'DonationInterface' not found in /home/elliott/src/php/fundraising/crm/sites/all/modules/recurring_globalcollect/recurring_globalcollect.module on line 307 [23:22:19] drupal automatically pulls that in based on the files[] from wmf_civicrm.info and having wmf_civicrm in dependencies[] for recurring_globalcollect, right? [23:23:09] ejegg: ah, this is a really terrible Drupal thing. [23:23:16] ejegg: You need to clear the "registry" [23:23:31] ejegg: hopefully, "cd crm/drupal ; drush cc" will do the trick. [23:23:38] thank you [23:24:16] eeewww, that worked. [23:25:38] ugh, except for those api issues in ImportMessageTest::setUp() [23:26:04] You say you have some other hacky commit out there to fill in the pear error mode globals or some such? [23:29:16] ejegg: oh thanks! [23:29:39] grr, it's at home. OK i'll redo that, one moment please [23:30:11] ejegg: which patchset are you reviewing now? [23:30:32] 4 test cases [23:31:11] 'Fix some unit tests' [23:32:13] ejegg: here is one thing we need: https://gerrit.wikimedia.org/r/#/c/149655/ Sloppy, but probably safe to merge [23:34:01] oh, this fixes the other error - trying to get property of non-object, right? [23:34:19] yah [23:34:39] (CR) Ejegg: [C: 2] WIP fixes for testing [wikimedia/fundraising/crm/drupal] - https://gerrit.wikimedia.org/r/149655 (owner: Awight) [23:36:50] (PS1) Awight: horrible thing to smooth out background noise during testing [wikimedia/fundraising/crm/civicrm] - https://gerrit.wikimedia.org/r/151254 [23:36:54] ejegg: ^^ [23:37:03] w00t [23:41:50] sadly, just dying a little further in now [23:42:05] well, that's an improvement. In our code, at least? [23:42:12] ejegg: shall I just +2 the dataProvider params patch https://gerrit.wikimedia.org/r/#/c/150898/ ? [23:42:23] nopw, still within the contact create call in setup [23:42:37] Sorry for being so prickly about a bit of silly PHPdoc [23:42:47] ejegg: I'm pretty sure the tests don't pass until the end of the long branch you're beginning to review [23:42:50] AndyRussG: yeah, I don't think we need a note to say they're passed up to the parent [23:42:58] K sounds good [23:43:26] ejegg: I probably should have created a topic branch for this, but since we don't actually have CI yet, I thought I would get away with this ;) [23:43:42] (CR) AndyRussG: [C: 2] ":)" [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/150898 (owner: Ejegg) [23:43:53] (Merged) jenkins-bot: Add dataProvider params to DI test case constructors [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/150898 (owner: Ejegg) [23:45:33] awight: now it's dying inside civicrm_api call where it tries to create a new CRM_Core_Transaction [23:45:44] uh, oh, that's not something I get [23:46:02] what's the error? [23:46:26] For the patch you're on, I have: Tests: 32, Assertions: 46, Failures: 3, Errors: 4. [23:46:52] that's a lot more tests than I see! [23:46:58] Tests: 20, Assertions: 33, Errors: 2. [23:47:01] oooh hrm [23:47:43] db1d0cfbb549bfa7d9228c6d2b8bf5ab phpunit.xml [23:47:44] ? [23:48:01] commit 1c6e251f70c19ee3c3dd9b8a35a118d25ee39f9e [23:48:02] ? [23:48:42] let me see [23:49:29] neither of those show up grepping git log [23:49:45] sorry, the first one was an md5sum [23:50:32] ejegg: maybe you have a stale checkout? https://gerrit.wikimedia.org/r/#/c/149515/ [23:50:35] oh, no match there - mine's aa83d09e37153e1e2760fbde1af637ca [23:50:53] well that starts to explain [23:50:57] (PS1) Ssmith: Show selected submenus for filters [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/151256 [23:51:01] (CR) jenkins-bot: [V: -1] Show selected submenus for filters [wikimedia/fundraising/dash] - https://gerrit.wikimedia.org/r/151256 (owner: Ssmith) [23:54:29] ok, my numbers match yours now. I was looking at a different change entirely, but that one wasn't in the dependency chain [23:54:42] oh sorry, we can do that too, either way [23:55:14] naw, let's work through this chain [23:56:32] ejegg: maybe I should just squash down to a commit which make the tests pass... [23:56:46] it's not like the development of testing code is that interesting. [23:57:02] hehe now only if I could find a commit that passes tests! [23:57:49] so much array addition... PHP should have a dot product operator [23:58:23] or does array . array actually concatenate them? [23:58:24] the funny thing is, most people use array_merge instead of the addition operator, cos the behavior is counterintuitive. [23:58:31] no