Thread:がか/@comment-27569068-20170320052009

Hello. I've been working with Ar-cen-ciel for a long time at the FKG Wiki. We've suffered from problems of wrong information popping up in pages due to copy-pasting of data here and there. Currently, a bunch of scripts Ar-cen-ciel uses would generate a big Template call for character pages, then editors/translators would put changes on top of that. (Example: Curcuma's character page). Pages involving data based on those characters, like a List of Shared Abilities, would be done via copy-paste.

I wanted to alleviate those problems by having a database of some sort for all of the game's characters. The solution I had thought of was to store it all in a couple Lua tables similar to the work in progress that is Module:Character. Before jumping into too much stuff, I thought I'd look at how this Wikia handles its character info. There's some questions I have regarding all this. Some of the questions may have overlapping answers.

1. Does KanColle's Wikia store its character statistics in Lua tables?

2. I tried following a character's page to see how the infoboxes were made (Specifically Inazuma). The flow that I could gather was... (Inazuma's page)

... (Template:ShipInfoKai)

... (Module:ShipInfo) function ShipInfo.Infobox(frame) local args = getArgs{frame = frame:getParent} _prepareShipInfoKai return ShipInfoKai:Infobox(args) end I believe I understand _prepareShipInfoKai, but not the two lines surrounding it. I'm guessing frame:getParent jumps up from ShipInfoKaika to Inazuma's page, so it gets the stuff sent to ShipInfoKai, but how does  work? Specifically, I was curious how it would know Inazuma's parameters for the infobox.

3. A big concern of Ar-cen-ciel and mine is that Lua tables don't seem as user-friendly for editors to update as the Template we use now. Is there a solution or workaround to that? There's some user-inputted data we can get away with only showing on Character pages and nowhere else (like skill name translations), but some information shows up on multiple pages (like English translations of the flower knight's name; there can be multiple).

4. Are these Templates that safe-substitute a Module invocation what you call a proxy module? What is the purpose of that? Also, if you change any of the Modules, wouldn't that leave the Template-calling page unchanged because of the substitution? 