[05:17:56] is there anyone that can help me recover access to my wiki account? I still have access to my ldap account but I lost my 2FA tokens when I moved to a new phone [05:23:01] nakon you need a user with shell access (https://www.mediawiki.org/wiki/Wikimedia_Security_Team/Two-factor_Authentication_for_CentralAuth_wikis) [05:23:50] nakon not sure how to get them. perhaps file a bug in phabricator since you have access to that. i'm not familiar with the process :-/ [05:24:14] werd, I can try asking there [05:42:37] https://phabricator.wikimedia.org/T210573 [05:42:51] we'll see how that works out :/ [05:43:30] thanks for the help [15:00:17] Technical Advice IRC meeting starting in 60 minutes in channel #wikimedia-tech, hosts: @Thiemo_WMDE & @chiborg - all questions welcome, more infos: https://www.mediawiki.org/wiki/Technical_Advice_IRC_Meeting [15:50:07] Technical Advice IRC meeting starting in 10 minutes in channel #wikimedia-tech, hosts: @Thiemo_WMDE & @chiborg - all questions welcome, more infos: https://www.mediawiki.org/wiki/Technical_Advice_IRC_Meeting [16:01:11] although i've attended one earlier, i'm not sure what happens in technical advice meetings [16:01:22] people come and ask questions, but about what specifically? [16:01:22] Welcome to the Technical Advice IRC meeting! [16:01:29] šŸ‘‹ [16:01:59] shreyasminocha about mediawiki, about wikidata, about general wikimedia infrastrcuture [16:02:29] chiborg: okay, so anything pertaining to these things? [16:02:56] Hi. I'm looking for advice about working in T72239 [16:02:56] T72239: Generate entries for deletions and restores in page histories - https://phabricator.wikimedia.org/T72239 [16:03:08] s/in/on/ [16:03:10] o/ [16:03:21] \o [16:03:55] There's a background thread at https://en.wikipedia.org/wiki/Wikipedia:Village_pump_(proposals)#Diffs_should_include_log_extracts [16:03:58] shreyasminocha yes, but don't limit yourself. If the topic is too broad, we'll tell you :) [16:04:52] chiborg: can i ask "dumb" questions? (although i'll look them up before i ask) [16:05:32] chiborg: I just realized I have two meetings the same time. Is it ok if I join here later? [16:06:10] Thiemo_WMDE It's ok, as long as I can ping you for stuff that I can't answer. [16:07:15] shreyasminocha Go ahead, I've never encountered "dumb" questions. [16:11:18] Hello? Am I connected? [16:11:18] i recently got started contributing to mediawiki (thanks to GCI) even though i don't know much php. it's codebase is so large that i found it almost intimidating. can you please briefly explain what parts there are to it and where they lie? alternatively, could you point me to somewhere i can find this info? [16:12:56] RoySmith: You are :) [16:13:33] Cool. So, I'm looking for info/advice/whatever about T72239 [16:13:34] T72239: Generate entries for deletions and restores in page histories - https://phabricator.wikimedia.org/T72239 [16:13:41] shreyasminocha You've probably already found https://www.mediawiki.org/wiki/Manual:Contents and https://www.mediawiki.org/wiki/Manual:Code [16:13:55] i found https://www.mediawiki.org/wiki/Manual:MediaWiki_architecture [16:14:10] but let me look at the ones you linked [16:14:12] I brought the topic up on en's Village Pump and the general opinion is that it's a good idea, but it sounds like it was suggested already and never went anywhere. [16:15:01] I'm thinking a simpler solution, instead of the null revisions suggested in the phab ticket would be to query both the revision and log tables at display time and merge them. [16:15:20] then the underlying data representation doesn't need to change and/or get back-filled. [16:15:44] Simpler to implement, but most costly in terms of database queries. [16:15:49] shreyasminocha the architecture page looks exactly like what you're looking for. [16:16:21] Does this seem like a reasonable approach? [16:16:38] chiborg: ah, thanks. let me have a deeper look into it [16:17:23] RoySmith I'm reading the ticket, trying to see what this is about ... [16:18:12] I concur with chiborg, https://www.mediawiki.org/wiki/Manual:Code is some good material :) [16:18:18] shreyasminocha: ^^ [16:20:07] nice, looking [16:20:22] (i was going to ask "why PHP", but the arch page answers that too :D) [16:21:26] Regarding, "why PHP", I've learned never to ask questions if I suspect I won't like the answer :-) [16:24:07] does mediawiki use semver? i'd be surprised if it does, because the current version number is 1.31.1, and i'll be surprised if "major" has not been bumped in so many years :D [16:24:47] (followup: why not?) [16:25:16] Hello everyone. Please what does it mean to declare a page as template dependency on MW? [16:26:03] chiborg: I find this: https://www.mediawiki.org/wiki/Dependency_Injection, very interesting related to ServiceWirings and DI, is there something complete somewhere one can tap into for more knowledge, mw related? [16:28:17] d3r1ck Uh, I've never seen this, maybe addshore or Thiemo_WMDE can answer that. [16:28:36] eugene233: Could you expand on your question? [16:28:56] O/ [16:29:40] Because if I understand clearly the phrase "declare a page as template dependency", I would take it as "page been needed or included for a template to function as required". But I'm not sure, so if you could expand a bit on your questions, we may be able to help :) [16:30:15] *question [16:30:27] shreyasminocha: no :p [16:31:07] d3r1ck: I'm not really following along / don't understand the question [16:32:22] addshore: Okay! So the link about DI etc is still under construction. So I was wondering if that is a revised version based on the introduction to that feature / pattern. So is there some wiki page somewhere that has some "complete" guidelines to read from or is the link the first step? [16:33:01] The reason I'm asking this is because I'm in need of this knowledge for some implementation. Want to get a grasp of it before diving into the coding aspect. [16:33:27] d3r1ck: is this for an extension or part of core? [16:33:29] @d3r1ck: Myself Iā€™m unsure what that means. [16:33:31] RoySmith I'm not sure I understand the issue fully, so in my own words describing the status quo: - there is the revision history table that logs text changes (and some null edits where other page properties are changed). The revision history page mostly shows data from the revision history table. Then there is the page log that records other events, but they aren't shown on the revision history page. And there is the "diff" page [16:33:31] that also does not show log entries. Right so far? [16:33:46] I think that page is currently the only docs other than code using DI [16:33:52] addshore: MobileFrontend so yes, extension. [16:34:24] eugene233: Where did you find that statement, it may be a typo or something, could you link us to where that was gotten from? :) [16:34:38] addshore: Thank you very much! :) [16:35:47] i hope i didn't miss d3r1ck's "no :p" [16:39:40] I would say that a page is a template dependency if it is included as a template into another [16:39:55] not sure if that's what they intended to express [16:40:07] in terms of the db that's templatelinks tabl [16:40:10] *table [16:40:16] chiborg: sorry, I was away for a moment. [16:40:19] Platonides: Yup, truly that's what I understand from the statement [16:40:53] Yes, what you said sounds like a good description of the problem. [16:41:32] And from an UI perspective where would you want the additional information - on the history page, the diff page or both? [16:41:33] If I'm trying to see "what has happened to this page", items from both the revisions and log should be seen as a single flow of events through time. [16:42:13] RoySmith That sounds good, yes. [16:42:18] If I'm going through the revision history and don't see the events from the log that happened, I get an incomplete and confusing view of the real history. [16:43:00] In the specific case that brought this up, the revision history makes it look like somebody just removed a tag I had placed on an article. [16:43:14] In reality, they had acted on the tag, but that information is only visible in the log. [16:44:00] The best thing, from the history viewer's point of view would be to have a single merged view of both tables. [16:44:42] But, even just a note in the revision history saying, "something special happened here, go look at the log to see the details" would be an improvement, and possibly easier to implement. [16:45:13] the problem here is just that it means querying multiple tables [16:45:18] and that it needs to be efficient :P [16:46:24] I get that there's an extra table query involved. [16:46:46] Is that really so bad? [16:46:50] you will need to filter by timestamp [16:47:00] no, adding a query is not bad [16:47:16] I assume that history browsing is a very small percentage of the total page views on the site. [16:47:25] but you can't eg. search for everything to the page [16:47:34] as that could be a really long list [16:47:53] that's why there are always limits set on these queries [16:47:56] In pactice, the log is usually very short. [16:48:10] it is usually short [16:48:22] there can easily be 100's or even 1000's of revisions, but it would be very unusual for a page to have more than 5 or 10 log entries. [16:48:25] but we don't want that 1% exception to slow down the database [16:49:51] If we went with the "something happened here, go look at the log" idea, then all we'd need to query for was (in sql-pseudo code): "select from log where timestamp >= time1 and timestamp <= time2 limit 1" [16:50:25] enwiki Main_Page has 96 log entries :P [16:50:29] If any rows came back, we could insert the link to the full log, and people could then go search it on their own. [16:50:37] yes [16:50:57] I would search between the times of the shown revisions and note that [16:51:12] note however that there could be actions between two revision pages, too [16:51:33] what does "between two revision pages" mean? [16:52:01] suppose we are showing 10 revisions on the history page [16:52:08] revisions 11 to 20 are in the next one [16:52:14] oh, I see. [16:52:20] and several actions happened between the time revisions 10 and 11 were made [16:52:57] it can be done but there are some tricky corners to take into account :) [16:53:16] Yeah, to handle that edge case, we'd need to get N+1 (or maybe N+2, for both ends) revisions so we had the right bounding limits for the log search. [16:53:18] good point [16:53:39] actually, mediawiki already fetches N+1 revisions [16:53:51] in order to see if there is a next page, probably [16:53:59] I don't remember the details [16:54:00] yeah, that makes perfect sense. [16:54:44] Platonides Are all log entries public or are there entries that only certain user groups see? And is the log global or page specific? [16:54:59] there are some private log entries [16:55:04] BTW, do these meetings get logged anywhere, i.e. is there an easy way to attach this conversation to the phab ticket? [16:55:12] such as those only shown to checkusers or oversighters [16:55:27] plus, there can be log entries that were redacted [16:55:35] just like a revision may have a hidden eg. username [16:55:40] RoySmith: yes [16:55:51] the channel is logged, see https://wm-bot.wmflabs.org/logs/%23wikimedia-tech/ [16:56:22] the log is stored in a single table [16:56:37] the table "logging" [16:56:50] you will want to filter by log_namespace and log_title values [16:56:53] matching to the current page [16:57:07] plus the above mentioned log_timestamp conditions [16:57:22] RoySmith The Phab ticket looks like a proposal for one possible solution (null edits). Maybe we should create a different ticket, that describes the problem in a more feature.focused way, e.g as a user story. then the devs can figure out how to implement this. [16:57:45] Platonides thanks [16:57:58] you are welcome, chiborg [16:58:21] For the moment, I added the chat log to the existing ticket. I'll think on this a bit and write up a new ticket with some design ideas. [16:59:18] * Platonides notes that adding null edits would not work for old entries [16:59:51] On a marginally related topic, it's a long time since I've worked with the mediawiki code base. What's the best way to bring up a test/dev environment these days? [17:00:09] So I can start exploring some code ideas [17:00:25] RoySmith: you could use vagrant [17:00:45] but if you have done it before, a local install is really easy :P [17:01:13] The last time I looked at the code, I just downloaded it all and installed it on my linux box. [17:01:26] that works fine :) [17:01:35] I no longer have a linux box, but I do have MacOS. I assume it runs OK on that? [17:01:53] RoySmith as long as it has php and apache set up, yes [17:02:18] Ugh, I don't want to mess up my machine with all that. [17:02:30] Then vagrant is a good option. [17:02:31] Can I spin up a dev instance in the wikimedia cloud? [17:04:19] RoySmith sorry, don't know. I'd imagine this not being a good approach for fiddling around (except if you use vim as your favourite editor). [17:05:33] RoySmith but if you have access to the wikimedia cloud, then I guess that's one of its use cases. [17:06:45] This concludes the Technical Advice IRC meeting, thank you all for your questions, answers and lively discussions. [17:07:06] Yeah, I've got a dev account. I set it up a while ago, but never actually used it for anything serious. [17:08:18] OK, this gives me enough to go on for now. I'll write up some design notes, open a new phab ticket, and figure out a dev setup to use. [17:08:26] Thanks everybody for your help. [17:10:38] https://www.mediawiki.org/wiki/MediaWiki-Vagrant [17:35:52] hello, i'm trying to programmatically look at some data from the flow API. For some reason when I introduce the `vtloffset` paramter as per the docummentation I get an unspecified error: https://fr.wikipedia.org/w/api.php?action=flow&submodule=view-topiclist&vtlsortby=updated&format=json&vtllimit=max&vtloffset=20180307000000&page=Wikip%C3%A9dia%3AForum_des_nouveaux [17:36:46] Can anyone help me walk over the topiclist of a flow discussion between dates using the API? [17:37:47] #wikimedia-collaboration might be better suited [17:39:03] thanks andre__ [23:52:57] Hi! The new advanced search is causing problems on sv-wp and sv-wiktionary. Is this a known problem or should I file a bug? [23:59:27] Skalman_: you can see the list of open issues at https://phabricator.wikimedia.org/maniphest/?project=PHID-PROJ-xu3tnxogrcioimcazeot&statuses=open()&group=none&order=newest#R [23:59:48] Skalman_: when in doubt, always file a bug, it can be easily closed as a duplicate if that's needed