[16:39:21] Hallo allereen mijn schatjes!!! Ik ben je moeder. [16:39:31] !ops ^ [16:39:32] Sigh [16:39:37] * marktraceur has +o I think [16:39:44] Cool [16:39:44] Hallo Krinkle Timo Tijhof mijn schatje!!! Ik ben je moeder. [16:39:45] you have [16:39:46] nice [16:39:51] Hallo allereen mijn schatjes!!! Ik ben je moeder. [16:39:51] Hallo allereen mijn schatjes!!! Ik ben je moeder. [16:39:51] Hallo allereen mijn schatjes!!! Ik ben je moeder. [16:39:51] Hallo allereen mijn schatjes!!! Ik ben je moeder. [16:40:03] give it enough rope....... [16:49:09] marktraceur :) [17:05:54] Ugh [17:31:09] Hi everyone my babys!!! I'm your mother bot [17:31:12] Hi everyone my babys!!! I'm your mother [17:31:15] bot [17:31:19] Hi everyone my babys!!! I'm your mother bot [17:31:55] !ops [17:33:30] Krinkle|detached [17:33:37] Schatjes!! [17:41:47] Lots of trolling today [17:48:40] schatjes! [18:01:13] Any questions about the Phabricator Tech Talk ask here [18:01:18] link to youtube: [18:01:21] phabricator meeting starts soon? [18:01:28] http://www.youtube.com/watch?v=-fpkHyCGX1Y [18:01:29] the video is live [18:01:31] Apparently yes! [18:02:05] Andre just started [18:02:07] woooohoooooo!!! [18:02:33] If I remember correctly, there is a button to switch audio modes from 'voice' to 'audio', which should get bette rsound quality [18:02:38] it's a bit flaky at the moment [18:03:04] who's speaking? [18:03:11] Andre Klapper [18:03:18] aklapper (wmf) [18:03:33] andre__. [18:03:58] https://phabricator.wikimedia.org/ [18:04:17] ugh. /me hopes we can find some way to avoid ever starting a hangout on air meeting without first at least saying 1 word in this channel [18:04:34] Is there a real name policy? :) [18:04:44] marktraceur: shush [18:04:52] (i somehow managed to forget there was a video component so i was waiting for something to happen here!!) [18:04:59] greg-g: I had to [18:06:26] jira! [18:06:38] * valhallasw`cloud waves to legoktm [18:06:42] o/ [18:07:22] jeremyb: next time I will announce it next time here at least 5 min before hand [18:08:14] rfarrand: danke... i don't know how i forgot about the video part... [18:09:32] Will project/component be handled with projects too? [18:09:40] Or have we figured a way to have subprojects [18:09:56] marktraceur: well there are workboards (sp?) [18:10:11] so, within a project you can say which boards it is on [18:10:12] Who's on the hangout to the left of Andre? Looks like a big group [18:10:25] yes, big group it is [18:10:29] jeremyb: Oh, I thought there was only one board per project [18:10:43] we could even say it's a "visual editor" :) [18:10:51] Dohoho. [18:11:03] there is only one board per project, but projects are cheap [18:11:05] marktraceur: i mean a task could be in multiple columns [18:11:13] and you can make new columns [18:11:20] Sure [18:11:30] greg-g: can you have a project be in another project? [18:11:40] no [18:11:50] I guess you could just have a task in MediaWiki extensions *and* in UploadWizard e.g. [18:11:56] marktraceur: right [18:11:57] S page is asking a question [18:12:08] marktraceur: that is Chase [18:12:17] Oh, it's just a still. [18:12:40] About 40 seconds lag I guess [18:13:01] 27 people on youtube, 5 people on hangout and 10 people watching in SF [18:13:19] yes, lag [18:13:33] oh, more semi-plain-text formats to learn :-( [18:13:37] jeremyb: We've had a minute in the past, so this is actually an improvement [18:13:45] hah [18:13:51] valhallasw`cloud: If you don't like it, you can geeeeeet out. :P [18:13:52] i wonder if this is going through ulsfo [18:14:01] Joel is asking a question [18:14:01] https://secure.phabricator.com/book/phabricator/article/remarkup/ < markup language details [18:14:07] joel who? [18:14:49] Ooh, do changes to dependent tasks get propagated to parents automatically? [18:14:49] Joel Krauska from IT [18:15:03] ok, OIT [18:15:10] Correct me if I'm wrong but it seems like the whole purpose of migrating is to create a centralized place which eliminates the need for external linking. [18:15:26] we'll always have external linking [18:15:27] rmoen, yeah, but we'll still need to link to MediaWiki.org and Wikipedia and such. [18:15:30] 32 viewers on youtube now! [18:15:32] rmoen: Yeah, but that's not a day 0 thing I think [18:15:34] You can also put {T123} to show the full title of another task. [18:15:44] Linking to Gerrit will still be necessary IIUC [18:15:49] Sure, so we use actual Urls for that. [18:16:01] to gerrit changes for old changes before differential. to 3rd-party bug trackers, etc. [18:16:24] marktraceur, what do you mean about propagating dependent tasks? [18:16:37] I believe it sends out an email if a dependent task changes, similar to Bugzilla [18:16:38] * aude waves [18:16:43] superm401: Like if I close a documentation bug in bugzilla, it will update bug 1 [18:16:46] Yeah, so that's good [18:16:51] hi aude, harej [18:17:07] Greg Grossmeier was speaking [18:17:17] marktraceur, yeah, it will show on bug 1 which subtasks are open, I believe. [18:17:27] jeremyb, you can only have a task in one column per workboard, but a task can be on multiple workboards. [18:17:31] ping me if you have any questions [18:17:38] S page is now asking a question [18:17:40] rfarrand: so you get an idea of lag, greg-g started speaking a few secs after you said "was speaking" :) [18:17:56] superm401: ohhh, really? [18:18:24] jeremyb, yeah, I'm pretty sure it's supposed to be on one column per board. [18:18:25] Jared Zimmerman speaking [18:18:35] who's on left of S? [18:18:55] James Forrester? [18:19:00] other left [18:19:03] me? [18:19:07] aha :) [18:19:17] marktraceur, example of how subtasks appear on the main task: https://phabricator.wikimedia.org/T174 [18:19:45] welcome spagewmf [18:20:01] Sweet, perfect superm401 [18:20:30] Jared Z speaking [18:21:14] jeremyb: I think that's Abbey Ripstra [18:22:01] Also, you don't have to use "Create subtask". You can, but you can also connect two pre-existing tasks with a "depends on" relationship. [18:22:03] Oh, no, that person is new to me [18:22:16] marktraceur: which person? [18:22:40] The person on aripstra's right side [18:22:59] marktraceur: That's prtksxna. [18:23:03] Aha [18:23:03] Prateek Saxena [18:23:11] Didn't know prtksxna was in SF! Cool beans [18:23:31] get ready for questions! [18:24:08] do any projects in the test instance have workboards? I'm coming up empty [18:24:18] oh yes being able to see contributions in cronological orders. yay [18:24:22] which test instance? [18:24:42] Any questions? [18:25:13] jeremyb: phab-01.wmflabs.org, isn't that the only instance? [18:25:13] That was Jared again [18:25:15] spagewmf: phabricator.wikimedia.org or the one on labs? [18:25:21] * greg-g nods [18:25:29] * aude wants to know where the quips are? :) [18:25:36] aude++++++ [18:25:40] That's a good bloody question [18:25:51] marktraceur: Are you in SF? [18:26:06] I'm not, I moved to Las Vegas [18:26:12] spagewmf: I don't see many tasks in the labs instance at all :) [18:26:27] spagewmf: well some people have been mistakenly calling phabricator.wm.o test [18:26:29] and it's not [18:26:36] so to be extra sure... [18:26:47] rfarrand, how are people going to prove that they own the email they put in bugzilla_email? [18:27:03] So you can't just grab someone else's bug comments. [18:27:09] watching the hangout, no idea how to connect there so that I can speak, so I will ask you here, how / when is the migration of current projects like huggle going to happen? [18:27:09] superm401 [18:27:10] greg-g: yeah, so we can view real projects on phabricator.wikimeda.org , or tinker on phab-01 [18:27:12] will ask [18:27:28] petan: I will ask for you [18:27:30] spagewmf: right [18:27:49] petan, see also https://www.mediawiki.org/wiki/Phabricator#Migration_timeline [18:28:03] who is this? [18:28:19] jeremyb: Chase Pettet [18:28:31] aha [18:28:52] I was quite confused because bugzilla say it will be closed in few weeks, but phabricator is far from being useable yet o.O at least for regular people [18:29:05] far? [18:29:38] jeremyb: login return error 503 to me :P that is "Far" for me [18:29:38] andre__ what's the first? [18:29:44] first most common [18:29:46] petan, it says right on the main page login is disabled. [18:29:55] petan: right, login is not enabled AFAIK [18:30:00] That's not a bug. [18:30:06] It's deliberate while they get the production instance ready. [18:30:09] jeremyb: that's a major problem :P [18:30:11] https://phabricator.wikimedia.org/T457 [18:30:15] petan: no it's not [18:30:50] petan: just asked your question - let me know if you have follow up questions [18:31:16] thanks! [18:31:24] np [18:31:29] Could you lock the hangout to Andre's screen? On Air viewers can't switch and automatic focus is sometimes slow at switching back. [18:31:33] petan, where are you trying to log? [18:31:55] lokal-profil: it should already be locked on his screen. What are you seeing? [18:32:34] is the " Test instance containing Bugzilla reports automatically migrated" going to be phab-01, or something else? [18:32:38] It switches based on who is talking, but someitmes takes long to switch back [18:33:12] spagewmf, something else [18:33:20] so is it going to be like bugzilla gets disabled and then data get moved, or phabricator will be opened while bugzilla is still up? [18:33:28] lokal-profil: hmm, here it is just locked on Andre's screen. cndiv any thoughts? [18:33:41] Yo dawg [18:33:42] petan: would you like me to ask? [18:33:46] petan: current plan is 3ish days of bugzilla downtime [18:33:47] I herd you like phabricator [18:34:02] petan: (with no phab either) [18:34:06] jeremyb: for these 3 days both won't be working? [18:34:09] aha ok [18:34:15] vacation! [18:34:16] that was pretty much what I needed to know :o [18:34:22] great [18:34:28] petan, https://www.mediawiki.org/wiki/Phabricator/versus_Bugzilla#Migration [18:34:37] Separate accounts for WMF staff obviously [18:34:52] /nick marktraceurWMF [18:35:17] please no (WMF). [18:35:21] who is this with "pretty strict policies"? [18:35:24] WMF on bugs stupid!!!!!! [18:36:05] That mess is about elevated rights and should not be drug into the software side [18:36:17] * aude didn't last long with Katie (WMDE) on irc ;) [18:36:22] confused everyone [18:36:30] hah [18:36:31] * marktraceur hugs greg-g [18:36:59] * bd808 will be bd808 on phab or he will be sad [18:37:13] legoktm, however, now that 2 accounts are required for on-wiki, it sort of makes sense. [18:37:19] not really. [18:37:20] /nick petan_NAWAF (not affiliated with any foundation) [18:37:23] any more questions? [18:37:23] * James_F has two accounts on Bugzilla. [18:37:24] legoktm, that way, you can have a 1-1 mapping between on-wiki account and Phabricator account. [18:37:34] superm401: so I need two gerrit accounts? [18:37:39] we don't turn off gerrit accounts when people leave [18:37:40] rfarrand: where are the quips? :) [18:37:43] legoktm, that's not connected to on-wiki. [18:37:50] quips! [18:37:53] that is important [18:37:53] aude: I will ask [18:37:57] but gerrit is moving to phab. [18:37:57] Quiiiiiips [18:37:57] legoktm, anyway, I don't think it will be required to have (WMF) on Phabricator, but who knows. [18:37:58] ok :D [18:38:06] quips! [18:38:14] marktraceur: I'll miss them! [18:38:17] quips! [18:38:26] soemone should dump them somewhere! [18:38:41] Yeah, quips are fun, someone should make a user script to show them on Phabricator. :) [18:38:53] spagewmf, rfarrand, no projects can not have multiple boards (yet). [18:38:55] +1 [18:39:01] phabricator is very extendable thing [18:39:03] But a task can have multiple projects and thus multiple boards. [18:39:04] it should not be problem [18:39:07] legoktm: I remember reading that code years ago...I think it makes sense after an hour [18:39:16] Where will we get wisdom like that [18:39:18] "DevOps [18:39:18] DevOps [18:39:18] ·Workboards [18:39:20] ·Members" [18:39:24] ^plural :) [18:39:34] 1 project == 1 board. an single issue can exist in multiple projects [18:39:45] * aude cries [18:39:45] NUUUUUUUU [18:39:48] RESOLVED WONTFIX [18:39:50] -2 [18:39:51] MIGRATION'S OFF [18:39:51] We can't migrate to phab [18:39:53] CAN'T DO IT [18:39:55] :) [18:40:04] Surely the other way around? [18:40:05] Yeah, we really need to fix that 's' in Workboards. [18:40:10] andre: I disapprove of this [18:40:11] * Elitre wants quips [18:40:13] Enabling quips, once written, is a WONTFIX? ;-) [18:40:20] James_F: No, the migration is [18:40:33] Do we get the meme generator turned on :) [18:40:36] New project, quips, we'll just create tasks for each month and paste things in [18:40:37] quips was the biggest reason I ever used bugzilla [18:40:48] only* [18:40:49] greg-g: Is this in scope or releng work? [18:40:51] * James_F holds his head in his hands. [18:40:58] * petan migrates to bash.org now... [18:41:18] Where do we file phabricator bugs in bugzilla? [18:41:25] lol [18:41:30] let's make a product for it [18:41:32] Reedy, :) [18:41:53] I presumed we'd have a Wikimedia -> Phabriactor or something [18:41:56] Reedy: which part? [18:42:04] so Flow would have "Flow current sprint", "Flow backlog", and "Flow previous sprints", all separate projects. Hmmm. [18:42:05] greg-g: quips extension for Phab [18:42:05] Also, +1 to the TV displaying boards, but someone would need to maintain it. [18:42:37] Reedy: :) sure [18:42:48] talk over! :) [18:42:55] I forgot to hit Boo when andre said that quip thing [18:43:01] kthxbai rfarrand [18:43:03] I think it's RPC, not REST. [18:43:20] thanks! [18:43:23] thanks! [18:43:25] Thanks~! [18:43:29] thanks for watching! [18:43:34] https://bugzilla.wikimedia.org/show_bug.cgi?id=71245 [18:43:42] Quick, vote on the bug! That makes them get dealt with quicker! [18:43:46] very informative, thanks! [18:44:26] Thanks, everyone. [18:45:07] voting is off :/ [18:45:42] https://bugzilla.wikimedia.org/page.cgi?id=voting/bug.html&bug_id=71245 [18:45:45] Reedy, speaking of Phabricator, or should I say phab: ... https://phabricator.wikimedia.org/T454 :) [18:46:16] Yeah... [18:46:26] There's a few other fixes to the script that possibly want backporting for use... [18:46:30] Do I have an account on phab? ;) [18:46:53] Reedy, you can... https://www.mediawiki.org/wiki/Phabricator#Access_to_phabricator.wikimedia.org [18:46:56] "The external account ("LDAP") you just authenticated with is not configured to allow registration on this Phabricator install. An administrator may have recently disabled it." [18:47:17] * qgil pings Reedy [18:47:31] * Reedy gives qgil phab access [18:48:03] that seems backwards [18:48:26] It also says to ping them, not them ping you :) [18:49:30] anyway, if you want Phabricator accounts, you can have them, just let us know [18:50:02] Probably a good idea please [18:50:08] I was in thought that we can use existing LDAP users :o [18:50:24] or SUL [18:50:25] doesn't have Trello checklist or I imagine {{done}} templates, I guess we all use a CLIPPINGS.txt file with ✓ and ✗ in it? [18:50:28] petan, see https://phabricator.wikimedia.org/T463 [18:51:42] !clippings is ✓ and ✗ [18:51:42] Key was added [19:00:39] qgil: ping [19:00:53] pong Pine [19:01:48] qgil: apparently someone thought to notify the staff email list about the IRC vulnerability earlier, but not the public email lists. Can you make sure that procedural loophole gets closed the next time there's a security bulletin that affects users? [19:02:54] spagewmf: phab's markup has "[ ]" and "[x]" checkboxes. Doc is buried in -- https://secure.phabricator.com/book/phabricator/article/remarkup/#layout [19:04:23] oh good, Heather's here. [19:04:48] Pine mmm ok, although the email employees got referred to the internal IRC channel(s?) that only employees can access [19:04:58] heatherw: I have some more work for you if you're looking for new projects [19:05:18] Pine, I actually knew because my IRC client told me, and I guess this was the same for most IRC users? [19:05:24] hahaha. are you my boss now, pine? [19:05:50] heatherw: hah, no, but I have a long list of ideas if you're looking for something to do :) [19:06:22] bd808|LUNCH, spagewmf not so buried considering that it is a link in the editing toolbar... [19:06:38] That has not happened for years, I am both sad and happy to say. [19:06:39] qgil: the vulnerability affects lots more users than just WMF staff, and my IRC client was not so nice as to give me an obvious bulletin. [19:07:00] I found the notice buried in some other text. [19:07:07] Pine: well then your client wasn't online? [19:07:11] at the right time [19:07:26] jeremyb: correct, but it was online before and after, meaning that the vulnerability applies [19:07:37] maybe [19:07:43] probably [19:07:43] maybe not if you were using certfp [19:07:58] but why not reset just to be safe? [19:08:05] Exactly. [19:08:24] trello checklists also have automatic progress bar and 37% complete based on how many you've checked off. [19:08:41] * Pine adds "cloning heatherw" to his list of research projects [19:08:45] Anyway, back to work [19:08:49] i think it's not 100% clear that this should be on wikitech-l though. so how is qgil supposed to write guidelines for next time? [19:09:01] in any case why is any of this conversation in this channel? [19:09:26] Pine: :) [19:09:41] heatherw: do you consent to clone? [19:09:51] hmmmm [19:10:05] I'm going to need to read the fine print. [19:10:32] Pine: you have some writing to do [19:10:47] ok, bye [19:10:53] jeremyb: ok, but I am trying to get some actual work done now, so... [19:10:57] ok bye :) [19:11:08] you mean cloning? [19:11:15] :P [19:11:21] qgil: is there a page for Phabricator <-> Trello, or Phabricator project management? As I recall there were tasks or project in the old phab instance about this, but they're gone [19:11:58] spagewmf, it's all there https://phabricator.wikimedia.org/search/query/FUiXmTLlvwlZ/#R [19:19:37] qgil, are you sure that dickson is limited to employees? [19:19:54] uh [19:19:58] dickson is open to everyone [19:20:20] superm401, I'm not sure about anything IRC+password, as I don't use these channels [19:20:58] I actually meant the WMF IRC server, not the channels. [19:21:04] And I'm pretty sure everyone can access it. [19:22:11] It's a normal server open to anyone FreeNode allows. [20:59:17] hello [21:00:10] Hi mglaser [21:00:13] hi [21:00:17] hey [21:00:20] It's that time again, eh [21:00:21] #startmeeting RFC meeting [21:00:21] Meeting started Wed Sep 24 21:00:21 2014 UTC and is due to finish in 60 minutes. The chair is TimStarling. Information about MeetBot at http://wiki.debian.org/MeetBot. [21:00:21] Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. [21:00:21] The meeting name has been set to 'rfc_meeting' [21:00:30] #topic RFC meeting | https://meta.wikimedia.org/wiki/IRC_office_hours | Please note: Channel is logged and publicly posted (DO NOT REMOVE THIS NOTE). | Logs: http://bots.wmflabs.org/~wm-bot/logs/%23wikimedia-office/ [21:00:34] hi [21:01:31] Hi [21:01:38] ok, should we start with Markus's? [21:01:50] TimStarling : thats fine with me [21:02:04] #topic Extension management with Composer | RFC meeting | https://meta.wikimedia.org/wiki/IRC_office_hours | Please note: Channel is logged and publicly posted (DO NOT REMOVE THIS NOTE). | Logs: http://bots.wmflabs.org/~wm-bot/logs/%23wikimedia-office/ [21:02:11] #link https://www.mediawiki.org/wiki/Requests_for_comment/Extension_management_with_Composer [21:02:45] So, basically, in the RfC proposed to use Composer for extension management [21:03:04] Composer can manage dependencies [21:03:34] And one of the issues non-WMF users have is to find the right extension version for their MW version [21:04:05] Also, this could be the first building block for an extension manager, that can install and update extensions from the GUI [21:04:34] * DanielK_WMDE_ goes to read the rfc [21:04:39] Semantic MediaWiki is already using Composer for installation [21:04:40] o/ [21:04:56] the part about not running extension registration files in the global scope is interesting [21:05:15] have you read legoktm's alternative proposal at https://www.mediawiki.org/wiki/Requests_for_comment/Extension_registration ? [21:05:44] they don't run in global scope, so extensions just use $GLOBALS['wgFoo'] instead, which ends up being basically the same thing [21:05:46] * mglaser skins the alternative proposal [21:06:49] legoktm: is your registration an alternative or does it fit into the composer scheme? [21:07:10] it can be both. [21:07:37] IMO I think composer is useful for managing dependencies and other things, but doesn't help much in terms of actually registering the extension with mediawiki [21:07:43] what I'm unsure about is the idea of migrating all extensions to $GLOBALS and then migrating them all to extension.json a short time later [21:07:51] legoktm, TimStarling: i like the json based registration, but i think it's too restrictive. alternatively, the extension could provide an implementation of some interface, say, ExtensionRegistration, that does the same thing, but allows settings to be generated programmatically, based on other settings (e.g. other namespaces, other available extensions, etc). [21:07:57] $GLOBALS seems pretty ugly to me [21:08:28] migrating to json first, and then to composer, seems more sensible. [21:08:33] at least when we used the file scope, we had the option of wrapping it in a get_defined_vars() b/c hack [21:08:58] DanielK_WMDE_: part of the reason for using JSON is that no PHP code needs to be executed to get basic metadata about an extension [21:09:12] and most extensions don't need anything that complicated [21:09:17] I am more concerned about the fact that uninstalling extensions seems not be supported by Composer [21:09:30] just a few classes, hooks and maybe RL modules. [21:09:32] at least, if I understand Jeroen [21:09:49] for more complicated extensions, an interface like that might be interesting. [21:10:00] rm -rf? [21:10:05] I thought uninstalling worked but disabling an installed one did not [21:10:07] legoktm: but for the ones that *do* need a more complicated setup, it should *somehow* be possible to do that (without resorting to the current mess). [21:10:14] I guess that would leave it in the autoloader [21:10:17] agreed. [21:10:57] legoktm: i have some ideas, but i guess we should be discussion the composer proposal :) [21:11:06] * DanielK_WMDE_ takes a minute to finish reading that [21:11:09] :) [21:11:44] there seems to be an incompatibility between the way WMF uses composer and the way SMW uses ist [21:11:45] How "useful" is composer for people on shared hosting and alike where they can't install stuff? [21:12:15] mglaser: i'm confused about how extension management with composer would work. what way does the dependency go? technically, the extensions depend on mediawiki core, not the other way around. [21:12:24] not very useful, I would assume [21:12:30] Reedy: It needs shell and internet access so... [21:12:32] there's also some discussion on the talk page about wikifarms...afaik with composer, there's no way I can install some extensions on one wiki and not others without just having separate composer.json's and multiple copies of extensions. [21:12:34] so installing a component would pull in mediawiki core into the vendor directory... not what we want [21:12:41] is there some nice mechanism that i don't know about? [21:13:10] DanielK_WMDE_ : this is managed by making MW another extension the others depend on. [21:13:15] bd808: ah, it's a phar [21:13:19] Jeroen did some work on this [21:13:30] Reedy: i guess the installer could call composer (scary, i know, but without shell access, what can you do?) [21:13:36] "vendor" directory is just the default [21:13:48] you can override that with install scripts etc. [21:13:52] I wasn't sure if they'd need to apt-get install composer or something daft like that [21:13:53] The question is, can we achieve a good extension management with Composer [21:14:18] is the idea that installation via composer would also register the extension? [21:14:22] mglaser: i have not seen this work nicely yet. maybe he came up with something new recently, but last i discussed this with jeroen, it involved manually entering fake dependencies into core's composer file. [21:14:31] to me, it seems Composer is a good approach, but in order to work well, it needs some workarounds that are, say, hacky [21:14:44] so you would just run composer and then it would be active in the wiki in question? [21:14:50] mglaser: the rfc should explain the details of this mechanism, i think. it's a pretty central thing [21:14:52] DanielK_WMDE_: , exactly [21:14:59] mglaser: eek [21:15:16] the thing is - cpomposer is good at managing dependencies, but it has no notion of optional components [21:15:22] and that's what we are trying to model here [21:15:28] it's important that we get that right. [21:15:31] ok [21:15:36] TimStarling: It would be in the autoloader. I don't quite get how the entry point file is activated. [21:15:50] * DanielK_WMDE_ waves at rfarrand [21:15:50] let's assume we do legoktm's thing first [21:15:54] Unless that's in the plugin... [21:16:24] then we need to call wfLoadExtension() on all the composer-installed extensions [21:16:28] so, who here thinks Composer is a good way to proceed? Are there good alternatives (except writing our own dependency management)? [21:16:53] we could have the composer install script register the extensions in a separate JSON file or something, then iterate over that to load the extensions [21:17:09] before or after LocalSettings.php is executed [21:17:31] TimStarling: the thing i'm trying to understand is: if the extension declares a dependency on a specific version of core (which is the point, iiuc), then the extension will install core as a *library*. that just doesn't make sense. [21:17:34] I think composer is a good way to start. We might have to work with makers of Composer to improve it, though. [21:17:43] I'm trying to remember where the code is. Composer has special support for mediawiki extensions and skins. [21:17:43] that's my main issue with using composer for extensions. [21:17:52] bd808: composer-installers I think? [21:17:54] Mmm I guess most people here are aware of the composer-managed libraries RfC? Any interactions worht considering? https://www.mediawiki.org/wiki/Requests_for_comment/Extension_management_with_Composer [21:18:02] hexmode: i agree. [21:18:33] incidentally, Lydia knows one of the maintainers personally. he's in berlin. we actually tried to set up a meeting a few weeks ago, to discuss exactly this [21:18:37] hexmode, good idea [21:18:47] (we have much the same issues with managing the different parts of wikibase) [21:19:11] we never met, though [21:19:14] I don't think writing our own dependency management is a good idea, but I'm not convinced composer will really solve our problems either. [21:19:30] DanielK_WMDE_ : would it make sense to agree on the requirements here and then get this guys professional view on that? [21:19:31] as I understand, composer is not large or complex [21:19:37] DanielK_WMDE_: awesome. Between you an Jeroen we could probably move the ball forward. [21:19:46] mglaser: sounds good [21:19:59] if it already has some specific support for mediawiki extensions, then we can just extend that and make it work for us [21:20:03] contributing upstream [21:20:15] legoktm: What other solutions are there besides Composer for PHP right now? [21:20:39] well, we can do our own thing [21:21:06] Ah. I figured it out how the loading of the extension works. SMW defines a custom autoloader in it's composer.json file -- https://github.com/SemanticMediaWiki/SemanticMediaWiki/blob/master/composer.json#L54 [21:21:22] hexmode: I'm not really sure, I haven't researched this problem that much. But I don't think composer will solve the problems the RfC discusses. [21:21:23] TimStarling : no doubt :) But can we save effort? [21:21:31] for the record: i really like composer. i just think it doesn't really (yet) cover this used case [21:21:32] Which just happens to be the extension entrypoint file [21:21:44] if the composer dev team want to support mediawiki extensions, then we should probably help them with that [21:21:54] +1 [21:22:12] Not like we're short of PHP developers either [21:22:25] DanielK_WMDE_ : getting back to your previous point: I assume if I want to install an extension that depends on a specific mw version and the version is not there, composer refuses to install. [21:22:34] > Indicate an extension's version and dependencies <-- we just need a place to define that (extension registration!) [21:22:36] How does this work with the WMF solution? [21:22:44] Reedy: We can port it npm later ;) [21:22:44] > Manage various dependencies among extensions <-- sounds like a place where composer would be useful. [21:23:04] > Manage an extension's dependency on the MediaWiki version. This also helps to a faster deployment of extension updates <-- we already do this with wfUseMW. Not really a problem IMO. [21:23:21] mglaser: We would likely not use composer to manage extensions on the WMF cluster [21:23:21] mglaser: afaik, it will try to pull that version in [21:23:46] mglaser: But having support for the in MW should not cause us any problems [21:23:55] bd808 : I understood composer is already used to manage 3rd party libraries [21:24:05] I think there are other things we could do to make extension distribution better, like improving Special:ExtensionDistributor. [21:24:14] mglaser: Yes. We have a froen repo of 3rd party libs [21:24:17] bd808: i imaging the wmf cluster would use a simmilar solution as the one we use to debloy wikibase: [21:24:21] And getting people to actually update REL branches properly. [21:24:40] DanielK_WMDE_: Hi! [21:24:47] we have a build process that runs composer and does some misc stuff. the result is then checked into a git repo. [21:24:54] legoktm : I totally agree [21:24:59] then we deploy the "build" to the cluster [21:25:04] I only just saw your message now :) [21:25:15] mglaser: https://github.com/wikimedia/mediawiki-vendor is our composer managed repo. And related to the composer.json in the mw-core repo. [21:25:21] rfarrand: np, just passing by ;) [21:25:29] So, I don't really see composer as something that as necessary to improve "extension management" [21:25:44] bd808 : it seems to be not totally compatible with the SMW solution [21:25:49] Most extensions don't have that many dependencies (except for things like SMW/Wikibase) [21:26:05] legoktm: we will (i hope) see more and more extensions sharing code. composer will help with that [21:26:06] as there is a requirement to only have one composer.json. Has that issue been resolved? [21:26:08] bd808: Extensiods [21:26:18] legoktm: they don't have it because its not been possible [21:26:19] legoktm: in fact, i think it sucks that it's so hard for extensions to share code right now. [21:26:35] and i think this is the case precisely because we don't have something like composer to deal with the dependenies [21:26:36] fair points [21:26:45] DanielK_WMDE_ : +1 [21:26:46] ok, time for some # commands [21:27:00] mglaser: This is a tricky bit that I was just discussing with Nikerabbit actually. Translatewiki tracks the git repo and also installs extensions via composer. [21:27:00] #info if the composer dev team want to support mediawiki extensions, then we should probably help them with that [21:27:16] #info legoktm: So, I don't really see composer as something that as necessary to improve "extension management" [21:27:29] bd808 : ah, so we have a way to resolve this? [21:27:30] bd808: yeah, jameshk complained about composer.json in git overwriting already-existing ones. any workaround? [21:27:43] mglaser: He and I were discussing possible ways to keep thier loacl composer.json changes from conflicting. [21:27:57] ah, ok [21:28:05] #info Daniel thinks composer would be useful in managing dependencies between extensions etc. [21:28:14] One idea that legoktm actually brought up was using a composer.json file in $IP/extensions just for the extension management [21:28:20] I think, we need to specify the requirements first [21:28:37] #info composer manages dependencies, but currenly has no support for optional extensions/plugins/modules. when used naively, extensions would pull in core as a library. [21:28:45] Tody one would need to add the generated $IP/extensions/vendor/autoloader.php to LocalSettings.php [21:28:48] *Today [21:28:50] bd808: could you and nikerabbit loop me in to your discussion so I can help keep the SMW devs informed? [21:28:53] then DanielK_WMDE_ talks to that guy in Berlin [21:28:54] TimStarling: ah, didn't see that you already covered that [21:29:02] #info probably best to do the "extension registration" RFC first and this RFC second [21:29:19] mglaser: pleas ping lydia about it. let's not get too many hopps in the communication chain :) [21:29:19] But we could easily add a check for that alternate uolaoder in the includes/autoloader.php [21:29:52] bd808: that line could just always be there [21:29:53] DanielK_WMDE_ : ok. So I will propose requirements on the RfC and ask you all for comments [21:30:20] Second, I will try to get in touch with the guy in Berlin via lydia [21:30:23] DanielK_WMDE_: right. Just like we have for $IP/vendor/autoloader.php [21:30:24] sounds good? [21:30:40] #action mglaser will propose requirements on the RfC and ask you all for comments [21:30:42] sounds good to me! [21:30:50] \o/ [21:30:50] #action mglaser will try to get in touch with the guy in Berlin via lydia [21:30:58] when are we discussion the extension/json rfc? sounds pretty interresting [21:31:20] hexmode: I think you've heard all the options before when we talked in Zürich on the topic, but yeah I'll keep you in the loop as things progress [21:31:33] :) [21:31:36] there was already an RFC meeting in May [21:31:44] for the JSON thing [21:31:55] happy to hear Nikerabbit is also involved in this [21:32:30] TimStarling: we should have another one, then. and/or a session at the summit. about extension management in general. [21:32:38] mglaser: Translatewiki uses this composer.json today -- https://git.wikimedia.org/blob/translatewiki/13f1e1519c91e11707ad693fbbf886ae0320ae99/composer.json [21:32:55] actually, can we make that an action point? discussion extension management at the summit, i mean [21:33:06] who could take care of that? [21:33:07] legoktm: I suppose you need resourcing for it [21:33:24] er, resourcing in what sense? [21:33:43] and yeah, it would be nice if we could have another IRC meeting for it [21:33:54] you need someone to tell you it's OK to spend paid time working on it [21:34:13] DanielK_WMDE_: I assume hexmode and I could take care of leading the discussion [21:34:30] If noone else wants do do it, of course [21:34:39] sure [21:34:40] ah, ok. right now I've mainly been doing it and config stuff in my "volunteer" time, but I'll talk to someone about that. [21:34:44] yay :) [21:35:01] ok, next RFC? [21:35:22] go for it [21:35:27] (I can also help with the discussion at the summit) [21:35:30] #topic CentralNotice backend improvements | RFC meeting | https://meta.wikimedia.org/wiki/IRC_office_hours | Please note: Channel is logged and publicly posted (DO NOT REMOVE THIS NOTE). | Logs: http://bots.wmflabs.org/~wm-bot/logs/%23wikimedia-office/ [21:35:37] #link https://www.mediawiki.org/wiki/Requests_for_comment/CentralNotice_backend_improvements [21:35:37] legoktm : I'd appreciate that [21:36:18] so this is my proposal [21:36:55] basically there are some things about CentralNotice that I never liked from the outset, and my approach to fixing that was to mention it offhand once every 2 years [21:37:10] :) [21:37:33] this proved to be ineffective, and it was suggested to me that maybe writing an RFC would be more effective than that [21:38:05] problems with it specifically are: [21:38:25] * use of MessageCache, which is very inefficient and slows down MessageCache for everyone [21:38:40] * security and poor separation of scripts from layout and content [21:39:07] TimStarling: Sounds promising [21:39:21] Also front-end performance is absent and laughable [21:39:22] what I'm suggesting is to move banners to some other namespace, instead of using the MediaWiki namespace [21:39:34] including user experience, which I imagine has to be negatively impacting the fundraiser, too [21:39:45] also move the stuff included with {{int:}} to another namespace [21:39:54] (it pushing down the content after the page is loaded, in an unpredictable way that causes reflows and repaints) [21:40:38] regarding splitting scripts -- I suggested making it possible for banners to depend on RL modules [21:41:04] and to expose metawiki pages as global RL modules, similar to how we do site JS [21:41:11] Krinkle: there's another RfC with detailed stuff on the front-end banner display bit https://www.mediawiki.org/wiki/Requests_for_comment/CentralNotice_Caching_Overhaul_-_Frontend_Proxy [21:41:22] k [21:41:53] and finally, possibly this part is optional, I suggested moving banner editing from a special page to a ContentHandler, like Wikidata [21:41:53] TimStarling: all that sounds good [21:41:54] TimStarling: banner's script can already use mw.loader to re-use functionality from libraries [21:42:12] They're just not using it right now, but there's no infrastructure lacking on that front. [21:42:18] I would like to not even allow