Bike Collective Software
This is the collaborative project description for custom bike collective software.
Requirements
- The software will be an open source component of a CMS system. The choices we already narrowed it down to are Joomla, Drupal, and Wordpress.
- Component features and/or Modules will be built to handle needs of the various shops. These modules can be turned on and off through a GUI interface.
- A very intuitive installer will be crucial to help get all the non-profits started using the software. It should have pre-programmed data-sets for common collective / cooperative types.
- Internationalization via simple language file options.
CMS Systems
Here are some test systems you can experiment on. If you want a login, or even your own test site let Jonathan Morrison know.
Jonathan Morrison's Opinion
My background is in software engineering as is my degree. I actually installed Wordpress, Joomla, Drupal recently to compare them. Here is my honest opinion of each of them and their user groups. I take into account sustainability factors like, "sure I am a nerd, but if I wasn't here, could someone else cover it?"
Wordpress was by far the easiest to install and get running, however it lacks components and features to _easily_ do anything more than a blog. For example if you want to add a photo gallery, etc.,... One of my main observations is the user group that uses this is more graphic designers, not programmers. Another plus is that you, as a nonprofit, can get free hosting using Dreamhost, and they have a simple one-click-install for Wordpress. This makes upgrades really easy.
Drupal was by far the most difficult to install, however it is very universal. With flexibility comes complexity, so make sure you have a hard core nerd on staff before you commit to this one. I would for the Salt Lake City Bicycle Collective, but in the event I wasn't around, I can't see it being maintained properly. The user group for this tends to be people like me, geeks. As a result, the graphical templates aren't as impressive as other CMSs. One cool feature that Bike Geeks used is they made all the Chicago sites connect. One unique feature of Drupal is that a single installation of Drupal can run several sites. Sadly, Dreamhost does not have a one-click install feature drupal, so installations and upgrades have to be done manually.
Joomla, while I have spent the most time with it is still my personal favorite. It has the largest user base, and more addons and templates than any other CMS out there. To be fair, the big downfall isn't in technical complexity, but what how things are named. There are 1000s of templates, components, modules, mambots out there, but you need to know what they are before you can use them. Another plus is that you, as a nonprofit, can get free hosting using Dreamhost, and they have a simple one-click-install for Joomla. This makes upgrades really easy.
Features
Generically speaking we need to keep track of hours, people, and things (sometimes in different stages) as they relate to various events. Every community bike organization has a different name for these and uses a different subset of them -- so they will need to be easily re-nameable and be able to turn on and off.
Hour Tracking
For Volunteers and or Staff as they commit ahead of time to events and then how to keep track of when they do or don't follow through.
- Event Signups
- Punch in and out of a Time clock
People Tracking
We need to track many different kinds of contacts. Given the differences in organizations, ideally no single type that is "hard coded" and the administrator can add and remove Contact Types.
Examples:
- Local Business Contacts
- Distributors
- Board of Directors
- Members
- Customers
- Earn-A-Bikers
- Mechanics
- Cooks
- Clergy
Inventory Tracking
Hopefully we can generalize this as well.
Examples:
- Fleet/Library/Yellow Bikes
- New Parts
- Used Parts
- Tools
- Rentals
Event Listing
Events could be meetings, open shop nights, valet bicycle parking, tabling festivals, etc.,...
Event Signups
This could be used to sign up for an event or could be used to keep track of people at an event.
Repair Tracking
This might be a part of Inventory, but a way to easily see what bikes need what work.
Accounting
Fundraising
Recycling
?
Art
?
Software Life-cycle
Winter is a great time to get this rolling and hopefully have it ready for next spring.
- Create the dev team Email List
- Create a project description
- Delegate programming / graphic design
- Development Stage
- Internal Testing / External Testing
- Fix Bugs
- Beta Release / External Testing
- Fix Bugs
- Final release
- Maintenance / Feature Requests
Developers
- Jonathan Morrison - PHP, etc.,..
- Rich Points - CSS/XHTML
- Nathan Wilkes - PHP
- Peter Garver - PHP
- Jay Varner - Perl, etc.,...