|
This website is built using the Joomla content management system (CMS) (www.joomla.org ). It gives Seattle ACS these capabilities: automatic callout via pagers and email, available from any web-connected computer anywhere distributed authorship of web documents complete set of our training documents summary and detailed report of each member's training completed summary and detailed report of each member's station capability central spot to document our installed repeater infrastructure and EOC automatic generation of State RACES Plan Tab A report multiple mailing lists easy self-update for each member's training, go-kit, station capability, and address maps of member locations, repeater coverage, and station capability calendar
The notion behind a CMS is that you store the content in a database, use CSS to control the appearance, and use a template to actually deliver the pages. In this case the database is MySQL, and the template is done in a mix of PHP and HTML. The logic of the system is done in PHP. So you can see the whole system is pretty independent of the platform. We are running on a Linux server, but Joomla can run on just about any OS that has Apache, PHP, and MySQL (the "AMP" platform). We installed a plugin for Joomla called Community Builder. That's the piece that we use to manage member data, and is the core of what we are doing. Community Builder has one table in the database allows you to customize the user fields. (www.joomlapolis.org ) Joomla, plus Community Builder, has about 60 MySQL tables. We have also added some tables to the base Joomla database schema, and am planning on adding even more. There are 3 tables to hold the FCC callsign database; a batch job updates that once a week. Once an hour, another batch job updates some computed user/Community Builder fields (the readiness score, for instance) and updates the mailing lists. Mailing lists themselves are handled using Mailman, the same software that PSRG uses for its list. But instead of using the GUI, we use the utility to synchronize a mailman list with an external list of addresses (I think it's called synclist). There are two kinds of roster displays. The kind you get when you click on "member roster" (lower left) takes you to the Community Builder "list view". Community Builder gives you a pretty simple GUI to design different list views of your users, doing point-and-click and not really needing to know any SQL. But the formatting is limited. The sort of roster displays you see in "Membership reports" (upper right corner) is done with PHP. We have installed a Joomla extension ("kl_php") which allows embedding of any PHP into a website article, and then have built up about 1100 lines of PHP code to do things like maintain computed fields and display various reports. Each one of those is built using an HTML table (emitted by the PHP code) that iterates over the database, or a portion of it. (The Google maps are done in essentially the same way, except the PHP code emits a little Javascript program instead of an HTML table). The calendar is yet another Joomla extension called ExtCalendar.
Additional tables will contain frequency database and radio programming information, as well as training and net participation records. |