Hey all!
I'm sticking this thread here as a placeholder. Please feel free to fill in questions below - staff will be around to answer them at 4pm UTC on Thursday.
Hey all!
I'm sticking this thread here as a placeholder. Please feel free to fill in questions below - staff will be around to answer them at 4pm UTC on Thursday.
The move to structured data is going rather well, but there are a few limitations because there isn't complete isolation between data and presentation and processing. For example, the VisualEditor infobox insertion tool doesn't simply add the infobox markup, it also adds any content in the template, unlike the gallery which simply inserts agallery, and nothing else.
So my questions are:
For question 3 the rationale is that even within a single wikia, many pages depend on the same content that may be used to populate tables, infoboxes, navboxes, or even be re-used to generate regular content for a page. I do this myself, and have seen many wikias, including paradise-bay, and runescape doing this too.
Another idea that I came across is the concept of VE visual templates that could be automatically portable, thoughts?:
Edit:
Also any thoughts on replacing "{{PAGENAME}" with something like, many infoboxes use this:
<infobox > <title currentTitle=true/>
Answer time! Going to answer Dessamator first, who asked: are we planning to move categories, infoboxes and other similar into separate "continers"?
Yes, that is certainly the direction we want to head in! In fact, we've already stared this process in a small way with the Help:Flags.
For the benefit of other readers, let me explain why this is useful.
For one thing, it clearly separates content from, well, not content. Categories are not content, they are information about the content (they say: "This page is about a character"), flags are also about the content (they say: "This page is incomplete" or "This page is a spoiler"). So separating them lets you focus on the writing when you want to write, and on "aboutness" when you want to categorize or flag things.
Secondly, separating all the "other stuff" from the article space opens up a ton of awesome possibilities. Imagine if you could re-categorize a set of 100 pages with one click (note: not promising a feature here, don't quote me on this part ;)) or re-use information, say the damage of Frostmourne, from its infobox on many pages, while the data sits in just one, in the infobox -- no need to update stuff all over the place! This is almost exactly what you hinted at, Dessamator, and yes -- we're heading that way.
Here's the deal, though: before we engineers can really & truly start working on the awesomeness hinted at above, we need to understand what all (or at least most) pages are made of. That's what portability is ultimately about: understanding what the pieces of a page are. We can't separate pieces out if our code doesn't know what they are, because then we it won't know where to put each piece, so to speak.
That's why We (and this is the big Wikia-the-company + Wikia-the-community We) need to move toward portability first. Using Portable Infoboxes and Template Types are great first steps for any community, and we'll have more advice for you soon on the nitty-gritty of getting to 100% portability.
Now for the simplified infobox title idea that Dessamator mentioned. It's a good idea, with one small tweak:
<infobox> <title /> <!-- other infobox stuff goes here --> </infobox>
We try not to add new "words" like currentTitle
to the Infobox markup if we can get away with it. This would be one more thing to remember for humans and understand for machines. ;)
There is a small reason why we may not want to have this shorthand, though: it is a little bit more difficult to understand what is going to happen. One of our main goal for the new Infobox markup was to make it more understandable to everybody, easier to read and modify. Making the markup more explicit by always requiring <default>
means you write a bit more, yes, but it's also less "magical" and you don't have to remember "If the title tag is empty, then {{PAGENAME}}
will be used".
So: we'll chat about it and see which way we lean here. Stay tuned. ;)
OK, additional questions, Tor: We've been compiling some ideas for how we think Portable elements could work in the future. We know that you've got some good things cooking and have done some great work so far. This wikia and Wikia collaborate quite a bit on this project. No promises, but are we headed in similar directions with Portable Elements (beyond Infobox) and Infobox Syntax Improvement?
Next question: Tabbers are great for images, but some wikias (Final Fantasy Wiki for example) use them in data items or at the top-level (multiple Infoboxes, effectively, with different information per game platform). Tabbers, admittedly, don't work well on mobile. What are some things that you might suggest for organizing these in a portable way, or can Tabber be expanded in the future for others in this situation?
FishTank wrote: One of the most requested features is CSS "class" in <data>. Is this a feature under consideration OR is there a reason why it might not be implemented in future syntax?
Good question! We're thinking hard about how best to enable customising the look & feel of infoboxes.
The trick here is we want styling to be easy first, and versatile & powerful second. I hope you'd agree that adding classes would do the trick for goal #2 but not quite for #1.
The option is still on the table, though we want to think hard on this before we add it, to make sure the decision doesn't come back to haunt us.
Rather than add a band aid now, we'd like to solve the styling problem completely and efficiently.
Hope that makes sense. :)
Yes, on some things. :) I'll call out two great examples here.
Infobox input validation (what you called "masks") is something that has come up in discussions for later phases (once most big wikias are mostly portable). We know this would save admins a lot of sweat and tears trying to get all their infobox to use the same way of displaying the height and weight of all of Spider-men in Marvel's many universes, as well as helping standardise many other types of information.
Data types would also come in handy for some of the between-page data sharing I wrote about above.
Personally, I can't wait to get to do these, and more, but again: portability comes first.
Also, no promises, these things could change and we don't quite have plans for 2016 yet. ;)
I think the template types idea is really good, and while I understand it was a MVP it could have carried with it a bit of the "wow" factor :
Some future thoughts:
I'm also wondering if perhaps future tools could employ the power of LUA to augment them?
If you look at this page and module:xp you'll note that the "portable" infobox is entirely generated by lua, and I can easily make it change from a three column style to 2 columns by changing a single parameter. Doing that with wikitext or a regular portable infobox is incredibly painful.
Anyway, thanks for all the answers and thorough explanations!
I'm also wondering if perhaps future tools could employ the power of LUA to augment them?Ideally, since the <infobox> parser is a tag extension it would invoke the Lua from inside it, not use Lua to generate extension tags. BUT, <format module="" function="function(args)"> would be helpful.If you look at this page and module:xp you'll note that the "portable" infobox is entirely generated by lua, and I can easily make it change from a three column style to 2 columns by changing a single parameter. Doing that with wikitext or a regular portable infobox is incredibly painful.
I'm also wondering if perhaps future tools could employ the power of LUA to augment them?Ideally, since the <infobox> parser is a tag extension it would invoke the Lua from inside it, not use Lua to generate extension tags. BUT, <format module="" function="function(args)"> would be helpful.
If you look at this page and module:xp you'll note that the "portable" infobox is entirely generated by lua, and I can easily make it change from a three column style to 2 columns by changing a single parameter. Doing that with wikitext or a regular portable infobox is incredibly painful.
It isn't a particularly good idea to add lua code directly in templates because it may become confusing for non-developers. Using <format module="modulename"> is a good approach, although it still wouldn't be able to do what module:xp does because the format tag is nested. Anyway that is an edge case that doesn't need to be supported.