PHP Ruby CSS Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
Seltzer CRM 0.1.0 An open source CRM for hackerspaces Copyright 2009-2011 Edward L. Platt <firstname.lastname@example.org> Distributed under GPLv3 (see COPYING for more info) CONTENTS ======== 1. Overview 2. Why create another CRM 3. How to install 4. Basic usage 5. Code structure 1. OVERVIEW =========== Seltzer is a Customer Relationship Management (CRM) application designed specifically for hackerspaces. It is built to be lightweight and hackable. The current features are tracking of member contact info, membership levels, voting status, and key assignments. Seltzer has been in production use at the i3 Detroit hackerspace in Ferndale, MI since 2010-12-20. 2. WHY CREATE ANOTHER CRM? ========================== There are a number of powerful CRMs out there already, including the open source CiviCRM. However, we found the complexity of existing CRMs to be an obstacle to recruiting and training volunteers at member-run organizations such as hackerspaces. Seltzer CRM has a very basic feature set tailored to the needs of a hackerspace. 3. HOW TO INSTALL ================= Check out the INSTALL file. 4. BASIC USAGE ============== NOTE: to preserve historical data, plans, members, and key assignments should only be deleted if they were created in error. If a plan, member, or key assignment is no longer valid, it should be marked as inactive rather than deleted. To manage membership plans, click the "Plans" tab. This tab displays a list of existing plans. Each existing plan has links to edit or delete that plan. You may add a new plan by clicking the "Add" sub-tab. To manage members, click the "Members" tab. This tab displays a list of all members, past and present. Members may be filtered down to only active or voting members. Each member has a link to edit or delete that member. To add a new member, click the "Add" sub-tab. To manage a member's membership status, click a member, and then click the "Plan" sub-tab. To edit a member's roles (which determine their permissions) click a member and then click the "Roles" sub-tab. To manage key assignments, click a member in the "Members" tab, then click the "Keys" sub-tab. To view a report of all active voting members, click the "Reports" tab. 5. CODE STRUCTURE ================= The code is documented in doxygen format and the documentation is in the doc subfolder of the distribution. Currently, there is a front end php file for each page in the CRM. These pages include the file include/crm.inc.php which includes the rest of the CRM code. The key module is small and a provides a good demonstration of most things a module can do. The code is broken into several "modules" but the module system is not complete as of this writing. The modules are hard coded into include/crm.inc.php and include/config.php. Modules are divided into the following types of functions: * _data functions: query database and return associative arrays. * _table functions: return data structures representing tables. * _form functions: return data structures representing forms. * _page function: a hook to add content to various pages. * command_ functions: read from GET/POST and update the database. * theme_ functions: return themed html strings.