Hey, it's time to infringe on Fizz's trademarked "overlong discussion threads"!
I've been considering for a long time how to make it easier to contribute to Pokemon Database. We have the corrections thread of course, which is great, but it still takes time for me to input the corrections. So it would be useful to have a method where people can contribute in a direct way, then I (and potentially moderators) can just click a button to approve contributions and they would appear on the site.
Another request I've had many times is for a downloadable database of Pokemon info. Something like this would probably work best on GitHub, as that's where everyone goes for "open source". Pokemon Showdown is there, as is the Veekun database.
So hopefully we can kill two Pidgeys with one Stone Edge. There are two ways I can think of to handle this:
Option 1: allow contributions through the site, then automatically send to GitHub.
Contribution through the site would be using a basic form. For example if you were on the Squirtle page (and logged into Pokebase) there would be a button to fix some information, and it would come up like this:
It would have everything on there like stats, egg group etc. So you'd change whichever one was wrong and submit. Then I'd have a page where I see the suggested changes, and click a button to approve/reject it. For the "downloadable database" side, I can set up something to export our database to an appropriate format for GitHub. But no contributions would be allowed via GitHub, only via the site.
Pros:
- simpler for the average visitor, they just type in some boxes
- the site would be updated quicker (as soon as a mod approves the change)
Option 2: allow contributions via GitHub, then automatically update the site
With this method we'd have all the data in a readable text format, then people would be able to send "pull requests" on GitHub to suggest updates. Format would be something along the lines of:
bulbasaur:
name: Bulbasaur
national: 1
gen: 1
type1: grass
type2: poison
species: Seed
moves:
- growl
- tackle
- vine-whip
- leech-seed
...
ivysaur:
name: Ivysaur
national: 2
...
This is probably the same format I would export to if using option 1.
Pros:
- GitHub is where programmers go so we may get more contributions from technical people (though not sure if this matters)
- easier for people to comment on each others' changes
- easier to contribute mass updates - for example instead of having to submit 20 forms you can make 20 changes in one text file and submit that
Cons:
- importing back into the site will be more difficult for various reasons; not everything would be in GitHub (e.g. internal ID numbers) and I'd need to match stuff up to import
- updating the site wouldn't be instant
Let me know what you think about these two ideas, which you'd prefer, and/or if you have any other ideas!