The Basic Meeting List Toolbox

Creating a map of meetings using Google MyMaps

With Google MyMaps you can create a map of NA meetings as well as embed that map on your site. This however unlike the Flexible Map plugin blogpost is not updated dynamically. This will add pinpoints of each meeting location which are clickable and display basic info about the meeting. I have used this to generate some nice images that I’ve used on various NA sites.

We’ll start by getting the kml data we want from the semantic interface of your local BMLT server. First select KML as your returned data.

Read more

Prototype of A Virtual Area

This has come up a few times in some discussions.  I have responded to a few posts, but I thought it might be better served to snapshot some thoughts while they were fresh.  Virtual meetings are location independent.  There might be a place a web server is hosted or an area/country code resides, but that is not really the same as a meeting with a physical location or an address.

There are elements to a virtual meeting that do matter, which are the language(s) that are spoken and the medium that the meeting is delivered over.  Although the root server code base does have elements of location, they do not necessarily have to be used.

Read more

Embedding a map of meetings on WordPress using Flexible Map plugin

With the Flexible Map WordPress plugin you can embed a map of your meetings in real time. This will add pinpoints of each meeting location which are clickable and display basic info about the meeting. One of the ways I’ve found this useful is I can easily tell when a meetings geocode is way out of wack.

We’ll start by adding and then activating the Flexible Map plugin. Then go to Settings -> Flexible Map and enter your Google API key as shown.

Read more

Javascript Satellites & bmlt.js

The latest release of the root server (v2.10.3), has some exciting new features.  It introduces a new response endpoint called JSONP, or JSON w/padding.  Typically making a JSON request/response requires that both the client and the server are on the same exact domain.  This is a by design security feature of most modern browsers to prevent XSS (Cross Site Scripting Attacks).
Read more

[UPDATED] Google Maps, API Keys and Geolocation Issues

NOTE: As of Root Server version 2.12.0, meetings cannot be saved without a Google Maps API Key.

Das Pröblem:

As most of you have probably already found out, Google now enforces HTTPS and API keys in their Maps.

This results in:

1) the dreaded “Oops! Something went wrong!” display:

Oops! Something Went Wrong!

NOTE: In the Root Server, this results in the map display shown as “all blue,” with no map displayed. Also, the “Set Longitude and Latitude to Address” button will not work.

2) and/or the “Unable to Determine Your Location” display:

Can't Find Your Location

This happens if you try to use a location-tracking feature, like the “Find Meetings Near Me” button in the Satellite.
Read more

The Missing Link -Sandwich

UPDATE: Sandwich is End-of-Life now and replaced by Tomato.


Earlier this year, a mysterious chap who goes by the tag “radius314” created a BMLT spinoff project, called “Sandwich.”

Sandwich is a BMLT Root Server “aggregator.”

That means that it can take multiple Root Servers, and present them as if they were one single, unified Server.


You can say that again.


Read more

PROTIP: Why Meetings Are Marked “Closed” By Default

I’ve had a number of folks ask me (sometimes, “ask” is a rather mild term for the manner in which they approach me) why meetings tend to be marked as “Closed” in data dumps and listings.

There’s a very simple, good reason for this:

The VERY WORST thing that can happen to a meeting, or a Service body, is that someone attending a meeting (often, a family member of an addict in attendance) is thrown out of a meeting. They will usually take the person they attended with when they leave, and never return to NA again. They will often also say bad things about NA in many venues.


Compounding this, is that meetings are often held in…less than upscale…neighborhoods, and throwing someone (like a middle-aged, middle-class woman who attended with her teenage daughter) out could actually put them in direct physical danger.
Read more

PROTIP: A Quick Geeky Way to Update NAWS World IDs

This entry is part 4 of 4 in the series Root Server Admin


If you have used the NAWS Export Functionality of the BMLT to send synchronization dumps to NAWS, you have received a spreadsheet in reply, with a series of meetings that have revised or newly-assigned Committee Codes (what we call “World ID” in the BMLT).

These are fairly long sequences of numbers, prefixed by one or two letters, like so:

  • Regions are listed as “RGXXX“, with “XXX” being 3 digits (with leading zeroes). For example: “RG001”, “RG123”.
  • Areas are listed as “ARXXXXX“, with “XXXXX” being 5 digits (also with leading zeroes). For example: “AR00001”, “AR00123”, “AR12345”.
  • Groups are listed as “GXXXXXXX“, with “XXXXXXX” being 7, leading-zero-padded digits. For example: “G0000001”, “G0012345”, “G1234567”.

These need to be assigned back to your BMLT database in order to ensure continued synchronization with NAWS.

It should be noted that NAWS tracks GROUPS, not MEETINGS.

Groups are Service entities. They are the driving force behind meetings, and often a single Group can have multiple meetings (like clubhouses, or lunchtime meetings).

In these cases, you may apply the same World ID (NAWS Committee Code) to multiple meetings.


It is very much worth it to keep NAWS in sync with your database, so this operation is important.

Thankfully, NAWS has agreed to do a certain thing that makes this process fairly easy to automate.

This post will spell out a somewhat “high geek factor” way of doing it. I will be working on a tool to abstract the complexity, but that will be a little while in coming. The tool to make this easier is here.

Easy Method: Root Server 2.13.0 Required

It is strongly recommended to backup your database before doing this process.

With Root Server 2.13.0 or above you can now log in as Server Admin and click Server Administration. This will now allow you to upload your NAWS dump to automatically update your Committee Codes.

Upon successful completion you will get a popup window that tells you how many meetings were updated, or a warning if there are any problems.

If you do not have Root Server 2.13.0 or above you should get it, otherwise continue below.

Read more