Difference between revisions of "Membership Management System"

From Pumping Station One
Jump to navigation Jump to search
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:Member Projects]]
+
{{Outdated}}
The tentatively titled Membership Management System will enable the [[Treasurer]] to manage membership-related finances, among other things.
+
The tentatively titled Membership Management System will enable the [[Treasurer]] to manage membership-related finances, among other things.'
 +
 
 +
== Status ==
 +
 
 +
As of 11/18/2018 the Membership Management System consists of a Wild Apricot installation with Stripe Payment processing, for the core system, and several member-driven projects to incorporate RFID access and an Active Directory server.
 +
 
 +
Most of the rest of the information on this page is archival, and represents the effort of the members to create the previous system, which is being gradually phased out in 2018/2019.
 +
 
 +
Voting has still not, and has never been completely incorporated into the Membership Management System beyond a (problematic) calculation of quorum.
  
 
== Purpose ==
 
== Purpose ==
*Track payment status of members, and provide a list of current members
+
* Track payment status of members, and provide a list of current members
*Provide a secure and transparent online voting system
+
* Provide a secure and transparent online voting system
*Provide accounting information regarding membership dues
+
* Provide accounting information regarding membership dues
*Automatically provide access to our various member-only resources
+
* Automatically provide access to our various member-only resources
  
 
Our top two priorities are:
 
Our top two priorities are:
#The ability to track membership status in terms of who has paid dues
+
# The ability to track membership status in terms of who has paid dues
#Providing a secure online platform where members can vote on issues as discussed in the [[Bylaws]]
+
# Providing a secure online platform where members can vote on issues as discussed in the [[Bylaws]]
  
 
We hope that the fruits of our efforts will be useful to other hackerspaces. Therefore, it should be designed accordingly.
 
We hope that the fruits of our efforts will be useful to other hackerspaces. Therefore, it should be designed accordingly.
Line 18: Line 26:
  
 
== Participate! ==
 
== Participate! ==
Meetings are every Wednesday from 8 to 9pm, and you can add your suggestions to this wiki page. You can also "watch" this page if you would like to be kept up-to-date on the project.
+
Meetings are every Wednesday from 8 to 9 pm, and you can add your suggestions to this wiki page. You can also "watch" this page if you would like to be kept up-to-date on the project.
  
 
== Requirements ==
 
== Requirements ==
  
#New member sign-up
+
# New member sign-up
##Direct member to the bylaws
+
## Direct member to the bylaws
##Require waiver to be signed (electronically)
+
## Require waiver to be signed (electronically)
##Maintain records of key distribution (have they been given a key yet?)
+
## Maintain records of key distribution (have they been given a key yet?)
##*possibly increment counter every time member loses key?
+
##* possibly increment counter every time member loses key?
##Automatically set up access to member resources
+
## Automatically set up access to member resources
##*mailing list
+
##* mailing list
##*wiki
+
##* wiki
##*blog
+
##* blog
#Payment/Membership status
+
# Payment/Membership status
##Interface with Amazon to provide payment status for each member
+
## Interface with Amazon to provide payment status for each member
##Allow [[Treasurer]] to manually add offline (cash) payments to the record
+
## Allow [[Treasurer]] to manually add offline (cash) payments to the record
##Automatically send email reminder to members who must make a payment to keep their membership
+
## Automatically send email reminder to members who must make a payment to keep their membership
#Voting system
+
# Voting system
##Enable members to designate a proxy voter for a given vote
+
## Enable members to designate a proxy voter for a given vote
##Simple User Web Interface
+
## Simple User Web Interface
##Straw polls can be shown to public -- actual votes / notification only shown to logged-in members
+
## Straw polls can be shown to public -- actual votes / notification only shown to logged-in members
##Shows time remaining on a specific vote
+
## Shows time remaining on a specific vote
##Public/Private Forum Integration
+
## Public/Private Forum Integration
###Should be easy to permalink or embed in member-only emails
+
### Should be easy to permalink or embed in member-only emails
##Multiple Survey / Vote types
+
## Multiple Survey / Vote types
###Single Vote - One member, one vote, multiple choice (radio)
+
### Single Vote - One member, one vote, multiple choice (radio)
###Approval Voting - Yay or Nay on multiple Choices (checkbox)
+
### Approval Voting - Yay or Nay on multiple Choices (checkbox)
###Rank Voting - rank all choices 1 through n; choice with lowest total wins
+
### Rank Voting - rank all choices 1 through n; choice with lowest total wins
###Straw Poll / Secret Vote / Public Vote
+
### Straw Poll / Secret Vote / Public Vote
##Secure
+
## Secure
  
 
== Detailed Design ==
 
== Detailed Design ==
  
