[12:55:34] akosiaris: hey, do you think you can take a look at https://gerrit.wikimedia.org/r/c/operations/puppet/+/456126 ? [13:06:03] * akosiaris looking [13:21:59] akosiaris: https://gerrit.wikimedia.org/r/c/operations/puppet/+/456387 [13:22:06] It failed [13:23:17] :/ [13:23:45] if you see ores in labs notice, that was me [13:48:53] Amir1: hm, needs help debugging ? [13:48:59] s/needs/need/ [13:49:01] akosiaris: nah [13:49:04] I fixed it now [13:49:09] the patch is coming up [13:49:29] ok [13:49:43] I 'll abandon https://gerrit.wikimedia.org/r/#/c/operations/puppet/+/456387/ then [13:50:14] akosiaris: yeah, thank you! let's go with https://gerrit.wikimedia.org/r/c/operations/puppet/+/456390/1/modules/role/templates/ores/lb.nginx.erb [13:50:41] I tested it live on the labs nginx config (:D) and it works [14:06:15] I will be afk, will back soon [14:25:06] (03CR) 10Sbisson: [C: 031] "LGTM" [extensions/ORES] - 10https://gerrit.wikimedia.org/r/456129 (https://phabricator.wikimedia.org/T203080) (owner: 10Ladsgroup) [14:26:23] 10Scoring-platform-team (Current), 10MediaWiki-extensions-ORES, 10ORES-Support-Checklist, 10Patch-For-Review, 10User-Ladsgroup: Change mentions of wp10 to articlequality in products - https://phabricator.wikimedia.org/T203080 (10SBisson) There's probably config patches needed for betalabs and prod. Did y... [14:53:43] | [14:53:43] | .---------. [14:53:43] | /:::::::::::\ [14:53:44] | |:::::::::::::| [14:53:45] | |:::::::::::::| [14:53:46] | |::::::::::::/ [14:53:50] | |:___________\ [14:53:52] | //c \___/ /__) [14:53:55] | /' . .,_ | | -- SLICK P-B-D [14:53:57] | |': ; / \ /_/ THE GHETTO V-I-P [14:54:00] | oo ; `"`" } WILL LEAVE YOU R-I-P [14:54:03] | ; 'oo, { Shizzle my nizzle. [14:54:05] | / oo } [15:30:41] harej: Holler when you're awake, I'm having terrible thoughts about the judgment page schema. [15:33:48] Looking at our user script, it's really feeling like the API should operate at the entity-type level rather than the schema level as I had started implememting. [15:34:37] *menting [15:35:01] For example, judgediff(damaging?, goodfaith?, notes?) [15:35:46] It also feels like the schema should be denormalized so that we don't repeat the notes field between goodfaith and damaging judgments. [15:36:05] halfak and I had discussed this once, but I need someone to push back again. [15:37:33] The thing is, we could deduplicate judgments in the API and return (damaging, goodfaith, notes) where the notes are identical between two schemas, but imagine what happens when the notes are edited, e.g. for a typo. [15:39:10] What I haven't been able to decide is whether there are any issues with a schema where the judgment page is a flat list using heterogeneous or multiple schemas. [15:40:01] It's nice for machines to read .[2].data, but probably just as simple to read [2]. and [2]. [15:40:01] El búfer 2 está vacío. [15:40:11] stop that. [16:52:12] * harej reads backscroll [16:54:20] Is there anything wrong with having the API be at the entity-type level? [16:59:28] oh hey! [16:59:32] harej: you feeling any better? [16:59:44] More or less [17:11:01] also awight, do you know where I could learn more about researchers in the wiki space? I want them as part of my focus group but it's not a group I'm personally familiar with. [17:11:33] harej: #wikimedia-research ? [17:12:23] Good point. [17:12:49] harej: The API feels slightly icky with params (damaging?, goodfaith?) because we can't require them explicitly. [17:13:11] How do other API modules cope with lack of required parameters? [17:14:54] Well for example a schema-level API (damaging, notes?) can require damaging using the PARAM_REQUIRED stuff (hehe although not with the built-in boolean type as I discovered yesterday) [17:15:19] and we can validate that either damaging or goodfaith was specified, but only with code and not using the declarative parameter docs. [17:20:27] Could we require them by throwing an error if they are not filled, including with inappropriate empty values? [17:20:37] Or do API consumers rely on this behavior? [17:25:12] I would recommend working with Anomie or anyone else familiar with the action API [17:26:34] We can definitely make it work, it's just a weird custom hack. [17:46:39] BTW, anomie came through with a great workaround that lets us at least have the API signature I was hoping for, if not the well-structured declarative spec. [17:49:55] Sometimes MediaWiki is all about the good-enough [17:50:35] :p sounds like you've been around the block before [17:54:26] harej: I'm feeling increasingly like it makes sense if the judgment page schema reflects how people will use this. [17:54:53] any added complexity for clients seems secondary [17:55:15] I generally agree the schema should reflect usage [17:55:31] I'm not sure how this implicates the existing schema, though [17:55:33] halfak will love that I've changed this during his vacation ;-) [17:56:16] the existing page is like {damaging: [ judgment1, judgment2 ], goodfaith: [judgment3, judgment4]} [17:56:31] I would be changing it to [judgment1, judgment2, ...] [17:56:57] and then the judgments become slightly heterogeneous although all about the same entity. [17:57:29] btw u in the office? [17:57:34] Not today [17:57:36] I came for free lunch. [17:57:38] kk [17:57:54] * harej has too many errands this week [17:58:28] life is totally a thing, even in our industry [17:58:56] :) [17:59:45] I kind of like the idea of flattening the schema [17:59:50] It makes it more long term extensible, I think [17:59:59] A list of self-contained judgment blocks, rather than a complex tree structure [18:00:08] yah [18:00:29] okay we can share the blame when the parents come back [18:02:32] * awight takes a deep breath [18:02:47] I'm not happy with how this changes the internal API, unfortunately. [18:03:16] Since PHP has no named params, it means that we have to either pass individual data values as positional params, or a structured block. [18:03:24] I think I'll go "fluent" on it. [18:03:46] e.g. T201651 [18:03:47] T201651: Provide a fluent API for JADE - https://phabricator.wikimedia.org/T201651 [18:14:17] 10Scoring-platform-team (Current), 10MediaWiki-extensions-ORES, 10ORES-Support-Checklist, 10Patch-For-Review, 10User-Ladsgroup: Change mentions of wp10 to articlequality in products - https://phabricator.wikimedia.org/T203080 (10Ladsgroup) >>! In T203080#4545743, @SBisson wrote: > There's probably config... [18:20:24] (03PS1) 10Awight: Change schema to a list of heterogenous judgments about a single entity [extensions/JADE] - 10https://gerrit.wikimedia.org/r/456424 [18:20:39] harej: ^ look at how much simpler the schema becomes [18:20:51] Some of that is because validation moves to code, but big D. [18:20:56] (can you post that link? i have the spam bots on ignore) [18:21:02] haha [18:21:05] https://gerrit.wikimedia.org/r/456424 [18:21:44] I like this a lot [18:22:03] (03CR) 10jerkins-bot: [V: 04-1] Change schema to a list of heterogenous judgments about a single entity [extensions/JADE] - 10https://gerrit.wikimedia.org/r/456424 (owner: 10Awight) [18:22:52] This is simple enough that we can even think about "section editing" [18:23:02] (03CR) 10jerkins-bot: [V: 04-1] Change schema to a list of heterogenous judgments about a single entity [extensions/JADE] - 10https://gerrit.wikimedia.org/r/456424 (owner: 10Awight) [18:23:14] jerkins-bot: I got the point, just chill. [18:55:20] (03PS2) 10Awight: Change schema to a list of heterogenous judgments about a single entity [extensions/JADE] - 10https://gerrit.wikimedia.org/r/456424 [18:55:22] (03PS3) 10Awight: [WIP] rough secondary tables [extensions/JADE] - 10https://gerrit.wikimedia.org/r/456078 (https://phabricator.wikimedia.org/T203037) [18:55:24] (03PS3) 10Awight: [WIP] Replace generic APIs with specific ones [extensions/JADE] - 10https://gerrit.wikimedia.org/r/456044 (https://phabricator.wikimedia.org/T203037) [18:55:26] (03PS1) 10Awight: [WIP] Move to entity-type APIs and a fluent internal interface [extensions/JADE] - 10https://gerrit.wikimedia.org/r/456429 [18:55:38] fun: https://gerrit.wikimedia.org/r/#/c/mediawiki/extensions/JADE/+/456429/1/includes/Api/ApiCreateDiffJudgment.php [18:56:40] (03CR) 10jerkins-bot: [V: 04-1] [WIP] rough secondary tables [extensions/JADE] - 10https://gerrit.wikimedia.org/r/456078 (https://phabricator.wikimedia.org/T203037) (owner: 10Awight) [18:57:31] (03CR) 10jerkins-bot: [V: 04-1] [WIP] Move to entity-type APIs and a fluent internal interface [extensions/JADE] - 10https://gerrit.wikimedia.org/r/456429 (owner: 10Awight) [18:58:27] (03CR) 10jerkins-bot: [V: 04-1] [WIP] Replace generic APIs with specific ones [extensions/JADE] - 10https://gerrit.wikimedia.org/r/456044 (https://phabricator.wikimedia.org/T203037) (owner: 10Awight) [18:59:27] (03CR) 10jerkins-bot: [V: 04-1] [WIP] rough secondary tables [extensions/JADE] - 10https://gerrit.wikimedia.org/r/456078 (https://phabricator.wikimedia.org/T203037) (owner: 10Awight) [19:01:05] (03CR) 10jerkins-bot: [V: 04-1] Change schema to a list of heterogenous judgments about a single entity [extensions/JADE] - 10https://gerrit.wikimedia.org/r/456424 (owner: 10Awight) [19:03:44] (03CR) 10jerkins-bot: [V: 04-1] Change schema to a list of heterogenous judgments about a single entity [extensions/JADE] - 10https://gerrit.wikimedia.org/r/456424 (owner: 10Awight) [19:06:13] (03CR) 10jerkins-bot: [V: 04-1] [WIP] Move to entity-type APIs and a fluent internal interface [extensions/JADE] - 10https://gerrit.wikimedia.org/r/456429 (owner: 10Awight) [19:08:37] (03CR) 10jerkins-bot: [V: 04-1] [WIP] Replace generic APIs with specific ones [extensions/JADE] - 10https://gerrit.wikimedia.org/r/456044 (https://phabricator.wikimedia.org/T203037) (owner: 10Awight) [19:59:06] awight: remind me, was the flat array of objects originally rejected? [20:01:01] harej: yes, but I'm trying to remember why [20:01:06] I can dig up the archives [20:12:56] here's a snippet, https://www.mediawiki.org/wiki/Topic:Tzw0uv2bucrdprm4 [20:15:01] Anyway, I think halfak was coming at this from an API perspective, where schemas.damaging.judgment1.data is good because it leaves a lot of room to grow [20:15:44] But I'm not seeing any points that are incompatible with the current proposed schema [22:14:54] harej: ouch--okay here's a problem with the schema I just foolishly implemented. [22:15:10] "preferred" [22:15:25] the block that is preferred has a preferred flag? [22:15:35] the preferred judgment might be different for each schema. [22:16:03] I.. wish I hadn't gotten so far along with reimplementing! [22:16:13] Learning from experience. [22:17:30] The user script will let "preferred" be set on a judgment with any combination of (damaging?, goodfaith?) [22:17:39] Which feels natural at the moment. [22:18:02] But it's awkward that the judgments would be mixed together. [22:18:37] Judging damaging and goodfaith are closely related, but not necessarily the same process. [22:19:00] So one person might have the best explanation of why it's damaging, but someone else made a convincing point that it's damaging but also made in good faith. [22:19:08] They should be treated as different things. They're different models. [22:19:42] How would we represent that in the UI? [22:23:51] The way we do now? I'm not sure what your point is. [22:25:02] Just trying to find a schema that's consistent with the usage. [22:25:31] I agree with > They should be treated as different things. They're different models [22:25:42] but the UI makes that extremely painful [22:25:58] and I think the UI is right. [22:26:23] One alternative is to only allow damaging or goodfaith judgments separately, have separate notes, and prefer one per schema [22:26:43] but the notes field seems natural to share between those two judgment models. [22:27:37] oh true, because right now you can do two in a single go [22:40:42] that's the thing I've been struggling with--either we duplicate the notes (creating a maintenance hell when changing one copy, or when fetching) or we split them and things get equally ridiculous. [22:51:59] and as you said, I think the UI is right [23:06:14] I'm drowning my sorrow in $wgMWLoggerDefaultSpi configuration :-) [23:12:04] (03PS2) 10Awight: [WIP] Move to entity-type APIs and a fluent internal interface [extensions/JADE] - 10https://gerrit.wikimedia.org/r/456429 [23:13:10] (03CR) 10jerkins-bot: [V: 04-1] [WIP] Move to entity-type APIs and a fluent internal interface [extensions/JADE] - 10https://gerrit.wikimedia.org/r/456429 (owner: 10Awight) [23:24:02] (03CR) 10jerkins-bot: [V: 04-1] [WIP] Move to entity-type APIs and a fluent internal interface [extensions/JADE] - 10https://gerrit.wikimedia.org/r/456429 (owner: 10Awight)