A key service of most community networks (CNs) is providing Internet services to community, civic, and nonprofit groups. Community networks need an easy to install suite of information services that has an integrated and easy to use Web interface, so that volunteers and staff who are not Unix experts can set up, configure, and support service packages for local civic and community groups.
In the fall of 2002, the Blacksburg Electronic Village, Inc. and the Association For Community Networking offered an award of $2000 for the Open Source-based service administration package that most successfully meets all of the specifications outlined below. Two Honorable Mention awards of $750 were offered to packages that exhibit exceptional merit but may not have met all specifications.
Response to the program was limited, and the Virtuose package from Italy was awarded $500 as an Honorable Mention. In the spring of 2003, Virtuose was released by the development team with an open source licence, and can be downloaded for use. The AFCN will announce a second round with a larger prize in June of 2003.
A list of Open Source packages that may be useful to community network projects is available.
- A representative of a local civic group will visit the Community Network office or fill out an online form to request a Web site, FTP access, two email accounts, a mailing list, and a discussion forum.
- An administrator for the CN (often a volunteer with limited computer skills) will create the Web site, set up the FTP access, create the email accounts, and provision the rest of the services.
- When all the services and access have been set up, the CN administrator sends an email to the civic group representative with all of the information needed to begin using those services.
- Over time, the civic group representative will add calendars to the Web site, set up additional discussion groups, reset email passwords, and perform other routine duties of a Web site manager.
The services most commonly used by community networks to provide services to local civic groups include:
- Web hosting — multiple sites in directories under a single domain name or virtual hosting. FTP access, PHP scripting support, and email reply form support (could be a CGI or PHP) are minimum requirements.
- Email — Civic groups typically need two or more email accounts to assist with Web site management and group management. POP3 accounts are required, and a Web-based email interface is very desirable. Email accounts may use a common domain name or use a custom domain (e.g. firstname.lastname@example.org).
- Mailing lists — civic groups typically use one or two mailing lists as information channels to their membership and to the public. Mailing lists may use a common domain name or use a custom domain.
- Discussion forum — civic groups often use forums for public and/or private discussions. These forums are integrated into the group site.
- Online calendar — civic groups use online, interactive calendars with a forms-based interface to provide a calendar of group and civic events. Sometimes more than one calendar view is used (e.g. one for public use, and one for private use by the managing board).
- Package should install and work, at a minimum, on a single machine running Red Hat Linux 7.2 or later; it would be desirable if install packages are available for other Unix variants (e.g. BSD, OS X). Package installation must be as simple as possible. Packages that “hide” as much installation configuration detail as possible are most desirable. Packages may include/require other common installations steps such as Red Hat optional RPMs, but these requirements/steps must be clearly described in the documentation (e.g. how to acquire such packages, tips on installation, etc).
- Whenever possible, scripting for Web pages shall use PHP4. All SQL services and applications should use a database independence layer and must use PHP4 for scripting. The five services below (Web hosting, email, mailing lists, discussion forum, calendars) represent the minimum service profile needed by the typical community network. Submissions may include additional features and functions not specified in this document.
- Web-based interface for all group service setups (add/delete/modify all routine service settings). No command line interface shall be required for any routine administration. Administrative set up shall include generation of a template-based email notification when the services are ready for use. The email notification shall include all URLs, email accounts, and other information needed by the group to administer and use their services. Possible approaches for the admin tool could be “glue” code in PHP, and/or the APIs of an existing PHP-based framework like phpGroupWare could be used.
- A thorough and concise software installation document shall be provided that provides clear, step by step instructions for installing all needed software.
- A thorough and concise user’s guide for the Web administration shall be provided.
- All logging should use standard syslog facility
- Admin interface shall log all add/delete/change functions
- Web-based email administration shall provide support for groups receiving mail under their own domain name (email and mailing lists). Domain server updates can be accomplished by generating an email message to a designated DNS administrator. Each group administrator should only be able to control accounts within their own group/domain.
- Quotas for Web space shall be managed by the community network, on a group basis.
- Email account management shall include mailbox quotas, forwarding, and aliases.
- Forum administration shall be by the civic group itself, with support for private and public forums. Civic groups should be able to add/delete/modify forums via a Web interface.
- Calendar administration shall be by the group itself. The group should be able to create public and private calendars, and should be able to share private calendars. Ideally, calendars would be searchable and support selection of subsets of events that have been tagged with keywords or identifiers (e.g. “all recreation” “all music in March” etc.).
- An install package that sets up and installs the underlying services needed (e.g. Apache, PHP, mySQL, phorum, etc).
- An administrative Web interface for the administrative tasks performed by the CN administrator. In other words, a Web-enabled front end to the services (e.g. Web site setup, FTP access, email account creation, mailing list creation, etc).
- An administrative Web interface for the civic group representative for routine tasks like discussion group creation, email account passwords changes, mailing list management, etc.
- Clearly written documentation for the installers and for the Web administrative interfaces.
Tips for developers
The goal of this project is to produce a suite of tools that can be managed by someone with little or no knowledge of Unix. The primary goal is usability. We strongly encourage testing installation and administration tools with non-programmers. You may assume that installation of the suite will be done by someone with at least a basic working knowledge of Unix/Linux.
My name is Michael Maranda and I am a Machine Learning Developer for AFCN Technologies. I am an accomplished coder and programmer, and I enjoy using my skills to contribute to the exciting technological advances that happen every day at AFCN. I graduated from the California Institute of Technology in 2011 with a Bachelor’s Degree in Software Development. While in school, I earned the 2015 Edmund Gains Award for my exemplary academic performance and leadership skills.