Volunteer database: Difference between revisions
No edit summary |
|||
Line 56: | Line 56: | ||
[[Category:Projects]] | [[Category:Projects]] | ||
[[Category:Unfinished]] |
Revision as of 22:20, 30 March 2014
Yes, it's another database project! Whoopee!
Given the limited volunteer-hours available for hacking, koanhead has decided that we need to track volunteers and their hours more urgently than we need to track inventory (people are, after all, more important than are things.) Even though the Inventory database project is way cooler.
Who
What
A webpage with the following:
- Secured sign-up form for new volunteers based on existing File:Volunteer application.pdf.
- Integration with our Mediawiki instance such that new volunteers automagically get a wiki account (and possibly accounts with our various other services. Kerberos SSO would be nice to implement...)
- Volunteer hours tracking, correlated with relevant Working Groups
Where
Probably [our GitHub], but it's not there yet.
How
Let's make a Mediawiki extension!
https://www.mediawiki.org/wiki/Manual:Developing_extensions
https://www.mediawiki.org/wiki/Extension_Matrix/database
Steps
alter user tables
to reflect additional information present on volunteer application
- https://upload.wikimedia.org/wikipedia/commons/thumb/4/42/MediaWiki_1.20_%2844edaa2%29_database_schema.svg/2500px-MediaWiki_1.20_%2844edaa2%29_database_schema.svg.png
- this is done once only, when the extension is installed
- maybe MW's database interface can handle this, maybe not:
- https://www.mediawiki.org/wiki/Manual:Database_access
- alter table 'user' add column 'address' INT
- foreign key for 'addresses' table
- create table 'addresses' yada yada
- alter table 'user' add column yada yada
create volunteer hours table
change user signup form
- this is done once only, when the extension is installed
- change Special:UserLogin accordingly with database alterations
- https://doc.wikimedia.org/mediawiki-core/master/php/html/SpecialUserlogin_8php.html
ensure that Special:Listuser and friends does not leak sensitive information
- implement as tests that fire when new data is submitted: build the relevant Special: pages and check them for the contents of selected fields
- also to make sure the data we want is displayed of course :^)
build volunteer hours tracking form and associated reports
- Special:VolunteerHoursInput or similar
- restricted to Bureaucrat role, or do we need a new role?