[13:19:58] Where does the code of AW functions run? [13:20:05] (Once AW is implemented.) [13:20:39] The Glossary says: "Evaluators may be implemented and run in the browser, on the server of the Wikimedia Foundation, in the cloud, in an app on a mobile device, or other places", although it's quite possible that I'm mixing wrong concepts together. [13:21:56] Can it run both in the context of the repo, and in the context of the local wiki? [13:22:31] And what does it mean that it runs "in the browser"? Could the current gadgets be fully migrated to AW functions? [13:22:56] (And yes, I'm probably mixing up AW and the wiki of functions.) [13:23:11] (And yes, I'm probably mixing up AW and the wiki of functions. I should probably refer to wiki of functions and not to AW.) [13:23:41] it's not like we have a final name for it yet :D [13:46:42] The thing about functions in the wiki of functions is that they produce the same results, no matter what context they run in. That's what is meant when they are called "functional" or "functions". So they could be run by the repo or by the local wiki, but the result would be identical. It doesn't matter in what context they run. [13:49:47] This also should answer the question about the Gadgets: yes, functions may be evaluated in your browser, but the result is again exactly the same as if it ran on a WMF Server. There are no side effects and they have no automatic access to your page as context. That means that some Gadgets may benefit from using functions from the wiki, but I don't think any gadget could be transformed to a function. [13:51:19] To summarize: functions have no implicit context and can't have side effects. Everything you want them to know about has to be an explicit input, and everything you get from them is a value. I hope that helps. [13:53:59] I guess no gadgets could be *fully* migrated because you'd still need something to call the function and do something with the result [13:56:08] Hello Denny and Everyone, This is Pujitha Jaji an outreachy internship applicant working on the project : "Analyze community authored functions that build Wikipedia infoboxes and more" [13:56:10] Yes, I think that's right. There might be a generic wrapper or something, so it feels like it is quite fully integrated, but in the end this will be somehow outside of the functions. So yes, your fully correct. [13:56:33] I have a query on recording contributions and final application [13:56:41] CAn I get that clarified here? [13:56:44] Hey Pujitha! Contact abaso@wikimedia.org [13:57:14] Yeah, Sure Lead! [13:57:23] Thank you [15:19:08] I kind of expected this response :) [15:19:09] I'm wondering where will it be a problem. Like, what happens if different wikis in the same language want a different output? Will all the different variants have to be implemented in the function in the repo, without any possibility to modify things conveniently in the wiki? (re @vrandecic: To summarize: functions have no implicit context and can't have side effects. Everything you want them to know about has to be an explici [15:24:39] If it creates different output from the same input it's a different function. There is no "possibility to modify functions conveniently in local wikis" planned. But you can have more arguments, which control the output. [15:29:13] OK. I guess it can scale for Wikimedia with the current project families (Wikipedia, Wikibooks, Wikivoyage, etc.), and if the people from different families are all comfortable about editing the wiki of functions. [15:29:28] If it has to serve non-Wikimedia organizations, or if Wikimedia starts having more wiki families, it may become challenging to have everything in one repo. [15:33:26] Maybe. What would be an example of what you're thinking of? [15:38:52] Off the top of my head: [15:38:52] * English and Simple English Wikipedia. (I guess we could add a separate language code for Simple English, but we somehow avoided doing it till now.) [15:38:54] * If people will want to use AW to write help and policy pages on their wikis rather than just content, which is quite possible, they may want to use different terms for pages, articles, etc. [15:38:55] * Different phrasing for Wikipedia clones that want a certain character, for example, a version without adult topics for children or religious people. [15:38:57] There are definitely more examples. [15:39:11] Off the top of my head: [15:39:12] * English and Simple English Wikipedia. (I guess we could add a separate language code for Simple English, but we somehow avoided doing it till now.) [15:39:13] * If people will want to use AW to write help and policy pages on their wikis rather than just content, which is quite possible, they may want to use different terms for "pages", "articles", etc. [15:39:15] * Different phrasing for Wikipedia clones that want a certain character, for example, a version without adult topics for children or religious people. [15:39:16] There are definitely more examples. [15:50:16] Those are interesting cases, and we'll need to figure them out on detail. I think tailoring content like this will certainly become easier with Abstract Wikipedia, but it won't be supported well just out of the box. There will be need for quite a bit of work to do it well. [15:57:59] A semi-related thing: https://www.mediawiki.org/wiki/Topic:Vwvgt8qoahgnn9et [15:58:00] It's about templates and modules, but AW people may have thoughts about it, too. [16:01:40] No, that one's easy for us, due to the reasons given above: it wouldn't matter. There is no context, and the result of the evaluation of a function is the same. So it becomes a permit engineering decision. For global templates and modules that is not the case. There you have to figure it out. [16:03:05] I wish we had a wiki of functions from the start :) [16:03:53] Sure. I wish we had Wikidata from the start. Then the English Wikipedia would be it's most ardent defender :) [16:03:54] In theory, a lot of templates and modules, maybe even all of them, can be replaced by Wikilambda functions. It's the path to that replacement that I keep thinking about. [16:08:31] /me@wmtelegram_bot [16:08:38] /me@wmtelegram_bot [16:08:44] /me@wmtelegram_bot [16:08:47] ? [16:08:48] /me@wmtelegram_bot [16:08:55] it doesn't work [16:10:50] Step by step, community by community, template by template, module by module. We don't have plans to deprecate any existing functionality (although I great Erik Möller saying "You should,"), so it will be over time. [16:13:33] Sure, but I'm wondering how can it be facilitated for all involved. I don't have very good answers, but I'm trying to raise the questions. (re @vrandecic: Step by step, community by community, template by template, module by module. We don't have plans to deprecate any existing functionality (although I great Erik Möller saying "You should,"), so it will be over time.) [16:18:58] We have an outreachy task that will take a look at some of these questions. To look at how modules are currently users and reused and how amenable they would be to a transition to functions. I expect to learn quite a bit from that. [17:58:46] Is there a description anywhere? (re @vrandecic: We have an outreachy task that will take a look at some of these questions. To look at how modules are currently users and reused and how amenable they would be to a transition to functions. I expect to learn quite a bit from that.) [18:02:18] https://phabricator.wikimedia.org/T263678