The BMLT In Depth
The Basic Meeting List Toolbox is a complete, super-powerful NA meeting list system “in a box.” It is free, professional-grade and insanely easy to install. It uses Google Maps, clean printing, easy localization and customization, high security, very efficient and clean code, the ability to have multiple administrators and Service Bodies involved, and a very easy-to-edit centralized database system that allows Service Bodies like Regions to provide a meeting list that can be used by Areas. It has a huge laundry list of features. A more in-depth discussion of its pertinent features is available in our technical documentation.
The BMLT is the result of over a year of work by a professional software developer. This is top-quality, highly-tested, well-designed, robust and usable software, free for your use.
With the BMLT, you can track a dozen meetings, run by a few Groups, or thousands of meetings, run by many ASCs, RSCs, or even Zonal Forums. Every meeting listed in the BMLT can be located on a map, in a very natural fashion. Meetings are assigned to a Service Body (such as a Group or an ASC), and only people assigned by that Service Body can make changes to the meetings.
The BMLT can handle dozens of Service Bodies, and dozens of users; each one responsible for only certain meetings, so it is quite possible for many different Regions, Areas or Zonal Forums to share a single root server, while allowing full, independent access and control by only certain, authorized personnel, and it does so in a straightforward, simple manner.
To those that care about such things, all code generated by the BMLT including administration pages, should validate XHTML 1.0 Strict and WAI AAA Accessible. Failure of any page to validate is considered a bug.
The most important message that you should get is that the BMLT is very, very easy to set up and use. It is a system that you can “own” yourself, and you don’t have to deal with any kind of “central authority.” However, this is the kind of system that will benefit from having a shared root server and database. If you are an Area or Region, and would like to use the BMLT, consider teaming up with other Areas or Regions to implement a shared root server. It is very easy to set up a satellite server, and almost as easy to set up a root server. There are detailed guides for both users and administrators of the system, and we will be happy to answer any questions that may arise.
| Get the BMLT | ||
| The links below will download the current stable versions of each of the components of the BMLT. | ||
| NOTE: All plugins and satellites require PHP 5 or greater. The Root Server requires PHP 5.1 or greater, and PDO. | ||
| Component | Current Stable Version | |
![]() | BMLT Root Server This is the “root” server. It is installed as a standalone Web site, and is not usually used to find meetings; only to administer them. You can see a detailed release history here. | 1.4.5 |
![]() | BMLT Standalone Satellite Server This is the way you integrate the BMLT directly into your site code, without needing a Content Management System (CMS). Instructions for integrating the satellite server with your code are to be found in the standalone satellite documentation. | 1.4.2 |
![]() | BMLT WordPress Plugin This will take you to the WordPress Plugin Page. The plugin can be auto-installed. Instructions for installing and using this are available in the WordPress Satellite documentation, but you are probably better off simply auto-installing, and following the instructions on the Plugin page. | 1.4.3 |
![]() | BMLT Joomla! Plugins and Component Download the “bmlt.zip” file, but do not unzip it. It needs to be installed as a zip file. Also, your previous settings will reset to default, so you need to remember your current settings. The install will add two plugins and a component. Instructions on using this are given in the Joomla! satellite plugin documentation. | 1.4.2 |
![]() | BMLT Drupal Plugin This allows you to establish the BMLT instance as a block, or directly woven into text (as is shown on this page). There is an inline content filter component to this plugin. However, you have to set up the input format for it. Instructions are given in the Drupal Satellite Docs. | 1.4.2 |
![]() | BMLT Documentation Directory NOTE: This is a large file (12MB). | |
Read About the BMLT
- An Overview of How the BMLT System Works (PDF Document)
- User Guide
- BMLT Administration Guide
- View A Video-Based Guide to Editing Meetings in the BMLT
- CMS Plugin Administrator’s Guide
- Technical Documentation For the Root Server (This includes a detailed change list and version history.)
- Technical Documentation For the Standalone Satellite Server
- Explanation of How the User and Service Body Hierarchy Works (PDF Document)
See the BMLT
The following is an example of a BMLT “satellite server” Implementation. Notice how it is completely integrated with this page. The WordPress plugin is extremely flexible.
|
The BMLT window above is what is called a “satellite.” It connects to a “Root server,” which is where the data is kept. The root server may be maintained by a Region, for example, and Areas could run sites like this one (a WordPress site), or use their own code. The Area would put a VERY simple bit of code into their site, and it would connect to the root server. That is exactly what is happening in the example above.
The example above connects to a server that contains about 1,000 NA meetings, from two different Regions: Greater New York and Eastern New York. The demonstration above starts off in Brooklyn, New York, but you will also be able to find meetings in Upstate New York or Long Island.
Each “satellite” can set up their own map center and initial zoom (the example above centers on Brooklyn, NY, but could just as easily center on Houston, TX). They can also customize the appearance of the the BMLT in their site (takes a bit of doing, but isn’t that difficult. The BMLT uses low-specificity CSS).
- Stable Test Server:
- Trunk Test Server:
- The Current Implementations of the BMLT:
- NOTE: To date, the implementations below cover more than 3,300 meetings, in 9 different Regions.
- The Tejas-Bluebonnet Region Root Server (Texas). This is the main (“root”) server, for the Regional database for the Tejas-Bluebonnet Region, the Red River Region, the Lone Star Region, and the Oklahoma Region.
- The Tejas-Bluebonnet Region (Texas). This is a Joomla! Satellite server that links to the TBRNA root server.
- Red River Region (Texas & Oklahoma). This is a Joomla! Satellite server that links to the TBRNA root server.
- The Coastal Bend Area (Texas). This is an ASC within the Tejas-Bluebonnet Region, and this is a WordPress satellite server Plugin that links to the TBRNA root server.
- The Brazos Valley Area (Texas). This is another ASC within the Tejas-Bluebonnet Region, using a WordPress satellite server Plugin that links to the TBRNA root server.
- The Southeast Texas Area. This is another ASC within the Tejas-Bluebonnet Region, using a Joomla! satellite server Plugin that links to the TBRNA root server.
- The Free State Region Root Server (Maryland). This is the root server for the Free State Region and the C&P Region.
- The Free State Region (Maryland). This region covers Baltimore, and a section of the Maryland Eastern Shore. It uses the root server, above.
- The Northeast Freedom Area (Maryland). This uses the root server, above.
- The Greater New York Region Root Server (New York). This is the central root server for the Greater New York Region, and the Eastern New York Region.
- The Greater New York Region (New York). This uses the root server, above.
- The Eastern New York Region (New York). This uses the root server, above.
- The Suffolk Area Service (New York). This was the site that ran the original meeting search that acted as a prototype for the BMLT, and uses the root server, above.
- The Nassau Area Service (New York). This uses the root server, above.
- The Western Queens Area Service (New York). This uses the root server, above.
- NA Minnesota Root Server (And main search). This is the server that serves the Minnesota Region of NA.
Use the BMLT
The BMLT is constantly being developed and improved, but we provide “stable” versions on a regular basis. These are sometimes referred to as “tags,” and the version that is undergoing development is called the “trunk” version. The “trunk” usually has the most up-to-date and advanced code, and is probably stable, but it is still undergoing testing. The “tag” versions have undergone tests, and are not going to be changed. The latest tag is called the “stable” release, and is the main link in each of the examples below.
- The Root Server:
-
The technical requirements for a root server are slightly more than those for a satellite, but only slightly. The BMLT can be set up on almost any basic hosting package. If you can set up a WordPress or Joomla! site, you can easily set up a BMLT root server. The root server is a completely standalone Web site. It doesn’t need a CMS package, and has an installer “wizard.” The requirements for a root server are:- PHP Version 5.1 or greater (Almost every hosting provider has this).
- PHP PDO (This is typically built into the standard PHP 5.1+ install).
- A database, such as MySQL (Usually available on any hosting solution).
- File access to the files (such as via FTP). This is also completely standard for any Web hosting solution.
- Instructions for Installing The Root Server:
- Go to the Google Maps API Key Generator Page, and get an API key for the domain of your site. This should be for the top level of your domain (Makes it as general as possible). i.e. “http://magshare.magnaws.com/”, as opposed to “http://magshare.magnaws.com/bmlt/“.
- Download and unpack the Packed-Up Main Server.
- Place the unpacked server into a PHP-executable directory, point a Web browser to it, and Follow the instructions.
- The data in the minimal database is very sparse. Only one example Service Body, (but no meetings) exists, and only one user exists: the Server Administrator, which you specify during the install.
-
- The Satellite Server:
- Instructions for Using the Standalone Code:
The standalone code is provided as an example, but it actually operates as an entire Web site, dedicated to the BMLT (This is an example). Most of the code is a very simple PHP class, which is incredibly easy to use. Ease of use has been our biggest priority. The BMLT is meant to be installed easily, and used, even more easily. Here are technical instructions for implementing the Standalone Satellite Server.- Go to the Google Maps API Key Generator Page, and get an API key for the domain of your site. This should be for the top level of your domain (Makes it as general as possible). i.e. “http://magshare.magnaws.com/”, as opposed to “http://magshare.magnaws.com/bmlt/“.
- Get the URL to the Main Server of the BMLT Root Server. You will need to get this from the administrator of the root server (usually a Regional Webservant).
- Fetch the compressed files.
- Unzip the file, and place it into a PHP-executable directory.
- Edit the config.inc file to have the settings that you want. You will place the Google Maps API key that you got in the first step here.
- The files, as they are, comprise a minimalist satellite server. You can directly access the index.php file, and you will have a simple satellite server.
- However, what you will probably want to do, is to work them into your own site code. Use the index.php file as an example.
- Specific instructions for implementing a satellite server are here.
-
Installing BMLT CMS Plugins
-
The BMLT has three extremely simple-to-use plugins for the most common CMS systems (“CMS” means “Content Management System”). Each of these is a plugin that shows a BMLT window to regular users, and also lets an administrator set up the plugin.
Before you install a plugin, here are a couple of steps that you can take to prepare:
-
- Go to the Google Maps API Key Generator Page, and get an API key for the domain of your site. This should be for the top level of your domain (Makes it as general as possible). i.e. “http://magshare.magnaws.com/”, as opposed to “http://magshare.magnaws.com/bmlt/“.
- Get the URL to the Main Server of the BMLT Root Server. You will need to get this from the administrator of the root server (usually a Regional Webservant).
- Read the CMS Plugin Administrator’s Guide
-
The example BMLT on this page is a WordPress Plugin. WordPress is an enormously popular CMS, and has an excellent plugin system.
-
- Fetch the plugin directly from WordPress.org, which also allows you to auto-update and install.
- Unzip the file.
- Place the directory into the wp-content/plugins/ directory in your WordPress installation.
- Go into the “plugins” section of your administration dashboard, and activate the plugin.
- Under the “settings” section, you will now see a menu item called “BMLT Options.” Go to this page, and set up the API key and the Root Server. Don’t worry if it tells you the API key is invalid and doesn’t draw a map. It will, after you give it the new one.
- In order to have the BMLT appear in your pages (The BMLT will not appear in posts. You must use a page), you need to add the text “
<!--BMLT-->” (without the quotes) into the HTML view for your page (Not the Rich Text view). This is an HTML comment, and won’t show up on a page. The BMLT will replace the comment, so place it where you want the BMLT to show. You can mix the BMLT into other page text and images. WordPress is the most flexible in setting the BMLT presentation.
-
Joomla! is a powerful and flexible CMS that has become very popular lately. Quite a few NA sites already use it.
-
- Fetch the Joomla! Install File (DO NOT UNZIP!).
- Go into the administration control panel, and select “Install/Uninstall” from your “Extensions” menu
- Using the top choice of the “Install” tab, choose the “bmlt.zip” file, and click “Upload and Install.”
- Under the “Administer > Site Configuration” section, you will now see a menu item called “BMLT Settings.” Go to this page, and set up the API key and the Root Server. Don’t worry if it tells you the API key is invalid and doesn’t draw a map. It will, after you give it the new one.
- In Joomla!, the BMLT component creates an entire page, so you can’t mix it in with other text and images, however, the content plugin allows you to mix the BMLT instance into your page content.
-
Drupal is another highly effective CMS. It is not (currently) in as wide use within NA as are WordPress or Joomla!, but it is a very, very good system.
-
- Fetch the Drupal Install File.
- Unzip the file.
- Place the directory into the modules directory in your Drupal installation.
- Go into the “Administer > Site Building > Modules” section of your administration area, and activate the module (It will be under “Other,” and will be called “BMLT”).
- Click on “Save Configuration.”
- Under the “Components” menu, you will now see a menu item called “BMLT Options.” Go to this page, and set up the API key and the Root Server. Don’t worry if it tells you the API key is invalid and doesn’t draw a map. It will, after you give it the new one.
- In Drupal, you tell the BMLT to appear in specific pages via the Administer > Site building > Blocks. It sort of mixes with other content, by appearing below it. You can also set up the plugin to filter input formats. To do this, you need to set up an input format that applies a “BMLT Inline” filter.
No Licensing for the BMLT
The BMLT is completely free. You grab the code, set up your own server, and you never need to give anyone any credit, money or sign any licenses. The code is completely open and free. It is made available without any restrictions whatsoever, and you can modify or re-package the code as you wish. You take it and you own it.
Except you can’t make money with it. You are NOT ALLOWED to sell the BMLT or use it in a fashion designed for profit. It is a free gift to NA, and it is expected to be treated as a community resource.
We give absolutely no warranty whatsoever, and take no responsibility for upkeep or deployment of the BMLT. The maps and directions are those provided by Google Maps, and there are no warranties or guarantees of any kind. We do NOT promise to help you maintain your site, convert your databases or install the BMLT.
That being said, we are sincerely interested in making sure that the BMLT is a useful tool, and we are open to being asked for help. There’s just no promise that said help will be given. This site, and the BMLT code, itself, is a HUGE amount of help already.
Please do NOT give us public credit for your implementation of the BMLT. We are not a recognized NA Service Committee, and, as such, cannot be endorsed by an NA Service Committee. The BMLT, as it is supplied, is a resource meant only for use by registered NA Service Committee Web sites.
Dig Deeper Into the BMLT
The BMLT is actually 7 separate open-source projects. These are (mostly) handled through SourceForge (The WordPress plugin is handled through the WordPress Repository). We use a “front end” Service, called Ohloh to make the interface to these projects a bit more friendly.
- Ohloh Project Page for the Main Server
- Ohloh Project Page for the Standalone Satellite
- Ohloh Project Page for the Joomla! CMS Plugin
- Ohloh Project Page for the Drupal CMS Plugin
- Ohloh Project Page for the WordPress CMS Plugin
- Ohloh Project Page for the Tools
- Ohloh Project Page for the Documentation
- Ohloh User Page for MAGSHARE
Here are some other resources:
- The Documentation Downloads Directory
- Current Bug List
- Technical Bug Report Form
- Current Feature Request List
- Technical Feature Request
Get Involved!
You think you have some coding chops, can explain stuff real good, have great ideas to make this more useful, and would like to pitch in? Great!
The BMLT is actually four different projects, and has a million places to join. We have documentation efforts, coding at a number of levels (You don’t have to be a PHP master to write BMLT code), and we could also use people getting the word out and helping their ASCs, RSCs and Zonal Forums know about the BMLT!
Please contact us to get involved!
What’s Next?
Future Versions
- Add support for more mobile phones (Add WML/WAP support).
- Add standardized tools, to assist in converting existing databases into BMLT format.
- Add tools to generate various statistics and reports, especially for change history.
- Add export options to assist in synchronizing with the NAWS database.
- Instructions for Using the Standalone Code:




