Experimental project

This is a sandbox project, which contains experimental code for developer use only.

The gnode project provides a new entity type that is specifically designed for the collection and storage of data that is intended to be displayed on maps. In the past, this has been accomplished in Drupal with CCK fields, but the use of an entity provides several advantages.

Features

  • Provides database storage that is optimized for geo-searching.
  • Standards based, and can accomodate any geometry type.
  • Data storage can be shared by different mapping front-ends.
  • Data services can be shared.

Gnode provides a new way for maps and geocoders to work with Drupal. Since data storage is provided at the entity level, maps and geocoders are not implemented as fields and views but as form elements that can be used on gnode pages, or theoretically on other types of pages as well. A full description of Gnode's features can be found at http://gnode.ccardea.com

Dependencies

Gnode requires the use of at least one other module to provide map services. Currently there is a module that provides Google maps and geocoders, a module that provides multipoint map views, and a module that provides proximity searching. These are implemented as separate projects.

Current Release

The current version is the latest development version. It does not add any new features. It does some housekeeping and adds a few functions needed by other Gnode modules.

The latest feature release is alpha2. In addition to basic functionality, this version implements configuration for bundles and basic content management. The bundle configuration is unique and allows for users to mix and match elements from different providers. This code is fairly stable but is classified as alpha because I'm still adding new features.

Roadmap

The major areas for further development of this module are:

  • Making gnodes fieldable.
  • Gnode management, including the addition of filters and bulk operations.
  • De-coupling of the user interface from the basic functionality.

Gnode was originally conceived to handle content whose primary purpose is map display and proximity searching. Another use case is content that is only secondarily concerned with location. In those cases using a field or simple form element with other entity interfaces may be preferable to using the gnode interface. De-coupling the user interface will facilitate secondary use cases by allowing users to turn off the Gnode user interface while still taking advantage of Gnode's data storage, map views and proximity search capability.

Project information