Settings¶
Here’s a list of settings available in GeoNode and their default values. This includes settings for some external applications that GeoNode depends on.
For most of them, default values are good. Those should be changed only for advanced configurations in production or heavily hardened systems.
The most common ones can be set through environment variables to avoid touching the settings.py file at all.
This is a good practice and also the preferred one to configure GeoNode (and Django apps in general).
Whenever you need to change them, set the environment variable accordingly (where it is available) instead of overriding it through the local_settings.
A¶
ACCESS_TOKEN_EXPIRE_SECONDS¶
Default:86400Env:ACCESS_TOKEN_EXPIRE_SECONDSWhen a user logs into GeoNode, if no
ACCESS_TOKENexists, a new one will be created with a default expiration time ofACCESS_TOKEN_EXPIRE_SECONDSseconds (1 day by default).
ACCOUNT_ADAPTER¶
Default:geonode.people.adapters.LocalAccountAdapterCustom GeoNode People (Users) Account Adapter.
ACCOUNT_APPROVAL_REQUIRED¶
Default:FalseEnv:ACCOUNT_APPROVAL_REQUIREDIf
ACCOUNT_APPROVAL_REQUIREDequalsTrue, newly registered users must be activated by a superuser through the Admin gui, before they can access GeoNode.
ACCOUNT_CONFIRM_EMAIL_ON_GET¶
Default:TrueThis is a django-allauth setting It allows specifying the HTTP method used when confirming e-mail addresses.
ACCOUNT_EMAIL_REQUIRED¶
Default:TrueThis is a django-allauth setting which controls whether the user is required to provide an e-mail address upon registration.
ACCOUNT_EMAIL_VERIFICATION¶
Default:optionalThis is a django-allauth setting
ACCOUNT_LOGIN_REDIRECT_URL¶
Default:SITEURLEnv:LOGIN_REDIRECT_URLThis is a django-user-accounts setting It allows specifying the default redirect URL after a successful login.
ACCOUNT_LOGOUT_REDIRECT_URL¶
Default:SITEURLEnv:LOGOUT_REDIRECT_URLThis is a django-user-accounts setting It allows specifying the default redirect URL after a successful logout.
ACCOUNT_NOTIFY_ON_PASSWORD_CHANGE¶
Default:TrueEnv:ACCOUNT_NOTIFY_ON_PASSWORD_CHANGEThis is a django-user-accounts setting
ACCOUNT_OPEN_SIGNUP¶
Default:TrueEnv:ACCOUNT_OPEN_SIGNUPThis is a django-user-accounts setting Whether or not people are allowed to self-register to GeoNode or not.
ACCOUNT_SIGNUP_FORM_CLASS¶
Default:geonode.people.forms.AllauthReCaptchaSignupFormEnv:ACCOUNT_SIGNUP_FORM_CLASSEnabled only when the RECAPTCHA_ENABLED option is
True.Ref. to RECAPTCHA_ENABLED
ACTSTREAM_SETTINGS¶
Default:
{ 'FETCH_RELATIONS': True, 'USE_PREFETCH': False, 'USE_JSONFIELD': True, 'GFK_FETCH_DEPTH': 1, }Actstream Settings.
ADDITIONAL_DATASET_FILE_TYPES¶
External application can define additional supported file type other than the default one declared in the SUPPORTED_DATASET_FILE_TYPES .
The variable should be declared in this way in settings.py (or via application hook):
Please rely on geonode.tests.test_utils.TestSupportedTypes for an example
ADMIN_IP_WHITELIST¶
Default:[]When this list is popuplated with a list of IPs or IP ranges (e.g. 192.168.1.0/24) requests from and admin user will be allowe only from IPs matching with the list.
ADMIN_MODERATE_UPLOADS¶
Default:FalseWhen this variable is set to
True, every uploaded resource must be approved before becoming visible to the public users.Until a resource is in
PENDING APPROVALstate, only the superusers, owner and group members can access it, unless specific edit permissions have been set for other users or groups.A
Group Managercan approve the resource, but he cannot publish it whenever the settingRESOURCE_PUBLISHINGis set toTrue. Otherwise, ifRESOURCE_PUBLISHINGis set toFalse, the resource becomes accessible as soon as it is approved.
ADMINS_ONLY_NOTICE_TYPES¶
Default:['monitoring_alert',]A list of notification labels that standard users should not either see or set.
Such notifications will be hidden from the notify settings page and automatically set to false for non-superusers.
ADVANCED_EDIT_EXCLUDE_FIELD¶
Default:[]A list of element (item name) to exclude from the Advanced Edit page.
Example:
ADVANCED_EDIT_EXCLUDE_FIELD=['title', 'keywords', 'tkeywords']
AGON_RATINGS_CATEGORY_CHOICES¶
Default:
{ "maps.Map": { "map": "How good is this map?" }, "layers.Layer": { "layer": "How good is this layer?" }, "documents.Document": { "document": "How good is this document?" } }
ALLOWED_DOCUMENT_TYPES¶
Default:
['doc', 'docx', 'gif', 'jpg', 'jpeg', 'ods', 'odt', 'odp', 'pdf', 'png', 'ppt', 'pptx', 'rar', 'sld', 'tif', 'tiff', 'txt', 'xls', 'xlsx', 'xml', 'zip', 'gz', 'qml']A list of acceptable file extensions that can be uploaded to the Documents app.
ANONYMOUS_USER_ID¶
Default:-1Env:ANONYMOUS_USER_IDThe id of an anonymous user. This is an django-guardian setting.
API_INCLUDE_REGIONS_COUNT¶
Default:FalseEnv:API_INCLUDE_REGIONS_COUNTIf set to
True, a counter with the total number of available regions will be added to the API JSON Serializer.
API_LIMIT_PER_PAGE¶
Default:200Env:API_LIMIT_PER_PAGEThe Number of items returned by the APIs 0 equals no limit. Different from
CLIENT_RESULTS_LIMIT, affecting the number of items per page in the resource list.
API_LOCKDOWN¶
Default:TrueEnv:API_LOCKDOWNIf this is set to
Trueusers must be authenticated to get search results when search for for users, groups, categories, regions, tags etc. Filtering search results of Resourcebase-objects like Layers, Maps or Documents by one of the above types does not work. Attention: If API_LOCKDOWN is set toFalseall details can be accessed by anonymous users.
ASYNC_SIGNALS¶
Default:FalseEnv:ACCOUNT_NOTIFY_ON_PASSWORD_CHANGE
AUTH_EXEMPT_URLS¶
Default:
(r'^/?$', '/gs/*', '/static/*', '/o/*', '/api/o/*', '/api/roles', '/api/adminRole', '/api/users', '/api/layers',)A tuple of URL patterns that the user can visit without being authenticated. This setting has no effect if
LOCKDOWN_GEONODEis not True. For example,AUTH_EXEMPT_URLS = ('/maps',)will allow unauthenticated users to browse maps.
AUTO_ASSIGN_REGISTERED_MEMBERS_TO_CONTRIBUTORS¶
Default:TrueEnv:AUTO_ASSIGN_REGISTERED_MEMBERS_TO_CONTRIBUTORSAssign new registered users to the contributors group. If set to False new registered members will not obtain automatic permissions to create and edit resources.
AUTO_ASSIGN_REGISTERED_MEMBERS_TO_REGISTERED_MEMBERS_GROUP_NAME¶
Default:TrueEnv:AUTO_ASSIGN_REGISTERED_MEMBERS_TO_REGISTERED_MEMBERS_GROUP_NAMEAuto assign users to a default
REGISTERED_MEMBERS_GROUP_NAMEprivate group afterAUTO_ASSIGN_REGISTERED_MEMBERS_TO_REGISTERED_MEMBERS_GROUP_AT.
AUTO_ASSIGN_REGISTERED_MEMBERS_TO_REGISTERED_MEMBERS_GROUP_AT¶
Default:activationEnv:AUTO_ASSIGN_REGISTERED_MEMBERS_TO_REGISTERED_MEMBERS_GROUP_ATOptions:"registration" | "activation" | "login"Auto assign users to a default
REGISTERED_MEMBERS_GROUP_NAMEprivate group after {“registration” | “activation” | “login”}.Notice that whenever
ACCOUNT_EMAIL_VERIFICATION == TrueandACCOUNT_APPROVAL_REQUIRED == False, users will be able to register and they becameactivealready, even if they won’t be able to login until the email has been verified.
AUTO_GENERATE_AVATAR_SIZES¶
Default:20, 30, 32, 40, 50, 65, 70, 80, 100, 140, 200, 240An iterable of integers representing the sizes of avatars to generate on upload. This can save rendering time later on if you pre-generate the resized versions.
AVATAR_GRAVATAR_SSL¶
Default:FalseEnv:AVATAR_GRAVATAR_SSLOptions:True | FalseForce SSL when loading fallback image from gravatar.com.
AVATAR_DEFAULT_URL¶
Default:/geonode/img/avatar.pngEnv:AVATAR_GRAVATAR_SSLOptions:"filepath to image"Allows to set a custom fallback image in case a User has not uploaded a profile image. Needs
AVATAR_PROVIDERSto be set correctly.
AVATAR_PROVIDERS¶
Default:'avatar.providers.PrimaryAvatarProvider','avatar.providers.GravatarAvatarProvider','avatar.providers.DefaultAvatarProvider'Env:AVATAR_PROVIDERSOptions:Avatar provider objectThis setting configures in which order gravatar images are loaded. A common use case is the use of a local image over a fallback image loaded from gravatar.com. To do so you would change the order like:
'avatar.providers.PrimaryAvatarProvider','avatar.providers.DefaultAvatarProvider','avatar.providers.GravatarAvatarProvider'(DefaultAvatarProvider before GravatarAvatarProvider)
B¶
BING_API_KEY¶
Default:NoneEnv:BING_API_KEYThis property allows to enable a Bing Aerial background.
If using
mapstoreclient library, make sure theMAPSTORE_BASELAYERSinclude the following:if BING_API_KEY: BASEMAP = { "type": "bing", "title": "Bing Aerial", "name": "AerialWithLabels", "source": "bing", "group": "background", "apiKey": "{{apiKey}}", "visibility": False } DEFAULT_MS2_BACKGROUNDS = [BASEMAP,] + DEFAULT_MS2_BACKGROUNDS
BROKER_HEARTBEAT¶
Default:0Heartbeats are used both by the client and the broker to detect if a connection was closed. This is a Celery setting.
BROKER_TRANSPORT_OPTIONS¶
Default:
{ 'fanout_prefix': True, 'fanout_patterns': True, 'socket_timeout': 60, 'visibility_timeout': 86400 }This is a Celery setting.
C¶
CACHES¶
Default:
CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.dummy.DummyCache', }, 'resources': { 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT': 600, 'OPTIONS': { 'MAX_ENTRIES': 10000 } } }A dictionary containing the settings for all caches to be used with Django. This is a Django setting
The
'default'cache is disabled because we don’t have a mechanism to discriminate between client sessions right now, and we don’t want all users fetch the same api results.The
'resources'is not currently used. It might be helpful for caching Django template fragments and/or Tastypie API Caching.
CACHE_BUSTING_STATIC_ENABLED¶
Default:FalseEnv:CACHE_BUSTING_STATIC_ENABLEDThis is a Django Compressed Manifet storage provided by WhiteNoise A boolean allowing you to enable the
WhiteNoise CompressedManifestStaticFilesStorage storage. This works only on a production system.Warning
This works only if
DEBUG = False
CASCADE_WORKSPACE¶
Default:geonodeEnv:CASCADE_WORKSPACE
CATALOGUE¶
A dict with the following keys:
ENGINE: The CSW backend (default is
geonode.catalogue.backends.pycsw_local) URL: The FULLY QUALIFIED base URL to the CSW instance for this GeoNode USERNAME: login credentials (if required) PASSWORD: login credentials (if required)pycsw is the default CSW enabled in GeoNode. pycsw configuration directives are managed in the PYCSW entry.
CATALOGUE_METADATA_TEMPLATE¶
Default :
catalogue/full_metadata.xmlA string with the catalogue xml file needed for the metadata.
CATALOGUE_METADATA_XSL¶
Default :
'/static/metadataxsl/metadata.xslA string pointing to the XSL used to transform the metadata XML into human readable HTML.
CELERYD_POOL_RESTARTS¶
Default:
TrueThis is a Celery setting.
CELERY_ACCEPT_CONTENT¶
Defaul:
['json']This is a Celery setting.
CELERY_ACKS_LATE¶
Default:
TrueThis is a Celery setting
CELERY_BEAT_SCHEDULE¶
Here you can define your scheduled task.
CELERY_DISABLE_RATE_LIMITS¶
Default:
FalseThis is a Celery setting.
CELERY_ENABLE_UTC¶
Default:
TrueThis is a Celery setting.
CELERY_MAX_CACHED_RESULTS¶
Default:
32768This is a Celery setting.
CELERY_MESSAGE_COMPRESSION¶
Default:
gzipThis is a Celery setting.
CELERY_RESULT_PERSISTENT¶
Default:
FalseThis is a Celery setting.
CELERY_RESULT_SERIALIZER¶
Default:
jsonThis is a Celery setting.
CELERY_SEND_TASK_SENT_EVENT¶
Default:
TrueIf enabled, a task-sent event will be sent for every task so tasks can be tracked before they are consumed by a worker. This is a Celery setting.
CELERY_TASK_ALWAYS_EAGER¶
Default:
False if ASYNC_SIGNALS else TrueThis is a Celery setting.
CELERY_TASK_CREATE_MISSING_QUEUES¶
Default:
TrueThis is a Celery setting.
CELERY_TASK_IGNORE_RESULT¶
Default:
TrueThis is a Celery setting.
CELERY_TASK_QUEUES¶
Default:
Queue('default', GEONODE_EXCHANGE, routing_key='default'), Queue('geonode', GEONODE_EXCHANGE, routing_key='geonode'), Queue('update', GEONODE_EXCHANGE, routing_key='update'), Queue('cleanup', GEONODE_EXCHANGE, routing_key='cleanup'), Queue('email', GEONODE_EXCHANGE, routing_key='email'),A tuple with registered Queues.
CELERY_TASK_RESULT_EXPIRES¶
Default:43200Env:CELERY_TASK_RESULT_EXPIRESThis is a Celery setting.
CELERY_TASK_SERIALIZER¶
Default:
jsonEnv:CELERY_TASK_SERIALIZERThis is a Celery setting.
CELERY_TIMEZONE¶
Default:UTCEnv:TIME_ZONEThis is a Celery setting.
CELERY_TRACK_STARTED¶
Default:
TrueThis is a Celery setting.
CELERY_WORKER_DISABLE_RATE_LIMITS¶
Default:
FalseDisable the worker rate limits (number of tasks that can be run in a given time frame).
CELERY_WORKER_SEND_TASK_EVENTS¶
Default:
FalseSend events so the worker can be monitored by other tools.
CLIENT_RESULTS_LIMIT¶
Default:5Env:CLIENT_RESULTS_LIMITThe Number of results per page listed in the GeoNode search pages. Different from
API_LIMIT_PER_PAGE, affecting the number of items returned by the APIs.
CORS_ALLOW_ALL_ORIGINS¶
Default:FalseEnv:CORS_ALLOW_ALL_ORIGINSIf set to true Access-Control-Allow-Origin: * header is set for any response. A safer option (not managed through env vars at the moment) is CORS_ALLOWED_ORIGINS, where a list of hosts can be configured, o CORS_ALLOWED_ORIGIN_REGEXES, where the list can contain regexes. Notice that the Nginx in front of GeoNode always includes Access-Control-Allow-Credentials true. This must also taken into account when CORS is enabled.
CREATE_LAYER¶
Default:FalseEnv:CREATE_LAYEREnable the create layer plugin.
CKAN_ORIGINS¶
Default:
CKAN_ORIGINS = [{ "label":"Humanitarian Data Exchange (HDX)", "url":"https://data.hdx.rwlabs.org/dataset/new?title={name}¬es={abstract}", "css_class":"hdx" }]A list of dictionaries that are used to generate the links to CKAN instances displayed in the Share tab. For each origin, the name and abstract format parameters are replaced by the actual values of the ResourceBase object (layer, map, document). This is not enabled by default. To enable, uncomment the following line: SOCIAL_ORIGINS.extend(CKAN_ORIGINS).
CSRF_COOKIE_HTTPONLY¶
Default:FalseEnv:CSRF_COOKIE_HTTPONLYWhether to use HttpOnly flag on the CSRF cookie. If this is set to True, client-side JavaScript will not be able to access the CSRF cookie. This is a Django Setting
CSRF_COOKIE_SECURE¶
Default:FalseEnv:CSRF_COOKIE_SECUREWhether to use a secure cookie for the CSRF cookie. If this is set to True, the cookie will be marked as “secure,” which means browsers may ensure that the cookie is only sent with an HTTPS connection. This is a Django Setting
CUSTOM_METADATA_SCHEMA¶
Default:{}If present, will extend the available metadata schema used for store new value for each resource. By default override the existing one. The expected schema is the same as the default
D¶
DATA_UPLOAD_MAX_NUMBER_FIELDS¶
Default:
100000Maximum value of parsed attributes.
DATASET_DOWNLOAD_HANDLERS¶
Default:
[]Additional download handlers that provides a link to download the resource
DEBUG¶
Default:FalseEnv:DEBUGOne of the main features of debug mode is the display of detailed error pages. If your app raises an exception when DEBUG is True, Django will display a detailed traceback, including a lot of metadata about your environment, such as all the currently defined Django settings (from settings.py). This is a Django Setting
DEBUG_STATIC¶
Default:FalseEnv:DEBUG_STATICLoad non minified version of static files.
DEFAULT_ANONYMOUS_DOWNLOAD_PERMISSION¶
Default:
TrueWhether the uploaded resources should downloadable by default.
DEFAULT_ANONYMOUS_VIEW_PERMISSION¶
Default:
TrueWhether the uploaded resources should be public by default.
DEFAULT_AUTO_FIELD¶
Default:
django.db.models.AutoFieldDefault primary key field type to use for models that don’t have a field with primary_key=True. Django documentation https://docs.djangoproject.com/it/3.2/ref/settings/#std:setting-DEFAULT_AUTO_FIELD
DEFAULT_DATASET_DOWNLOAD_HANDLER¶
Default:
geonode.layers.download_handler.DatasetDownloadHandlerfrom GeoNode 4.2.x has bee introduced with this issue #11296 and later improved with this issue #11421 the concept of Download Handler and ofc GeoNode provides a default implementation of it which process the download via WPS
DEFAULT_EXTRA_METADATA_SCHEMA¶
Default
{ Optional("id"): int, "filter_header": object, "field_name": object, "field_label": object, "field_value": object, }Define the default metadata schema used for add to the resource extra metadata without modify the actual model. This schema is used as validation for the input metadata provided by the user
id: (optional int): the identifier of the metadata. Optional for creation, required in Upgrade phase
filter_header: (required object): Can be any type, is used to generate the facet filter header. Is also an identifier.
field_name: (required object): name of the metadata field
field_label: (required object): verbose string of the name. Is used as a label in the facet filters.
field_value: (required object): metadata values
An example of metadata that can be ingested is the follow:
[ { "filter_header": "Bike Brand", "field_name": "name", "field_label": "Bike Name", "field_value": "KTM", }, { "filter_header": "Bike Brand", "field_name": "name", "field_label": "Bike Name", "field_value": "Bianchi", } ]
DEFAULT_LAYER_FORMAT¶
Default:image/pngEnv:DEFAULT_LAYER_FORMATThe default format for requested tile images.
DEFAULT_MAP_CENTER¶
Default:(0, 0)Env:DEFAULT_MAP_CENTER_XDEFAULT_MAP_CENTER_YA 2-tuple with the latitude/longitude coordinates of the center-point to use in newly created maps.
DEFAULT_MAP_CRS¶
Default:EPSG:3857Env:DEFAULT_MAP_CRSThe default map projection. Default: EPSG:3857
DEFAULT_MAP_ZOOM¶
Default:0Env:DEFAULT_MAP_ZOOMThe zoom-level to use in newly created maps. This works like the OpenLayers zoom level setting; 0 is at the world extent and each additional level cuts the viewport in half in each direction.
DEFAULT_MAX_PARALLEL_UPLOADS_PER_USER¶
Default: 5
When uploading datasets, this value limits the number os parallel uploads.
The parallelism limit is set during installation using the value of this variable. After installation, only an user with administrative rights can change it. These limits can be changed in the admin panel or accessing by api.
DEFAULT_MAX_UPLOAD_SIZE¶
Default: 104857600 (100 MB in bytes)
When uploading datasets or uploading documents, the total size of the uploaded files is verified.
The size limits are set during installation using the value of this variable. After installation, only an user with administrative rights can change it. These limits can be changed in the admin panel or accessing by api.
DEFAULT_SEARCH_SIZE¶
Default:10Env:DEFAULT_SEARCH_SIZEAn integer that specifies the default search size when using
geonode.searchfor querying data.
DEFAULT_WORKSPACE¶
Default:geonodeEnv:DEFAULT_WORKSPACEThe standard GeoServer workspace.
DELAYED_SECURITY_SIGNALS¶
Default:FalseEnv:DELAYED_SECURITY_SIGNALSThis setting only works when
GEOFENCE_SECURITY_ENABLEDhas been set toTrueand GeoNode is making use of theGeoServer BACKEND.By setting this to
True, every time the permissions will be updated/changed for a Layer, they won’t be applied immediately but only and only if either:
A Celery Worker is running and it is able to execute the
geonode.security.tasks.synch_guardianperiodic task; notice that the task will be executed at regular intervals, based on the interval value defined in the corresponding PeriodicTask model.A periodic
cronjob runs thesync_security_rulesmanagement command, or either it is manually executed from the Django shell.The user, owner of the Layer or with rights to change its permissions, clicks on the GeoNode UI button
Sync permissions immediatelyWarning
Layers won’t be accessible to public users anymore until the Security Rules are not synchronized!
DISPLAY_COMMENTS¶
Default:TrueEnv:DISPLAY_COMMENTSIf set to False comments are hidden.
DISPLAY_RATINGS¶
Default:TrueEnv:DISPLAY_RATINGSIf set to False ratings are hidden.
DISPLAY_SOCIAL¶
Default:TrueEnv:DISPLAY_SOCIALIf set to False social sharing is hidden.
DISPLAY_WMS_LINKS¶
Default:TrueEnv:DISPLAY_WMS_LINKSIf set to False direct WMS link to GeoServer is hidden.
DISPLAY_ORIGINAL_DATASET_LINK¶
Default:TrueEnv:DISPLAY_ORIGINAL_DATASET_LINKIf set to False original dataset download is hidden.
DOWNLOAD_FORMATS_METADATA¶
Specifies which metadata formats are available for users to download.
Default:
DOWNLOAD_FORMATS_METADATA = [ 'Atom', 'DIF', 'Dublin Core', 'ebRIM', 'FGDC', 'ISO', ]
DOWNLOAD_FORMATS_VECTOR¶
Specifies which formats for vector data are available for users to download.
Default:
DOWNLOAD_FORMATS_VECTOR = [ 'JPEG', 'PDF', 'PNG', 'Zipped Shapefile', 'GML 2.0', 'GML 3.1.1', 'CSV', 'Excel', 'GeoJSON', 'KML', 'View in Google Earth', 'Tiles', ]
DOWNLOAD_FORMATS_RASTER¶
Specifies which formats for raster data are available for users to download.
Default:
DOWNLOAD_FORMATS_RASTER = [ 'JPEG', 'PDF', 'PNG' 'Tiles', ]
E¶
EMAIL_ENABLE¶
Default:FalseOptions:
EMAIL_BACKEND
Default:
django.core.mail.backends.smtp.EmailBackendEnv:
DJANGO_EMAIL_BACKENDEMAIL_HOST
Default:
localhostEMAIL_PORT
Default:
25EMAIL_HOST_USER
Default:
''EMAIL_HOST_PASSWORD
Default:
''EMAIL_USE_TLS
Default:
FalseEMAIL_USE_SSL
Default:
FalseDEFAULT_FROM_EMAIL
Default:
GeoNode <no-reply@geonode.org>
EPSG_CODE_MATCHES¶
Default:{ 'EPSG:4326': '(4326) WGS 84', 'EPSG:900913': '(900913) Google Maps Global Mercator', 'EPSG:3857': '(3857) WGS 84 / Pseudo-Mercator', 'EPSG:3785': '(3785 DEPRECATED) Popular Visualization CRS / Mercator', 'EPSG:32647': '(32647) WGS 84 / UTM zone 47N', 'EPSG:32736': '(32736) WGS 84 / UTM zone 36S' }Supported projections human readable descriptions associated to their EPSG Codes. This list will be presented to the user during the upload process whenever GeoNode won’t be able to recognize a suitable projection. Those codes should be aligned to the UPLOADER ones and available in GeoServer also.
EXTRA_METADATA_SCHEMA¶
Default:EXTRA_METADATA_SCHEMA = {**{ "map": os.getenv('MAP_EXTRA_METADATA_SCHEMA', DEFAULT_EXTRA_METADATA_SCHEMA), "layer": os.getenv('DATASET_EXTRA_METADATA_SCHEMA', DEFAULT_EXTRA_METADATA_SCHEMA), "document": os.getenv('DOCUMENT_EXTRA_METADATA_SCHEMA', DEFAULT_EXTRA_METADATA_SCHEMA), "geoapp": os.getenv('GEOAPP_EXTRA_METADATA_SCHEMA', DEFAULT_EXTRA_METADATA_SCHEMA) }, **CUSTOM_METADATA_SCHEMA}Variable used to actually get the expected metadata schema for each resource_type. In this way, each resource type can have a different metadata schema
F¶
FREETEXT_KEYWORDS_READONLY¶
Default:FalseEnv:FREETEXT_KEYWORDS_READONLYMake Free-Text Keywords writable from users. Or read-only when set to False.
FACET_PROVIDERS¶
Default:pre filled list of providersEnv:FACET_PROVIDERSContains the list of the providers available to perform an serve the facets. In case the user wants remove a facets, is enough to remove the path of the proider from the list
G¶
GEOFENCE_SECURITY_ENABLED¶
Default:True(False is Test is true)Env:GEOFENCE_SECURITY_ENABLEDWhether the geofence security system is used.
GEOIP_PATH¶
Default:Path to projectEnv:PROJECT_ROOTThe local path where GeoIPCities.dat is written to. Make sure your user has to have write permissions.
GEONODE_APPS_ENABLED¶
Default:TrueIf enabled contrib apps are used. If disabled: - the geoapps URLs are not included in the routing paths - the geoapps resources are excluded from the search - the resource detail are forwarded to the homepage
ENABLE -> DISABLEtransition:This should be done if the geoapps were enabled in an environment where they are not needed.
DISABLE -> ENABLEtransition:It should be done only once to enable geoapps in an environment where are needed
GEONODE_CLIENT_LAYER_PREVIEW_LIBRARY¶
Default:
"mapstore"The library to use for display preview images of layers. The library choices are:
"mapstore""leaflet""react"
GEONODE_EXCHANGE¶
Default::Exchange("default", type="direct", durable=True)The definition of Exchanges published by geonode. Find more about Exchanges at celery docs.
GEOSERVER_ADMIN_USER¶
Default:adminEnv:GEOSERVER_ADMIN_PASSWORDThe geoserver admin username.
GEOSERVER_ADMIN_PASSWORD¶
Default:geoserverEnv:GEOSERVER_ADMIN_USERThe GeoServer admin password.
GEOSERVER_FACTORY_PASSWORD¶
Default:geoserverEnv:GEOSERVER_FACTORY_PASSWORDThe GeoServer admin factory password, required for the first time configuration fo Geoserver (Docker setup).
GEOSERVER_EXCHANGE¶
Default::Exchange("geonode", type="topic", durable=False)The definition of Exchanges published by GeoServer. Find more about Exchanges at celery docs.
GEOSERVER_LOCATION¶
Default:http://localhost:8080/geoserver/Env:GEOSERVER_LOCATIONUrl under which GeoServer is available.
GEOSERVER_PUBLIC_HOST¶
Default:SITE_HOST_NAME(Variable)Env:GEOSERVER_PUBLIC_HOSTPublic hostname under which GeoServer is available.
GEOSERVER_PUBLIC_LOCATION¶
Default:SITE_HOST_NAME(Variable)Env:GEOSERVER_PUBLIC_LOCATIONPublic location under which GeoServer is available.
GEOSERVER_PUBLIC_PORT¶
Default:8080 (Variable)Env:GEOSERVER_PUBLIC_PORTPublic Port under which GeoServer is available.
GEOSERVER_WEB_UI_LOCATION¶
Default:GEOSERVER_PUBLIC_LOCATION (Variable)Env:GEOSERVER_WEB_UI_LOCATIONPublic location under which GeoServer is available.
GROUP_PRIVATE_RESOURCES¶
Default:FalseEnv:GROUP_PRIVATE_RESOURCESIf this option is enabled, Resources belonging to a Group won’t be visible by others
I¶
IMPORTER HANDLERS¶
Default:pre filled list of handlersEnv:IMPORTER_HANDLERSContains the list of the handlers available to perform an import of a resource. In case the user wants to drop the support during the import phase, is enough to remove the path of the Handler from the list
L¶
LEAFLET_CONFIG¶
A dictionary used for Leaflet configuration.
LICENSES¶
Default:{ 'ENABLED': True, 'DETAIL': 'above', 'METADATA': 'verbose', }Enable Licenses User Interface
LOCAL_SIGNALS_BROKER_URL¶
Default:memory://
LOCKDOWN_GEONODE¶
Default:FalseEnv:LOCKDOWN_GEONODEBy default, the GeoNode application allows visitors to view most pages without being authenticated. If this is set to
Trueusers must be authenticated before accessing URL routes not included inAUTH_EXEMPT_URLS.
LOGIN_URL¶
Default:{}account/login/'.format(SITEURL)Env:LOGIN_URLThe URL where requests are redirected for login.
LOGOUT_URL¶
Default:{}account/login/'.format(SITEURL)Env:LOGOUT_URLThe URL where requests are redirected for logout.
M¶
MAP_CLIENT_USE_CROSS_ORIGIN_CREDENTIALS¶
Default:FalseEnv:MAP_CLIENT_USE_CROSS_ORIGIN_CREDENTIALSEnables cross origin requests for geonode-client.
MAPSTORE_BASELAYERS¶
Default:[ { "type": "osm", "title": "Open Street Map", "name": "mapnik", "source": "osm", "group": "background", "visibility": True }, { "type": "tileprovider", "title": "OpenTopoMap", "provider": "OpenTopoMap", "name": "OpenTopoMap", "source": "OpenTopoMap", "group": "background", "visibility": False }, { "type": "wms", "title": "Sentinel-2 cloudless - https://s2maps.eu", "format": "image/jpeg", "id": "s2cloudless", "name": "s2cloudless:s2cloudless", "url": "https://maps.geo-solutions.it/geoserver/wms", "group": "background", "thumbURL": "%sstatic/mapstorestyle/img/s2cloudless-s2cloudless.png" % SITEURL, "visibility": False }, { "source": "ol", "group": "background", "id": "none", "name": "empty", "title": "Empty Background", "type": "empty", "visibility": False, "args": ["Empty Background", {"visibility": False}] } ]Env:MAPSTORE_BASELAYERSAllows to specify which backgrounds MapStore should use. The parameter
visibilityfor a layer, specifies which one is the default one.A sample configuration using the Bing background without OpenStreetMap, could be the following one:
[ { "type": "bing", "title": "Bing Aerial", "name": "AerialWithLabels", "source": "bing", "group": "background", "apiKey": "{{apiKey}}", "visibility": True }, { "type": "tileprovider", "title": "OpenTopoMap", "provider": "OpenTopoMap", "name": "OpenTopoMap", "source": "OpenTopoMap", "group": "background", "visibility": False }, { "type": "wms", "title": "Sentinel-2 cloudless - https://s2maps.eu", "format": "image/jpeg", "id": "s2cloudless", "name": "s2cloudless:s2cloudless", "url": "https://maps.geo-solutions.it/geoserver/wms", "group": "background", "thumbURL": "%sstatic/mapstorestyle/img/s2cloudless-s2cloudless.png" % SITEURL, "visibility": False }, { "source": "ol", "group": "background", "id": "none", "name": "empty", "title": "Empty Background", "type": "empty", "visibility": False, "args": ["Empty Background", {"visibility": False}] } ]Warning
To use a Bing background, you need to correctly set and provide a valid
BING_API_KEY
MAX_DOCUMENT_SIZE¶
Default:2Env:MAX_DOCUMENT_SIZEAllowed size for documents in MB.
METADATA_PARSERS¶
Is possible to define multiple XML parsers for ingest XML during the layer upload.
The variable should be declared in this way in settings.py:
METADATA_PARSERS = [‘list’, ‘of’, ‘parsing’, ‘functions’]
If you want to always use the default metadata parser and after use your own, the variable must be set with first value as __DEFAULT__ Example:
METADATA_PARSERS = [‘__DEFAULT__’, ‘custom_parsing_function]
If not set, the system will use the __DEFAULT__ parser.
The custom parsing function must be accept in input 6 parameter that are:
- exml (xmlfile)- uuid (str)- vals (dict)- regions (list)- keywords (list)- custom (dict)
If you want to use your parser after the default one, here is how the variable are populated:
- exml: the XML file to parse- uuid: the UUID of the layer- vals: Dictionary of information that belong to ResourceBase- regions: List of regions extracted from the XML- keywords: List of dict of keywords already divided between free-text and thesarus- custom: Custom varible
NOTE: the keywords must be in a specific format, since later this dict, will be ingested by the KeywordHandler which will assign the keywords/thesaurus to the layer.
Here is an example of expected parser function
For more information, please rely to TestCustomMetadataParser which contain a smoke test to explain the functionality
METADATA_STORERS¶
Is possible to define multiple Layer storer during the layer upload.
The variable should be declared in this way:
METADATA_STORERS = [‘custom_storer_function’]
NOTE: By default the Layer is always saved with the default behaviour.
The custom storer function must be accept in input 2 parameter that are:
- Layer (layer model instance)- custom (dict)
Here is how the variable are populated by default:
- layer (layer model instance) that we wanto to change- custom: custom dict populated by the parser
Here is an example of expected storer function
For more information, please rely to TestMetadataStorers which contain a smoke test to explain the functionality
MISSING_THUMBNAIL¶
Default:
geonode/img/missing_thumb.pngThe path to an image used as thumbnail placeholder.
MEMCACHED_BACKEND¶
Default:
django.core.cache.backends.memcached.PyMemcacheCacheDefine which backend of memcached will be used
MEMCACHED_ENABLED¶
Default:
FalseIf True, will use MEMCACHED_BACKEND as default backend in CACHES
MODIFY_TOPICCATEGORY¶
Default:
FalseMetadata Topic Categories list should not be modified, as it is strictly defined by ISO (See: http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml and check the <CodeListDictionary gml:id=”MD_MD_TopicCategoryCode”> element).
Some customization is still possible changing the is_choice and the GeoNode description fields.
In case it is necessary to add/delete/update categories, it is possible to set the MODIFY_TOPICCATEGORY setting to True.
MONITORING_ENABLED¶
Default:
FalseEnable internal monitoring application (geonode.monitoring). If set to True, add following code to your local settings:
MONITORING_ENABLED = True # add following lines to your local settings to enable monitoring if MONITORING_ENABLED: INSTALLED_APPS + ('geonode.monitoring',) MIDDLEWARE_CLASSES + ('geonode.monitoring.middleware.MonitoringMiddleware',)See Read-Only and Maintenance Mode for details.
MONITORING_DATA_AGGREGATION¶
Default:
( (timedelta(seconds=0), timedelta(minutes=1),), (timedelta(days=1), timedelta(minutes=60),), (timedelta(days=14), timedelta(days=1),), )Configure aggregation of past data to control data resolution. It lists data age and aggregation in reverse order, by default:
- for current data, 1 minute resolution- for data older than 1 day, 1-hour resolution- for data older than 2 weeks, 1 day resolutionSee Read-Only and Maintenance Mode for further details.
This setting takes effects only if UUID HANDLER is true.
MONITORING_DATA_TTL¶
Default:365Env:MONITORING_DATA_TTLHow long monitoring data should be stored in days.
MONITORING_DISABLE_CSRF¶
Default:FalseEnv:MONITORING_DISABLE_CSRFSet this to true to disable csrf check for notification config views, use with caution - for dev purpose only.
MONITORING_SKIP_PATHS¶
Default:
( '/api/o/', '/monitoring/', '/admin', '/jsi18n', STATIC_URL, MEDIA_URL, re.compile('^/[a-z]{2}/admin/'), )Skip certain useless paths to not to mud analytics stats too much. See Read-Only and Maintenance Mode to learn more about it.
This setting takes effects only if UUID HANDLER is true.
N¶
NOTIFICATIONS_MODULE¶
Default:
pinax.notificationsApp used for notifications. (pinax.notifications or notification)
NOTIFICATION_ENABLED¶
Default:TrueEnv:NOTIFICATION_ENABLEDEnable or disable the notification system.
O¶
OAUTH2_API_KEY¶
Default:NoneEnv:OAUTH2_API_KEYIn order to protect oauth2 REST endpoints, used by GeoServer to fetch user roles and infos, you should set this key and configure the
geonode REST role serviceaccordingly. Keep it secret!Warning
If not set, the endpoint can be accessed by users without authorization.
OAUTH2_PROVIDER¶
Ref.: OAuth Toolkit settings
OAUTH2_PROVIDER_APPLICATION_MODEL¶
Default:oauth2_provider.ApplicationRef.: OAuth Toolkit settings
OAUTH2_PROVIDER_ACCESS_TOKEN_MODEL¶
Default:oauth2_provider.AccessTokenRef.: OAuth Toolkit settings
OAUTH2_PROVIDER_ID_TOKEN_MODEL¶
Default:oauth2_provider.IDTokenRef.: OAuth Toolkit settings
OAUTH2_PROVIDER_GRANT_MODEL¶
Default:oauth2_provider.GrantRef.: OAuth Toolkit settings
OAUTH2_PROVIDER_REFRESH_TOKEN_MODEL¶
Default:oauth2_provider.RefreshTokenRef.: OAuth Toolkit settings
OGC_SERVER¶
Default:
{}(Empty dictionary)A dictionary of OGC servers and their options. The main server should be listed in the ‘default’ key. If there is no ‘default’ key or if the
OGC_SERVERsetting does not exist, Geonode will raise an Improperly Configured exception. Below is an example of theOGC_SERVERsetting:OGC_SERVER = { 'default' : { 'LOCATION' : 'http://localhost:8080/geoserver/', 'USER' : 'admin', 'PASSWORD' : 'geoserver', } }
BACKEND
Default:
"geonode.geoserver"The OGC server backend to use. The backend choices are:
'geonode.geoserver'BACKEND_WRITE_ENABLED
Default:
TrueSpecifies whether the OGC server can be written to. If False, actions that modify data on the OGC server will not execute.
DATASTORE
Default:
''(Empty string)An optional string that represents the name of a vector datastore, where Geonode uploads are imported into. To support vector datastore imports there also needs to be an entry for the datastore in the
DATABASESdictionary with the same name. Example:OGC_SERVER = { 'default' : { 'LOCATION' : 'http://localhost:8080/geoserver/', 'USER' : 'admin', 'PASSWORD' : 'geoserver', 'DATASTORE': 'geonode_imports' } } DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': 'development.db', }, 'geonode_imports' : { 'ENGINE': 'django.contrib.gis.db.backends.postgis', 'NAME': 'geonode_imports', 'USER' : 'geonode_user', 'PASSWORD' : 'a_password', 'HOST' : 'localhost', 'PORT' : '5432', } }GEONODE_SECURITY_ENABLED
Default:
TrueA boolean that represents whether GeoNode’s security application is enabled.
LOCATION
Default:
"http://localhost:8080/geoserver/"A base URL from which GeoNode can construct OGC service URLs. If using GeoServer you can determine this by visiting the GeoServer administration home page without the /web/ at the end. For example, if your GeoServer administration app is at http://example.com/geoserver/web/, your server’s location is http://example.com/geoserver.
MAPFISH_PRINT_ENABLED
Default:
TrueA boolean that represents whether the MapFish printing extension is enabled on the server.
PASSWORD
Default:
'geoserver'The administrative password for the OGC server as a string.
PRINT_NG_ENABLED
Default:
TrueA boolean that represents whether printing of maps and layers is enabled.
PUBLIC_LOCATION
Default:
"http://localhost:8080/geoserver/"The URL used to in most public requests from Geonode. This setting allows a user to write to one OGC server (the LOCATION setting) and read from a separate server or the PUBLIC_LOCATION.
USER
Default:
'admin'The administrative username for the OGC server as a string.
WMST_ENABLED
Default:
FalseNot implemented.
WPS_ENABLED
Default:
FalseNot implemented.
TIMEOUT
Default:
10The maximum time, in seconds, to wait for the server to respond.
OGP_URL¶
Default:http://geodata.tufts.edu/solr/selectEnv:OGP_URLEndpoint of geodata.tufts.edu getCapabilities.
OPENGRAPH_ENABLED¶
Default::
TrueA boolean that specifies whether Open Graph is enabled. Open Graph is used by Facebook and Slack.
P¶
PINAX_NOTIFICATIONS_BACKENDS¶
Default:
("email", _EMAIL_BACKEND, 0),Used notification backend. This is a pinax notification setting:
PINAX_NOTIFICATIONS_LOCK_WAIT_TIMEOUT¶
Default:-1Env:NOTIFICATIONS_LOCK_WAIT_TIMEOUTIt defines how long to wait for the lock to become available. Default of -1 means to never wait for the lock to become available. This is a pinax notification setting:
PINAX_NOTIFICATIONS_QUEUE_ALL¶
Default:-1Env:NOTIFICATIONS_LOCK_WAIT_TIMEOUTBy default, calling notification.send will send the notification immediately, however, if you set this setting to True, then the default behavior of the send method will be to queue messages in the database for sending via the emit_notices command. This is a pinax notification setting:
PINAX_RATINGS_CATEGORY_CHOICES¶
Default:
{ "maps.Map": { "map": "How good is this map?" }, "layers.Layer": { "layer": "How good is this layer?" }, "documents.Document": { "document": "How good is this document?" } }
PROFILE_EDIT_EXCLUDE_FIELD¶
Default:[]A list of element (item name) to exclude from the Profile Edit page.
Example:
PROFILE_EDIT_EXCLUDE_FIELD=['organization', 'language']
PROXY_ALLOWED_HOSTS¶
Default:
()(Empty tuple)A tuple of strings representing the host/domain names that GeoNode can proxy requests to. This is a security measure to prevent an attacker from using the GeoNode proxy to render malicious code or access internal sites.
Values in this tuple can be fully qualified names (e.g. ‘www.geonode.org’), in which case they will be matched against the request’s Host header exactly (case-insensitive, not including port). A value beginning with a period can be used as a subdomain wildcard:
.geonode.orgwill match geonode.org, www.geonode.org, and any other subdomain of geonode.org. A value of ‘*’ will match anything and is not recommended for production deployments.
PROXY_URL¶
Default
/proxy/?url=The URL to a proxy that will be used when making client-side requests in GeoNode. By default, the internal GeoNode proxy is used but administrators may favor using their own, less restrictive proxies.
PYCSW¶
A dict with pycsw’s configuration with two possible keys CONFIGURATION and FILTER.
CONFIGURATION Of note are the sections
metadata:mainto set CSW server metadata andmetadata:inspireto set INSPIRE options. Settingmetadata:inspire['enabled']totruewill enable INSPIRE support. Server level configurations can be overridden in theserversection. See http://docs.pycsw.org/en/latest/configuration.html for full pycsw configuration details.FILTER Optional settings in order to add a filter to the CSW filtering. The filter follow the django orm structure and must be a ResourceBase field/related field. By default CSW will filter only for layer resource_type
Example of PYCSW configuration. PYCSW: {
‘CONFIGURATION’: {…}, ‘FILTER’: {‘resource_type__in’:[‘layer’] }
}
R¶
RABBITMQ_SIGNALS_BROKER_URL¶
Default:
amqp://localhost:5672The Rabbitmq endpoint
RECAPTCHA_ENABLED¶
Default:FalseEnv:RECAPTCHA_ENABLEDAllows enabling reCaptcha field on signup form. Valid Captcha Public and Private keys will be needed as specified here https://pypi.org/project/django-recaptcha/#installation
You will need to generate a keys pair for
reCaptcha v2for your domain from https://www.google.com/recaptcha/admin/createMore options will be available by enabling this setting:
ACCOUNT_SIGNUP_FORM_CLASS
Default:geonode.people.forms.AllauthReCaptchaSignupFormEnv:ACCOUNT_SIGNUP_FORM_CLASSEnabled only when the RECAPTCHA_ENABLED option is
True.INSTALLED_APPS
The
captchamust be present onINSTALLED_APPS, otherwise you’ll get an error.When enabling the RECAPTCHA_ENABLED option through the
environment, this setting will be automatically added by GeoNode as follows:if 'captcha' not in INSTALLED_APPS: INSTALLED_APPS += ('captcha',)RECAPTCHA_PUBLIC_KEY
Default:geonode_RECAPTCHA_PUBLIC_KEYEnv:RECAPTCHA_PUBLIC_KEYYou will need to generate a keys pair for
reCaptcha v2for your domain from https://www.google.com/recaptcha/admin/createFor mode details on the reCaptcha package, please see:
RECAPTCHA_PRIVATE_KEY
Default:geonode_RECAPTCHA_PRIVATE_KEYEnv:RECAPTCHA_PRIVATE_KEYYou will need to generate a keys pair for
reCaptcha v2for your domain from https://www.google.com/recaptcha/admin/createFor mode details on the reCaptcha package, please see:
RECAPTCHA_PUBLIC_KEY¶
Default:geonode_RECAPTCHA_PUBLIC_KEYEnv:RECAPTCHA_PUBLIC_KEYYou will need to generate a keys pair for
reCaptcha v2for your domain from https://www.google.com/recaptcha/admin/createRef. to RECAPTCHA_ENABLED
RECAPTCHA_PRIVATE_KEY¶
Default:geonode_RECAPTCHA_PRIVATE_KEYEnv:RECAPTCHA_PRIVATE_KEYYou will need to generate a keys pair for
reCaptcha v2for your domain from https://www.google.com/recaptcha/admin/createRef. to RECAPTCHA_ENABLED
REDIS_SIGNALS_BROKER_URL¶
Default:
redis://localhost:6379/0The Redis endpoint.
REGISTERED_MEMBERS_GROUP_NAME¶
Default:registered-membersEnv:REGISTERED_MEMBERS_GROUP_NAMEUsed by
AUTO_ASSIGN_REGISTERED_MEMBERS_TO_REGISTERED_MEMBERS_GROUP_NAMEsettings.
REGISTERED_MEMBERS_GROUP_TITLE¶
Default:Registered MembersEnv:REGISTERED_MEMBERS_GROUP_TITLEUsed by
AUTO_ASSIGN_REGISTERED_MEMBERS_TO_REGISTERED_MEMBERS_GROUP_NAMEsettings.
REGISTRATION_OPEN¶
Default:
FalseA boolean that specifies whether users can self-register for an account on your site.
RESOURCE_PUBLISHING¶
Default:
FalseBy default, the GeoNode application allows GeoNode staff members to publish/unpublish resources. By default, resources are published when created. When this setting is set to True the staff members will be able to unpublish a resource (and eventually publish it back).
S¶
SEARCH_FILTERS¶
Default:
'TEXT_ENABLED': True, 'TYPE_ENABLED': True, 'CATEGORIES_ENABLED': True, 'OWNERS_ENABLED': True, 'KEYWORDS_ENABLED': True, 'H_KEYWORDS_ENABLED': True, 'T_KEYWORDS_ENABLED': True, 'DATE_ENABLED': True, 'REGION_ENABLED': True, 'EXTENT_ENABLED': True,Enabled Search Filters for filtering resources.
SECURE_BROWSER_XSS_FILTER¶
Default:TrueEnv:SECURE_BROWSER_XSS_FILTERIf True, the SecurityMiddleware sets the X-XSS-Protection: 1; mode=block header on all responses that do not already have it. This is Djangosettings.https://docs.djangoproject.com/en/3.2/ref/settings/#secure-browser-xss-filter
SECURE_CONTENT_TYPE_NOSNIFF¶
Default:TrueEnv:SECURE_CONTENT_TYPE_NOSNIFFIf True, the SecurityMiddleware sets the X-Content-Type-Options: nosniff header on all responses that do not already have it. This is Django settings:
SECURE_HSTS_INCLUDE_SUBDOMAINS¶
Default:TrueEnv:SECURE_HSTS_INCLUDE_SUBDOMAINSThis is Django settings: https://docs.djangoproject.com/en/3.2/ref/settings/#secure-hsts-include-subdomains
SECURE_HSTS_SECONDS¶
Default:3600Env:SECURE_HSTS_SECONDSThis is Django settings: If set to a non-zero integer value, the SecurityMiddleware sets the HTTP Strict Transport Security header on all responses that do not already have it.
SECURE_SSL_REDIRECT¶
If True, the SecurityMiddleware redirects all non-HTTPS requests to HTTPS (except for those URLs matching a regular expression listed in SECURE_REDIRECT_EXEMPT). This is Django settings:
SERVICES_TYPE_MODULES¶
It’s possible to define multiple Service Types Modules for custom service type with it’s own Handler.
The variable should be declared in this way in settings.py:
SERVICES_TYPE_MODULES = [ ‘path.to.module1’,’path.to.module2’, … ]
Default service types are already included
Inside each module in the list we need to define a variable:
- `services_type = {
- “<key_of_service_type>”: {
“OWS”: True/False, “handler”: “<path.to.Handler>”, “label”: “<label to show in remote service page>”, “management_view”: “<path.to.view>”
}
}`
the key_of_service_type is just an identifier to assign at the service type. OWS is True if the service type is an OGC Service Compliant. The handler key must contain the path to the class who will provide all methods to manage the service type The label is what is shown in the service form when adding a new service. The management_view, if exists, must contain the path to the method where the management page is opened.
SERVICE_UPDATE_INTERVAL¶
Default:0The Interval services are updated.
SESSION_COOKIE_SECURE¶
Default:FalseEnv:SESSION_COOKIE_SECUREThis is a Django setting:
SESSION_EXPIRED_CONTROL_ENABLED¶
Default:TrueEnv:SESSION_EXPIRED_CONTROL_ENABLEDBy enabling this variable, a new middleware
geonode.security.middleware.SessionControlMiddlewarewill be added to theMIDDLEWARE_CLASSES. The class will check every request to GeoNode and it will force a log out whenever one of the following conditions occurs:
The OAuth2 Access Token is not valid anymore or it is expired.
Warning
The Access Token might be invalid for various reasons. Usually a misconfiguration of the OAuth2
GeoServerapplication. The latter is typically installed and configured automatically at GeoNode bootstrap through the default fixtures.The user has been deactivated for some reason; an Admin has disabled it or its password has expired.
Whenever the middleware terminates the session and the user forced to log out, a message will appear to the GeoNode interface.
SHOW_PROFILE_EMAIL¶
Default:
FalseA boolean which specifies whether to display the email in the user’s profile.
SITE_HOST_NAME¶
Default:localhostEnv:SITE_HOST_NAMEThe hostname used for GeoNode.
SITE_HOST_PORT¶
Default:8000Env:SITE_HOST_PORTThe Site hostport.
SITEURL¶
Default:
'http://localhost:8000/'A base URL for use in creating absolute links to Django views and generating links in metadata.
SIZE_RESTRICTED_FILE_UPLOAD_ELEGIBLE_URL_NAMES¶
Default:
'("data_upload", "uploads-upload", "document_upload",)'Rappresent the list of the urls basename that are under file_size restriction
SKIP_PERMS_FILTER¶
Default:FalseEnv:SKIP_PERMS_FILTERIf set to true permissions prefiltering is avoided.
SOCIALACCOUNT_AUTO_SIGNUP¶
Default:
TrueAttempt to bypass the signup form by using fields (e.g. username, email) retrieved from the social account provider. This is a Django-allauth setting:
SOCIALACCOUNT_PROVIDERS¶
Default:
{ 'linkedin_oauth2': { 'SCOPE': [ 'r_emailaddress', 'r_basicprofile', ], 'PROFILE_FIELDS': [ 'emailAddress', 'firstName', 'headline', 'id', 'industry', 'lastName', 'pictureUrl', 'positions', 'publicProfileUrl', 'location', 'specialties', 'summary', ] }, 'facebook': { 'METHOD': 'oauth2', 'SCOPE': [ 'email', 'public_profile', ], 'FIELDS': [ 'id', 'email', 'name', 'first_name', 'last_name', 'verified', 'locale', 'timezone', 'link', 'gender', ] }, }This is a django-allauth setting It should be a dictionary with provider specific settings
SOCIALACCOUNT_PROFILE_EXTRACTORS¶
Default:
{ "facebook": "geonode.people.profileextractors.FacebookExtractor", "linkedin_oauth2": "geonode.people.profileextractors.LinkedInExtractor", }A dictionary with provider ids as keys and path to custom profile extractor classes as values.
SOCIAL_BUTTONS¶
Default:
TrueA boolean which specifies whether the social media icons and JavaScript should be rendered in GeoNode.
SOCIAL_ORIGINS¶
Default:
SOCIAL_ORIGINS = [{ "label":"Email", "url":"mailto:?subject={name}&body={url}", "css_class":"email" }, { "label":"Facebook", "url":"http://www.facebook.com/sharer.php?u={url}", "css_class":"fb" }, { "label":"Twitter", "url":"https://twitter.com/share?url={url}", "css_class":"tw" }, { "label":"Google +", "url":"https://plus.google.com/share?url={url}", "css_class":"gp" }]A list of dictionaries that are used to generate the social links displayed in the Share tab. For each origin, the name and URL format parameters are replaced by the actual values of the ResourceBase object (layer, map, document).
SOCIALACCOUNT_WITH_GEONODE_LOCAL_SINGUP¶
Default:
TrueVariable which controls displaying local account registration form. By default form is visible
SRID¶
Default:
{ 'DETAIL': 'never', }
SEARCH_RESOURCES_EXTENDED¶
Default:
TrueThis will extend search with additinoal properties. By default its on and search engine will check resource title or purpose or abstract. When set to False just title lookup is performed.
SUPPORTED_DATASET_FILE_TYPES¶
- Default::
SUPPORTED_DATASET_FILE_TYPES = [ {
“id”: “shp”, “label”: “ESRI Shapefile”, “format”: “vector”, “ext”: [“shp”], “requires”: [“shp”, “prj”, “dbf”, “shx”], “optional”: [“xml”, “sld”]
}, {
“id”: “tiff”, “label”: “GeoTIFF”, “format”: “raster”, “ext”: [“tiff”, “tif”], “mimeType”: [“image/tiff”], “optional”: [“xml”, “sld”]
}, {
“id”: “csv”, “label”: “Comma Separated Value (CSV)”, “format”: “vector”, “ext”: [“csv”], “mimeType”: [“text/csv”], “optional”: [“xml”, “sld”]
}, {
“id”: “zip”, “label”: “Zip Archive”, “format”: “archive”, “ext”: [“zip”], “mimeType”: [“application/zip”], “optional”: [“xml”, “sld”]
}, {
“id”: “xml”, “label”: “XML Metadata File”, “format”: “metadata”, “ext”: [“xml”], “mimeType”: [“application/json”], “needsFiles”: [“shp”, “prj”, “dbf”, “shx”, “csv”, “tiff”, “zip”, “sld”]
}, {
“id”: “sld”, “label”: “Styled Layer Descriptor (SLD)”, “format”: “metadata”, “ext”: [“sld”], “mimeType”: [“application/json”], “needsFiles”: [“shp”, “prj”, “dbf”, “shx”, “csv”, “tiff”, “zip”, “xml”]
}
]
Rappresent the list of the supported file type in geonode that can be ingested by the platform
For example. the following configuration is needed to add the GeoJSON as supported file:
- Default::
- {
“id”: “geojson”, “label”: “GeoJSON”, “format”: “metadata”, “ext”: [“geojson”], “mimeType”: [“application/json”]
}
T¶
TASTYPIE_DEFAULT_FORMATS¶
Default:
jsonThis setting allows you to globally configure the list of allowed serialization formats for your entire site. This is a tastypie setting:
THEME_ACCOUNT_CONTACT_EMAIL¶
Default:
'admin@example.com'This email address is added to the bottom of the password reset page in case users have trouble unlocking their account.
THESAURI¶
Default =
[]A list of Keywords thesauri settings: For example THESAURI = [{‘name’:’inspire_themes’, ‘required’:True, ‘filter’:True}, {‘name’:’inspire_concepts’, ‘filter’:True}, ]
TOPICCATEGORY_MANDATORY¶
Default:FalseEnv:TOPICCATEGORY_MANDATORYIf this option is enabled, Topic Categories will become strictly Mandatory on Metadata Wizard
TWITTER_CARD¶
Default::
TrueA boolean that specifies whether Twitter cards are enabled.
TWITTER_SITE¶
Default::
'@GeoNode'A string that specifies the site to for the twitter:site meta tag for Twitter Cards.
TWITTER_HASHTAGS¶
Default::
['geonode']A list that specifies the hashtags to use when sharing a resource when clicking on a social link.
TINYMCE_DEFAULT_CONFIG¶
Default:
{ "selector": "textarea#id_resource-featureinfo_custom_template", "theme": "silver", "height": 500, "plugins": 'print preview paste importcss searchreplace autolink autosave save directionality code visualblocks visualchars fullscreen image link media template codesample table charmap hr pagebreak nonbreaking anchor toc insertdatetime advlist lists wordcount imagetools textpattern noneditable help charmap quickbars emoticons', "imagetools_cors_hosts": ['picsum.photos'], "menubar": 'file edit view insert format tools table help', "toolbar": 'undo redo | bold italic underline strikethrough | fontselect fontsizeselect formatselect | alignleft aligncenter alignright alignjustify | outdent indent | numlist bullist | forecolor backcolor removeformat | pagebreak | charmap emoticons | fullscreen preview save | insertfile image media template link anchor codesample | ltr rtl', "toolbar_sticky": "true", "autosave_ask_before_unload": "true", "autosave_interval": "30s", "autosave_prefix": "{path}{query}-{id}-", "autosave_restore_when_empty": "false", "autosave_retention": "2m", "image_advtab": "true", "content_css": '//www.tiny.cloud/css/codepen.min.css', "importcss_append": "true", "image_caption": "true", "quickbars_selection_toolbar": 'bold italic | quicklink h2 h3 blockquote quickimage quicktable', "noneditable_noneditable_class": "mceNonEditable", "toolbar_mode": 'sliding', "contextmenu": "link image imagetools table", "templates": [ { "title": 'New Table', "description": 'creates a new table', "content": '<div class="mceTmpl"><table width="98%%" border="0" cellspacing="0" cellpadding="0"><tr><th scope="col"> </th><th scope="col"> </th></tr><tr><td> </td><td> </td></tr></table></div>' }, { "title": 'Starting my story', "description": 'A cure for writers block', "content": 'Once upon a time...' }, { "title": 'New list with dates', "description": 'New List with dates', "content": '<div class="mceTmpl"><span class="cdate">cdate</span><br /><span class="mdate">mdate</span><h2>My List</h2><ul><li></li><li></li></ul></div>' } ], "template_cdate_format": '[Date Created (CDATE): %m/%d/%Y : %H:%M:%S]', "template_mdate_format": '[Date Modified (MDATE): %m/%d/%Y : %H:%M:%S]', }HTML WYSIWYG Editor (TINYMCE) Menu Bar Settings. For more info see:
U¶
UI_REQUIRED_FIELDS¶
If this option is enabled, the input selected (we are referring to the one present in the optional Metadata-Tab on the Metadata-Wizard) will become mandatory.
The fields that can be mandatory are:
id_resource-edition => Label: Editionid_resource-purpose => Label: Purposeid_resource-supplemental_information => Label: Supplemental informationid_resource-temporal_extent_start_pickers => Label: temporal extent startid_resource-temporal_extent_end => Label: temporal extent endid_resource-maintenance_frequency => Label: Maintenance frequencyid_resource-spatial_representation_type => Label: Spatial representation type
If at least one on the above ids is set in this configuration, the panel header will change from Optional to Mandatory
Confiugration Example:UI_REQUIRED_FIELDS = [‘id_resource-edition’]
UNOCONV_ENABLE¶
Default:FalseEnv:UNOCONV_ENABLE
UPLOADER¶
Default:
{ 'BACKEND' : 'geonode.importer', 'OPTIONS' : { 'TIME_ENABLED': False, } }A dictionary of Uploader settings and their values.
BACKEND
Default:
'geonode.importer'The importer backend requires the GeoServer importer extension to be enabled.
OPTIONS
Default:
'OPTIONS' : { 'TIME_ENABLED': False, }
TIME_ENABLED
Default:
FalseA boolean that specifies whether the upload should allow the user to enable time support when uploading data.
USER_MESSAGES_ALLOW_MULTIPLE_RECIPIENTS¶
Default:TrueEnv:USER_MESSAGES_ALLOW_MULTIPLE_RECIPIENTSSet to true to have multiple recipients in /message/create/
USER_DELETION_RULES¶
Default:["geonode.people.utils.user_has_resources"]Env:USER_DELETION_RULESList of callables that will be called the deletion of a user account is requested. The deletion will fail if any of the callables return
False. New rules can be added, as a string path to the callable, as long as they take as parameter the user object and return a boolean.
UUID HANDLER¶
Is possible to define an own uuidhandler for the Layer.
To start using your own handler, is needed to add the following configuration:
LAYER_UUID_HANDLER = “mymodule.myfile.MyObject”
The Object must accept as init the instance of the layer and have a method named create_uuid()
here is an example:
class MyObject():def __init__(self, instance):self.instance = instancedef create_uuid(self):# here your codepass
SOCIALACCOUNT_ADAPTER¶