Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Current »

Defines implementation and deployment environment using technologies, standards and products of the day - best of breed


From the Wikipedia definition at:

Asynchronous JavaScript And XML, or its acronym, Ajax (Pronounced A-jacks), is a Web development technique for creating interactive web applications. The intent is to make web pages feel more responsive by exchanging small amounts of data with the server behind the scenes, so that the entire Web page does not have to be reloaded each time the user makes a change. This is meant to increase the Web page's interactivity, speed, and usability.

The Ajax technique uses a combination of:

  • XHTML (or HTML), CSS, for marking up and styling information.
  • The DOM accessed with a client-side scripting language, especially ECMAScript implementations like JavaScript and JScript, to dynamically display and interact with the information presented.
  • The XMLHttpRequest object to exchange data asynchronously with the web server. In some Ajax frameworks and in certain situations, an IFrame object is used instead of the XMLHttpRequest object to exchange data with the web server.
  • XML is commonly used as the format for transferring data back from the server, although any format will work, including preformatted HTML, plain text, JSON and even EBML.

Like DHTML,LAMP, or SPA, Ajaxis not a technology in itself, but a term that refers to the use of a group of technologies together.

Additionally, MapBuilder also makes use of the browsers XSLT processing capabilities to produce widget HTML from the XML models.  This may further restrict the set of browsers supported.

Browser technology

Only modern browsers are supported because of the heavy use of AJAX and XSLT. MapBuilder v1.0 has been tested on the following browsers (please add to the list if you have tested on that platform):


  • Firefox 1., 2.
  • Internet Explorer 6.*,
  • Internet Explorer 7.* can be made to work, after applying this Changeset


  • Firefox 1., 2.


  • Firefox 1., 2.

MapBuilder v1.5.1 Release has been tested on the following browsers (please add to the list if you have tested on that platform):


  • Firefox 28.0
  • Internet Explorer 7,8,9,10,11
  • Opera 12.16, 20.0.1387.82

  • SRWare Iron 21.0.1200.0



Javascript Libraries

One important design principle is to re-use existing libraries as much as possible.  To that end, MapBuilder uses the following external libraries.

  • OpenLayers: OpenLayers is a JavaScript library for displaying map data. At the Foss4G conference in 2006 it was decided to use OpenLayers as a basis for Mapbuilder, to be able to focus on other features.
  • Sarissa: Sarissa is an ECMAScript library acting as a cross-browser wrapper for native XML APIs. It offers various XML related goodies like Document instantiation, XML loading from URLs or strings, XSLT transformations, XPath queries etc and comes especially handy for doing "AJAX" development.
  • Cscs: (to be included in v1.1) This is a JavaScript port of the Proj4 C library to JavaScript for map projectoin conversion and datum shifts. This is a spin-off of the MapBuilder Proj.js utility model. Proj.js is a port of the USGS's GCTPC C code to JavaScript.
  • JSDocs: JSDoc is a tool that parses inline documentation in JavaScript source files, and produces an documentation of the JavaScript code. This is typically in the form of HTML (example), but XML and XMI (UML) export are also supported.
  • Watir: WATIR stands for "Web Application Testing in Ruby". Watir is a free, open-source functional testing tool for automating browser-based tests of web applications. It is pronounced water.
  • Fitness: an integrated standalone wiki, and acceptance testing framework.

Deployment Configuration

  • No labels