TL;DR: Join us to discuss Templates, Page Components & editing on Thu, 13 August, 12:45 – 14:00 PDT [0].
Hello all,
Recent discussions, including the pre-Wikimania content brainstorming [2][3], brought up several important questions about the next steps for MediaWiki's and particularly Wikimedia's content representation, storage, change propagation, and caching. Many of those questions directly affect ongoing work, so it would be good to get more clarity on them soon. To this end, I am proposing we meet every two weeks & discuss one major area at a time. I think we have enough topics for four meetings over two months [2][3], after which we can re-evaluate the approach.
As the first topic, I would like to propose *Templates, Page Components & editing*. Gradual improvements in this area should let us broaden the support for different devices, improve the editing experience, and speed up rendering and updates. There has been a lot of discussion and activity on this recently, including a talk by C.Scott at Wikimania [4], Jon's Wikidata-driven infoboxes on the mobile site [5], Marius's Lua-based infobox programming idea [6], and Wikia's declarative infobox components [7]. This summary task [8] has a list of related resources.
Concretely, we could try to answer these questions:
- Can we find satisfactory general abstractions for page components (well-formed content blocks)? - What are the requirements for editing, RL module / metadata aggregation, dependency tracking? - Should we evolve wikitext templates into well-formed page components?
Please join us at:
*Thu, 13 August, 12:45 – 14:00 PDT* [0]
- by joining the BlueJeans conference call [1], - on IRC, in #wikimedia-meeting, or - in Room 37 in the WMF office.
See you there,
Gabriel
[0]: http://www.timeanddate.com/worldclock/fixedtime.html?iso=20150813T1945 [1]: https://bluejeans.com/2061103652, via phone +14087407256, meeting id 2061103652 [2]: https://phabricator.wikimedia.org/T99088 [3]: https://etherpad.wikimedia.org/p/Content_platform [4]: https://upload.wikimedia.org/wikipedia/commons/0/08/Templates_are_dead!_Long... [5]: https://en.m.wikipedia.org/wiki/Albert_Einstein?mobileaction=alpha [6]: https://www.mediawiki.org/wiki/Extension:Capiunto [7]: http://community.wikia.com/wiki/Thread:841717, http://infoboxpreview.appspot.com/ [8]: https://phabricator.wikimedia.org/T105845
On Tue, Aug 11, 2015 at 7:12 PM, Gabriel Wicke gwicke@wikimedia.org wrote:
TL;DR: Join us to discuss Templates, Page Components & editing on Thu, 13 August, 12:45 – 14:00 PDT [0].
I can't, so I'll just comment here.
including a talk by C.Scott at Wikimania [4]
Looking at the slide deck, it's not terribly clear to me what's going on through much of it. If you're only referring to the "alternatives to templates" section (slides 39-50) it's good, but much of the rest isn't so much.
The first part repeatedly harps on T14974 being stupid. Which I don't think anyone disagrees with, but hysterical raisins mean it's not simple to just revert anymore. We need to at least identify what now is depending on that behavior (xkcd 1172 https://xkcd.com/1172/).
Then complains about the fact thatthere isn't any general-purpose "escape template argument" mechanism. True, although overdone in the slide deck.
And then gets into weird attempted abuse of some {{echo}} template in the context of tables. WAT?
Then it goes back to the escaping issue by proposing a heredoc syntax for template arguments. Although that as a general concept has its advantages, it also has disadvantages. Enwiki even has some templates like this, see {{archive top}}/{{archive bottom}} for just one example.
And then it non-sequiturs into a screenshot of JavaScript code. WAT? Maybe it's trying to propose a version of Scribunto-with-JS over Scribunto-with-Lua, ignoring the reasons JS was rejected in favor of Lua during Scribunto's planning and development.
Then it proposes looping and StringFunctions-like parserfunctions that were rejected years ago to avoid wikitext becoming even more confusing. WAT?
And JSON blobs embedded in page wikitext are presented as a good idea. WAT?
Also, slides 60-62 seem wrong. The first was probably trying to get at the fact that {{#tag:ref|bar<ref>bat</ref>}} puts the "bat" reference before "bar" instead of after, but it misses and the next few go off in some completely other direction.
- Can we find satisfactory general abstractions for page components
(well-formed content blocks)?
"Page components" with structure defined by editors and layout controlled by the skin would let Mobile get rid of a some of the stupid stuff it does now to try to work around the existing implementations.
But what do you mean by "general"?
- A page component for infoboxes, and one for navboxes, and so on? Sure. - A generic "page component" thing that can be used for infoboxes, navboxes, and so on? Probably not well, although I'd be happy to be proven wrong. You'd probably wind up with effectively templates + per-template styling + someone actually writing good @media blocks for mobile vs desktop.
- What are the requirements for editing, RL module / metadata
aggregation, dependency tracking?
I don't think anyone will forget it, but keeping the links tables (dependency tracking) up to date is important. Flow did forget, for a historical example, and the current implementation still leaves a bit to be desired. Flow's watchlist and history mechanisms (e.g. https://www.mediawiki.org/w/index.php?title=Talk:Web_APIs_hub&action=his... and how it shows on my watchlist) are rather lacking, too.
When discussing editing: A good WYSIWYG experience is essential, but a fully-featured markup editor (that ideally doesn't require directly writing JSON blobs or complex RDF structures) would also be very useful for many editors.
- Should we evolve wikitext templates into well-formed page components?
Probably not. While templates are used to implement "well-formed page components" as it seems to be defined here, they're also used for many other things.
On 08/12/2015 09:33 AM, Brad Jorsch (Anomie) wrote:
On Tue, Aug 11, 2015 at 7:12 PM, Gabriel Wicke <gwicke@wikimedia.org mailto:gwicke@wikimedia.org> wrote:
TL;DR: Join us to discuss Templates, Page Components & editing on Thu, 13 August, 12:45 – 14:00 PDT [0].
I can't, so I'll just comment here.
including a talk by C.Scott at Wikimania [4]
Looking at the slide deck, it's not terribly clear to me what's going on through much of it. If you're only referring to the "alternatives to templates" section (slides 39-50) it's good, but much of the rest isn't so much.
If you are able to look past the WATs (a lot of language implementations have those .. and in a few years, maybe someone will make a Parsoid WAT talk .. all par for the course), I think it was meant to present some of the known problems with wikitext (which you seemed to agree with) and use that as a jumping off point to talk about solutions to that .... mostly as a survey of all the ideas that have been floating around, not so much as: this is how we should do things. So, yes, some will prove to be unviable, etc.
But, it is meant as a conversation starter where we have all the pieces in one place rather than going hunting around 10 different wiki pages, phab tasks, email threads, whatever.
* What are the requirements for editing, RL module / metadata aggregation, dependency tracking?
I don't think anyone will forget it, but keeping the links tables (dependency tracking) up to date is important. Flow did forget, for a historical example, and the current implementation still leaves a bit to be desired. Flow's watchlist and history mechanisms (e.g. https://www.mediawiki.org/w/index.php?title=Talk:Web_APIs_hub&action=his... and how it shows on my watchlist) are rather lacking, too.
When discussing editing: A good WYSIWYG experience is essential, but a fully-featured markup editor (that ideally doesn't require directly writing JSON blobs or complex RDF structures) would also be very useful for many editors.
I agree that the requirement for a good markup editor is not going away. So, yes, that is part of the discussion, but this is mostly to highlight that markup editing is not the only editing mode that needs support and we need to think about what needs fixing so WYSIWYG experience is not hobbled.
* Should we evolve wikitext templates into well-formed page components?
Probably not. While templates are used to implement "well-formed page components" as it seems to be defined here, they're also used for many other things.
I think the answer is probably more complex than that.
A lot of template are already, today, behave like well-formed page components. However, the parsers don't know that. They have to treat all templates with the same conservative brush. Even if we start coming up with ways of identifying such templates and enforcing their well-formedness, we will have made a fair amount of progress. There are various ways to go about that, and those details are something worth talking about.
As for the others, I think the page components for infoboxes, navboxes, wikidata-widgets, etc. will have taken a big bite out of other kinds of templates. And, for the rest, we can talk about leaving current default behavior as is and the implications, or talk about other solutions to deal with those.
So, maybe a rephrasing of that question would be: "What mechanisms can we evolve for using wikitext templates as well-formed page components?" which can be a good stepping stone forward without having to solve everything at once.
Subbu.
On Wed, Aug 12, 2015 at 10:33 AM, Brad Jorsch (Anomie) < bjorsch@wikimedia.org> wrote:
including a talk by C.Scott at Wikimania [4]
Looking at the slide deck, it's not terribly clear to me what's going on through much of it.
Yes, I was assuming that Wikimania would be recorded, and didn't prepare slides that are meant to be read alone. I apologize.
I'll be happy to re-present my talk via hangout or some such (maybe even recorded, hey) and then we can have a reasonable discussion about it afterwards. But at the moment I'm feeling a bit defensive and any conversation is likely to get off on the wrong foot. --scott
On Tue, Aug 11, 2015 at 6:12 PM, Gabriel Wicke gwicke@wikimedia.org wrote:
TL;DR: Join us to discuss Templates, Page Components & editing on Thu, 13 August, 12:45 – 14:00 PDT [0].
Please join us at:
Thu, 13 August, 12:45 – 14:00 PDT [0]
by joining the BlueJeans conference call [1], on IRC, in #wikimedia-meeting, or in Room 37 in the WMF office.
[1]: https://bluejeans.com/2061103652, via phone +14087407256, meeting id
To access the conference without installing the BlueJeans browser plugin, join using the open WebRTC protocol [2] via the URL https://bluejeans.com/2061103652/webrtc.
Bryan
Etherpad: https://etherpad.wikimedia.org/p/Templates,_Page_Components_and_editing
On Wed, Aug 12, 2015 at 8:36 AM, Bryan Davis bd808@wikimedia.org wrote:
On Tue, Aug 11, 2015 at 6:12 PM, Gabriel Wicke gwicke@wikimedia.org wrote:
TL;DR: Join us to discuss Templates, Page Components & editing on Thu, 13 August, 12:45 – 14:00 PDT [0].
Please join us at:
Thu, 13 August, 12:45 – 14:00 PDT [0]
by joining the BlueJeans conference call [1], on IRC, in #wikimedia-meeting, or in Room 37 in the WMF office.
[1]: https://bluejeans.com/2061103652, via phone +14087407256, meeting
id
To access the conference without installing the BlueJeans browser plugin, join using the open WebRTC protocol [2] via the URL https://bluejeans.com/2061103652/webrtc.
Bryan
Bryan Davis Wikimedia Foundation bd808@wikimedia.org [[m:User:BDavis_(WMF)]] Sr Software Engineer Boise, ID USA irc: bd808 v:415.839.6885 x6855
wikitech-l@lists.wikimedia.org