[GeoNode-devel] [GeoNode-users] Geonode Unable to Sign in

Paolo Corti pcorti at gmail.com
Thu May 10 13:48:22 PDT 2018


Hi Julierme
yes, it looks like a permissions problem: the user running the wsgi process
(www-data, most typically) can't write the sqlite file.
best regards
Paolo

On Thu, May 10, 2018 at 1:33 PM Julierme Pinheiro <
juliermeopensourcedeveloper at gmail.com> wrote:

> Find bellow the error.log response when I try to sign in and refresh
> geonode site. Do you think the problem could be related to user geo
> permissions?
>
> [Thu May 10 14:20:59.195452 2018] [wsgi:error] [pid 4130:tid
> 140163086272256] Internal Server Error: /account/login/
> [Thu May 10 14:20:59.200485 2018] [wsgi:error] [pid 4130:tid
> 140163086272256] Traceback (most recent call last):
> [Thu May 10 14:20:59.200510 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/core/handlers/base.py",
> line 132, in get_response
> [Thu May 10 14:20:59.200518 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     response = wrapped_callback(request, *callback_args,
> **callback_kwargs)
> [Thu May 10 14:20:59.200524 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/views/generic/base.py",
> line 71, in view
> [Thu May 10 14:20:59.200531 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     return self.dispatch(request, *args, **kwargs)
> [Thu May 10 14:20:59.200538 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/utils/decorators.py",
> line 34, in _wrapper
> [Thu May 10 14:20:59.200544 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     return bound_func(*args, **kwargs)
> [Thu May 10 14:20:59.200551 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/views/decorators/debug.py",
> line 76, in sensitive_post_parameters_wrapper
> [Thu May 10 14:20:59.200558 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     return view(request, *args, **kwargs)
> [Thu May 10 14:20:59.200564 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/utils/decorators.py",
> line 30, in bound_func
> [Thu May 10 14:20:59.200571 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     return func.__get__(self, type(self))(*args2,
> **kwargs2)
> [Thu May 10 14:20:59.200577 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/allauth/account/views.py",
> line 133, in dispatch
> [Thu May 10 14:20:59.200584 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     return super(LoginView, self).dispatch(request, *args,
> **kwargs)
> [Thu May 10 14:20:59.200590 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/allauth/account/views.py",
> line 79, in dispatch
> [Thu May 10 14:20:59.200597 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     **kwargs)
> [Thu May 10 14:20:59.200603 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/views/generic/base.py",
> line 89, in dispatch
> [Thu May 10 14:20:59.200610 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     return handler(request, *args, **kwargs)
> [Thu May 10 14:20:59.200616 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/allauth/account/views.py",
> line 101, in post
> [Thu May 10 14:20:59.200623 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     if form.is_valid():
> [Thu May 10 14:20:59.200629 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/forms/forms.py",
> line 184, in is_valid
> [Thu May 10 14:20:59.200635 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     return self.is_bound and not self.errors
> [Thu May 10 14:20:59.200641 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/forms/forms.py",
> line 176, in errors
> [Thu May 10 14:20:59.200648 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     self.full_clean()
> [Thu May 10 14:20:59.200670 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/forms/forms.py",
> line 393, in full_clean
> [Thu May 10 14:20:59.200677 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     self._clean_form()
> [Thu May 10 14:20:59.200683 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/forms/forms.py",
> line 417, in _clean_form
> [Thu May 10 14:20:59.200689 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     cleaned_data = self.clean()
> [Thu May 10 14:20:59.200695 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/allauth/account/forms.py",
> line 159, in clean
> [Thu May 10 14:20:59.200701 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     **credentials)
> [Thu May 10 14:20:59.200707 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/allauth/account/adapter.py",
> line 483, in authenticate
> [Thu May 10 14:20:59.200713 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     user = authenticate(request=request, **credentials)
> [Thu May 10 14:20:59.200719 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/allauth/compat.py",
> line 54, in authenticate
> [Thu May 10 14:20:59.200725 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     return authenticate(**credentials)
> [Thu May 10 14:20:59.200731 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/contrib/auth/__init__.py",
> line 74, in authenticate
> [Thu May 10 14:20:59.200756 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     user = backend.authenticate(**credentials)
> [Thu May 10 14:20:59.200764 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/contrib/auth/backends.py",
> line 18, in authenticate
> [Thu May 10 14:20:59.200770 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     if user.check_password(password):
> [Thu May 10 14:20:59.200776 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/contrib/auth/models.py",
> line 241, in check_password
> [Thu May 10 14:20:59.200782 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     return check_password(raw_password, self.password,
> setter)
> [Thu May 10 14:20:59.200788 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/contrib/auth/hashers.py",
> line 62, in check_password
> [Thu May 10 14:20:59.200794 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     setter(password)
> [Thu May 10 14:20:59.200800 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/contrib/auth/models.py",
> line 240, in setter
> [Thu May 10 14:20:59.200807 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     self.save(update_fields=["password"])
> [Thu May 10 14:20:59.200813 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/geonode/people/models.py",
> line 169, in save
> [Thu May 10 14:20:59.200819 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     super(Profile, self).save(*args, **kwargs)
> [Thu May 10 14:20:59.200825 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/db/models/base.py",
> line 734, in save
> [Thu May 10 14:20:59.200831 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     force_update=force_update, update_fields=update_fields)
> [Thu May 10 14:20:59.200837 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/db/models/base.py",
> line 762, in save_base
> [Thu May 10 14:20:59.200843 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     updated = self._save_table(raw, cls, force_insert,
> force_update, using, update_fields)
> [Thu May 10 14:20:59.200855 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/db/models/base.py",
> line 827, in _save_table
> [Thu May 10 14:20:59.200861 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     forced_update)
> [Thu May 10 14:20:59.200867 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/db/models/base.py",
> line 877, in _do_update
> [Thu May 10 14:20:59.200874 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     return filtered._update(values) > 0
> [Thu May 10 14:20:59.200880 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/db/models/query.py",
> line 580, in _update
> [Thu May 10 14:20:59.200886 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     return query.get_compiler(self.db).execute_sql(CURSOR)
> [Thu May 10 14:20:59.200892 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/db/models/sql/compiler.py",
> line 1062, in execute_sql
> [Thu May 10 14:20:59.200898 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     cursor = super(SQLUpdateCompiler,
> self).execute_sql(result_type)
> [Thu May 10 14:20:59.200904 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/db/models/sql/compiler.py",
> line 840, in execute_sql
> [Thu May 10 14:20:59.200910 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     cursor.execute(sql, params)
> [Thu May 10 14:20:59.200916 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/db/backends/utils.py",
> line 79, in execute
> [Thu May 10 14:20:59.200923 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     return super(CursorDebugWrapper, self).execute(sql,
> params)
> [Thu May 10 14:20:59.200928 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/db/backends/utils.py",
> line 64, in execute
> [Thu May 10 14:20:59.200935 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     return self.cursor.execute(sql, params)
> [Thu May 10 14:20:59.200941 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/db/utils.py",
> line 98, in __exit__
> [Thu May 10 14:20:59.200947 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     six.reraise(dj_exc_type, dj_exc_value, traceback)
> [Thu May 10 14:20:59.200953 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/db/backends/utils.py",
> line 64, in execute
> [Thu May 10 14:20:59.200959 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     return self.cursor.execute(sql, params)
> [Thu May 10 14:20:59.200965 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]   File
> "/home/geo/Envs/geonode/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py",
> line 318, in execute
> [Thu May 10 14:20:59.200971 2018] [wsgi:error] [pid 4130:tid
> 140163086272256]     return Database.Cursor.execute(self, query, params)
> [Thu May 10 14:20:59.200977 2018] [wsgi:error] [pid 4130:tid
> 140163086272256] OperationalError: attempt to write a readonly database
>
>
> Kind regards
>
> Julierme
>
> 2018-05-10 14:18 GMT-03:00 Julierme Pinheiro <
> juliermeopensourcedeveloper at gmail.com>:
>
>> HI Alessio Fabiani,
>>
>> Thank you very much for your reply.  In general, I followed all the steps
>> in this tutorial (
>> http://docs.geonode.org/en/master/tutorials/install_and_admin/geonode_install/install_geonode_application.html
>> )
>>
>> 1 - I have two users in the home directory: /home/geo and /home/geonode
>>
>> 2 - I followed all the guide directions as root at geo
>>
>> 3 - While preparing Python Virtual Environment, I had created the
>> directory Envs in the root's home and it caused me a lot of trouble with
>> the geonode.conf and after the whole installation process, I moved Envs
>> directory to /home/geo/Envs and I got rid of the troubles with geonode.conf.
>>
>> 5 - I got geoserver and geonode installed in Dev  Mode :
>> http://localhost:8080/geoserver and http://localhost:8000
>>
>> 6 - I tweaked through local-settings.py as in here: (
>> http://docs.geonode.org/en/master/tutorials/install_and_admin/geonode_install/setup_configure_httpd.html
>> )
>>
>> Note: In  my geonode project local_settings.py does not have the config
>> to LOGGING = {...}
>> 'handlers': {
>> 'null': {
>> 'level': 'ERROR',
>> 'class': 'django.utils.log.NullHandler',
>> },
>>
>> as you have in here
>> https://github.com/GeoNode/geonode-project/blob/2.8.0/project_name/local_settings.py.sample
>>
>> 7 - I commented out line 348 in settings.py <INSTALLED_APPS += ('
>> geonode.contrib.ows_api',>
>>
>> Note: When I was root I could do python manage.py migrate and the command
>> would work. After moving Envs directory to /home/geo/Envs I am unable to
>> run any python manage.py --
>> migrate/collectstatic/createsuperuser/changepassword
>>
>> So, I followed the whole installation guide as root. I have geonode and
>> geo users in /home. I had to move Envs directory from /root to /home/geo/.
>> Geonode project is in /home/geonode/my_geonode/my_geonode. I have geoserver
>> 2.12-SNAPSHOT running perfectly fine and  geonode is starting up  in
>> http://localhost. However I am unable to sign in and run python
>> manage.py ----------
>>
>> I hope I am giving you enough information for the whole process I
>> followed.
>>
>> I appreciated your time and help.
>>
>> Kind regards
>>
>> Julierme
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> 2018-05-10 5:08 GMT-03:00 Alessio Fabiani <
>> alessio.fabiani at geo-solutions.it>:
>>
>>> Hello Julieme,
>>> it looks to me that there's some issue on your setup.
>>>
>>> Sorry to jump into the discussion only now. Can you please quickly
>>> summarize how you installed and configured the system?
>>>
>>> Regards,
>>>
>>> Alessio Fabiani
>>>
>>> ==
>>> 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
>>> <https://maps.google.com/?q=Via+di+Montramito+3/A+55054+%C2%A0Massarosa&entry=gmail&source=g>
>>> 55054  Massarosa
>>> <https://maps.google.com/?q=Via+di+Montramito+3/A+55054+%C2%A0Massarosa&entry=gmail&source=g>
>>> (LU)
>>> Italy
>>> phone: +39 0584 962313
>>> fax:     +39 0584 1660272
>>> mob:   +39 331 6233686
>>>
>>> http://www.geo-solutions.it
>>> http://twitter.com/geosolutions_it
>>>
>>> -------------------------------------------------------
>>>
>>> AVVERTENZE AI SENSI DEL D.Lgs. 196/2003
>>>
>>> Le informazioni contenute in questo messaggio di posta elettronica e/o
>>> nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
>>> loro utilizzo è consentito esclusivamente al destinatario del messaggio,
>>> per le finalità indicate nel messaggio stesso. Qualora riceviate questo
>>> messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
>>> darcene notizia via e-mail e di procedere alla distruzione del messaggio
>>> stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
>>> divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
>>> utilizzarlo per finalità diverse, costituisce comportamento contrario ai
>>> principi dettati dal D.Lgs. 196/2003.
>>>
>>> The information in this message and/or attachments, is intended solely
>>> for the attention and use of the named addressee(s) and may be confidential
>>> or proprietary in nature or covered by the provisions of privacy act
>>> (Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
>>> Code).Any use not in accord with its purpose, any disclosure, reproduction,
>>> copying, distribution, or either dissemination, either whole or partial, is
>>> strictly forbidden except previous formal approval of the named
>>> addressee(s). If you are not the intended recipient, please contact
>>> immediately the sender by telephone, fax or e-mail and delete the
>>> information in this message that has been received in error. The sender
>>> does not give any warranty or accept liability as the content, accuracy or
>>> completeness of sent messages and accepts no responsibility  for changes
>>> made after they were sent or for other risks which arise as a result of
>>> e-mail transmission, viruses, etc.
>>>
>>> 2018-05-10 0:10 GMT+02:00 Julierme Pinheiro <
>>> juliermeopensourcedeveloper at gmail.com>:
>>>
>>>> The response is the same to python manage.py shell
>>>>
>>>> I have no idea about what is going on. Any help on that would be very
>>>> appreciated.
>>>>
>>>> Thank you very much for your help and time.
>>>>
>>>> Kind regards
>>>>
>>>> 2018-05-09 18:58 GMT-03:00 Julierme Pinheiro <
>>>> juliermeopensourcedeveloper at gmail.com>:
>>>>
>>>>> Hi Faneva,
>>>>>
>>>>> I have tried all these commands:
>>>>>
>>>>> python manage.py createsuperuser
>>>>> python manage.py changepassword admin
>>>>>
>>>>> And the response to both is:
>>>>>
>>>>> Traceback (most recent call last):
>>>>>   File "manage.py", line 31, in <module>
>>>>>     execute_from_command_line(sys.argv)
>>>>>   File
>>>>> "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py",
>>>>> line 354, in execute_from_command_line
>>>>>     utility.execute()
>>>>>   File
>>>>> "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py",
>>>>> line 303, in execute
>>>>>     settings.INSTALLED_APPS
>>>>>   File
>>>>> "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 48,
>>>>> in __getattr__
>>>>>     self._setup(name)
>>>>>   File
>>>>> "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 44,
>>>>> in _setup
>>>>>     self._wrapped = Settings(settings_module)
>>>>>   File
>>>>> "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 92,
>>>>> in __init__
>>>>>     mod = importlib.import_module(self.SETTINGS_MODULE)
>>>>>   File "/usr/lib/python2.7/importlib/__init__.py", line 37, in
>>>>> import_module
>>>>>     __import__(name)
>>>>>   File "/home/geonode/my_geonode/my_geonode/settings.py", line 27, in
>>>>> <module>
>>>>>     from geonode.settings import *
>>>>> ImportError: No module named geonode.settings
>>>>>
>>>>> I have no idea in what is going on. Any help on that would be very
>>>>> appreciated.
>>>>>
>>>>> Thank you very much for your help and time.
>>>>>
>>>>> Kind regards
>>>>>
>>>>> Julierme
>>>>>
>>>>>
>>>>> 2018-05-09 18:50 GMT-03:00 ANDRIAMIADANTSOA Fanevanjanahary <
>>>>> fanevanjanahary at gmail.com>:
>>>>>
>>>>>> Hello Julierme,
>>>>>>
>>>>>> Did you already try to change the admin's password?
>>>>>>
>>>>>> This is commande to change this
>>>>>>
>>>>>> python manage.py changepassword admin
>>>>>>
>>>>>>
>>>>>> Best regards
>>>>>>
>>>>>> Faneva
>>>>>>
>>>>>> On Thu, May 10, 2018, 00:21 Julierme Pinheiro <
>>>>>> juliermeopensourcedeveloper at gmail.com> wrote:
>>>>>>
>>>>>>> Hi all,
>>>>>>>
>>>>>>> I finally got the end of the geonode installation as in here:
>>>>>>> http://docs.geonode.org/en/master/tutorials/install_and_admin/geonode_install/all_together.html
>>>>>>>
>>>>>>> But now, I am unable to sign in. The tutorial says: Login with admin
>>>>>>> username and password you just set. But I do not remember setting an
>>>>>>> username and a password during the installation. I tried the default one:
>>>>>>> username:admin and password: admin, but I got no success.
>>>>>>>
>>>>>>> Any help on that please?
>>>>>>>
>>>>>>> Thank you for your time in advance.
>>>>>>>
>>>>>>> Best regards
>>>>>>>
>>>>>>>
>>>>>>> Julierme
>>>>>>> _______________________________________________
>>>>>>> geonode-devel mailing list
>>>>>>> geonode-devel at lists.osgeo.org
>>>>>>> https://lists.osgeo.org/mailman/listinfo/geonode-devel
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> geonode-users mailing list
>>>> geonode-users at lists.osgeo.org
>>>> https://lists.osgeo.org/mailman/listinfo/geonode-users
>>>>
>>>>
>>>
>>
> _______________________________________________
> geonode-users mailing list
> geonode-users at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/geonode-users
>


-- 
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/geonode-devel/attachments/20180510/a7fd85a4/attachment-0001.html>


More information about the geonode-devel mailing list