This project and site are built around Drupal, an open source content management system that is well supported by an active online community of users and developers. Drupal is widely used for blogging, e-commerce, online collaboration and many other content-rich applications. The site viewing and editing interfaces are based on familiar web page and form models and the administration facilities are a combination of web interfaces and other common management interfaces (e.g., cPanel or command line). Site users and content contributors should be able to create, edit, view and search for information on the site using web page and form models familiar to anyone that has general experience with web sites. Drupal 8+ seems to respond well to browsing using a range of devices including computers with larger screens and smaller handheld devices. Administration of a site is somewhat complex and requires familiarity with computers and more in-depth knowledge of web site structure.
The flexibility that allows Drupal to be used for many different applications comes from its inherently flexible support for defining how information for an application is to be structured. Drupal uses the concepts of "content," "entities" and "fields" to describe how information is structured and provides customizable models for many of the elements you would want to use while creating a web site: articles, pages, blocks (areas on a web page layout), users, content types and sub-types, and fields. Within this constellation of concepts, you can think of a content type (or sub-type) as information that is organized as bundles of a common set of fields, each of which holds one piece of information for the entity that an instance of a content type is modelling. For example, a user would have the following fields:
- name
- email address
- role (defining the access and permissions allowed on the site)
- date the user account was created
- an image or avatar for the user
- a biographical synopsis
- ...
(there are many books and web sites that explain these concepts ... more details are beyond the scope of this page)
The Drupal community has shown interest in including geographic location as part of the information created within applications and a number of extensions to the Drupal core have been developed over the years that enable the storage of geographic information and the use of map views to display information (content type instances) that include geographic fields. At the time of writing, there are several Drupal extensions that let you store geographic locations in fields but only one of these, Geofield, supports storage of locations more complex than single points.
This project has focused on creating a package of software built around Drupal and extensions that let you include Geofield locations, including points, polylines and polygons to specify locations in content types; create, edit, view, search and map instances of those content types; and import and export information including geographic fields to ensure data can be created using this platform, brought from elsewhere for further development, and then moved on to other systems if needed for further work.
Although this software is highly flexible, this project doesn't try to create a platform that will also provide specialized analysis or visualization capabilities. Technically, these capabilities are probably possible but would require a consulting and development model that is not currently envisioned and is not necessary for data collection and teaching as planned with the current project. Hopefully, by being able to get the data in and out of Drupal in a fairly straightforward way, you can consider data collection and creation on this platform with other complex activities being completed using your favourite external tools.
Comments