Geomajas Community Documentation

4.2. Module Overview

Different modules have different impacts and different purposes. Therefore different categories of modules are required. Geomajas has defined the following set of module categories (matching the directories in the source):

  • application: working examples of applications using the Geomajas GIS framework.

  • backend : these are essential Geomajas modules. Each Geomajas application needs these modules. However, you also need some a face and some plug-ins (like layers) or you won't be able to do much.

  • build-tools : some modules which are useful for starting or building Geomajas or a Geomajas project.

  • documentation : documentation modules, specifically the different Geomajas guides. These are the general guides, each of the plug-ins also has a documentation module.

  • face : faces that present a certain Geomajas client interface to the user.

  • plugin : modules that extend Geomajas. This can either add new functionality, add support for a certain type of data source, provide a security service or a combination.

  • test : modules which are used for (integration) testing of Geomajas.

Full list of Geomajas modules:

Name Purpose
geomajas-dojo-example Example application using the dojo face. Is more advanced than the dojo-simple demo. Can be useful as template project when starting a new dojo based Geomajas application which uses project specific JavaScript code.
geomajas-dojo-simple Simple example project using the dojo face. Can be a useful template project when starting a new dojo based Geomajas application.
geomajas-gwt-example Example application using the GWT face which serves both as showcase and test application.
geomajas-gwt-simple Simple example project using the GWT face. Very similar to the GWT archetype which can be used to start a new GWT based Geomajas project.

Table 4.1. List of Geomajas application modules


Name Purpose
geomajas-api Stable interfaces. Reference guide for other modules.
geomajas-api-experimental Experimental interfaces. This contains some experimental stuff which may be promoted to the supported API when useful, or may be changed or dumped. As this is not part of the API, it may change between revisions.
geomajas-command Lists all basic commands.
geomajas-common-servlet Code which is shared by the different faces which are servlet based.
geomajas-impl Main library with default implementations.
geomajas-testdata Module which contains data which is used for testing Geomajas.

Table 4.2. List of Geomajas back-end modules


Name Purpose
geomajas-checkstyle Module which contains the checkstyle definitions which should be adhered to for all code in the Geomajas source tree.
geomajas-dep This module can be included in your "dependencyManagement" section to set default versions for many possible dependencies. This includes the current release versions of all Geomajas project modules and their major dependencies. The versions can always be overwritten in your pom. It does not indicate that module versions play well together (though they should if the API contract is adhered). This module should never contain snapshot builds.
geomajas-maven-dojo Maven plugin which helps to combine all the JavaScript code for dojo, Geomajas and the project itself. This is usually referred to as the "shrink" or "shrinksafe" step.
geomajas-maven-plugin Maven plugin which is used for generating the documentation. It extracts excerpts from the code to allow inclusion in the docbook guides.
geomajas-parent parent project which includes some Geomajas specific settings like copyright, java version, checkstyle etc.
geomajas-plugin-archetype Archetype for starting a new plugin.

Table 4.3. List of Geomajas build-tools modules


Name Purpose
contributorguide Guide for contributors to the project. Includes information about compilation of the project, coding style, how to contribute to the documentation, JIRA guidelines etc.
devuserguide Guide for developers who want to use Geomajas in their applications.
enduserguide Guide for end-users who use the Geomajas widgets. This guide should probably be included in the application documentation.
style Style module for conversion of the docbook files to usable output.
xslt Transformation module for conversion of the docbook files to usable output.

Table 4.4. List of Geomajas documentation modules


Name Purpose
geomajas-face-dojo Modules for the dojo face, including documentation.
geomajas-face-gwt Modules for the GWT face, including the documentation.

Table 4.5. List of Geomajas face modules


Name Purpose
geomajas-layer-geotools Support for any data format GeoTools supports.
geomajas-layer-google Support for GoogleMaps raster format.
geomajas-layer-hibernate Support for database formats through Hibernate.
geomajas-layer-openstreetmap Support for OpenStreetMap raster format.
geomajas-layer-wms Support for the WMS raster format.
geomajas-plugin-printing Adds printing capabilities beyond printing in the browser, by delivering the map as PDF.
geomajas-plugin-staticsecurity Simple security service which allows including the entire security configuration in the Spring configuration files, making the configuration static.
geomajas-plugin-caching Caching plug-in which allows improved speed by calculating data only once.

Table 4.6. List of Geomajas plug-in modules


Name Purpose
geomajas-test-integration Integrations tests, currently mostly testing the security handling.

Table 4.7. List of Geomajas test modules