PipeTo

edit

I just noticed your new extension PipeTo. As written, it's pretty hacky, and it will break in a lot of cases, such as if {{!}} is used in a parameter. Also, I note that Extension:Scribunto already lets you do what this extension does via on on-wiki Lua module. Are you sure this new extension is the best way to proceed? Jackmcbarn (talk) 02:19, 3 October 2014 (UTC)Reply

The debate over small tools to accomplish well-defined tasks vs large tools that can be adapted to do "anything" will probably rage on forever.
My specific usage case is a generic set of templates ({{TS}}, {{TR}}, {{TE}}) for constructing tables. Articles provide subpages (ie Article/TableStart, Article/TableRow, Article/TableEnd) which are transcluded via the generic templates. The problem is that {{TR}} cannot intelligently pass parameters to the transcluded/subst'ed Article/TableRow using any combination of transclusion and substitution without complete substitution, which makes article editing very difficult.
On the matter of it being "hacky", that is why we've been blessed with version control and bug trackers. In keeping with Open Source tradition, criticism in that vein is not very helpful; patches are welcome.
Finally, if you are so inclined, you can always tag it for deletion and we can discuss it there. Ironiridis (talk) 15:22, 3 October 2014 (UTC)Reply
I've moved your post to here to avoid splitting the discussion. I don't think the small-vs-large tool debate is relevant here, since on most wikis, it's very easy to write a Scribunto module but very hard to get an extension deployed. The code
frame:expandTemplate{title = 'Whatever title you want', args = frame:getParent().args}
from Lua will do exactly what you're trying to do already. The particular thing I'm calling "hacky" is the fact that instead of passing the arguments to a new PPFrame with the right title and expanding it yourself, you put together a wikitext string and give it back to the parser, which will break if any of the argument names or values contain an =, a |, a }}, or anything along similar lines. I'm not going to tag the page for deletion, since the only requirement for an extension page is that the extension it's about has to exist. Jackmcbarn (talk) 15:37, 3 October 2014 (UTC)Reply
That's fair, and I'll update the extension to return a new PPFrame instead.
I suppose I don't understand your opposition to using an Extension in the case where Scribunto isn't available. Some folks don't want to make a call out to a C binary on their internet-facing wiki. Ironiridis (talk) 16:38, 3 October 2014 (UTC)Reply