General Project Requirements
The Great Plains Free-Net Inc., based in Regina Saskatchewan, is a non-profit, volunteer-driven corporation dedicated to providing low and no-cost internet connectivity to residents, community groups and organizations that are not sufficiently served by commercial Internet Service Providers (ISPs).
In particular, the Great Plains Free-Net caters to individuals:
- whose personal computers are too old or antiquated to run current generation web-browsers and other internet client software;
- who want a text only user interface to a graphical user interface because of personal preference or disability;
- who are new to the Internet environment and who need more “hand-holding” and support that commercial ISPs are prepared to offer; or
- who are not heavy users of the Internet and who do not require the unlimited or generous usage offers characteristic of many commercial offerings.
For community groups, the Great Plains Free-Net offers:
- no and low cost web hosting to community groups seeking to inform the public of their services and programs;
- e-mail list services to cyber-communities for whom face-to-face meetings are unrealistic;
- Database hosting services for dynamic web content; and
- Virtual domain hosting on a cost-recovery basis for community groups, individuals and organizations that wish to pay for this service.
Because of the mix of products and services offered to the public, the Great Plains Free-Net (GPFN) needs a User Management System (UMS) to manage its user base. As GPFN is volunteer driven, this system needs to be managed remotely by volunteers. As GPFN exclusively uses a Linux server base, any new system should be implemented in a Linux environment and be Internet and Web enabled.
In general, the UMS needs to provide the following functions:
- Allow users and prospective users to use the Web to apply for a new user account;
- Allow existing users to apply to upgrade their account to include new services or increased quotas;
- Allow GPFN volunteers to approve or reject applications for new accounts or account upgrades and, if approved, effect the necessary changes to the system;
- Allow users some access to their own system configuration such as changing their password, reviewing their account history, changing mail forwarding settings, and possibly adjusting spam filters;
- Allow GPFN volunteers access to change the configuration parameters listed in function (4) above for any GPFN user;
- The GPFN charges for memberships and other services based on a calendar year. The system must support a “renewal cycle” whereby all existing GPFN users are asked to explicitly renew their account. This renewal is validated by responding to an e-mail notification (in the case of free accounts), or by remitting a cheque for any memberships or service fees. This renewal cycle is generated through a scheduled task (or “cron job”) or via a GPFN volunteer’s explicit action;
- The renewal cycle must not generate renewals for accounts which are not in arrears and must be able to generate a paper invoice or statement upon request;
- The system must allow GPFN volunteers to process receipts against outstanding renewal requests so that user accounts are not again flagged for renewal notification during the current renewal or billing cycle;
- The system must allow GPFN volunteers to expire or suspend accounts for any reason such as a user misusing their account or not responding to a renewal request. If a user remedies the reason for the suspension, the system must allow a GPFN volunteer to reinstate a previously suspended account. Alternatively, the system must also allow GPFN volunteers to delete any account previously expired;
- In order to support expirations due to non-renewal, the system must be able to offer a “batch mode” whereby all non-renewed accounts are listed and expired together. Similarly, once a decision is made to delete accounts, the option should exist to allow a volunteer to delete all expired accounts as a batch process;
- The system must maintain a history of the financial transactions against an account including the date and method by which a renewal notification was sent (either e-mail or printing), and the date and method by which a payment was received (cheque, cash, donation in kind, or credit card);
For audit purposes, the system must track the GPFN volunteer who performed any action.