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).
JSONP is one of the methods to safely ensure that the requestor and receiver are a trusted connection. Along with this, comes the ability to build all kinds of applications that couldn’t be easily accomplished before. This includes writing satellites for traditional static HTML sites, Wix, SquareSpace, Weebly, and Google Sites. Basically anywhere you can write custom HTML and Javascript you can do this.
I’ve put together a Codepen example of the basic use case. Of course this could be as fancy as you wanted, given that you write out the HTML and CSS. Codepen, by the way, is a slick way to write sample applications and it’s totally free to use / share / copy, etc.
In this Codepen example you can see that we are referencing a new BMLT client library called bmlt.js. bmlt.js has a couple of basic functions [https://github.com/LittleGreenViper/BMLT-Root-Server/blob/master/main_server/local_server/bmlt.js], that allow for rendering meetings that follow a certain set of criteria. More functionality would/could be added in the future.
Here are the following methods available, notice each function has a callback. This will be executed upon the return of the request to the BMLT. You will get back a data object with the response that you use to render.
getMeetingsByCity(city, callback); // Specify any textual city name for an exact match. getMeetingsByServiceBodyId(serviceBodyId, callback) // Specify any service body ID, talk your administrator to get yours. getMeetingsByServiceBodyIdAndWeekdayId(serviceBodyId, weekday, callback) // Same as above, but also can limit to a specific day of the week. getMeetingsByServiceBodyIdAndCity(serviceBodyId, city, callback) // Again the same, but limit by city.
We are also making use of jQuery to simplify some of the rendering of the HTML.
Here are some examples of this at work, making use of the various Embed capabilities.
Weebly: https://bmlt-widget.weebly.com/meetings.html
Wix: https://jeffandchris123.wixsite.com/website/meetings
Static HTML: http://dea-na.org/meeting_page.html
Google Sites: https://sites.google.com/site/bmltdemo/
Need more help, head on over to the BMLT group on Facebook.