On Dec 27, 2013 7:54 AM, "Tyler Romeo" tylerromeo@gmail.com wrote:
It sounds pretty much like the two templating RFCs are asking for the same exact thing, except just using different templating engines as the solution. If we want a comprehensive templating system in PHP core, Mustache is not going to be enough (I've used it before, and dealing with the lack of control structures is frustrating unless the templates are really simple). So I'd support using Twig or something similar to it like jinja2. Either way the RFCs can definitely be combined.
Mustache is probably the second most popular engine that I hear people talk about. I would love to hear more details about what you see as it's shortcomings, or positive features that we would want to look for in whatever library we choose.
Kaldari's rfc about JavaScript is a use case I hadn't personally seen in any extensions that I reviewed. But anything to help with our pile of Dom xss vulnerabilities I would gladly support.
Are there any other libraries that have the same (or similar) syntax and security properties from php and JavaScript we should look at? I'm happy to research the security of any recommendations we get.
Obviously, along with security performance is the next big issue. It would be great if someone could work with Ori to get a feel of how any recommendations perform too. I did some very basic testing on twig. It would be great to see how mustache performes on similar tests.
*-- * *Tyler Romeo* Stevens Institute of Technology, Class of 2016 Major in Computer Science
On Thu, Dec 26, 2013 at 9:09 PM, Jon Robson jdlrobson@gmail.com wrote:
+1 to creating a new RFC that satisfies the needs of all 3. Although not mentioned Kaldari's proposal highlights a big existing need in MobileFrontend. Here we use JavaScript templates extensively and are now finding situations where we have the same HTML being generated on the server and client (for example after an edit the entire page is re
rendered
on the client).
I'm very excited to discuss this and push these RFCs along. Please feel free to bring me into any conversations. On 26 Dec 2013 18:04, "Rob Lanphier" robla@wikimedia.org 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_te...
...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 Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l