What is the preferred format for developing extensions for Wikia: Nirvana, or the MediaWiki standard? If Nirvana, where would we submit it for review to be enabled on a Wiki?
What is the preferred format for developing extensions for Wikia: Nirvana, or the MediaWiki standard? If Nirvana, where would we submit it for review to be enabled on a Wiki?
There are instances of extensions being developed for Wikia, but not by Wikia. However, Wikia has standards that other wiki hosts do not. I don't have the first idea where you'd go to find these standards. Your best bet is asking through Special:Contact/general or on the Wikia skype channel where a lot of the community team can be found along with a few of the engineers. As far as code review goes, there isn't anything publically available. We all criticise Wikia's bugs from time to time, but they fix them largely alone. There may be a few users who have the experience to find a bug, look through Wikia's repository and tell Wikia what to change and where, but as so few of us are even vaguely familiar with Wikia's inner workings I wouldn't be surprised if that was an extremely rare event. Even the users who suggest ideas for developing Wikia further have not a lot of success.
w:c:dev has some documentation on Nirvana iirc, but I haven't come across anyone on dev who has written an extension (or rather not in the active community there).
A discussion about the now unused wkvoteart (an old article voting system, but it is still found in Wikia's API) came up on dev wiki a while back, and exposed a flaw in developing extensions for Wikia: where do you test the extension? You don't have access to the back-end of Wikia so you'd need to set-up a server with all the Wikia specific extensions, their skin, etc. The testing environment is probably the biggest hurdle here.
Oh, and sorry for the text wall ;)
Let me clarify: I admin a Wikia wiki, and I am developing an extension that I would like to eventually use in that wiki. I know from experience that the Wikia team will not authorize extensions that are not in their testing chain for their engineers to poke around with. I could submit it to MediaWiki, and let it filter into the Wikia team from there, or I could develop it (or a parallel edition) to the Nirvana standards. If I do the latter, I want to know where to publish it so that they can implement it, which is something the Nirvana docs don't actually cover. If I need a Wikia specific MediaWiki instance to test on, one is available on GitHub, but even if I test it with that, I'm still left with the publishing issue.
This is the only example of anyone writing an extension for use on a Wikia wiki that isn't someone who works at Wikia I know of. There might be some LyricWiki specific extensions written by someone from that wiki, but I wouldn't be surprised if they were developed by Wikia.
The author of the linked page is long since inactive, but it looks like they used Special:Contact to get the source updated as needed. Wikia don't tend to update extensions until MediaWiki upgrades from what I've been told before, so that's probably the only way.
FishTank wrote: The testing environment is reproducable if one clones it from the GitHub repo.
No, it's not - Wikia has a fairly hard to reproduce setup. There's several layers of caching that aren't really described in the git repo, along with several other configuration details that aren't publicised as far as I am aware. Simply running 'git clone http://github.com/Wikia/app.git
' will not give you a ready-to-go MediaWiki installation identical to Wikia's.