#Access to member resources
+
# Access to member resources
##We plan to use a database to store user information/authenticate users. If/when an LDAP server is set up, we can switch to it.
+
## We plan to use a database to store user information/authenticate users. If/when an LDAP server is set up, we can switch to it.
#Payment/Membership status
+
# Payment/Membership status
##See the link below to Amazon's web API for payments
+
## See the link below to Amazon's web API for payments
  
 
== Language/Framework/Database ==
 
== Language/Framework/Database ==
Line 69: Line 77:
  
 
Why reinvent the wheel? The following open source software may meet our requirements (in whole or part):
 
Why reinvent the wheel? The following open source software may meet our requirements (in whole or part):
*http://sourceforge.net/projects/zebraz/
+
* http://sourceforge.net/projects/zebraz/
*http://sourceforge.net/projects/osc/
+
* http://sourceforge.net/projects/osc/
  
 
== Project Management ==
 
== Project Management ==
This project is managed in SourceForge: https://sourceforge.net/projects/hackerspace/
+
This project is managed in SourceForge: https://sourceforge.net/projects/hackerspace/
  
 
== References ==
 
== References ==
*http://aws.amazon.com/fps/
+
* http://aws.amazon.com/fps/
*http://voicevote.org/Election_Day_Procedure.html This site has a great overview of what sounds like a very secure system. If we end up programming the voting with cryptographic signatures this could be a very helpful summary... if we don't find an existing one we want to use.
+
* http://voicevote.org/Election_Day_Procedure.html This site has a great overview of what sounds like a very secure system. If we end up programming the voting with cryptographic signatures this could be a very helpful summary... if we don't find an existing one we want to use.
*http://osevote.org/Notes.shtml
+
* http://osevote.org/Notes.shtml
 +
 
 +
[[Category:Member Projects]]

Latest revision as of 20:53, 16 November 2018

The tentatively titled Membership Management System will enable the Treasurer to manage membership-related finances, among other things.'

Status

As of 11/18/2018 the Membership Management System consists of a Wild Apricot installation with Stripe Payment processing, for the core system, and several member-driven projects to incorporate RFID access and an Active Directory server.

Most of the rest of the information on this page is archival, and represents the effort of the members to create the previous system, which is being gradually phased out in 2018/2019.

Voting has still not, and has never been completely incorporated into the Membership Management System beyond a (problematic) calculation of quorum.

Purpose

  • Track payment status of members, and provide a list of current members
  • Provide a secure and transparent online voting system
  • Provide accounting information regarding membership dues
  • Automatically provide access to our various member-only resources

Our top two priorities are:

  1. The ability to track membership status in terms of who has paid dues
  2. Providing a secure online platform where members can vote on issues as discussed in the Bylaws

We hope that the fruits of our efforts will be useful to other hackerspaces. Therefore, it should be designed accordingly.


Task List (Things that need to get done): http://spreadsheets.google.com/pub?key=rkVo5CJHDUNTvjjjD3jC06w&output=html

Participate!

Meetings are every Wednesday from 8 to 9 pm, and you can add your suggestions to this wiki page. You can also "watch" this page if you would like to be kept up-to-date on the project.

Requirements

  1. New member sign-up
    1. Direct member to the bylaws
    2. Require waiver to be signed (electronically)
    3. Maintain records of key distribution (have they been given a key yet?)
      • possibly increment counter every time member loses key?
    4. Automatically set up access to member resources
      • mailing list
      • wiki
      • blog
  2. Payment/Membership status
    1. Interface with Amazon to provide payment status for each member
    2. Allow Treasurer to manually add offline (cash) payments to the record
    3. Automatically send email reminder to members who must make a payment to keep their membership
  3. Voting system
    1. Enable members to designate a proxy voter for a given vote
    2. Simple User Web Interface
    3. Straw polls can be shown to public -- actual votes / notification only shown to logged-in members
    4. Shows time remaining on a specific vote
    5. Public/Private Forum Integration
      1. Should be easy to permalink or embed in member-only emails
    6. Multiple Survey / Vote types
      1. Single Vote - One member, one vote, multiple choice (radio)
      2. Approval Voting - Yay or Nay on multiple Choices (checkbox)
      3. Rank Voting - rank all choices 1 through n; choice with lowest total wins
      4. Straw Poll / Secret Vote / Public Vote
    7. Secure

Detailed Design

  1. Access to member resources
    1. We plan to use a database to store user information/authenticate users. If/when an LDAP server is set up, we can switch to it.
  2. Payment/Membership status
    1. See the link below to Amazon's web API for payments

Language/Framework/Database

PHP seems to be a common denominator, with three programmers who have experience in it (two in depth).

Two of us have cursory knowledge of Cake, an object-based MVC web framework for PHP. If PHP is the language, Cake is as good as any other framework.

The available database is PostgreSQL

We are using Sourceforge to host our project, at least until an official PS:1 version control system is provided.

Third Party Software

Why reinvent the wheel? The following open source software may meet our requirements (in whole or part):

Project Management

This project is managed in SourceForge: https://sourceforge.net/projects/hackerspace/

References