[01:33:30] eileen_: looks like the email sending sanitization is the only thing that could affect us... [01:33:53] are you actively doing the update? I'm back at a keyboard so I can do it [01:34:07] ejegg: I’ve set drush up running :-) [01:35:33] ok, let me know if you want me to CR anything [01:45:43] ejegg: I just pushed up for review - WTF do we need those civi patches? [01:57:02] (PS1) Eileen: 7.5.60 upgrade [wikimedia/fundraising/crm/drupal] - https://gerrit.wikimedia.org/r/468197 [01:57:04] (PS1) Eileen: Re-apply WMF patches [wikimedia/fundraising/crm/drupal] - https://gerrit.wikimedia.org/r/468198 [01:59:21] (CR) jerkins-bot: [V: -1] 7.5.60 upgrade [wikimedia/fundraising/crm/drupal] - https://gerrit.wikimedia.org/r/468197 (owner: Eileen) [02:06:06] oh hey, we did do some wacky stuff in drupal [02:06:21] at least one thing to support namespaced classes [02:06:56] I guess civi has its own autoloader? It sure doesn't list everything as a module dependency [02:08:41] can we squash those two? [02:17:29] Fundraising Sprint USB stands for underhanded socket bureaucracy, Fundraising-Backlog, Wikimedia-Fundraising-CiviCRM: Scheduled contact reminder didn't work - https://phabricator.wikimedia.org/T206053 (Eileenmcnaughton) @LeanneS I took a look & I think it is simply configured differently than you th... [02:18:18] (CR) Ejegg: [C: 2] Re-apply WMF patches [wikimedia/fundraising/crm/drupal] - https://gerrit.wikimedia.org/r/468198 (owner: Eileen) [02:19:08] ejegg: I have a suspicion we might not need them now - but.... [02:19:23] (CR) Ejegg: [C: 2] 7.5.60 upgrade [wikimedia/fundraising/crm/drupal] - https://gerrit.wikimedia.org/r/468197 (owner: Eileen) [02:19:36] I mean one of those changes affects css ffs [02:20:05] yeah, eminently overridable by less hacky means [02:20:26] we do need the namespace thing [02:20:58] and I think the test thing was necessary to make phpunit tests (rather than their simpletest framework) work [02:21:18] (CR) jerkins-bot: [V: -1] 7.5.60 upgrade [wikimedia/fundraising/crm/drupal] - https://gerrit.wikimedia.org/r/468197 (owner: Eileen) [02:21:20] (CR) jerkins-bot: [V: -1] Re-apply WMF patches [wikimedia/fundraising/crm/drupal] - https://gerrit.wikimedia.org/r/468198 (owner: Eileen) [02:22:18] hmm, gerrit doesn't want to merge 'em one by one [02:22:47] we can force it if necessary [02:22:54] but maybe cleaner to squash them? [02:23:29] (PS2) Ejegg: 7.5.60 upgrade [wikimedia/fundraising/crm/drupal] - https://gerrit.wikimedia.org/r/468197 (owner: Eileen) [02:23:59] (CR) Ejegg: "PS2: squashed in WMF patch re-application" [wikimedia/fundraising/crm/drupal] - https://gerrit.wikimedia.org/r/468197 (owner: Eileen) [02:25:36] ejegg: ok I guess squash is ok - harder to re-apply next time [02:27:32] ah, have we been overriding gerrit for the upgrades till now? [02:28:13] I thought we generally just made a patch with the version updates [02:30:35] (CR) Ejegg: [C: 2] 7.5.60 upgrade [wikimedia/fundraising/crm/drupal] - https://gerrit.wikimedia.org/r/468197 (owner: Eileen) [02:34:27] (PS6) Ejegg: Extract setMessages function [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467596 (https://phabricator.wikimedia.org/T204008) (owner: Eileen) [02:34:50] (CR) Ejegg: [C: 2] Extract setMessages function [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467596 (https://phabricator.wikimedia.org/T204008) (owner: Eileen) [02:36:16] (Merged) jenkins-bot: 7.5.60 upgrade [wikimedia/fundraising/crm/drupal] - https://gerrit.wikimedia.org/r/468197 (owner: Eileen) [02:37:30] ejegg it merged anyway so that’s good enough for me! [02:41:17] :) [02:42:17] (Merged) jenkins-bot: Extract setMessages function [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467596 (https://phabricator.wikimedia.org/T204008) (owner: Eileen) [02:42:58] (PS1) Ejegg: Update drupal [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/468200 [02:44:11] (CR) Ejegg: [C: 2] Update drupal [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/468200 (owner: Ejegg) [02:44:43] (PS1) Ejegg: Merge branch 'master' into deployment [wikimedia/fundraising/crm] (deployment) - https://gerrit.wikimedia.org/r/468201 [02:44:46] (CR) Ejegg: [C: 2] Merge branch 'master' into deployment [wikimedia/fundraising/crm] (deployment) - https://gerrit.wikimedia.org/r/468201 (owner: Ejegg) [02:49:41] (Merged) jenkins-bot: Update drupal [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/468200 (owner: Ejegg) [02:49:43] (Merged) jenkins-bot: Merge branch 'master' into deployment [wikimedia/fundraising/crm] (deployment) - https://gerrit.wikimedia.org/r/468201 (owner: Ejegg) [02:51:06] !log updated fundraising CiviCRM from 7b8d33bb4e to 83874e75ba [02:51:07] Logged the message at https://wikitech.wikimedia.org/wiki/Server_Admin_Log [02:55:43] (CR) Ejegg: [C: 2] "OK, looks like it's fine to move where the exception is thrown, since we're constructing the class and calling import from within the same" (1 comment) [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467833 (https://phabricator.wikimedia.org/T204008) (owner: Eileen) [02:56:17] (PS5) Ejegg: Do our validation & header instantiation in construct, as long as we have the field uri [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467833 (https://phabricator.wikimedia.org/T204008) (owner: Eileen) [02:57:19] (PS5) Ejegg: Instantiate all output files at the start. [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467832 (https://phabricator.wikimedia.org/T204008) (owner: Eileen) [02:57:27] (CR) Ejegg: [C: 2] Instantiate all output files at the start. [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467832 (https://phabricator.wikimedia.org/T204008) (owner: Eileen) [02:59:37] (PS4) Ejegg: Use function to write csv rows. [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467845 (https://phabricator.wikimedia.org/T204008) (owner: Eileen) [03:00:06] (CR) Ejegg: [C: 2] Use function to write csv rows. (1 comment) [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467845 (https://phabricator.wikimedia.org/T204008) (owner: Eileen) [03:02:24] weird, so the CSV writer's append mode doesn't create files when they don't exist? [03:03:59] (Merged) jenkins-bot: Do our validation & header instantiation in construct, as long as we have the field uri [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467833 (https://phabricator.wikimedia.org/T204008) (owner: Eileen) [03:04:46] (Merged) jenkins-bot: Instantiate all output files at the start. [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467832 (https://phabricator.wikimedia.org/T204008) (owner: Eileen) [03:07:44] Fundraising-Backlog, Wikimedia-Fundraising, fundraising-tech-ops, Operations, SRE-Access-Requests: Frdev1001 server and mysql access - https://phabricator.wikimedia.org/T206478 (cwdent) [frack::puppet::private] 35f24cf add jkim user [03:08:02] Fundraising-Backlog, Wikimedia-Fundraising, fundraising-tech-ops, Operations, SRE-Access-Requests: Frdev1001 server and mysql access - https://phabricator.wikimedia.org/T206478 (cwdent) [frack::puppet] b856bf6 add jkim user [03:08:11] (Merged) jenkins-bot: Use function to write csv rows. [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467845 (https://phabricator.wikimedia.org/T204008) (owner: Eileen) [03:09:55] oh shoot, something's not working right - getting 'file not found temporary://' for everthing I try [03:14:45] ah, nvm, the issue was with the change I was trying to test [03:15:08] but the error message can potentially be misleading, if there's a problem writing the output files [03:16:41] ejegg: do you have a sense of whether dstrine sent out an email to anyone telling them to register to vote for Erika? [03:16:59] (PS2) Eileen: Re-apply WMF patches [wikimedia/fundraising/crm/drupal] - https://gerrit.wikimedia.org/r/468198 [03:19:59] eileen_: no, I think it was just your email [03:20:45] I’ll send aother then - I’m just trying to decide how wide- ie. Kaitlin, Mark, Danny are kinda people I wouldn’t normally add in in civi-stuff but - maybe I should [03:23:26] I sent it [03:23:45] eileen_: do you understand exactly why that fopen / fclose workaround is needed? [03:23:55] I can follow it down to stream_wrappers.inc [03:24:07] line 837 [03:24:34] where it suppresses errors if the thing doesn't exist [03:24:54] ejegg: no I struggled to get it to work so I stopped when it did work [03:24:56] but @stat($path) seems to blow up still [03:26:11] (PS5) Eileen: Switch to phpleage csv Writer package. [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467847 (https://phabricator.wikimedia.org/T204008) [03:26:26] (PS4) Eileen: Switch to permitting rowCount & offset in import function [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467852 (https://phabricator.wikimedia.org/T204008) [03:26:39] (PS2) Eileen: Apply drupal formatting to RefundFile [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467854 [03:26:59] (PS2) Eileen: Make output files batch friendly. [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467864 (https://phabricator.wikimedia.org/T204008) [03:27:09] (PS17) Eileen: Functional import using batch api. [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/463898 (https://phabricator.wikimedia.org/T204008) [03:30:10] (PS2) Eileen: Add a statement about server load to inform import timing decisions. [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/468174 (https://phabricator.wikimedia.org/T204008) [03:32:56] how the $@#$#@ is that url_stat function even getting called? [03:33:06] Fundraising-Backlog, Wikimedia-Fundraising, fundraising-tech-ops, Operations, SRE-Access-Requests: Frdev1001 server and mysql access - https://phabricator.wikimedia.org/T206478 (cwdent) @jkim_wikimedia ok, you are all set up with a shell account on frdev1001 and mysql access. In order to log... [03:35:29] ejegg: lol - I think I tried not to hurt to brain too much at some point there [03:40:36] ohh, so that temporary:// scheme is drupal-specific, registered with stream_wrapper_register [03:40:39] got it [03:40:56] still don't quite understand why the @suppression didn't work, but ehhh [03:44:35] ejegg: sounds like you understand it better than I do now! [03:45:52] so the SplFileObject constructor must be calling the registered stream wrapper code to try to get details of the file, based on the temporary:// url [03:46:12] anyway... getting pretty late here. [03:46:32] sorry I didn't get to the end of the chain of review before your work week was over! [03:46:38] but I gotta head to bed [04:13:56] (PS1) Eileen: Drupal submodule commit [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/468204 [04:14:05] (CR) jerkins-bot: [V: -1] Drupal submodule commit [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/468204 (owner: Eileen) [04:15:13] (PS2) Eileen: Drupal submodule commit [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/468204 [04:21:47] (CR) jerkins-bot: [V: -1] Drupal submodule commit [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/468204 (owner: Eileen) [04:37:56] (CR) Eileen: "recheck" [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/468204 (owner: Eileen) [04:44:36] (CR) jerkins-bot: [V: -1] Drupal submodule commit [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/468204 (owner: Eileen) [13:45:23] Fundraising-Backlog: Donation form: expiration date entry errors - https://phabricator.wikimedia.org/T207388 (MBeat33) [14:09:53] Fundraising-Backlog: Donation form: expiration date entry errors - https://phabricator.wikimedia.org/T207388 (Ejegg) This is all in the card processor's iframe, so we'll have to request it from them. Looks like the (new) Ingenico Connect form, right? [14:19:36] Fundraising-Backlog: Donation form: expiration date entry errors - https://phabricator.wikimedia.org/T207388 (MBeat33) Yes, these look to be all from Ingenico. [14:26:51] (PS16) Jgleeson: WIP: Backend Stats Comparison Script [wikimedia/fundraising/FRUEC] - https://gerrit.wikimedia.org/r/456016 (https://phabricator.wikimedia.org/T198752) [14:43:18] (CR) Jgleeson: [V: 2 C: 2] "Code looks good to me and tests working with new subscr_cancel data provider fixtures." [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/468177 (https://phabricator.wikimedia.org/T207304) (owner: Ejegg) [14:43:54] (Merged) jenkins-bot: Deal with old_subscr_id, fix date for cancel [wikimedia/fundraising/SmashPig] - https://gerrit.wikimedia.org/r/468177 (https://phabricator.wikimedia.org/T207304) (owner: Ejegg) [14:44:57] ejegg|away, I've +2'd the paypal old_sub_id patch but I haven't done a full test using PayPal sandbox to simulate an IPN of this message. Did you do this yourself do anything like this during your own testing? [14:45:22] if not, I might try and perform that when I come back online a little later [16:00:39] (CR) Ejegg: [C: 2] "Frustrating to have to do that open/close thing, but I don't see a better workaround either!" [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467847 (https://phabricator.wikimedia.org/T204008) (owner: Eileen) [16:05:16] Fundraising Sprint They Live, Fundraising Sprint USB stands for underhanded socket bureaucracy, Fundraising-Backlog, MediaWiki-extensions-CentralNotice: Delay in French mobile banners showing up in Banner Allocation - https://phabricator.wikimedia.org/T206562 (AndyRussG) a:AndyRussG [16:07:20] (Merged) jenkins-bot: Switch to phpleage csv Writer package. [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467847 (https://phabricator.wikimedia.org/T204008) (owner: Eileen) [16:16:09] (CR) Ejegg: [C: 2] "This works! Looks like the final batch will have to deal with a bunch of empty rows at the end, but those seem to be silently discarded." [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467852 (https://phabricator.wikimedia.org/T204008) (owner: Eileen) [16:17:08] fr-tech: How many of us are in that Website retro meeting? Should we push standup until that's over? [16:17:15] (CR) Ejegg: [C: 2] Apply drupal formatting to RefundFile [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467854 (owner: Eileen) [16:18:00] XenoRyet: I'm in the retro [16:19:50] Yea, me too [16:20:51] There's that talk with Professor Burnett not to long after either. We could try to squeeze standup in between. [16:22:42] (Merged) jenkins-bot: Switch to permitting rowCount & offset in import function [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467852 (https://phabricator.wikimedia.org/T204008) (owner: Eileen) [16:24:47] (Merged) jenkins-bot: Apply drupal formatting to RefundFile [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467854 (owner: Eileen) [16:30:50] fr-tech, be a few mins late to standup! [16:31:11] jgleeson: sounds like we're all going to be late [16:31:52] Is that cool with everyone if we finish out this website retro? I could jump out and do standup now if that's better for folks. [16:35:04] oh man, I completely forgot about that meeting and I wanted to listen in [16:35:09] just joined now [16:35:19] jgleeson: it's on bluejeans [16:48:38] Wikimedia-Fundraising, Android-app-feature-Feeds, Wikipedia-Android-App-Backlog, Wikipedia-iOS-App-Backlog, and 2 others: 2018 English campaign fundraising on apps - https://phabricator.wikimedia.org/T204821 (schoenbaechler) Thanks @JMinor for the update, sounds good so far. I’ll sync with Fundra... [16:52:13] fr-tech, can someone send me the sandbox details for our wmf paypal account? [16:52:16] via otr [16:57:47] jgleeson: sure, one sec and I'll switch over [16:58:03] ejegg, XenoRyet has sent them over. thanks [16:58:10] jgleeson: ah, cool [17:01:05] (CR) Ejegg: [C: 2] "These look like decent steps. The variable-name-property-access still feels a little off, though. Maybe just an array property of $type =>" [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467864 (https://phabricator.wikimedia.org/T204008) (owner: Eileen) [17:04:55] AndyRussG: we've started standup [17:08:36] (Merged) jenkins-bot: Make output files batch friendly. [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/467864 (https://phabricator.wikimedia.org/T204008) (owner: Eileen) [17:16:18] (PS4) Ejegg: Use filter xss rather than check plain on the log output - this lets us view links [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/463899 (owner: Eileen) [17:16:24] (CR) Ejegg: [C: 2] Use filter xss rather than check plain on the log output - this lets us view links [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/463899 (owner: Eileen) [17:23:49] (Merged) jenkins-bot: Use filter xss rather than check plain on the log output - this lets us view links [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/463899 (owner: Eileen) [17:55:00] Fundraising-Backlog, Analytics, Analytics-Kanban: Identify source of discrepancy between HUE query in Count of event.impression and druid queries via turnilo/superset - https://phabricator.wikimedia.org/T204396 (Nuria) We have looked into whether the source of discrepancy could be unvalid events and... [18:00:46] Fundraising-Backlog, Analytics, Analytics-Kanban: Identify source of discrepancy between HUE query in Count of event.impression and druid queries via turnilo/superset - https://phabricator.wikimedia.org/T204396 (Nuria) Other possible cause could be that not all impressions are being sent by your EL c... [18:01:59] Fundraising-Backlog, Analytics, Analytics-Kanban: Identify source of discrepancy between HUE query in Count of event.impression and druid queries via turnilo/superset - https://phabricator.wikimedia.org/T204396 (Nuria) a:mforns>JAllemandou [18:05:12] Fundraising-Backlog, Analytics, Analytics-Kanban: Identify source of discrepancy between HUE query in Count of event.impression and druid queries via turnilo/superset - https://phabricator.wikimedia.org/T204396 (Nuria) Ping @AndyRussG regarding the question: "Are these banners shown to ALL browsers o... [19:04:48] (PS1) Ejegg: Merge branch 'master' into deployment [wikimedia/fundraising/SmashPig] (deployment) - https://gerrit.wikimedia.org/r/468394 [19:05:02] fr-tech anyone able to review the es-419 patch? it's super tiny! [19:05:12] Oh, right. [19:05:16] Yea, let me do that real quick [19:05:23] https://gerrit.wikimedia.org/r/468067 [19:05:45] (CR) XenoRyet: [C: 2] Add the es-419 language code to support South American Spanish [core] (fundraising/REL1_27) - https://gerrit.wikimedia.org/r/468067 (https://phabricator.wikimedia.org/T112889) (owner: Ejegg) [19:06:11] There you go [19:10:04] (Merged) jenkins-bot: Add the es-419 language code to support South American Spanish [core] (fundraising/REL1_27) - https://gerrit.wikimedia.org/r/468067 (https://phabricator.wikimedia.org/T112889) (owner: Ejegg) [19:12:16] thanks [19:12:44] (CR) Ejegg: [C: 2] Merge branch 'master' into deployment [wikimedia/fundraising/SmashPig] (deployment) - https://gerrit.wikimedia.org/r/468394 (owner: Ejegg) [19:13:11] (Merged) jenkins-bot: Merge branch 'master' into deployment [wikimedia/fundraising/SmashPig] (deployment) - https://gerrit.wikimedia.org/r/468394 (owner: Ejegg) [19:21:40] !log updated payments-wiki from a3892e4ed3 to 06848600ed [19:21:41] Logged the message at https://wikitech.wikimedia.org/wiki/Server_Admin_Log [19:22:19] !log updated SmashPig standalone deploy from 5f21d3f2db to 581c685326 [19:22:20] Logged the message at https://wikitech.wikimedia.org/wiki/Server_Admin_Log [19:22:58] (PS1) Umherirrender: Start showing warning for deprecated PHP entry point [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/468408 [19:23:09] (PS1) Umherirrender: Start showing warning for deprecated PHP entry point [extensions/DonationInterface] - https://gerrit.wikimedia.org/r/468409 [19:23:19] (PS1) Umherirrender: Start showing warning for deprecated PHP entry point [extensions/FundraisingEmailUnsubscribe] - https://gerrit.wikimedia.org/r/468410 [19:52:59] hey fr-tech MBeat was wondering if you had any feedback here: T207236 [20:13:11] Fundraising-Backlog: Deploy Spanish (es) Thank You email - https://phabricator.wikimedia.org/T207414 (Reedy) [20:14:02] dstrine-away: i can look up the JSON logs there [20:32:01] Fundraising-Backlog, Analytics, Analytics-Kanban: Identify source of discrepancy between HUE query in Count of event.impression and druid queries via turnilo/superset - https://phabricator.wikimedia.org/T204396 (JAllemandou) More investigations on this. As @Nuria explained above, we think that the hi... [20:42:09] Fundraising-Backlog, Analytics, Analytics-Kanban: Identify source of discrepancy between HUE query in Count of event.impression and druid queries via turnilo/superset - https://phabricator.wikimedia.org/T204396 (Nuria) Some more context, using our data we can see that you are not sending as many beac... [20:42:26] Fundraising-Backlog, Analytics, Analytics-Kanban: Identify source of discrepancy between HUE query in Count of event.impression and druid queries via turnilo/superset - https://phabricator.wikimedia.org/T204396 (Nuria) a:JAllemandou>AndyRussG [20:42:31] Fundraising-Backlog, Analytics: Identify source of discrepancy between HUE query in Count of event.impression and druid queries via turnilo/superset - https://phabricator.wikimedia.org/T204396 (Nuria) [20:44:29] fundraising-tech-ops, Operations: add icinga1001 to send_nsca and pfw rules in FRACK - https://phabricator.wikimedia.org/T207175 (cwdent) [frack::puppet::private] 527140c add iptables/pfw rules for icinga1001 @Dzahn thanks for the heads up! @ayounsi whenever you have time: 1539894800 [20:44:49] fundraising-tech-ops, Operations, netops: add icinga1001 to send_nsca and pfw rules in FRACK - https://phabricator.wikimedia.org/T207175 (cwdent) [20:58:20] AndyRussG: hi! I need a TypesafeEnum, and remember you wrote a nice implementation. What ever happened to that code? [20:58:29] I thought it was in CentralNotice, but am not seeing it. [21:01:12] awight: hi! mmmm no it was before that! [21:01:28] oh noes--EducationProgram [21:01:39] actually the thing in between [21:01:58] awight: I'm slightly not at the keyboard right now... lemme get back to you in about 1.5 hrs, okok? [21:02:43] AndyRussG: o/ no rush, I've been ruminating for a while anyway [22:41:50] awight: https://github.com/wikimedia/mediawiki-extensions-Campaigns/blob/wip/editorcampaigns/includes/ITypesafeEnum.php [22:41:52] and [22:41:57] https://github.com/wikimedia/mediawiki-extensions-Campaigns/blob/wip/editorcampaigns/includes/TypesafeEnum.php [22:42:02] oho! Thanks [22:42:08] I don't think I would do things that way anymore [22:42:08] Mebbe I can try to submit for mw-core [22:42:11] haha [22:42:15] remember this was before the days of composer [22:42:19] or external libs! [22:42:33] like, my first intention was to use a 3rd party lib for that [22:42:36] but it got shot down [22:42:46] I think now that we can, that's what I'd look at first [22:43:46] Fundraising-Backlog, Wikimedia-Fundraising, fundraising-tech-ops, Operations, SRE-Access-Requests: Frdev1001 server and mysql access - https://phabricator.wikimedia.org/T206478 (jkim_wikimedia) Thank you @cwdent !! [22:44:01] The second problem with it was that loading the class declaration file also did something other than define the class [22:44:08] which I imagine would still be frowned upon [22:44:11] See: https://github.com/wikimedia/mediawiki-extensions-Campaigns/blob/wip/editorcampaigns/includes/persistence/internal/FieldDatatype.php [22:44:20] Heheh those were the days! [22:44:25] awight: ^ [23:48:02] AndyRussG: thanks, I agree on all fronts. That was the Wild West :) [23:48:44] hmm http://php.net/manual/en/class.splenum.php [23:49:47] > Stylistically, SplEnum kind of sucks in use [23:49:48] hehe [23:49:56] soo, it's PHP [23:50:59] omg > SplEnum is not integrated to PHP, you have to install it separately [23:51:44] * awight wanders into field of thorns and stares at the sun until eaten by buzzards