Hi,
Just a quick reminder that we'll be holding IRC office hours in about
50 minutes. If you have questions about how to use Lua, or issues
you'd like help with, join us in #wikimedia-office on Freenode.
More information about how to connect to IRC is available at
On Wed, Mar 13, 2013 at 7:38 PM, Guillaume Paumier
<gpaumier(a)wikimedia.org> wrote:
Greetings,
As you might have seen on the Wikimedia tech blog (article included below)
or the tech ambassadors list, a new functionality called "Lua" is being
enabled on all Wikimedia sites today. Lua is a scripting language that
enables Wikimedia editors to write faster and more powerful MediaWiki
templates.
If you have questions about how to convert existing templates to Lua (or how
to create new ones), we'll be holding two support sessions on IRC next week:
one on Wednesday (for Oceania, Asia & America) and one on Friday (for
Europe, Africa & America); see m:IRC office hours for details. If you can't
make it, you can also get help at mw:Talk:Lua scripting.
If you'd like to learn about this kind of events earlier in advance,
consider becoming a Tech ambassador by subscribing to the mailing list.
=================================
New Lua templates bring faster, more flexible pages to your wiki
Posted by Sumana Harihareswara on March 11th, 2013
Starting Wednesday, March 13th, you’ll be able to make wiki pages even more
useful, no matter what language you speak: we’re adding Lua as a templating
language. This will make it easier for you to create and change infoboxes,
tables, and other useful MediaWiki templates. We’ve already started to
deploy Scribunto (the MediaWiki extension that enables this); it’s on
several of the sites, including English Wikipedia, right now.
You’ll find this useful for performing more complex tasks for which
templates are too complex or slow — common examples include numeric
computations, string manipulation and parsing, and decision trees. Even if
you don’t write templates, you’ll enjoy seeing pages load faster and with
more interesting ways to present information.
Background
MediaWiki developers introduced templates and parser functions years ago to
allow end-users of MediaWiki to replicate content easily and build tools
using basic logic. Along the way, we found that we were turning wikitext
into a limited programming language. Complex templates have caused
performance issues and bottlenecks, and it’s difficult for users to write
and understand templates. Therefore, the Lua scripting project aims to make
it possible for MediaWiki end-users to use a proper scripting language that
will be more powerful and efficient than ad-hoc, parser functions-based
logic. The example of Lua’s use in World of Warcraft is promising; even
novices with no programming experience have been able to make large changes
to their graphical experiences by quickly learning some Lua.
Lua on your wiki
As of March 13th, you’ll be able to use Lua on your home wiki (if it’s not
already enabled). Lua code can be embedded into wiki templates by employing
the {{#invoke:}} parser function provided by the Scribunto MediaWiki
extension. The Lua source code is stored in pages called modules (e.g.,
Module:Bananas). These individual modules are then invoked on template
pages. The example: Template:Lua hello world uses the code
{{#invoke:Bananas|hello}} to print the text “Hello, world!”. So, if you
start seeing edits in the Module namespace, that’s what’s going on.
Getting started
Check out the basic “hello, world!” instructions, then look at Brad Jorsch’s
short presentation for a basic example of how to convert a wikitext template
into a Lua module. After that, try Tim Starling’s tutorial.
To help you preview and test a converted template, try
Special:TemplateSandbox on your wiki. With it, you can preview a page using
sandboxed versions of templates and modules, allowing for easy testing
before you make the sandbox code live.
Where to start? If you use pywikipedia, try parsercountfunction.py by
Bináris, which helps you find wikitext templates that currently parse slowly
and thus would be worth converting to Lua. Try fulfilling open requests for
conversion on English Wikipedia, possibly using Anomie’s Greasemonkey script
to help you see the performance gains. On English Wikipedia, some of the
templates have already been converted — feel free to reuse them on your
wiki.
The Lua hub on
mediawiki.org has more information; please add to it. And
enjoy your faster, more flexible templates!
Sumana Harihareswara, Engineering Community Manager
=================================
--
Guillaume Paumier
Technical Communications Manager — Wikimedia Foundation
https://donate.wikimedia.org
--
Guillaume Paumier
Technical Communications Manager — Wikimedia Foundation