Drupal has a roles-based membership management system. Each user has an account (user name/password). That account can be assigned different roles (e.g. member, sponsor, president) that confer specific priveleges to the account. Roles can be assigned based on payments made, or manually by the treasurer or secretary. Here are the basic roles and priveleges that exist on the current FUN website:
- Anonymous user: this type of user does not have an account (can't login). They can view most content, but cannot a) post any content 2) view user emails, nor 3) purchase goods via the e-commerce module. This provides basic access for public viewing of the website.
- Authenticated User: This is someone who has generated an account (login/username), the first step towards joining FUN. Being logged into an account opens up the e-commerce module, enabling the user to pay dues or make other purchases. However, they have no other priveleges (can't see emails, can't post content, don't show up in member directory). These viewers do so, however, a nag screen at the top of most pages urging them to pay their dues to complete their membership.
- Member/PUI Sponsor/Contributin Sponsor: These roles reflect dues-paying membership in FUN. Users with these roles are a) listed by role in the membership directory, b) may view the emails of other users, and c) may post new stories, jobs, and events. These roles are conferred automatically when an authenticated user pays dues for a specific membership level. At purchase, they are given an expiration date 1 year into the future. 2-weeks prior to dues expiration, an automated message is sent urging dues renewal. If no renewal is purchased, the role is automatically cancelled at the expiration date. This does not remove the user's account, profile information,etc. It simply bumps them down to authenticated users who can no longer post content, be listed in the membership directory, etc. At any time after a lapse in dues, users may still log on and purchase continued membership. This will automatically refresh their membership role and push their next due date back 1 year from the time of previous expiration. That way, if someone is lapsed for 3 months, they don't get the 3 months for free. Note that the same user account can purchase multiple dues roles (operate as a paying member and represent an institutional sponsor). In this case, different roles will expire independently. Also, a user can purchase multiple years worth of roles by increasing the quantity in their shopping cart. This system is designed to run semi-autonomously, without substantial intervention of the FUN executive. However, a number of options are available allowing manual interventions to this workflow.
- President/Secretary/Treasurer/Webadmin: These roles reflect elections to specific functions within FUN. They are not assigned automatically, but must be manually assigned by the treasurer. Each role confers specific sets of site functions. For example, the treasurer and secretary can edit dues payment levels, manually adjust dues, and run reports on sales figures--other roles cannot access these functions. Most of these roles have access to posting/editing content beyond simple news, jobs, and events (e.g. new single pages, new books, altering the main menu).