Software Projects
From FGVwiki
Checking Out The Code
To check out the subversion repository externally, run:
svn co svn://shop.freegeekvancouver.org/code
If you're at the office, run:
svn co svn://hemlock/code
PROJECTS AND INSTALLATIONS ALREADY DEPLOYED/IN DEVELOPMENT
This is a list of projects and systems that are currently in place in some form or another. In addition to documentation, which is pretty much lacking throughout, specific things that are missing are listed under each item.
We are in the process of converting our legacy phone system to one based on the Asterisk Open source PBX. We are looking for people who have experience with VoIP and/or Asterisk. As an aside, we are looking for related hardware, such as digium cards, IP phones, etc.
- LTSP - Linux Terminal Server Project (ltsp.org)
Most of the terminals in the Free Geek space are thin clients connected to a single Edubuntu server. This allows a single point of administration, and simplified and less resource hungry clients. It is mostly working well, however there are a few issues with the current setup.
- Local devices are not setup (usbkeys/cdrom/cdrw),
- automated logins for public terminals,
- automatic generation/regeneration of guest accounts
- automatically powering down systems at night
- Automated operating system installations
I'm happy to say that the days of hunting around the shop for install CD's are (mostly) behind us. We have a good handle on network booting and preseeding the Debian installer (d-i) for one click Ubuntu and Debian installations. There is work to be done in speeding up installations (nothing is ever fast enough), developing/customizing different configurations (ie handle architectures other than i386 and amd64, supporting custom installations for things other than the Gnome desktop, and testing and rolling out preseed files for the upcoming 8.04 Ubuntu release.
- Network administration (dhcp/firewall/dns/etc)
The network is relatively simple, but it needs to be documented, and some redundancies put in place. A complete automated backup system is sorely lacking. See below.
- Hardware component testing
Hanging off of a couple different LTSP servers are various hardware component testing systems.
Disk wipe/test and memory test are working. The diskwipe script needs some attention in the areas of report generation and in user interface. Memtest is pretty much a solved problem on the software side thanks to memtest86+.
Other devices are currently either being tested in an ad hoc basis, or not at all. Work needs to be done in creating a set of structured automated tests that inexperienced users can operate for such devices as optical drives, video cards, network cards, switches/routers/hubs, etc.
- Surviellance camera network
Currently we have a camera monitoring the back door parking lot.
- FGDB - Free Geek Database
We are using Free Geek Portland's database system to track incoming equipment, volunteer contact information and hours, dispersals of equipment, and producing some invoices. We are no longer using the point of sale component of the system. We need to move our FGDB installation off of a dying box to another is more reliable. We would like to investigate alternatives for the components that we are still using, and strategies for migrating existing data over to these potential systems.
- Volunteer schedule (calendar)
A one off calendar hack that has become a core peice of day to day operations. Needs to be rewritten/reworked and some functionality added.
- offsite systems
- FG Website (www.freegeekvancouver.org)
- offsite systems
Drupal. Hosted offsite.
- Shop Wiki (wiki.freegeekvancouver.org)
Mediawiki, also hosted offsite. Aside from ongoing maintenance of the user content, we need to enable the *media* features of this wiki system (ie uploading of images/sound/video, etc). Several extensions ought to be installed, such as graphviz.
TODO PROJECTS
These are projects that do not currently exists, or exist only in our minds.
- Issue tracking system
Keeping track of things to do in the shop is an ongoing struggle. I have installed RT and Roundup in the past, but neither were given enough admin attention to be adopted and used daily.
- Bug tracking system (for software development)
I mention this here because as we open up software project development, we will inevitably need a place for us and users to file bugs. This system could be the same as the issue tracking system above, or not.
- Inventory system
An big dream, with little to no code behind it. Having a software system to gain better visibility into the equipment that we are handling, warehousing, receiving and selling would be a big win.
- Point of sale system
We are using pen and paper now. We can do better, but its a nontrivial problem. Coordination with an inventory system would be nice.
- Contact database
Currently FGDB (see above) handles this. Something better maybe?
- Groupware
Buzzwordy item here thrown in as it may cover one or more of the above items.
- Backup system
Losing data sucks.
- Music system/jukebox
You wouldn't believe given how much equipment we have at Free Geek how hard it is to make some music happen.
