Ravenchild wrote:My current plan is to implement the following:
- card search
Please make the result (actually, almost everything that has to do with the script) have the relevant variables outputted in the URL itself. Using PHP $_GET Function? That way people can bookmark the URL and instantly reach that specific searchresult, and in the same manner they will be able to bookmark cards, certain revisions of them etc, without having to go through the web interface time and time again if they already have done so once.
- card creation
Since you'll release it using GPL2 or later (if that's fine with you - I would prefer it, but in the end you decide yourself.) there could be a point in making it more general/customizable by writing an interface that allows the admins to use the script for virtually any CCG. To do that they would have to edit/add/name fields that are associated with a card. That would be very cool, but, it's not necessary in any way for our
use within WT. It would however make the script future and game revision proof. Do as you wish =)
- card revision (with keeping and linking to the old card)
Excellent. Use a simple integer numbering system for the revisions.
Also keep track of the name of who did the revision, date etc when it was done. Maybe also even add a field where the revisor can add some info on why the revision was made and what happened. (I.e. "Card was too cheap compared to x y, thus I made it 1 gold more expensive".)
Lastly, if the card image has changed in the later revisions, showing an old revision of the card should also display it's old associated card image.
- login (so you find your own cards again), not required for visitors.
Hash + configurable salt passwords.
I think all users should be able to do a search for cards created by author x, or for cards rejected (not same as banned - a banned card has been in play but banned later, a rejected card never made it into playtesting even.)
- discussion thread for each card
Sounds cool. Q: What's best - to have one thread for each rev. of the card, or one single thread per card? Maybe actually having one single thread, and then pressing "see only discussion made while on revision x" would show only posts made while a specific rev was around?
Hrm, tricky. You decide. However, maybe we should use re-captcha for anonymous posters? *sees bots crapping all over*
- different states for cards: draft, discussed, accepted and banned.
Add: rejected, playtested
Btw, what's the diff between draft & discussed? When would discussed be used? (Maybe gives the wrong impression here given there's a discussion thread associated with each card. Rename? ; )
Is there something more you would like to include that's absolutely fundamental?
I think a powerful card search is important, so one can really mix all kinds of criteria and use IS or IS NOT combos etc. After all, that's a database main function - to store and find/show the info to the user. So, whatever is in the gatherer should be in ours as well I think. At least that.
Beyond that I think you had the basics covered pretty solid. I envision a way for players to actually build decks online and have them associated with their profile etc, and also an easy way to rate, discuss decks, keep track of revisions of them and so on, and even some kind of breakdown of decks (so called deck analysis, in the MtG world that would be info like 23 lands, 10 creatures, mana curve etc etc)
Also, maybe by pressing a button the players would easily be able to export the decks to deck-text files that can be loaded into i.e. LackeyCGG / OCTGN2 etc. Would also be cool with various top x lists over decks, and stats of most used cards in decks etc.
That is however all beyond the original scope here, and should also have lower priority than the card db itself. That said, it seems natural to add stuff like that once the db is in place, and take it from there.
Oh, while at it: It would be nice if there is a card category called "public suggestion" or somehing. It is just like "draft", but, anyone that is registered (not only admins/mods) can actually suggest a card. Also, there would be a way for anyone registered to actually cast a vote on the card from 1 to 5. That way top lists over the most popular suggestions etc can be generated.
PHP should be indeed be okay for most things. I just wanted to know if there are more possibilities.
If needed, I'll get any server you want as long as it's not über-expensive
and it's called for.