MembershipDatabaseDesign

From SAGoClubs
Jump to: navigation, search

The intention is to create a new membership database to facilitate tracking of memberships, and to hold contact details of members. Both design and implementation details are as yet to be decided.

Note: Chris Welsh did a mock-up of a possible screen a while back, using flash. You can check it out here

Design:

  • The database should hold an entry for each person that has been or is currently a member of SAGA
    • This entry should contain the persons:
      • Name (First name and surname)
      • Online usernames (KGS, IGS etc.) (if known)
      • Preferred email address (if known)
      • Cell phone number (if known)
      • Ranking (at time of joining)
        • If possible, this program could potentially interface to the existing ranking system to retrieve the person's current rank
      • Any additional comments
  • Per year, links should be maintained to persons that are members, including:
    • Membership status (Standard, student, scholar)
    • How much they paid (Should be implicit in the above, but still...)
    • When they paid
    • How they paid (Cash, EFT)
    • Who they paid, if they paid in cash
    • Confirmation flag. Members should be unconfirmed until payment has been confirmed by the treasurer.
    • Any additional comments
  • The following reports should be available
    • Per year, list all members
    • Per person, list all years that they were members
    • Per person, list full details
  • The database should facilitate calculation of credit points
    • This means either hooking into the current games capture system (I'm not sure what exactly is in place, and how difficult that would be), or allowing the relevant information to be entered into this system. Primarily that would be the results of the representatives to international tournaments, the results from local tournaments, and a list of local games results.
    • The current system for this uses python scripts and flat files, so either the system must incorporate the script (probably not too hard), or at the very least generate the right files for you (possibly the easiest as a first step)

Implementation:

  • PHP + MySQL preferred backend
    • Current website infrastructure supports this (as confirmed by Steve Kroon during council meeting on 2010-07-19)
    • What framework should be chosen?
      • Pure, hand-coded PHP
      • CakePHP (I know this is a very popular choice)
      • CodeIgnitor
      • Yii (I have heard good things about this one)
      • Some other solution
    • The framework may come down to being chosen by whoever actually does the work, but if enough people feel one solution is better or are more familiar with it, then whoever does the work might want to consider this, for example so that it will be more easily maintainable.
  • Flash is to be avoided
    • This opinion by David Richfield and Paul Steyn (during council meeting on 2010-07-19)
    • Actually, although I (Paul Steyn) instinctively dislike Flash, I can't think of too many reasons, other than:
      • It's usually a larger download
      • It's not as universally supported as a pure HTML frontend
      • It's also probably not as common a skill, so might be harder to maintain in future.
    • With a good HTML UI toolkit pure HTML should be fine, especially with HTML5 and CSS3
    • Chris' site actually looks really good. Maybe it just depends on who has the time to actually do the work?

Chris Welsh Actually I used Flex, which runs on the Flash VM. It's a very nice framework, but I probably wouldn't recommend it anymore, now that Adobe have gone a bit cold on it. It's certainly a lot more universal than HTML5, but really, for our requirements, plain old HTML4 is more than good enough. I also agree that (a) Flex skills will be limited and (b) there is a big download 18 November 2011 (UTC)


Thoughts and comments welcome.

--Paul Steyn 12:54, 14 November 2011 (UTC)

I think what's been said here more than covers my opinions, so I'll leave it up to Paul, Chris and any others to proceed. --Slashme 18:57, 19 November 2011 (UTC)

Personal tools
Namespaces

Variants
Actions
Navigation
Tools