Blog

Version 0.3 released

Oliver Roick

We are happy to announce the first release of 2015 today. We fixed a long list of bugs and introduced new features.

  • We upgraded GeoKey to Django 1.7. This improves performance, stability and security. Unfortunately, the update is not straightforward, but we’ve have compiled all necessary information in this post.
  • Along with the major update, we had to switch our OAuth library to oauth-toolkit. This, unfortunately requires to register your application again to obtain a new Client ID and Client Secret.
  • We have build the foundation to easily add functionality to GeoKey using custom extensions. We will explain in a different post how to create and register extensions with GeoKey.
  • Super users of the system are now able to add and remove more super users as well as manage all projects in GeoKey.
  • Two new data types were added for category fields: Date and Time.
  • A new API endpoint (/api/user/) has been implemented to register users and to get and update their information.
  • In public projects you will now be able restrict contributions to all users, that have authenticated with the system.

How to update

As mentioned before, updating requires a bit of work this time. But we have compiled all necessary information here. Don’t forget to backup your database before you start.

First update the dependencies:

sudo pip install -U -r requirements.txt

Django 1.7.x does not require South for database migrations any longer. Therefore, we need to migrate the database to Django’s native migrations.

python manage.py migrate

You will receive error messages when migrating. Therefore, you need to run the following commands in the correct order.

python manage.py migrate categories 0002_auto_20150106_1338 --fake
python manage.py migrate
python manage.py migrate contributions 0002_auto_20150106_1338 --fake
pythonmanage.py migrate
python manage.py migrate datagroupings --fake
python manage.py migrate
python manage.py migrate easy_thumbnails --fake
pythonmanage.py migrate
python manage.py migrate projects 0002_auto_20150106_1338 --fake
python manage.py migrate

Add extentsions and superusertools to installed apps in core/settings/project.py:

INSTALLED_APPS += (
    ...
    'superusertools',
    'extensions'
    )

Finally, copy the extension urls file. This file is required to register API endpoints of extensions, you might want to install later.

cp core/url/extensions.sample.py core/url/extension.py

That’s it. You should be able to use GeoKey 0.3 now.