While not directly related, Be Birchall's (Be is cced on this email) OPW
project might be of interest to this discussion.
In Parsoid, we are currently researching DOM-based templating solutions
for a bunch of reasons, including experimenting with use as a wikitext
templating engine (let us not get into a discussion of that on this
thread right now). We hope to get some insight into it by using such a
templating solution to clean up our round trip testing UI.
In that context, Be has been putting together a page with options which
may be relevant to this thread as well (which outlines some factors that
would be relevant to choosing a templating solution alongwith links to
articles about talks / articles that address this as well). These are
primarily javascript / node.js based and hence won't be directly
applicable in a PHP templating context, but some of the considerations
might carry over.
https://www.mediawiki.org/wiki/Parsoid/Round-trip_testing/Templates
She is currently also experimenting with a bunch of these solutions as
well @ https://github.com/bebebebebe/templating
Subbu.
On 12/26/2013 08:04 PM, Rob Lanphier wrote:
Hi folks,
This is an attempt to summarize the list of RFCs that are listed under
this cluster:
https://www.mediawiki.org/wiki/Architecture_Summit_2014/RFC_Clusters#HTML_templating
...and possibly get a conversation going about all of this in advance
of the Architecture Summit.
The main focus of all of these RFCs is around HTML generation for user
interface elements. This category is not about wikitext templates or
anything to do with how we translate wikitext markup
"Template Engine" is Chris Steipp's submission outlining the use of
Twig. From my conversations with Chris, it's not so much that he's
eager to adopt Twig specifically so much as standardize on
*something*, and make sure there's usage guidelines around it to avoid
common mistakes. He's seen many attempts at per-extension template
libraries that bloat our code and often start off with big security
vulnerabilities. There are many extensions that use Twig, and it
seems to be a popular choice for new work, so Chris is hoping to
standardize on it and put some usage standards around it.
"HTML templating library" is Ryan Kaldari's submission, promoting the
use of Mustache or something like it. His main motivation is to have
a Javascript template library for front-end work, but is hoping we
choose something that has both Javascript and PHP implementations so
that any PHP template system implementation is compatible with what we
use for Javascript templating.
"MVC Framework" is Owen Davis's description of Wikia's Nirvana
framework, which has been central to all of the user-facing work
they've been doing for the past 2-3 years. As Owen points out in the
talk page for this, it's really view-controller rather than full MVC.
A big plus of adopting this RFC is that it would make it much more
likely that Wikia-developed extensions (of which there are many) would
be of greater use to the larger MediaWiki community, and would
generally help facilitate greater collaboration between Wikia and the
rest of us.
"OutputPage Refactor" is another submission from Owen Davis, which
isn't really about templating, so much as taking the HTML generation
code out of OutputPage. Wikia has been maintaining a fork of
OutputPage for quite some time, so they already have quite a bit of
experience with the proposed changes. This is clustered with the
templating proposals, since I imagine the work that gets factored out
of OutputPage would need to be factored into whatever templating
system we choose.
The first three seem somewhat mutually exclusive, though it's clear
our task is likely to come up with a fourth proposal that incorporates
many requirements of those three. The OutputPage Refactor proposal,
given some fleshing out, may not be controversial at all.
Where should we go from here? Can we make some substantial progress
on moving one or more of these RFCs over the next few weeks?
Rob
_______________________________________________
Wikitech-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
_______________________________________________
Wikitech-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l