[GeoNode-users] [GeoNode-devel] Layer Upload doesn't work in GeoNode 2.8.1rc0: "AttributeError at /layers/upload 'NoneType' object has no attribute 'charset'"

Alessio Fabiani alessio.fabiani at geo-solutions.it
Mon May 6 01:00:09 PDT 2019


Hello Michael,
I'm going to do some checks on 2.8 branches and probably backport some
fixes in the next few days.
I'll keep you posted about that.

Alessio.

Il giorno sab 4 mag 2019 alle ore 00:08 Michael Härtel <haerta at haerta.de>
ha scritto:

> Hello List,
>
> I followed the instructions from here to install geonode:
>
>
> http://docs.geonode.org/en/latest/tutorials/install_and_admin/geonode_install/install_geonode_application.html
>
> Despite the fact that the url to Geonode from the tutorial ("--template=
> https://github.com/GeoNode/geonode-project/archive/2.8.0.zip") is not
> available and I had a hard time to find a URL that worked for me (I used
> the ZIP from GIT/2.8.x branch), I eventuelly got everything working apart
> from the layer upload.
>
> I have no idea, how to debug this issue:
>
>    - The apache error.log does not show any entry.
>    - The apache access.log only shows an error 500
>    - The database doesn't show any relevant entry
>    - GeoServer doesn't show any relevant entry (Even with VERBODE
>    logging).
>
> It seems that the file never reaches the server so the "saved_layer"
> variable is empty/none/null (I am not a Python programmer) in line 294 of
> "/home/geo/Envs/geonode/src/geonode/geonode/layers/views.py"
>
> Where is the relevant configuration?
>
>    - the directory and sub directories of
>    "/home/geonode/my_geonode/my_geonode/uploaded" has correct permissions
>    (even tested with "chmod -R ugo+rwx
>    /home/geonode/my_geonode/my_geonode/uploaded"
>    - the apache file /etc/apache2/sites-available/geonode.conf has
>    correct entries:
>    Alias /uploaded/ /home/geonode/my_geonode/my_geonode/uploaded/
>    <Directory "/home/geonode/my_geonode/my_geonode/uploaded/layers/">
>    ..."
>
> Is there anyone who can tell me what else to check or how to debug this
> issue?
>
> When I select some shape files and click "upload files", the DEBUG output
> on the web page looks like this:
>
> AttributeError at /layers/upload 'NoneType' object has no attribute
> 'charset' Request Method: POST Request URL:
> http://geoportal.dummy.org/layers/upload Django Version: 1.8.19 Python
> Executable: /usr/bin/python Python Version: 2.7.12 Python Path:
> ['/home/geonode/my_geonode',
> '/home/geo/Envs/geonode/lib/python2.7/site-packages',
> '/home/geo/Envs/geonode/src/geonode', '/home/dummygeonode/my_geonode',
> '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu',
> '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old',
> '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages',
> '/usr/lib/python2.7/dist-packages',
> '/usr/lib/python2.7/dist-packages/PILcompat', '/var/www', '/var/www']
> Server time: Fri, 3 May 2019 21:36:06 +0000 Installed Applications:
> ('modeltranslation', 'django.contrib.auth', 'django.contrib.contenttypes',
> 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.admin',
> 'django.contrib.sitemaps', 'django.contrib.staticfiles',
> 'django.contrib.messages', 'django.contrib.humanize', 'django.contrib.gis',
> 'dj_pagination', 'taggit', 'treebeard', 'geoexplorer', 'leaflet',
> 'bootstrap3_datetime', 'django_extensions', 'django_basic_auth',
> 'autocomplete_light', 'mptt', 'storages', 'floppyforms',
> 'pinax_theme_bootstrap', 'django_forms_bootstrap', 'avatar', 'dialogos',
> 'agon_ratings', 'announcements', 'actstream', 'user_messages', 'tastypie',
> 'polymorphic', 'guardian', 'oauth2_provider', 'corsheaders', 'invitations',
> 'allauth', 'allauth.account', 'allauth.socialaccount', 'rest_framework',
> 'geonode', 'geonode.api', 'geonode.base', 'geonode.layers', 'geonode.maps',
> 'geonode.documents', 'geonode.security', 'geonode.catalogue',
> 'geonode.people', 'geonode.client', 'geonode.themes', 'geonode.proxy',
> 'geonode.social', 'geonode.groups', 'geonode.services',
> 'geonode.geoserver', 'geonode.upload', 'geonode.tasks',
> 'geonode.messaging', 'geonode.contrib.metadataxsl',
> 'geonode.contrib.api_basemaps', 'geonode.contrib.ows_api',
> 'pinax.notifications', 'geonode.contrib.monitoring', 'my_geonode', , )
> Installed Middleware: ('corsheaders.middleware.CorsMiddleware',
> 'django.middleware.common.CommonMiddleware',
> 'django.contrib.sessions.middleware.SessionMiddleware',
> 'django.contrib.messages.middleware.MessageMiddleware',
> 'dj_pagination.middleware.PaginationMiddleware',
> 'django.middleware.locale.LocaleMiddleware',
> 'django.middleware.csrf.CsrfViewMiddleware',
> 'django.contrib.auth.middleware.AuthenticationMiddleware',
> 'django.middleware.clickjacking.XFrameOptionsMiddleware',
> 'django.middleware.security.SecurityMiddleware',
> 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
> 'oauth2_provider.middleware.OAuth2TokenMiddleware',
> 'django.middleware.security.SecurityMiddleware',
> 'geonode.contrib.monitoring.middleware.MonitoringMiddleware') Traceback:
> File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/core/handlers/base.py"
> in get_response 132. response = wrapped_callback(request, *callback_args,
> **callback_kwargs) File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/contrib/auth/decorators.py"
> in _wrapped_view 22. return view_func(request, *args, **kwargs) File
> "/home/geo/Envs/geonode/src/geonode/geonode/layers/views.py" in
> layer_upload 294. out[_k] =
> out[_k].decode(saved_layer.charset).encode("utf-8") Exception Type:
> AttributeError at /layers/upload Exception Value: 'NoneType' object has no
> attribute 'charset' Request information: GET: No GET data POST: charset =
> u'UTF-8' permissions =
> u'{"users":{"AnonymousUser":["view_resourcebase","download_resourcebase"]},"groups":{}}'
> FILES: shx_file = base_file = shp_file = dbf_file = prj_file = COOKIES:
> csrftoken = 'RCPSALmmUm4LV9RF7wWzsqxGFfdK1XDn' sessionid =
> 'h0bcxlw4nutyik4kb63ao9d3pzxud6hq' _ga = 'GA1.2.1615965258.1556718183'
> META: mod_wsgi.listener_port = '80' HTTP_REFERER = '
> http://geoportal.dummy.org/layers/upload' mod_wsgi.listener_host = ''
> HTTP_REVERSE_VIA = 'IPGW2' CONTEXT_DOCUMENT_ROOT =
> '/home/geonode/my_geonode/my_geonode' SERVER_SOFTWARE = 'Apache/2.4.18
> (Ubuntu)' SCRIPT_NAME = u'' mod_wsgi.enable_sendfile = '0' HTTP_X_CSRFTOKEN
> = 'RCPSALmmUm4LV9RF7wWzsqxGFfdK1XDn' SERVER_SIGNATURE = '
> Apache/2.4.18 (Ubuntu) Server at geoportal.dummy.org Port 80
> \n' REQUEST_METHOD = 'POST' PATH_INFO = u'/layers/upload' SERVER_PROTOCOL
> = 'HTTP/1.1' QUERY_STRING = '' CONTENT_LENGTH = '4451' HTTP_USER_AGENT =
> 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101
> Firefox/66.0' HTTP_CONNECTION = 'Keep-Alive' HTTP_COOKIE =
> 'csrftoken=RCPSALmmUm4LV9RF7wWzsqxGFfdK1XDn;
> _ga=GA1.2.1615965258.1556718183;
> sessionid=h0bcxlw4nutyik4kb63ao9d3pzxud6hq' SERVER_NAME = '
> geoportal.dummy.org' REMOTE_ADDR = '172.30.1.13' mod_wsgi.handler_script
> = '' mod_wsgi.request_handler = 'wsgi-script' apache.version =
> wsgi.url_scheme = 'http' PATH_TRANSLATED =
> '/home/geonode/my_geonode/my_geonode/wsgi.py/layers/upload' SERVER_PORT =
> '80' mod_wsgi.queue_start = '1556919366052407' wsgi.multiprocess = True
> mod_wsgi.input_chunked = '0' SERVER_ADDR = '172.30.1.167' DOCUMENT_ROOT =
> '/home/geonode/my_geonode/my_geonode' mod_wsgi.process_group = 'geonode'
> HTTP_X_REQUESTED_WITH = 'XMLHttpRequest' mod_wsgi.daemon_connects = '1'
> SCRIPT_FILENAME = '/home/geonode/my_geonode/my_geonode/wsgi.py'
> SERVER_ADMIN = 'webmaster at localhost' wsgi.input = HTTP_HOST = '
> geoportal.dummy.org' CONTEXT_PREFIX = '' wsgi.multithread = True
> mod_wsgi.callable_object = 'application' mod_wsgi.daemon_restarts = '0'
> REQUEST_URI = '/layers/upload' HTTP_ACCEPT = '*/*' wsgi.file_wrapper = ''
> wsgi.version = GATEWAY_INTERFACE = 'CGI/1.1' wsgi.run_once = False
> wsgi.errors = REMOTE_PORT = '25591' HTTP_ACCEPT_LANGUAGE = 'en-GB,en;q=0.5'
> REQUEST_SCHEME = 'http' mod_wsgi.version = mod_wsgi.script_start =
> '1556919366052600' CONTENT_TYPE = 'multipart/form-data;
> boundary=---------------------------75853149526340'
> mod_wsgi.application_group = 'geoportal.cgiarad.org|'
> mod_wsgi.script_reloading = '1' mod_wsgi.request_start = '1556919366052122'
> CSRF_COOKIE = u'RCPSALmmUm4LV9RF7wWzsqxGFfdK1XDn' mod_wsgi.daemon_start =
> '1556919366052568' Settings: Using settings module my_geonode.settings
> BROKER_TRANSPORT_OPTIONS = {'fanout_prefix': True, 'fanout_patterns': True,
> 'visibility_timeout': 86400, 'socket_timeout': 60} EMAIL_USE_TLS = False
> CELERY_SEND_TASK_SENT_EVENT = True DOWNLOAD_FORMATS_METADATA = ['Atom',
> 'DIF', 'Dublin Core', 'ebRIM', 'FGDC', 'ISO', 'ISO with XSL']
> SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer'
> ACCOUNT_EMAIL_REQUIRED = True OGC_SERVER_DEFAULT_USER = 'admin'
> MESSAGE_STORAGE =
> 'django.contrib.messages.storage.fallback.FallbackStorage' WSGI_APPLICATION
> = 'my_geonode.wsgi.application' SESSION_COOKIE_NAME = 'sessionid'
> CELERY_BROKER_URL = 'memory://' VERSION = '2.8.1rc0' AWS_BUCKET_NAME = ''
> ACCOUNT_CONFIRM_EMAIL_ON_GET = True EMAIL_SSL_KEYFILE =
> u'********************' SERVER_EMAIL = 'root at localhost'
> ACCOUNT_EMAIL_VERIFICATION = 'optional' FIRST_DAY_OF_WEEK = 0 CACHES =
> {'default': {'BACKEND': 'django.core.cache.backends.dummy.DummyCache'}}
> CKAN_ORIGINS = [{'url': 'https://data.hdx.rwlabs.org/dataset/new?title={name}&dataset_date={date}¬es={abstract}&caveats={caveats}',
> 'css_class': 'hdx', 'label': 'Humanitarian Data Exchange (HDX)'}]
> SESSION_COOKIE_PATH = '/' UNOCONV_ENABLE = 1 MISSING_THUMBNAIL =
> 'geonode/img/missing_thumb.png' MODELTRANSLATION_FALLBACK_LANGUAGES = 'en'
> PINAX_NOTIFICATIONS_HOOKSET = CELERY_TASK_IGNORE_RESULT = True
> DEFAULT_INDEX_TABLESPACE = '' MONITORING_HOST_NAME = 'localhost' THESAURI =
> [] USE_X_FORWARDED_HOST = False TWITTER_HASHTAGS = ['geonode']
> PUBLIC_GEOSERVER = {'source': {'url': 'http://localhost:8080/geoserver/ows',
> 'restUrl': '/gs/rest', 'attribution': '© http://localhost:8000/',
> 'ptype': 'gxp_wmscsource', 'title': 'GeoServer - Public Layers'}}
> GUARDIAN_GET_INIT_ANONYMOUS_USER =
> 'geonode.people.models.get_anonymous_user_instance' CSRF_COOKIE_DOMAIN =
> None FILE_CHARSET = 'utf-8' DEBUG = True SESSION_FILE_PATH = None
> DISPLAY_COMMENTS = 1 DATABASE_ENGINE = 'postgresql_psycopg2'
> STATICFILES_DIRS = ['/etc/geonode/media',
> '/home/geo/Envs/geonode/src/geonode/geonode/static',
> '/home/geonode/my_geonode/my_geonode/static']
> CELERY_TASK_CREATE_MISSING_QUEUES = True SECURE_PROXY_SSL_HEADER = None
> AWS_SECRET_ACCESS_KEY = u'********************' DEBUG_PROPAGATE_EXCEPTIONS
> = False MONTH_DAY_FORMAT = 'F j' SEARCH_FILTERS = {'REGION_ENABLED': True,
> 'EXTENT_ENABLED': True, 'DATE_ENABLED': True, 'KEYWORDS_ENABLED':
> u'********************', 'CATEGORIES_ENABLED': True, 'TYPE_ENABLED': True,
> 'T_KEYWORDS_ENABLED': u'********************', 'OWNERS_ENABLED': True,
> 'H_KEYWORDS_ENABLED': u'********************', 'TEXT_ENABLED': True}
> THUMBNAIL_GENERATOR = 'geonode.layers.utils.create_gs_thumbnail_geonode'
> AUTH_USER_MODEL = 'people.Profile' USE_THOUSAND_SEPARATOR = False
> UNOCONV_TIMEOUT = 30 CELERY_DISABLE_RATE_LIMITS = False CSRF_FAILURE_VIEW =
> 'django.views.csrf.csrf_failure' CELERY_WORKER_SEND_TASK_EVENTS = True
> CELERY_TASK_SERIALIZER = 'json' DECIMAL_SEPARATOR = '.' IGNORABLE_404_URLS
> = NOSE_ARGS = ['--nocapture', '--detailed-errors']
> TEMPLATE_STRING_IF_INVALID = '' FIXTURE_DIRS = SOCIALACCOUNT_AUTO_SIGNUP =
> False PINAX_NOTIFICATIONS_BACKENDS = {(0, 'email'): } FORMAT_MODULE_PATH =
> None ALLOWED_DOCUMENT_TYPES = ['doc', 'docx', 'gif', 'jpg', 'jpeg', 'ods',
> 'odt', 'odp', 'pdf', 'png', 'ppt', 'pptx', 'rar', 'sld', 'tif', 'tiff',
> 'txt', 'xls', 'xlsx', 'xml', 'zip', 'gz', 'qml'] RESOURCE_PUBLISHING =
> False DISALLOWED_USER_AGENTS = DEFAULT_LAYER_FORMAT = 'image/png'
> THUNDERFOREST_BASEMAPS = False CELERY_REDIRECT_STDOUTS = True SITENAME =
> 'my_geonode' CELERY_MESSAGE_COMPRESSION = 'gzip' USE_ETAGS = False
> DISPLAY_WMS_LINKS = True GEOTIFF_IO_ENABLED = 0
> PINAX_NOTIFICATIONS_GET_LANGUAGE_MODEL = at 0x7f8c98343c80> USE_TZ = True
> SHORT_DATETIME_FORMAT = 'm/d/Y P' LANGUAGE_COOKIE_PATH = '/'
> MAX_DOCUMENT_SIZE = 2 YEAR_MONTH_FORMAT = 'F Y' AWS_QUERYSTRING_AUTH =
> False CELERY_SEND_TASK_EVENTS = True LANGUAGE_CODE = 'en' ROOT_URLCONF =
> 'my_geonode.urls' LOGIN_URL = '/account/login/' DEFAULT_MAP_CENTER =
> DATABASE_HOST = 'localhost' TEMPLATE_DIRS = BROKER_HEARTBEAT = 0
> SESSION_CACHE_ALIAS = 'default' SESSION_COOKIE_DOMAIN = None
> PINAX_NOTIFICATIONS_QUEUE_ALL = False FILE_UPLOAD_PERMISSIONS = None
> BING_API_KEY = u'********************' APPEND_SLASH = True DATABASE_ROUTERS
> = [] STAMEN_BASEMAPS = False GEOSERVER_LOCATION = '
> http://localhost/geoserver/' INVITATIONS_ADAPTER =
> 'geonode.people.adapters.LocalAccountAdapter' HOSTNAME = 'localhost'
> EXIF_ENABLED = False CATALOGUE = {'default': {'ENGINE':
> 'geonode.catalogue.backends.pycsw_local', 'URL': '
> http://geoportal.dummy.org/catalogue/csw'}} LOCKDOWN_GEONODE = 0
> MIDDLEWARE_CLASSES = USE_I18N = 1 LANGUAGE_COOKIE_NAME = 'django_language'
> CELERY_TASK_ALWAYS_EAGER = True TEST_RUNNER_PARALLEL = 0
> CELERYD_HIJACK_ROOT_LOGGER = True HAYSTACK_SEARCH = 0 X_FRAME_OPTIONS =
> 'DENY' UNOCONV_EXECUTABLE = '/usr/bin/unoconv' OAUTH2_PROVIDER = {'SCOPES':
> {'read': 'Read scope', 'write': 'Write scope', 'groups': 'Access to your
> groups'}, 'CLIENT_ID_GENERATOR_CLASS':
> 'oauth2_provider.generators.ClientIdGenerator'} GEOSERVER_PUBLIC_LOCATION =
> 'http://geoportal.dummy.org/geoserver/' SECURE_SSL_HOST = None
> NLP_ENABLED = False MONITORING_DISABLE_CSRF = False SOCIAL_ORIGINS =
> [{'url': 'mailto:?subject= <?subject=>{name}&body={url}', 'css_class':
> 'email', 'label': 'Email'}, {'url': 'http://www.facebook.com/sharer.php?u={url}',
> 'css_class': 'fb', 'label': 'Facebook'}, {'url': '
> https://twitter.com/share?url={url}&hashtags={hashtags}', 'css_class':
> 'tw', 'label': 'Twitter'}, {'url': 'https://plus.google.com/share?url={url}',
> 'css_class': 'gp', 'label': 'Google +'}] PREPEND_WWW = False
> AUTH_IP_WHITELIST = [] DATABASE_PORT = '5432'
> DEFAULT_ANONYMOUS_VIEW_PERMISSION = 1 GOOGLE_API_KEY =
> u'********************' GEOIP_PATH = '/usr/local/share/GeoIP'
> ADMIN_MODERATE_UPLOADS = False TASTYPIE_DEFAULT_FORMATS = ['json']
> DEFAULT_ANONYMOUS_DOWNLOAD_PERMISSION = 1 FORCE_SCRIPT_NAME = None
> DISPLAY_RATINGS = 1 TEST_RUNNER_KEEPDB = 0 PASSWORD_RESET_TIMEOUT_DAYS =
> u'********************' DEFAULT_SEARCH_SIZE = 10 CELERYD_CONCURENCY = 1
> SESSION_ENGINE = 'django.contrib.sessions.backends.db'
> API_INCLUDE_REGIONS_COUNT = u'********************'
> PINAX_NOTIFICATIONS_LOCK_WAIT_TIMEOUT = -1 MIGRATION_MODULES = {}
> NLP_MODEL_PATH = '/opt/MITIE/MITIE-models/english/ner_model.dat'
> PROXY_ALLOWED_HOSTS = ['geoportal.dummy.org', 'geoportal.cgiarad.org',
> '172.30.1.167', 'localhost'] CARTODB_BASEMAPS = False
> SECURE_BROWSER_XSS_FILTER = True GEONODE_CONTRIB_APPS = SRID = {'DETAIL':
> 'never'} ACCOUNT_NOTIFY_ON_PASSWORD_CHANGE = u'********************'
> AGON_RATINGS_CATEGORY_CHOICES = {'maps.Map': {'map': 'How good is this
> map?'}, 'layers.Layer': {'layer': 'How good is this layer?'},
> 'documents.Document': {'document': 'How good is this document?'}}
> DEFAULT_EXCEPTION_REPORTER_FILTER =
> 'django.views.debug.SafeExceptionReporterFilter' ADMINS = []
> MONITORING_DATA_TTL = datetime.timedelta(7) GEOSERVER_EXCHANGE =
> CELERY_ACCEPT_CONTENT = ['json'] LOCAL_MEDIA_URL = '/uploaded/' LOGOUT_URL
> = '/account/logout/' USE_GEOSERVER = True EXTRA_LANG_INFO = {'tl': {'code':
> 'tl', 'name': 'Tagalog', 'bidi': False, 'name_local': 'tagalog'}, 'am':
> {'code': 'am', 'name': 'Amharic', 'bidi': False, 'name_local': 'Amharic'},
> 'si': {'code': 'si', 'name': 'Sinhala', 'bidi': False, 'name_local':
> 'sinhala'}, 'ta': {'code': 'ta', 'name': 'Tamil', 'bidi': False,
> 'name_local': u'tamil'}} SHOW_PROFILE_EMAIL = False CELERYD_LOG_LEVEL = 1
> DATABASE_USER = 'geonode' TEMPLATES = [{'DIRS':
> ['/home/geonode/my_geonode/my_geonode/templates',
> '/home/geo/Envs/geonode/src/geonode/geonode/templates'], 'OPTIONS':
> {'debug': 1, 'context_processors':
> ['django.template.context_processors.debug',
> 'django.template.context_processors.i18n', '
> django.template.context_processors.tz',
> 'django.template.context_processors.request',
> 'django.template.context_processors.media',
> 'django.template.context_processors.static',
> 'django.contrib.auth.context_processors.auth',
> 'django.contrib.messages.context_processors.messages',
> 'django.contrib.auth.context_processors.auth',
> 'geonode.context_processors.resource_urls',
> 'geonode.geoserver.context_processors.geoserver_urls',
> 'geonode.themes.context_processors.custom_theme'], 'loaders':
> ['django.template.loaders.filesystem.Loader',
> 'django.template.loaders.app_directories.Loader']}, 'NAME': 'GeoNode
> Project Templates', 'BACKEND':
> 'django.template.backends.django.DjangoTemplates'}] EMAIL_SSL_CERTFILE =
> None CELERY_TASK_QUEUES = DEFAULT_WORKSPACE = 'geonode' ASYNC_SIGNALS =
> False LOCAL_GEOSERVER = {'source': {'url': '
> http://geoportal.dummy.org/geoserver/wms', 'restUrl': '/gs/rest',
> 'ptype': 'gxp_wmscsource'}} DEFAULT_TABLESPACE = '' CELERY_ACKS_LATE = True
> EMAIL_ENABLE = True SESSION_COOKIE_AGE = 1209600
> THEME_ACCOUNT_CONTACT_EMAIL = 'admin at example.com' NOTIFICATION_ENABLED =
> True LANGUAGES = CELERY_TASK_RESULT_EXPIRES = 43200
> GEONODE_CLIENT_LAYER_PREVIEW_LIBRARY = 'geoext' ABSOLUTE_URL_OVERRIDES = {}
> OGC_SERVER_DEFAULT_PASSWORD = u'********************'
> CACHE_MIDDLEWARE_SECONDS = 600 CSRF_COOKIE_HTTPONLY = False TEST = False
> EMAIL_HOST_USER = 'Geoportal dummy ' CASCADE_WORKSPACE = 'geonode'
> CSRF_COOKIE_SECURE = False CELERY_TRACK_STARTED = True UPLOADER =
> {'SUPPORTED_CRS': ['EPSG:4326', 'EPSG:3785', 'EPSG:3857', 'EPSG:900913',
> 'EPSG:32647', 'EPSG:32736'], 'BACKEND': 'geonode.rest', 'OPTIONS':
> {'TIME_ENABLED': False, 'MOSAIC_ENABLED': False, 'GEOGIG_ENABLED': False},
> 'SUPPORTED_EXT': ['.shp', '.csv', '.kml', '.kmz', '.json', '.geojson',
> '.tif', '.tiff', '.geotiff', '.gml', '.xml']} LICENSES = {'ENABLED': True,
> 'DETAIL': 'above', 'METADATA': 'verbose'} EMAIL_HOST_PASSWORD =
> u'********************' PYCSW = {'CONFIGURATION': {'metadata:main':
> {'identification_fees': 'None', 'provider_url': '
> http://geoportal.dummy.org/', 'identification_keywords': 'sdi, catalogue,
> discovery, metadata, GeoNode', 'contact_address': 'Mailing Address',
> 'identification_accessconstraints': 'None', 'contact_name': 'Lastname,
> Firstname', 'contact_stateorprovince': 'Administrative Area',
> 'contact_country': 'Country', 'contact_url': 'Contact URL',
> 'provider_name': 'Organization Name', 'contact_phone': '+xx-xxx-xxx-xxxx',
> 'contact_hours': 'Hours of Service', 'contact_role': 'pointOfContact',
> 'contact_email': 'Email Address', 'identification_title': 'GeoNode
> Catalogue', 'contact_postalcode': 'Zip or Postal Code', 'contact_city':
> 'City', 'identification_keywords_type': 'theme', 'identification_abstract':
> 'GeoNode is an open source platform that facilitates the creation, sharing,
> and collaborative use of geospatial data', 'contact_fax':
> '+xx-xxx-xxx-xxxx', 'contact_instructions': 'During hours of service. Off
> on weekends.', 'contact_position': 'Position Title'}, 'metadata:inspire':
> {'languages_supported': 'eng,gre', 'default_language': 'eng',
> 'temp_extent': 'YYYY-MM-DD/YYYY-MM-DD', 'conformity_service':
> 'notEvaluated', 'contact_email': 'Email Address', 'date': 'YYYY-MM-DD',
> 'contact_name': 'Organization Name', 'gemet_keywords': 'Utility and
> governmental services', 'enabled': 'true'}}} CELERY_RESULT_SERIALIZER =
> 'json' AWS_STORAGE_BUCKET_NAME = '' FILE_UPLOAD_DIRECTORY_PERMISSIONS =
> None LOCAL_ROOT = '/home/geonode/my_geonode/my_geonode'
> FILE_UPLOAD_HANDLERS = DEFAULT_CONTENT_TYPE = 'text/html' DEBUG_STATIC =
> False MONITORING_SERVICE_NAME = 'local-geonode' SOCIALACCOUNT_PROVIDERS =
> {'linkedin_oauth2': {'SCOPE': ['r_emailaddress', 'r_basicprofile'],
> 'PROFILE_FIELDS': ['emailAddress', 'firstName', 'headline', 'id',
> 'industry', 'lastName', 'pictureUrl', 'positions', 'publicProfileUrl',
> 'location', 'specialties', 'summary']}, 'facebook': {'SCOPE': ['email',
> 'public_profile'], 'METHOD': 'oauth2', 'FIELDS': ['id', 'email', 'name',
> 'first_name', 'last_name', 'verified', 'locale', 'timezone', 'link',
> 'gender']}} STATICFILES_STORAGE =
> 'django.contrib.staticfiles.storage.StaticFilesStorage' USE_WORLDMAP = 0
> SILENCED_SYSTEM_CHECKS = ['1_8.W001', 'fields.W340'] LOGGING_CONFIG =
> 'logging.config.dictConfig' TEMPLATE_LOADERS = AUTO_GENERATE_AVATAR_SIZES =
> HAYSTACK_CONNECTIONS = {'default': {'ENGINE':
> 'haystack.backends.elasticsearch2_backend.Elasticsearch2SearchEngine',
> 'URL': 'http://127.0.0.1:9200/', 'INDEX_NAME': 'haystack'}}
> GEONODE_INTERNAL_APPS = ACCOUNT_LOGIN_REDIRECT_URL = '
> http://localhost:8000/' EMAIL_TIMEOUT = None SESSION_COOKIE_SECURE =
> False GEONODE_CORE_APPS = CACHE_TIME = 0 AWS_ACCESS_KEY_ID =
> u'********************' INSTALLED_APPS = THUMBNAIL_GENERATOR_DEFAULT_BG = '
> http://a.tile.openstreetmap.org/{z}/{x}/{y}.png' STATIC_ROOT =
> '/var/www/geonode/static/' SECURE_HSTS_INCLUDE_SUBDOMAINS = True
> GEONODE_APPS = SESSION_COOKIE_HTTPONLY = True DATETIME_FORMAT = 'N j, Y, P'
> USER_MESSAGES_ALLOW_MULTIPLE_RECIPIENTS = True GEOTIFF_IO_BASE_URL = '
> https://app.geotiff.io' DATE_INPUT_FORMATS = ACCOUNT_LOGOUT_REDIRECT_URL
> = 'http://localhost:8000/' TWITTER_CARD = 1 CSRF_COOKIE_NAME =
> 'csrftoken' SESSION_SAVE_EVERY_REQUEST = False NUMBER_GROUPING = 0
> LOCALE_PATHS = GEONODE_ROOT = '/home/geo/Envs/geonode/src/geonode/geonode'
> LOGGING = {'loggers': {'geonode': {'handlers': ['applogfile'], 'level':
> 'DEBUG'}, 'django': {'handlers': ['applogfile'], 'level': 'DEBUG'},
> 'pycsw': {'handlers': ['applogfile'], 'level': 'DEBUG'}, 'owslib':
> {'handlers': ['applogfile'], 'level': 'DEBUG'}, 'gsconfig.catalog':
> {'handlers': ['applogfile'], 'level': 'DEBUG'}},
> 'disable_existing_loggers': True, 'handlers': {'console': {'formatter':
> 'simple', 'class': 'logging.StreamHandler', 'level': 'DEBUG'},
> 'applogfile': {'level': 'DEBUG', 'maxBytes': 15728640, 'backupCount': 10,
> 'class': 'logging.handlers.RotatingFileHandler', 'filename':
> '/tmp/GEONODE_APP.log'}, 'mail_admins': {'class':
> 'django.utils.log.AdminEmailHandler', 'filters': ['require_debug_false'],
> 'level': 'ERROR'}}, 'formatters': {'simple': {'format': '%(message)s'},
> 'verbose': {'format': '%(levelname)s %(asctime)s %(module)s %(process)d
> %(thread)d %(message)s'}}, 'version': 1, 'filters': {'require_debug_false':
> {'()': 'django.utils.log.RequireDebugFalse'}}} INTEGRATION = False OGP_URL
> = 'http://geodata.tufts.edu/solr/select' USE_L10N = 1 CELERYD_LOG_FILE =
> None EMAIL_HOST = 'dummysmtp4.cgiarad.org' NLP_LOCATION_THRESHOLD = 1.0
> REST_FRAMEWORK = {'DEFAULT_PERMISSION_CLASSES':
> ['rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly']}
> DATABASE_NAME = 'geonode' MEDIA_URL = '/uploaded/'
> RABBITMQ_SIGNALS_BROKER_URL = 'amqp://localhost:5672'
> DJANGO_LIVE_TEST_SERVER_ADDRESS = 'localhost:8000' MONITORING_ENABLED =
> True DOWNLOAD_FORMATS_VECTOR = ['JPEG', 'PDF', 'PNG', 'Zipped Shapefile',
> 'GML 2.0', 'GML 3.1.1', 'CSV', 'Excel', 'GeoJSON', 'KML', 'View in Google
> Earth', 'Tiles', 'QGIS layer file (.qlr)', 'QGIS project file (.qgs)']
> SKIP_PERMS_FILTER = False GEONODE_CLIENT_HOOKSET = TWITTER_SITE =
> '@GeoNode' SLACK_ENABLED = False PROJECT_NAME = 'my_geonode' TEST_RUNNER =
> 'django_nose.NoseTestSuiteRunner' HAYSTACK_FACET_COUNTS = True
> SECURE_SSL_REDIRECT = False TIME_ZONE = 'UTC' CORS_ORIGIN_ALLOW_ALL = True
> EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
> DEFAULT_MAP_ZOOM = 0 TEMPLATE_CONTEXT_PROCESSORS = MAPBOX_ACCESS_TOKEN =
> u'********************' S3_STATIC_ENABLED = False
> PINAX_NOTIFICATIONS_LANGUAGE_MODEL = None LANGUAGES_BIDI =
> HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor'
> CLIENT_RESULTS_LIMIT = 20 MODELTRANSLATION_DEFAULT_LANGUAGE = 'en'
> GEOFENCE_SECURITY_ENABLED = True SOCIALACCOUNT_ADAPTER =
> 'geonode.people.adapters.SocialAccountAdapter' DATABASE_PASSWORD =
> u'********************' SECURE_HSTS_SECONDS = 3600 TEST_NON_SERIALIZED_APPS
> = [] DEFAULT_CHARSET = 'utf-8' OPENGRAPH_ENABLED = 1
> CELERY_MAX_CACHED_RESULTS = 32768 CELERY_RESULT_PERSISTENT = False
> ALLOWED_HOSTS = ['geoportal.dummy.org', 'geoportal.cgiarad.org',
> '172.30.1.167', 'localhost'] OGC_SERVER = {'default':
> {'BACKEND_WRITE_ENABLED': True, 'PASSWORD': u'********************',
> 'WPS_ENABLED': True, 'LOGIN_ENDPOINT': 'j_spring_oauth2_geonode_login',
> 'PUBLIC_LOCATION': 'http://geoportal.dummy.org/geoserver/',
> 'GEONODE_SECURITY_ENABLED': True, 'PRINT_NG_ENABLED': True,
> 'GEOGIG_DATASTORE_DIR': '', 'PG_GEOGIG': False,
> 'GEOFENCE_SECURITY_ENABLED': True, 'LOCATION': '
> http://localhost/geoserver/', 'MAPFISH_PRINT_ENABLED': True,
> 'LOGOUT_ENDPOINT': 'j_spring_oauth2_geonode_logout', 'TIMEOUT': 10,
> 'WMST_ENABLED': False, 'DATASTORE': 'datastore', 'LOG_FILE':
> '/usr/share/geoserver/data/logs/geoserver.log', 'BACKEND':
> 'geonode.geoserver', 'GEOGIG_ENABLED': False, 'USER': 'admin'}}
> DOWNLOAD_FORMATS_RASTER = ['JPEG', 'PDF', 'PNG', 'ArcGrid', 'GeoTIFF',
> 'Gtopo30', 'ImageMosaic', 'KML', 'View in Google Earth', 'Tiles', 'GML',
> 'GZIP', 'QGIS layer file (.qlr)', 'QGIS project file (.qgs)', 'Zipped All
> Files'] AUTH_EXEMPT_URLS = EMAIL_SUBJECT_PREFIX = '[Django] '
> THOUSAND_SEPARATOR = ',' STATICFILES_FINDERS = S3_MEDIA_ENABLED = False
> CELERY_WORKER_DISABLE_RATE_LIMITS = False STATIC_URL = '/static/'
> TIME_INPUT_FORMATS = SECURE_REDIRECT_EXEMPT = [] DATABASES = {'default':
> {'ENGINE': 'django.db.backends.postgresql_psycopg2', 'AUTOCOMMIT': True,
> 'ATOMIC_REQUESTS': False, 'NAME': 'geonode', 'CONN_MAX_AGE': 0,
> 'CONN_TOUT': 900, 'TIME_ZONE': 'UTC', 'PORT': '5432', 'HOST': 'localhost',
> 'USER': 'geonode', 'TEST': {'COLLATION': None, 'CHARSET': None, 'NAME':
> None, 'MIRROR': None}, 'PASSWORD': u'********************', 'OPTIONS': {}},
> 'datastore': {'ENGINE': 'django.contrib.gis.db.backends.postgis',
> 'AUTOCOMMIT': True, 'ATOMIC_REQUESTS': False, 'NAME': 'geonode_data',
> 'CONN_MAX_AGE': 0, 'CONN_TOUT': 900, 'TIME_ZONE': 'UTC', 'PORT': '5432',
> 'HOST': 'localhost', 'USER': 'geonode', 'TEST': {'COLLATION': None,
> 'CHARSET': None, 'NAME': None, 'MIRROR': None}, 'PASSWORD':
> u'********************', 'OPTIONS': {}}} LEAFLET_CONFIG = {'SRID': 3857,
> 'RESET_VIEW': False, 'TILES': [('Watercolor', 'http://{s}.
> tile.stamen.com/watercolor/{z}/{x}/{y}.png
> <http://tile.stamen.com/watercolor/%7Bz%7D/%7Bx%7D/%7By%7D.png>', 'Map
> tiles by Stamen Design, CC BY 3.0 — Map data © OpenStreetMap contributors,
> CC-BY-SA'), ('Toner Lite', 'http://{s}.
> tile.stamen.com/toner-lite/{z}/{x}/{y}.png
> <http://tile.stamen.com/toner-lite/%7Bz%7D/%7Bx%7D/%7By%7D.png>', 'Map
> tiles by Stamen Design, CC BY 3.0 — Map data © OpenStreetMap contributors,
> CC-BY-SA')], 'PLUGINS': {u'forms': {u'css': , u'auto-include': False,
> u'js': }, u'__default__': {u'css': , u'js': }, u'ALL': {u'css': , u'js': },
> 'leaflet-plugins': {'css': , 'auto-include': True, 'js': },
> u'__is_normalized__': True}} ACCOUNT_APPROVAL_REQUIRED = 0 DATABASE_URL =
> 'sqlite:////home/geo/Envs/geonode/src/geonode/geonode/development.db'
> MODELTRANSLATION_LANGUAGES = ['en'] SLACK_WEBHOOK_URLS = ['
> https://hooks.slack.com/services/T000/B000/XX'] ALT_OSM_BASEMAPS = False
> ACCOUNT_OPEN_SIGNUP = True ACCOUNT_ADAPTER =
> 'geonode.people.adapters.LocalAccountAdapter' SECURE_CONTENT_TYPE_NOSNIFF =
> True SECRET_KEY = u'********************' FILE_UPLOAD_TEMP_DIR = None
> DEFAULT_MAP_CRS = 'EPSG:900913' DATA_UPLOAD_MAX_NUMBER_FIELDS = 100000
> MAP_CLIENT_USE_CROSS_ORIGIN_CREDENTIALS = 0 REDIS_SIGNALS_BROKER_URL =
> 'redis://localhost:6379/0' SETTINGS_MODULE = 'my_geonode.settings'
> AUTHENTICATION_BACKENDS = CELERY_ALWAYS_EAGER = True MODIFY_TOPICCATEGORY =
> True SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
> LANGUAGE_COOKIE_DOMAIN = None DEFAULT_FILE_STORAGE =
> 'django.core.files.storage.FileSystemStorage' SITEURL = '
> http://geoportal.dummy.org/' LANGUAGE_COOKIE_AGE = None
> SOCIALACCOUNT_PROFILE_EXTRACTORS = {'linkedin_oauth2':
> 'geonode.people.profileextractors.LinkedInExtractor', 'facebook':
> 'geonode.people.profileextractors.FacebookExtractor'} MANAGERS = []
> SESSION_EXPIRE_AT_BROWSER_CLOSE = False TIME_FORMAT = 'P'
> CACHE_MIDDLEWARE_ALIAS = 'default' SERVICE_UPDATE_INTERVAL = 0
> CSRF_COOKIE_PATH = '/' NLP_LIBRARY_PATH = '/opt/MITIE/mitielib'
> MONITORING_CONFIG = None CELERYD_POOL_RESTARTS = True PROJECT_ROOT =
> '/home/geo/Envs/geonode/src/geonode/geonode' CACHE_MIDDLEWARE_KEY_PREFIX =
> u'********************' RISKS = {'PDF_GENERATOR': {'BIN':
> '/usr/bin/wkhtml2pdf', 'ARGS': [], 'NAME': 'wkhtml2pdf'},
> 'DEFAULT_LOCATION': None} MAP_BASELAYERS = [{'source': {'url': '
> http://geoportal.dummy.org/geoserver/wms', 'restUrl': '/gs/rest',
> 'ptype': 'gxp_wmscsource'}}, {'group': 'background', 'name': 'background',
> 'args': ['No background'], 'visibility': False, 'source': {'ptype':
> 'gxp_olsource'}, 'fixed': True, 'type': 'OpenLayers.Layer'}, {'source':
> {'ptype': 'gxp_olsource'}, 'wrapDateLine': True, 'fixed': True,
> 'attribution': '© UNESCO', 'name': 'background', 'title': 'UNESCO',
> 'group': 'background', 'args': ['UNESCO', 'http://en.unesco.org/tiles/${z}/${x}/${y}.png'],
> 'type': 'OpenLayers.Layer.XYZ', 'visibility': False}, {'source':
> {'ptype': 'gxp_olsource'}, 'wrapDateLine': True, 'fixed': True,
> 'attribution': '© UNESCO', 'name': 'background', 'title': 'UNESCO GEODATA',
> 'group': 'background', 'args': ['UNESCO GEODATA', '
> http://en.unesco.org/tiles/geodata/${z}/${x}/${y}.png'], 'type': '
> OpenLayers.Layer.XYZ', 'visibility': False}, {'source': {'ptype':
> 'gxp_olsource'}, 'wrapDateLine': True, 'fixed': True, 'attribution': "©
> OpenStreetMap, Tiles courtesy of Humanitarian OpenStreetMap Team", 'name':
> 'background', 'title': 'Humanitarian OpenStreetMap', 'group': 'background',
> 'args': ['Humanitarian OpenStreetMap', '
> http://a.tile.openstreetmap.fr/hot/${z}/${x}/${y}.png'], 'type': '
> OpenLayers.Layer.XYZ', 'visibility': False}, {'source': {'ptype':
> 'gxp_olsource'}, 'wrapDateLine': True, 'fixed': True, 'attribution': "©
> Mapbox © OpenStreetMap Improve this map", 'name': 'background', 'title':
> 'MapBox Satellite Streets', 'group': 'background', 'args': ['MapBox
> Satellite Streets', '
> http://api.mapbox.com/styles/v1/mapbox/satellite-streets-v9/tiles/${z}/${x}/${y}?access_token='],
> 'type': 'OpenLayers.Layer.XYZ', 'visibility': False}, {'source':
> {'ptype': 'gxp_olsource'}, 'wrapDateLine': True, 'fixed': True,
> 'attribution': "© Mapbox © OpenStreetMap Improve this map", 'name':
> 'background', 'title': 'MapBox Streets', 'group': 'background', 'args':
> ['MapBox Streets', '
> http://api.mapbox.com/styles/v1/mapbox/streets-v9/tiles/${z}/${x}/${y}?access_token='],
> 'type': 'OpenLayers.Layer.XYZ', 'visibility': False}, {'source':
> {'ptype': 'gxp_osmsource'}, 'wrapDateLine': True, 'attribution': "©
> OpenStreetMap contributors", 'name': 'mapnik', 'title': 'OpenStreetMap',
> 'group': 'background', 'fixed': True, 'type': 'OpenLayers.Layer.OSM',
> 'visibility': True}] LOGIN_REDIRECT_URL = '/' GROUP_PRIVATE_RESOURCES =
> False DATE_FORMAT = 'N j, Y' LOCAL_SIGNALS_BROKER_URL = 'memory://'
> MEDIA_ROOT = '/var/www/geonode/uploaded' PROXY_URL = '/proxy/?url='
> TEMPLATE_DEBUG = False DEFAULT_FROM_EMAIL = 'Geoportal dummy '
> FREETEXT_KEYWORDS_READONLY = u'********************' GEONODE_EXCHANGE =
> NOTIFICATIONS_MODULE = 'pinax.notifications' SITE_ID = 1
> ALLOWED_INCLUDE_ROOTS = API_LIMIT_PER_PAGE = u'********************'
> SHORT_DATE_FORMAT = 'm/d/Y' ACTSTREAM_SETTINGS = {'GFK_FETCH_DEPTH': 1,
> 'USE_JSONFIELD': True, 'FETCH_RELATIONS': True, 'USE_PREFETCH': False}
> AWS_S3_BUCKET_DOMAIN = '.s3.amazonaws.com' FILE_UPLOAD_MAX_MEMORY_SIZE =
> 2621440 DISPLAY_SOCIAL = 1 CSRF_COOKIE_AGE = 31449600 EMAIL_USE_SSL = False
> INTERNAL_IPS = EMAIL_PORT = 25 GROUP_MANDATORY_RESOURCES = False
> PASSWORD_HASHERS = u'********************' ANONYMOUS_USER_ID = '-1'
> DATETIME_INPUT_FORMATS = You're seeing this error because you have DEBUG =
> True in your Django settings file. Change that to False, and Django will
> display a standard page generated by the handler for this status code.
>
>
> Thank you very much,
>
>
> Michael Härtel
> _______________________________________________
> geonode-devel mailing list
> geonode-devel at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/geonode-devel
>


-- 

==

GeoServer Professional Services from the experts! Visit http://goo.gl/it488V
for more information.
==
Ing. Alessio Fabiani

@alfa7691
Founder/Technical Lead


GeoSolutions S.A.S.
Via di Montramito 3/A - 55054  Massarosa (LU) - Italy
phone: +39 0584 962313
fax:     +39 0584 1660272
mob:   +39 331 6233686


http://www.geo-solutions.it
http://twitter.com/geosolutions_it
-------------------------------------------------------

Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE
2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si
precisa che ogni circostanza inerente alla presente email (il suo
contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è
riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il
messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra
operazione è illecita. Le sarei comunque grato se potesse darmene notizia.


This email is intended only for the person or entity to which it is
addressed and may contain information that is privileged, confidential or
otherwise protected from disclosure. We remind that - as provided by
European Regulation 2016/679 “GDPR” - copying, dissemination or use of this
e-mail or the information herein by anyone other than the intended
recipient is prohibited. If you have received this email by mistake, please
notify us immediately by telephone or e-mail.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/geonode-users/attachments/20190506/d44d6fe7/attachment-0001.html>


More information about the geonode-users mailing list