Volunteer database: Difference between revisions

From Free Geek Seattle
No edit summary
(The wiki does this all for us, we just have to input the data.)
 
(11 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==Wiki Method==
*List of volunteers: [[Special:ListUsers]]
*[[Positions]]
*[[Inventory]]
===Rational===
The wiki handles this type stuff for us.
add categories for what you like to work on.
===Actions needed===
When you work on a machine, make a label to your user name.
When you gain office, put your name on that page.
==Non Wiki Method==
Yes, it's another database project! Whoopee!
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.'''
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 tracking database]] project is '''way cooler.'''
 
=Depends=
 
Can't use it without some access control. Needs [[https]] at minimum, maybe kerberos.


=[[Volunteer database WG| Who]]=
=[[Volunteer database WG| Who]]=
Line 14: Line 34:
=Where=
=Where=


Probably [[https://github.com/orgs/freegeek-seattle/dashboard| our GitHub]], but it's not there yet.
[[https://github.com/freegeek-seattle/volunteer-tracking| Our GitHub]] - if that link doesn't work here's the text -
 
 
https://github.com/freegeek-seattle/volunteer-tracking


=How=
=How=
Line 23: Line 46:


https://www.mediawiki.org/wiki/Extension_Matrix/database
https://www.mediawiki.org/wiki/Extension_Matrix/database
[[Special:Version]]


==Steps==
==Steps==
 
===Setup===
===alter user tables===
====alter user tables====
to reflect additional information present on volunteer application
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  
*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
''DONE'' by Lucas. May need WG field(s) or table added
*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===
====change user signup form====
*this is done once only, when the extension is installed
 
* this is done once only, when the extension is installed
* change [[Special:UserLogin]] accordingly with database alterations
* change [[Special:UserLogin]] accordingly with database alterations
* https://doc.wikimedia.org/mediawiki-core/master/php/html/SpecialUserlogin_8php.html
* https://doc.wikimedia.org/mediawiki-core/master/php/html/SpecialUserlogin_8php.html
We are possibly going to do this by modifying the existing ConfirmAccount extension. This is the one that makes you enter the 50-word bio when you sign up, so that will be going away...
===Execution===


===ensure that [[Special:Listuser]] and friends does not leak sensitive information===
===ensure that [[Special:Listuser]] and friends does not leak sensitive information===
Line 56: Line 80:


[[Category:Projects]]
[[Category:Projects]]
[[Category:Unfinished]]

Latest revision as of 21:18, 27 December 2014

Wiki Method[edit]

Rational[edit]

The wiki handles this type stuff for us. add categories for what you like to work on.

Actions needed[edit]

When you work on a machine, make a label to your user name. When you gain office, put your name on that page.

Non Wiki Method[edit]

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 tracking database project is way cooler.

Depends[edit]

Can't use it without some access control. Needs https at minimum, maybe kerberos.

Who[edit]

What[edit]

A webpage with the following:

  1. Secured sign-up form for new volunteers based on existing File:Volunteer application.pdf.
  2. 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...)
  3. Volunteer hours tracking, correlated with relevant Working Groups

Where[edit]

[Our GitHub] - if that link doesn't work here's the text -


https://github.com/freegeek-seattle/volunteer-tracking

How[edit]

Let's make a Mediawiki extension!

https://www.mediawiki.org/wiki/Manual:Developing_extensions

https://www.mediawiki.org/wiki/Extension_Matrix/database

Special:Version

Steps[edit]

Setup[edit]

alter user tables[edit]

to reflect additional information present on volunteer application

DONE by Lucas. May need WG field(s) or table added


change user signup form[edit]

We are possibly going to do this by modifying the existing ConfirmAccount extension. This is the one that makes you enter the 50-word bio when you sign up, so that will be going away...

Execution[edit]

ensure that Special:Listuser and friends does not leak sensitive information[edit]

  • 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[edit]

probably some other things[edit]