consistent geo configuration
For simplicity, there are no optional dependencies, with one exception: Nominatim is useless without data. Importing data is a lot of work. So wo cannot depend on nominatim.
I was not sure how to deal with that. I finally arrive at the following structure:
- The geofilters app is not included in
INSTALLED_APPS
by default - For development, geocoding is mocked by creating
random geolocations as part of
create_demo_content
- In example deployment, everything is configured but will not work without importing data.
- Staging inherits the confguration from example deployment as well as the demo content from development. This should work well enough but could lead to error messages in the cron log when the server attempts to execute the geocoding script.
I decided not to fall back to https://nominatim.openstreetmap.org/ because we cannot guarantee to comply with the usage policy.
Including few things in the default settings but many things in the example deployment is consistent with how we deal with LDAP and django-axes.