[ckan-changes] [ckan/ckan] 3a53ab: [2939] & [1651] How to solr-jetty JSP support

GitHub noreply at github.com
Fri Jun 2 22:08:20 UTC 2017


  Branch: refs/heads/3444-datatables-view
  Home:   https://github.com/ckan/ckan
  Commit: 3a53ab291f338c911a1ce4bcf6a8ed7ce92aeb53
      https://github.com/ckan/ckan/commit/3a53ab291f338c911a1ce4bcf6a8ed7ce92aeb53
  Author: Mitchell Stanton-Cook <mitchell.stantoncook at xvt.com.au>
  Date:   2016-04-18 (Mon, 18 Apr 2016)

  Changed paths:
    M doc/maintaining/installing/install-from-source.rst

  Log Message:
  -----------
  [2939] & [1651] How to solr-jetty JSP support

There are still issues with solr-jetty. The documentation additions here
provide a recipe to handle/fix the 'HTTP ERROR 500... JSP support not
configured' error.


  Commit: fb5cef3c10f6001fb0b684789f5c75b5537136f6
      https://github.com/ckan/ckan/commit/fb5cef3c10f6001fb0b684789f5c75b5537136f6
  Author: Ian Ward <ian at excess.org>
  Date:   2017-02-06 (Mon, 06 Feb 2017)

  Changed paths:
    M ckanext/datastore/db.py
    M ckanext/datastore/logic/action.py
    M ckanext/datastore/plugin.py
    M ckanext/datastore/tests/test_create.py
    M ckanext/datastore/tests/test_delete.py
    M ckanext/datastore/tests/test_dump.py
    M ckanext/datastore/tests/test_helpers.py
    M ckanext/datastore/tests/test_search.py
    M ckanext/datastore/tests/test_unit.py
    M ckanext/datastore/tests/test_upsert.py

  Log Message:
  -----------
  [#3428] replace db._get_engine with db.get_(read|write)_engine


  Commit: 361acc14ba743c04c134cbc36369ef4cfbabe0e5
      https://github.com/ckan/ckan/commit/361acc14ba743c04c134cbc36369ef4cfbabe0e5
  Author: Ian Ward <ian at excess.org>
  Date:   2017-02-07 (Tue, 07 Feb 2017)

  Changed paths:
    M ckanext/datapusher/tests/test_interfaces.py

  Log Message:
  -----------
  [#3428] one more db._get_engine replacement


  Commit: 7cc6c377353c518b673483316d1e1bbbfa270575
      https://github.com/ckan/ckan/commit/7cc6c377353c518b673483316d1e1bbbfa270575
  Author: Ian Ward <ian at excess.org>
  Date:   2017-02-07 (Tue, 07 Feb 2017)

  Changed paths:
    M ckanext/datapusher/tests/test.py

  Log Message:
  -----------
  [#3428] one more db._get_engine replacement


  Commit: 7cda59279c87497963c72a9fd489aaaac99453b0
      https://github.com/ckan/ckan/commit/7cda59279c87497963c72a9fd489aaaac99453b0
  Author: Ian Ward <ian at excess.org>
  Date:   2017-02-13 (Mon, 13 Feb 2017)

  Changed paths:
    R ckan/templates/package/resource_data.html
    M ckan/templates/package/resource_edit_base.html
    M ckanext/datapusher/plugin.py
    A ckanext/datapusher/templates/datapusher/resource_data.html
    A ckanext/datapusher/templates/package/resource_edit_base.html
    M ckanext/datastore/controller.py
    M ckanext/datastore/db.py
    M ckanext/datastore/helpers.py
    M ckanext/datastore/logic/schema.py
    M ckanext/datastore/plugin.py
    A ckanext/datastore/templates/datastore/dictionary.html
    A ckanext/datastore/templates/package/resource_edit_base.html
    M ckanext/datastore/templates/package/resource_read.html

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/3414-datastore-info' into 3428-datastore-triggers


  Commit: c58d70f5690721a9b49e853f2f0636797d879cf5
      https://github.com/ckan/ckan/commit/c58d70f5690721a9b49e853f2f0636797d879cf5
  Author: Ian Ward <ian at excess.org>
  Date:   2017-02-13 (Mon, 13 Feb 2017)

  Changed paths:
    M ckan/lib/navl/validators.py
    M ckanext/datastore/db.py
    M ckanext/datastore/logic/action.py
    M ckanext/datastore/logic/auth.py
    M ckanext/datastore/logic/schema.py

  Log Message:
  -----------
  [#3428] datastore_function actions


  Commit: 24e8169cae103e383eefdb1d4e2905d10d4aa330
      https://github.com/ckan/ckan/commit/24e8169cae103e383eefdb1d4e2905d10d4aa330
  Author: Ian Ward <ian at excess.org>
  Date:   2017-02-16 (Thu, 16 Feb 2017)

  Changed paths:
    M ckanext/datastore/db.py
    M ckanext/datastore/logic/action.py
    M ckanext/datastore/logic/schema.py
    M ckanext/datastore/plugin.py

  Log Message:
  -----------
  [#3428] working triggers (exceptions not handled yet)


  Commit: 18f0d58f5df4adc355640c1b2b8e736320065212
      https://github.com/ckan/ckan/commit/18f0d58f5df4adc355640c1b2b8e736320065212
  Author: Ian Ward <ian at excess.org>
  Date:   2017-02-23 (Thu, 23 Feb 2017)

  Changed paths:
    M ckan/tests/helpers.py
    M ckanext/datastore/db.py
    M ckanext/datastore/tests/test_create.py

  Log Message:
  -----------
  [#3428] start of function create tests


  Commit: 9932117a562f26ed254568a156d05c8a95e9df39
      https://github.com/ckan/ckan/commit/9932117a562f26ed254568a156d05c8a95e9df39
  Author: Yan <yan.rudenko at linkdigital.com.au>
  Date:   2017-02-26 (Sun, 26 Feb 2017)

  Changed paths:
    M ckan/logic/action/update.py

  Log Message:
  -----------
  [#3457]Create new resource view if resource format changed


  Commit: 2324fe9ec8daff9dbf4a4cdb54b30b102755b223
      https://github.com/ckan/ckan/commit/2324fe9ec8daff9dbf4a4cdb54b30b102755b223
  Author: Ian Ward <ian at excess.org>
  Date:   2017-02-27 (Mon, 27 Feb 2017)

  Changed paths:
    M ckanext/datastore/tests/helpers.py
    M ckanext/datastore/tests/test_create.py

  Log Message:
  -----------
  [#3428] properly clear functions in datastore tests


  Commit: d644cc8133c97f088c721f556c7519eb471b0aa6
      https://github.com/ckan/ckan/commit/d644cc8133c97f088c721f556c7519eb471b0aa6
  Author: Ian Ward <ian at excess.org>
  Date:   2017-02-27 (Mon, 27 Feb 2017)

  Changed paths:
    M ckanext/datastore/db.py
    M ckanext/datastore/tests/helpers.py
    M ckanext/datastore/tests/test_create.py

  Log Message:
  -----------
  [#3428] test redefinition and or_replace


  Commit: a4423c05502039c8f46e9532d2f597ac9df8713c
      https://github.com/ckan/ckan/commit/a4423c05502039c8f46e9532d2f597ac9df8713c
  Author: Ian Ward <ian at excess.org>
  Date:   2017-02-28 (Tue, 28 Feb 2017)

  Changed paths:
    M ckanext/datastore/db.py
    M ckanext/datastore/tests/test_create.py

  Log Message:
  -----------
  [#3428] test datastore_create with missing function


  Commit: f1b1a93b7b553eb25aa24f408d4f177bc6c2d1b3
      https://github.com/ckan/ckan/commit/f1b1a93b7b553eb25aa24f408d4f177bc6c2d1b3
  Author: Ian Ward <ian at excess.org>
  Date:   2017-02-28 (Tue, 28 Feb 2017)

  Changed paths:
    M ckanext/datastore/tests/test_create.py

  Log Message:
  -----------
  [#3428] test triggers apply to _create and _upsert


  Commit: 39832485604399cadaaf8033e32eb714c90be055
      https://github.com/ckan/ckan/commit/39832485604399cadaaf8033e32eb714c90be055
  Author: Ian Ward <ian at excess.org>
  Date:   2017-02-28 (Tue, 28 Feb 2017)

  Changed paths:
    M ckanext/datastore/db.py
    M ckanext/datastore/tests/test_create.py

  Log Message:
  -----------
  [#3428] trigger exceptions raise ValidationErrors


  Commit: e0d3f056457730343e3d628885ba764bdd109913
      https://github.com/ckan/ckan/commit/e0d3f056457730343e3d628885ba764bdd109913
  Author: Ian Ward <ian at excess.org>
  Date:   2017-02-28 (Tue, 28 Feb 2017)

  Changed paths:
    M ckanext/datastore/db.py
    M ckanext/datastore/logic/action.py
    M ckanext/datastore/logic/schema.py
    M ckanext/datastore/tests/test_delete.py

  Log Message:
  -----------
  [#3428] fix datastore_function_delete


  Commit: d2ef4cdec8513fbf594d3d5aa480b622f32a3be4
      https://github.com/ckan/ckan/commit/d2ef4cdec8513fbf594d3d5aa480b622f32a3be4
  Author: Ian Ward <ian at excess.org>
  Date:   2017-02-28 (Tue, 28 Feb 2017)

  Changed paths:
    A .editorconfig
    M CHANGELOG.rst
    M ckan/common.py
    M ckan/config/middleware/flask_app.py
    M ckan/config/middleware/pylons_app.py
    M ckan/i18n/ar/LC_MESSAGES/ckan.mo
    M ckan/i18n/ar/LC_MESSAGES/ckan.po
    M ckan/i18n/bg/LC_MESSAGES/ckan.mo
    M ckan/i18n/bg/LC_MESSAGES/ckan.po
    M ckan/i18n/ca/LC_MESSAGES/ckan.mo
    M ckan/i18n/ca/LC_MESSAGES/ckan.po
    M ckan/i18n/cs_CZ/LC_MESSAGES/ckan.mo
    M ckan/i18n/cs_CZ/LC_MESSAGES/ckan.po
    M ckan/i18n/da_DK/LC_MESSAGES/ckan.mo
    M ckan/i18n/da_DK/LC_MESSAGES/ckan.po
    M ckan/i18n/el/LC_MESSAGES/ckan.mo
    M ckan/i18n/el/LC_MESSAGES/ckan.po
    M ckan/i18n/en_AU/LC_MESSAGES/ckan.mo
    M ckan/i18n/en_AU/LC_MESSAGES/ckan.po
    M ckan/i18n/en_GB/LC_MESSAGES/ckan.mo
    M ckan/i18n/en_GB/LC_MESSAGES/ckan.po
    M ckan/i18n/es/LC_MESSAGES/ckan.mo
    M ckan/i18n/es/LC_MESSAGES/ckan.po
    M ckan/i18n/es_AR/LC_MESSAGES/ckan.mo
    M ckan/i18n/es_AR/LC_MESSAGES/ckan.po
    M ckan/i18n/fa_IR/LC_MESSAGES/ckan.mo
    M ckan/i18n/fa_IR/LC_MESSAGES/ckan.po
    M ckan/i18n/fi/LC_MESSAGES/ckan.mo
    M ckan/i18n/fi/LC_MESSAGES/ckan.po
    M ckan/i18n/he/LC_MESSAGES/ckan.mo
    M ckan/i18n/he/LC_MESSAGES/ckan.po
    M ckan/i18n/hr/LC_MESSAGES/ckan.mo
    M ckan/i18n/hr/LC_MESSAGES/ckan.po
    M ckan/i18n/hu/LC_MESSAGES/ckan.mo
    M ckan/i18n/hu/LC_MESSAGES/ckan.po
    M ckan/i18n/id/LC_MESSAGES/ckan.mo
    M ckan/i18n/id/LC_MESSAGES/ckan.po
    M ckan/i18n/is/LC_MESSAGES/ckan.mo
    M ckan/i18n/is/LC_MESSAGES/ckan.po
    M ckan/i18n/it/LC_MESSAGES/ckan.mo
    M ckan/i18n/it/LC_MESSAGES/ckan.po
    M ckan/i18n/ja/LC_MESSAGES/ckan.mo
    M ckan/i18n/ja/LC_MESSAGES/ckan.po
    M ckan/i18n/km/LC_MESSAGES/ckan.mo
    M ckan/i18n/km/LC_MESSAGES/ckan.po
    M ckan/i18n/ko_KR/LC_MESSAGES/ckan.mo
    M ckan/i18n/ko_KR/LC_MESSAGES/ckan.po
    M ckan/i18n/lt/LC_MESSAGES/ckan.mo
    M ckan/i18n/lt/LC_MESSAGES/ckan.po
    M ckan/i18n/lv/LC_MESSAGES/ckan.mo
    M ckan/i18n/lv/LC_MESSAGES/ckan.po
    M ckan/i18n/mn_MN/LC_MESSAGES/ckan.mo
    M ckan/i18n/mn_MN/LC_MESSAGES/ckan.po
    M ckan/i18n/nl/LC_MESSAGES/ckan.mo
    M ckan/i18n/nl/LC_MESSAGES/ckan.po
    M ckan/i18n/no/LC_MESSAGES/ckan.mo
    M ckan/i18n/no/LC_MESSAGES/ckan.po
    M ckan/i18n/pl/LC_MESSAGES/ckan.mo
    M ckan/i18n/pl/LC_MESSAGES/ckan.po
    M ckan/i18n/pt_BR/LC_MESSAGES/ckan.mo
    M ckan/i18n/pt_BR/LC_MESSAGES/ckan.po
    M ckan/i18n/pt_PT/LC_MESSAGES/ckan.mo
    M ckan/i18n/pt_PT/LC_MESSAGES/ckan.po
    M ckan/i18n/ro/LC_MESSAGES/ckan.mo
    M ckan/i18n/ro/LC_MESSAGES/ckan.po
    M ckan/i18n/ru/LC_MESSAGES/ckan.mo
    M ckan/i18n/ru/LC_MESSAGES/ckan.po
    M ckan/i18n/sk/LC_MESSAGES/ckan.mo
    M ckan/i18n/sk/LC_MESSAGES/ckan.po
    M ckan/i18n/sl/LC_MESSAGES/ckan.mo
    M ckan/i18n/sl/LC_MESSAGES/ckan.po
    M ckan/i18n/sq/LC_MESSAGES/ckan.mo
    M ckan/i18n/sq/LC_MESSAGES/ckan.po
    M ckan/i18n/sr/LC_MESSAGES/ckan.mo
    M ckan/i18n/sr/LC_MESSAGES/ckan.po
    M ckan/i18n/sr_Latn/LC_MESSAGES/ckan.mo
    M ckan/i18n/sr_Latn/LC_MESSAGES/ckan.po
    M ckan/i18n/sv/LC_MESSAGES/ckan.mo
    M ckan/i18n/sv/LC_MESSAGES/ckan.po
    M ckan/i18n/th/LC_MESSAGES/ckan.mo
    M ckan/i18n/th/LC_MESSAGES/ckan.po
    M ckan/i18n/tr/LC_MESSAGES/ckan.mo
    M ckan/i18n/tr/LC_MESSAGES/ckan.po
    M ckan/i18n/uk_UA/LC_MESSAGES/ckan.mo
    M ckan/i18n/uk_UA/LC_MESSAGES/ckan.po
    M ckan/i18n/vi/LC_MESSAGES/ckan.mo
    M ckan/i18n/vi/LC_MESSAGES/ckan.po
    M ckan/i18n/zh_CN/LC_MESSAGES/ckan.mo
    M ckan/i18n/zh_CN/LC_MESSAGES/ckan.po
    M ckan/lib/base.py
    M ckan/lib/celery_app.py
    M ckan/lib/fanstatic_resources.py
    M ckan/logic/action/create.py
    M ckan/logic/action/get.py
    M ckan/model/resource.py
    M ckan/model/user.py
    M ckan/templates/group/members.html
    M ckan/templates/organization/members.html
    M ckan/templates/package/resource_read.html
    M ckan/templates/package/resources.html
    M ckan/templates/package/snippets/resource_item.html
    M ckan/templates/package/snippets/resources_list.html
    A ckan/templates/tests/flash_messages.html
    A ckan/tests/config/test_sessions.py
    M ckan/tests/legacy/lib/test_i18n.py
    A ckan/tests/lib/test_celery_app.py
    M ckanext/datapusher/logic/action.py
    M ckanext/datastore/plugin.py
    M ckanext/datastore/tests/test_delete.py
    M setup.py

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/master' into 3428-datastore-triggers


  Commit: 13ff28f9bbce98606f9ea623247820c4c0c32680
      https://github.com/ckan/ckan/commit/13ff28f9bbce98606f9ea623247820c4c0c32680
  Author: Yan <yan.rudneko at linkdigital.com.au>
  Date:   2017-03-06 (Mon, 06 Mar 2017)

  Changed paths:
    M ckan/logic/action/get.py
    M ckan/public/base/less/search.less
    M ckan/templates/snippets/search_form.html
    M ckan/tests/logic/action/test_get.py

  Log Message:
  -----------
  [#2938] Odd feature in sorting organization by packages


  Commit: 464f8697c878ea5cd13517e63c464a0a8ce4ceaa
      https://github.com/ckan/ckan/commit/464f8697c878ea5cd13517e63c464a0a8ce4ceaa
  Author: Yan <yan.rudneko at linkdigital.com.au>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M ckan/tests/logic/action/test_get.py

  Log Message:
  -----------
  fix Pep8 problem in tests


  Commit: 99acbff9ccecfeedc07e0d0e14e89914c2cbcb79
      https://github.com/ckan/ckan/commit/99acbff9ccecfeedc07e0d0e14e89914c2cbcb79
  Author: Yan <yan.rudneko at linkdigital.com.au>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M ckan/public/base/less/forms.less
    M ckan/public/base/less/media.less

  Log Message:
  -----------
  [#3471] Fix for small issues and Create dataset page and Dashboard tabs


  Commit: 8b015ad921d3a24ea60f31256360ff1c0bef1fe6
      https://github.com/ckan/ckan/commit/8b015ad921d3a24ea60f31256360ff1c0bef1fe6
  Author: David Read <david.read at hackneyworkshop.com>
  Date:   2017-03-28 (Tue, 28 Mar 2017)

  Changed paths:
    M doc/maintaining/installing/install-from-source.rst
    M setup.py

  Log Message:
  -----------
  [3513] setuptools version checked in setup.py


  Commit: ae2588fd1e0ab33717334833d54f6ab147385206
      https://github.com/ckan/ckan/commit/ae2588fd1e0ab33717334833d54f6ab147385206
  Author: David Read <david.read at hackneyworkshop.com>
  Date:   2017-03-28 (Tue, 28 Mar 2017)

  Changed paths:
    M setup.py

  Log Message:
  -----------
  [3513] Fix version expression to cope with e.g. 2.2. Clearer text.


  Commit: a83c314dcf831c530a9c98f40b4ff46a62838491
      https://github.com/ckan/ckan/commit/a83c314dcf831c530a9c98f40b4ff46a62838491
  Author: David Read <david.read at hackneyworkshop.com>
  Date:   2017-03-29 (Wed, 29 Mar 2017)

  Changed paths:
    M setup.py

  Log Message:
  -----------
  [3513] Specify particular version of setuptools, rather than just the latest. Moved import upwards.


  Commit: b5071c0bb854cdfa6af06c3ba12c8c0ab964f165
      https://github.com/ckan/ckan/commit/b5071c0bb854cdfa6af06c3ba12c8c0ab964f165
  Author: David Read <david.read at hackneyworkshop.com>
  Date:   2017-03-29 (Wed, 29 Mar 2017)

  Changed paths:
    M doc/maintaining/installing/install-from-source.rst
    A requirement-setuptools.txt
    M setup.py

  Log Message:
  -----------
  [3513] Recommended version is now 20.4 and in its own requirements file.


  Commit: f46a01e356e93a395c0d020e1624c2b3edbabdf2
      https://github.com/ckan/ckan/commit/f46a01e356e93a395c0d020e1624c2b3edbabdf2
  Author: David Read <david.read at hackneyworkshop.com>
  Date:   2017-03-30 (Thu, 30 Mar 2017)

  Changed paths:
    M doc/maintaining/installing/install-from-source.rst

  Log Message:
  -----------
  [3513] Move setuptools upgrade forward, else ckan will not install.


  Commit: d163c22c3871539f491281be8abb1e44b134939c
      https://github.com/ckan/ckan/commit/d163c22c3871539f491281be8abb1e44b134939c
  Author: David Read <david.read at hackneyworkshop.com>
  Date:   2017-03-31 (Fri, 31 Mar 2017)

  Changed paths:
    M bin/travis-install-dependencies
    M circle.yml

  Log Message:
  -----------
  [3513] Sort autobuild hopefully.


  Commit: 3348a32c3f7c6f95e3da92a71bb3750f87d81a8c
      https://github.com/ckan/ckan/commit/3348a32c3f7c6f95e3da92a71bb3750f87d81a8c
  Author: Ian Ward <ian at excess.org>
  Date:   2017-04-07 (Fri, 07 Apr 2017)

  Changed paths:
    M ckanext/datastore/db.py
    M ckanext/datastore/logic/action.py
    M ckanext/datastore/plugin.py
    M ckanext/datastore/tests/test_create.py
    M ckanext/datastore/tests/test_delete.py
    M ckanext/datastore/tests/test_dump.py
    M ckanext/datastore/tests/test_helpers.py
    M ckanext/datastore/tests/test_search.py
    M ckanext/datastore/tests/test_unit.py
    M ckanext/datastore/tests/test_upsert.py

  Log Message:
  -----------
  [#3428] replace db._get_engine with db.get_(read|write)_engine


  Commit: ce33d8ef481ae30e0950807246f1930eb13eaa6b
      https://github.com/ckan/ckan/commit/ce33d8ef481ae30e0950807246f1930eb13eaa6b
  Author: Ian Ward <ian at excess.org>
  Date:   2017-04-07 (Fri, 07 Apr 2017)

  Changed paths:
    M ckanext/datapusher/tests/test_interfaces.py

  Log Message:
  -----------
  [#3428] one more db._get_engine replacement


  Commit: 5fa93799e74c866263907a9efda33d83140c0b77
      https://github.com/ckan/ckan/commit/5fa93799e74c866263907a9efda33d83140c0b77
  Author: Ian Ward <ian at excess.org>
  Date:   2017-04-07 (Fri, 07 Apr 2017)

  Changed paths:
    M ckanext/datapusher/tests/test.py

  Log Message:
  -----------
  [#3428] one more db._get_engine replacement


  Commit: 856ae968ae870129a43d679bab88c4a0d3878095
      https://github.com/ckan/ckan/commit/856ae968ae870129a43d679bab88c4a0d3878095
  Author: Ian Ward <ian at excess.org>
  Date:   2017-04-07 (Fri, 07 Apr 2017)

  Changed paths:
    A ckan/lib/lazyjson.py
    M ckanext/datastore/db.py
    M ckanext/datastore/plugin.py
    M ckanext/datastore/tests/test_dump.py
    M ckanext/datastore/tests/test_search.py
    M requirements.in
    M requirements.txt

  Log Message:
  -----------
  [#3523] use postgresql row_to_json + LazyJSONObject


  Commit: a553c1d380ea08419600c7feff4ed12d889d6b8c
      https://github.com/ckan/ckan/commit/a553c1d380ea08419600c7feff4ed12d889d6b8c
  Author: Ian Ward <ian at excess.org>
  Date:   2017-04-07 (Fri, 07 Apr 2017)

  Changed paths:
    M ckanext/datastore/controller.py
    M ckanext/datastore/db.py
    M ckanext/datastore/logic/action.py
    M ckanext/datastore/logic/schema.py
    M ckanext/datastore/plugin.py
    M ckanext/datastore/tests/test_dump.py
    M ckanext/datastore/writer.py

  Log Message:
  -----------
  [#3523] datastore_search records_format param, update dump


  Commit: d7ab29e6d3a6633f88d5a64d087b4ab48ac222c6
      https://github.com/ckan/ckan/commit/d7ab29e6d3a6633f88d5a64d087b4ab48ac222c6
  Author: Ian Ward <ian at excess.org>
  Date:   2017-04-08 (Sat, 08 Apr 2017)

  Changed paths:
    M ckanext/datastore/controller.py

  Log Message:
  -----------
  [#3523] dump doesnt need totals


  Commit: 90756afcb8b8710792c306344452f83b3cf1c7e3
      https://github.com/ckan/ckan/commit/90756afcb8b8710792c306344452f83b3cf1c7e3
  Author: Ian Ward <ian at excess.org>
  Date:   2017-04-14 (Fri, 14 Apr 2017)

  Changed paths:
    M ckanext/datastore/db.py
    M ckanext/datastore/logic/action.py
    M ckanext/datastore/logic/schema.py

  Log Message:
  -----------
  [#3428] create_function: allow arguments+return types


  Commit: 0b877d52d48311fd126d5dee32f6e96cafcfc9bf
      https://github.com/ckan/ckan/commit/0b877d52d48311fd126d5dee32f6e96cafcfc9bf
  Author: Ian Ward <ian at excess.org>
  Date:   2017-04-15 (Sat, 15 Apr 2017)

  Changed paths:
    M ckanext/datastore/db.py

  Log Message:
  -----------
  [#3523] copy to: support where params


  Commit: fac5d80429992c4e91a5a8d3d14949fdee21523a
      https://github.com/ckan/ckan/commit/fac5d80429992c4e91a5a8d3d14949fdee21523a
  Author: Ian Ward <ian at excess.org>
  Date:   2017-04-15 (Sat, 15 Apr 2017)

  Changed paths:
    M ckanext/datastore/db.py

  Log Message:
  -----------
  [#3523] faster default records_format=objects output


  Commit: f51610ae78e39b2faff6de271941b0940ae88b03
      https://github.com/ckan/ckan/commit/f51610ae78e39b2faff6de271941b0940ae88b03
  Author: Ian Ward <ian at excess.org>
  Date:   2017-04-15 (Sat, 15 Apr 2017)

  Changed paths:
    M ckan/lib/lazyjson.py
    M ckanext/datastore/db.py
    M ckanext/datastore/tests/test_dump.py

  Log Message:
  -----------
  [#3523] faster default dump records_format=lists output


  Commit: 5e5f337addfec7e0fdb993cc0d31ffb6171cdc52
      https://github.com/ckan/ckan/commit/5e5f337addfec7e0fdb993cc0d31ffb6171cdc52
  Author: Ian Ward <ian at excess.org>
  Date:   2017-04-18 (Tue, 18 Apr 2017)

  Changed paths:
    M ckanext/datastore/db.py

  Log Message:
  -----------
  [#3428] factor out ProgrammingError summarization


  Commit: 6bb499f40c7af55893d6df19126a6a60ca0ecb28
      https://github.com/ckan/ckan/commit/6bb499f40c7af55893d6df19126a6a60ca0ecb28
  Author: Ian Ward <ian at excess.org>
  Date:   2017-04-18 (Tue, 18 Apr 2017)

  Changed paths:
    M ckanext/datastore/db.py

  Log Message:
  -----------
  [#3428] catch errors on upsert + update as well


  Commit: c936de81c961afead0834c2a99431c40343c2d06
      https://github.com/ckan/ckan/commit/c936de81c961afead0834c2a99431c40343c2d06
  Author: Ian Ward <ian at excess.org>
  Date:   2017-04-18 (Tue, 18 Apr 2017)

  Changed paths:
    M ckanext/datastore/db.py

  Log Message:
  -----------
  [#3428] fix typo


  Commit: 8b19afad8348274ef255aeefa57c7922636a5b48
      https://github.com/ckan/ckan/commit/8b19afad8348274ef255aeefa57c7922636a5b48
  Author: Ian Ward <ian at excess.org>
  Date:   2017-04-18 (Tue, 18 Apr 2017)

  Changed paths:
    M README.rst
    M ckan/config/deployment.ini_tmpl
    M ckan/config/middleware/flask_app.py
    M ckan/controllers/group.py
    M ckan/controllers/package.py
    M ckan/controllers/user.py
    M ckan/lib/cli.py
    M ckan/lib/mailer.py
    M ckan/logic/__init__.py
    M ckan/logic/action/get.py
    M ckan/logic/schema.py
    M ckan/model/activity.py
    M ckan/plugins/interfaces.py
    M ckan/plugins/toolkit.py
    M ckan/templates/organization/index.html
    M ckan/templates/organization/members.html
    M ckan/templates/package/resource_read.html
    M ckan/tests/controllers/test_user.py
    M ckan/tests/legacy/ckantestplugins.py
    M ckan/tests/logic/action/test_get.py
    M ckan/tests/test_coding_standards.py
    M ckanext/datapusher/cli.py
    M ckanext/datapusher/logic/action.py
    M ckanext/datapusher/templates/datapusher/resource_data.html
    M ckanext/datapusher/tests/test_action.py
    M ckanext/datastore/commands.py
    M ckanext/datastore/controller.py
    M ckanext/datastore/db.py
    M ckanext/datastore/logic/action.py
    M ckanext/datastore/logic/schema.py
    M ckanext/datastore/plugin.py
    M ckanext/datastore/set_permissions.sql
    A ckanext/datastore/tests/test_chained_action.py
    M ckanext/datastore/tests/test_dump.py
    M ckanext/datastore/writer.py
    M ckanext/reclineview/theme/public/recline_view.js
    M ckanext/reclineview/theme/public/resource.config
    R ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/layers-2x.png
    R ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/layers.png
    R ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/marker-icon-2x.png
    R ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/marker-icon.png
    R ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/marker-shadow.png
    R ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/leaflet-src.js
    R ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/leaflet.css
    R ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/leaflet.js
    A ckanext/reclineview/theme/public/vendor/leaflet/0.7.7/images/layers-2x.png
    A ckanext/reclineview/theme/public/vendor/leaflet/0.7.7/images/layers.png
    A ckanext/reclineview/theme/public/vendor/leaflet/0.7.7/images/marker-icon-2x.png
    A ckanext/reclineview/theme/public/vendor/leaflet/0.7.7/images/marker-icon.png
    A ckanext/reclineview/theme/public/vendor/leaflet/0.7.7/images/marker-shadow.png
    A ckanext/reclineview/theme/public/vendor/leaflet/0.7.7/leaflet-src.js
    A ckanext/reclineview/theme/public/vendor/leaflet/0.7.7/leaflet.css
    A ckanext/reclineview/theme/public/vendor/leaflet/0.7.7/leaflet.js
    M dev-requirements.txt
    M doc/contributing/test.rst
    M doc/extensions/plugin-interfaces.rst
    M doc/maintaining/configuration.rst
    M doc/maintaining/installing/index.rst
    M doc/maintaining/installing/install-from-source.rst
    M requirements.in
    M requirements.txt
    M setup.py

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/master' into 3428-datastore-triggers


  Commit: 8f205ea8e80e2ff659b8e4684cb4c374d82d72b9
      https://github.com/ckan/ckan/commit/8f205ea8e80e2ff659b8e4684cb4c374d82d72b9
  Author: Ian Ward <ian at excess.org>
  Date:   2017-04-20 (Thu, 20 Apr 2017)

  Changed paths:
    M doc/maintaining/datastore.rst

  Log Message:
  -----------
  [#3428] datastore docs: trigger feature paragraph


  Commit: d7011c652db925483590d87e82608eaccc365e6f
      https://github.com/ckan/ckan/commit/d7011c652db925483590d87e82608eaccc365e6f
  Author: Ian Ward <ian at excess.org>
  Date:   2017-04-21 (Fri, 21 Apr 2017)

  Changed paths:
    M ckanext/datastore/db.py

  Log Message:
  -----------
  [#3523] faster offset for records_format=lists


  Commit: e43478cae108431690d608130efa9bfdcc78f6fa
      https://github.com/ckan/ckan/commit/e43478cae108431690d608130efa9bfdcc78f6fa
  Author: Ian Ward <ian at excess.org>
  Date:   2017-04-21 (Fri, 21 Apr 2017)

  Changed paths:
    M ckanext/datastore/controller.py

  Log Message:
  -----------
  [#3523] trade some memory for >2x speedup when dumping csv


  Commit: bfc5fbd8406fb6b29e0e9bbd2c729082ab4cddea
      https://github.com/ckan/ckan/commit/bfc5fbd8406fb6b29e0e9bbd2c729082ab4cddea
  Author: Adrià Mercader <amercadero at gmail.com>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M bin/travis-install-dependencies
    M circle.yml
    M doc/maintaining/installing/install-from-source.rst
    A requirement-setuptools.txt
    M setup.py

  Log Message:
  -----------
  Merge pull request #3514 from ckan/require-setuptools-version

[3513] minimum setuptools version


  Commit: 937dae73d9ed16d3f7ef4bf5e94b3ed09724de9a
      https://github.com/ckan/ckan/commit/937dae73d9ed16d3f7ef4bf5e94b3ed09724de9a
  Author: Mikko Nieminen <mikko.nieminen at gofore.com>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M ckan/templates/group/about.html
    M ckan/templates/group/edit.html
    M ckan/templates/group/edit_base.html
    M ckan/templates/group/read.html
    M ckan/templates/group/read_base.html
    M ckan/templates/group/snippets/group_item.html
    M ckan/templates/group/snippets/info.html

  Log Message:
  -----------
  Add localization support for group templates


  Commit: bc2e6e4b7785172fc244094e135a24e01d39e62d
      https://github.com/ckan/ckan/commit/bc2e6e4b7785172fc244094e135a24e01d39e62d
  Author: Mikko Nieminen <mikko.nieminen at gofore.com>
  Date:   2017-05-09 (Tue, 09 May 2017)

  Changed paths:
    M ckan/templates/group/snippets/group_item.html

  Log Message:
  -----------
  Add localization support to group_item template View-link


  Commit: a8e974507ac60639f05af9b1b41442d058cb8eac
      https://github.com/ckan/ckan/commit/a8e974507ac60639f05af9b1b41442d058cb8eac
  Author: David Read <david.read at hackneyworkshop.com>
  Date:   2017-05-11 (Thu, 11 May 2017)

  Changed paths:
    M doc/maintaining/installing/install-from-source.rst

  Log Message:
  -----------
  Move troubleshooting tip to the bottom


  Commit: 28afb7eec7de7db9a165b5c81def78403a4a08d9
      https://github.com/ckan/ckan/commit/28afb7eec7de7db9a165b5c81def78403a4a08d9
  Author: David Read <david.read at hackneyworkshop.com>
  Date:   2017-05-11 (Thu, 11 May 2017)

  Changed paths:
    M doc/maintaining/installing/install-from-source.rst

  Log Message:
  -----------
  Readd blank line


  Commit: cd72b43195174c03a8ce9544d1369437dc8b31da
      https://github.com/ckan/ckan/commit/cd72b43195174c03a8ce9544d1369437dc8b31da
  Author: Adrià Mercader <amercadero at gmail.com>
  Date:   2017-05-11 (Thu, 11 May 2017)

  Changed paths:
    M doc/maintaining/installing/install-from-source.rst

  Log Message:
  -----------
  Merge pull request #3562 from ckan/mstantoncook-docs-solr-ubuntu-14.04-fix

Fix solr-jetty 'JSP support' during install on 14.04


  Commit: ed2f8aecb5de75f07c862bdb018569ed31a37044
      https://github.com/ckan/ckan/commit/ed2f8aecb5de75f07c862bdb018569ed31a37044
  Author: Ian Ward <ian at excess.org>
  Date:   2017-05-11 (Thu, 11 May 2017)

  Changed paths:
    M ckanext/datastore/logic/action.py

  Log Message:
  -----------
  [#3428] datastore_create: more trigger docs


  Commit: 784a6e17fdf5f7e4056c3193ce1f2ee769f4d564
      https://github.com/ckan/ckan/commit/784a6e17fdf5f7e4056c3193ce1f2ee769f4d564
  Author: Adrià Mercader <amercadero at gmail.com>
  Date:   2017-05-11 (Thu, 11 May 2017)

  Changed paths:
    M ckan/lib/navl/validators.py
    M ckan/tests/helpers.py
    M ckanext/datapusher/tests/test.py
    M ckanext/datapusher/tests/test_interfaces.py
    M ckanext/datastore/db.py
    M ckanext/datastore/logic/action.py
    M ckanext/datastore/logic/auth.py
    M ckanext/datastore/logic/schema.py
    M ckanext/datastore/plugin.py
    M ckanext/datastore/tests/helpers.py
    M ckanext/datastore/tests/test_create.py
    M ckanext/datastore/tests/test_delete.py
    M ckanext/datastore/tests/test_dump.py
    M ckanext/datastore/tests/test_helpers.py
    M ckanext/datastore/tests/test_search.py
    M ckanext/datastore/tests/test_unit.py
    M ckanext/datastore/tests/test_upsert.py
    M doc/maintaining/datastore.rst

  Log Message:
  -----------
  Merge pull request #3428 from ckan/3428-datastore-triggers

datastore triggers


  Commit: 759113acd3f2480197e0fd33c8de4fd521fda178
      https://github.com/ckan/ckan/commit/759113acd3f2480197e0fd33c8de4fd521fda178
  Author: Mikko Nieminen <mikko.nieminen at gofore.com>
  Date:   2017-05-12 (Fri, 12 May 2017)

  Changed paths:
    M ckan/templates/group/snippets/group_item.html

  Log Message:
  -----------
  Fix failing group tests


  Commit: b77c6faba4b32638d1f0f0a78356f5cd9f3bbb4b
      https://github.com/ckan/ckan/commit/b77c6faba4b32638d1f0f0a78356f5cd9f3bbb4b
  Author: Mikko Nieminen <mikko.nieminen at gofore.com>
  Date:   2017-05-12 (Fri, 12 May 2017)

  Changed paths:
    M ckan/templates/group/about.html
    M ckan/templates/group/edit.html
    M ckan/templates/group/edit_base.html
    M ckan/templates/group/read.html
    M ckan/templates/group/read_base.html
    M ckan/templates/group/snippets/info.html

  Log Message:
  -----------
  Improve conditionals in templates between translated and display_name


  Commit: 67e9c5303ed113c33616393a8cff1a38e375132d
      https://github.com/ckan/ckan/commit/67e9c5303ed113c33616393a8cff1a38e375132d
  Author: Ian Ward <ian at excess.org>
  Date:   2017-05-14 (Sun, 14 May 2017)

  Changed paths:
    M bin/travis-install-dependencies
    M circle.yml
    M ckan/controllers/group.py
    M ckan/lib/navl/dictization_functions.py
    M ckan/lib/navl/validators.py
    M ckan/logic/auth/update.py
    M ckan/templates/organization/members.html
    M ckan/templates/package/resource_read.html
    M ckan/templates/package/snippets/resource_item.html
    M ckan/tests/controllers/test_group.py
    M ckan/tests/helpers.py
    M ckan/tests/lib/navl/test_dictization_functions.py
    M ckanext/datapusher/logic/action.py
    M ckanext/datastore/db.py
    M ckanext/datastore/logic/action.py
    M ckanext/datastore/logic/auth.py
    M ckanext/datastore/logic/schema.py
    M ckanext/datastore/plugin.py
    M ckanext/datastore/tests/helpers.py
    M ckanext/datastore/tests/test_create.py
    M ckanext/datastore/tests/test_delete.py
    M contrib/docker/docker-compose.yml
    M doc/conf.py
    M doc/maintaining/datastore.rst
    M doc/maintaining/installing/index.rst
    M doc/maintaining/installing/install-from-source.rst
    M doc/maintaining/installing/solr.rst
    A requirement-setuptools.txt
    M setup.py

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/master' into 3523-datastore-search-performance


  Commit: 16cc532b7c560b709a13a110e186e7dd48bf036a
      https://github.com/ckan/ckan/commit/16cc532b7c560b709a13a110e186e7dd48bf036a
  Author: Mikko Nieminen <mikko.nieminen at gofore.com>
  Date:   2017-05-15 (Mon, 15 May 2017)

  Changed paths:
    M ckan/controllers/group.py

  Log Message:
  -----------
  Add include_extras to group index group_list call to display localized fields in group search


  Commit: 32c5883a8f7338be2e37bea08a54a9b84258bd86
      https://github.com/ckan/ckan/commit/32c5883a8f7338be2e37bea08a54a9b84258bd86
  Author: David Read <david.read at hackneyworkshop.com>
  Date:   2017-05-15 (Mon, 15 May 2017)

  Changed paths:
    M doc/maintaining/installing/install-from-source.rst

  Log Message:
  -----------
  #3544 Fix info about packaging - 16.04 not supported yet for those.


  Commit: 9b435319c4242cd37ac0d6bf3d3e02bdc929c4ba
      https://github.com/ckan/ckan/commit/9b435319c4242cd37ac0d6bf3d3e02bdc929c4ba
  Author: Adrià Mercader <amercadero at gmail.com>
  Date:   2017-05-16 (Tue, 16 May 2017)

  Changed paths:
    M doc/maintaining/installing/install-from-source.rst

  Log Message:
  -----------
  Merge pull request #3563 from ckan/fix-doc-packages

#3544 Fix info about packaging - 16.04 not supported yet for those.


  Commit: 222d207dc6d1632cbf0f9e75b2c49194287d4b80
      https://github.com/ckan/ckan/commit/222d207dc6d1632cbf0f9e75b2c49194287d4b80
  Author: Jinfei Fan <fanjinfei at hotmail.com>
  Date:   2017-05-16 (Tue, 16 May 2017)

  Changed paths:
    M ckanext/datastore/logic/action.py
    M ckanext/datastore/logic/auth.py
    M ckanext/datastore/plugin.py

  Log Message:
  -----------
  apply triggers to an existing datastore resource


  Commit: cf48e035e8f103b80739caa96128d787ff487121
      https://github.com/ckan/ckan/commit/cf48e035e8f103b80739caa96128d787ff487121
  Author: Jinfei Fan <fanjinfei at hotmail.com>
  Date:   2017-05-16 (Tue, 16 May 2017)

  Changed paths:
    M ckanext/datastore/logic/action.py
    M ckanext/datastore/logic/auth.py
    M ckanext/datastore/plugin.py

  Log Message:
  -----------
  rename API


  Commit: 59bf205bfa6d789bc8f22febeed124e31063ab3b
      https://github.com/ckan/ckan/commit/59bf205bfa6d789bc8f22febeed124e31063ab3b
  Author: Adrià Mercader <amercadero at gmail.com>
  Date:   2017-05-18 (Thu, 18 May 2017)

  Changed paths:
    A ckan/lib/lazyjson.py
    M ckanext/datastore/controller.py
    M ckanext/datastore/db.py
    M ckanext/datastore/logic/action.py
    M ckanext/datastore/logic/schema.py
    M ckanext/datastore/plugin.py
    M ckanext/datastore/tests/test_dump.py
    M ckanext/datastore/tests/test_search.py
    M ckanext/datastore/writer.py
    M requirements.in
    M requirements.txt

  Log Message:
  -----------
  Merge pull request #3523 from ckan/3523-datastore-search-performance

datastore dump + search performance


  Commit: 782c9a5a7bb69e9d34a20ee8567ac6d95a720c65
      https://github.com/ckan/ckan/commit/782c9a5a7bb69e9d34a20ee8567ac6d95a720c65
  Author: Adrià Mercader <amercadero at gmail.com>
  Date:   2017-05-18 (Thu, 18 May 2017)

  Changed paths:
    M ckanext/datastore/logic/action.py
    M ckanext/datastore/logic/auth.py
    M ckanext/datastore/plugin.py

  Log Message:
  -----------
  Merge pull request #3565 from fanjinfei/core_master

apply triggers to existing datastore resource


  Commit: c58a16d5c19150f53badabf794cb1d6cd8d983e6
      https://github.com/ckan/ckan/commit/c58a16d5c19150f53badabf794cb1d6cd8d983e6
  Author: Konstantin Sivakov <tino097 at gmail.com>
  Date:   2017-05-18 (Thu, 18 May 2017)

  Changed paths:
    M ckan/logic/schema.py
    M ckan/logic/validators.py

  Log Message:
  -----------
  email validation for user input


  Commit: 79b4f171ca85c58f8cc8e942a3b80f2618a64d76
      https://github.com/ckan/ckan/commit/79b4f171ca85c58f8cc8e942a3b80f2618a64d76
  Author: Konstantin Sivakov <tino097 at gmail.com>
  Date:   2017-05-19 (Fri, 19 May 2017)

  Changed paths:
    M ckan/logic/validators.py

  Log Message:
  -----------
  fix code by review notes


  Commit: 58f69c3980d50168149ebe2a20bfdacb75991ae3
      https://github.com/ckan/ckan/commit/58f69c3980d50168149ebe2a20bfdacb75991ae3
  Author: Yan <yan.rudenko at linkdigital.com.au>
  Date:   2017-05-22 (Mon, 22 May 2017)

  Changed paths:
    M ckan/logic/action/get.py

  Log Message:
  -----------
  Fix for checking


  Commit: 9e4599b468d2c96a37a6d1f58d285d0494fae5c0
      https://github.com/ckan/ckan/commit/9e4599b468d2c96a37a6d1f58d285d0494fae5c0
  Author: Florian Brucker <florian.brucker at it.karlsruhe.de>
  Date:   2017-05-22 (Mon, 22 May 2017)

  Changed paths:
    M ckan/public/base/javascript/modules/resource-view-filters.js

  Log Message:
  -----------
  [#3570] Fix syntax error in resource-view-filters JS module


  Commit: 9ac463bb2afb52f7055b8539cc9b3208122d1dfb
      https://github.com/ckan/ckan/commit/9ac463bb2afb52f7055b8539cc9b3208122d1dfb
  Author: Yan <yan.rudenko at linkdigital.com.au>
  Date:   2017-05-22 (Mon, 22 May 2017)

  Changed paths:
    M ckan/logic/action/update.py
    M ckan/tests/logic/action/test_update.py

  Log Message:
  -----------
  Added test and modification to logic


  Commit: fb33436ef488165a3db31e01ea80a74516e20c11
      https://github.com/ckan/ckan/commit/fb33436ef488165a3db31e01ea80a74516e20c11
  Author: Yan <yan.rudenko at linkdigital.com.au>
  Date:   2017-05-22 (Mon, 22 May 2017)

  Changed paths:
    M .circleci-matrix.yml
    A .editorconfig
    A .travis.yml
    M CHANGELOG.rst
    M Dockerfile
    M README.rst
    M bin/travis-install-dependencies
    M circle.yml
    M ckan/authz.py
    M ckan/ckan_nose_plugin.py
    M ckan/common.py
    M ckan/config/deployment.ini_tmpl
    M ckan/config/environment.py
    M ckan/config/middleware/flask_app.py
    M ckan/config/middleware/pylons_app.py
    M ckan/config/routing.py
    M ckan/controllers/admin.py
    M ckan/controllers/api.py
    M ckan/controllers/error.py
    M ckan/controllers/feed.py
    M ckan/controllers/group.py
    M ckan/controllers/home.py
    M ckan/controllers/package.py
    M ckan/controllers/user.py
    M ckan/i18n/ar/LC_MESSAGES/ckan.mo
    M ckan/i18n/ar/LC_MESSAGES/ckan.po
    M ckan/i18n/bg/LC_MESSAGES/ckan.mo
    M ckan/i18n/bg/LC_MESSAGES/ckan.po
    M ckan/i18n/ca/LC_MESSAGES/ckan.mo
    M ckan/i18n/ca/LC_MESSAGES/ckan.po
    M ckan/i18n/cs_CZ/LC_MESSAGES/ckan.mo
    M ckan/i18n/cs_CZ/LC_MESSAGES/ckan.po
    M ckan/i18n/da_DK/LC_MESSAGES/ckan.mo
    M ckan/i18n/da_DK/LC_MESSAGES/ckan.po
    M ckan/i18n/el/LC_MESSAGES/ckan.mo
    M ckan/i18n/el/LC_MESSAGES/ckan.po
    M ckan/i18n/en_AU/LC_MESSAGES/ckan.mo
    M ckan/i18n/en_AU/LC_MESSAGES/ckan.po
    M ckan/i18n/en_GB/LC_MESSAGES/ckan.mo
    M ckan/i18n/en_GB/LC_MESSAGES/ckan.po
    M ckan/i18n/es/LC_MESSAGES/ckan.mo
    M ckan/i18n/es/LC_MESSAGES/ckan.po
    M ckan/i18n/es_AR/LC_MESSAGES/ckan.mo
    M ckan/i18n/es_AR/LC_MESSAGES/ckan.po
    M ckan/i18n/fa_IR/LC_MESSAGES/ckan.mo
    M ckan/i18n/fa_IR/LC_MESSAGES/ckan.po
    M ckan/i18n/fi/LC_MESSAGES/ckan.mo
    M ckan/i18n/fi/LC_MESSAGES/ckan.po
    M ckan/i18n/fr/LC_MESSAGES/ckan.mo
    M ckan/i18n/fr/LC_MESSAGES/ckan.po
    M ckan/i18n/he/LC_MESSAGES/ckan.mo
    M ckan/i18n/he/LC_MESSAGES/ckan.po
    M ckan/i18n/hr/LC_MESSAGES/ckan.mo
    M ckan/i18n/hr/LC_MESSAGES/ckan.po
    M ckan/i18n/hu/LC_MESSAGES/ckan.mo
    M ckan/i18n/hu/LC_MESSAGES/ckan.po
    M ckan/i18n/id/LC_MESSAGES/ckan.mo
    M ckan/i18n/id/LC_MESSAGES/ckan.po
    M ckan/i18n/is/LC_MESSAGES/ckan.mo
    M ckan/i18n/is/LC_MESSAGES/ckan.po
    M ckan/i18n/it/LC_MESSAGES/ckan.mo
    M ckan/i18n/it/LC_MESSAGES/ckan.po
    M ckan/i18n/ja/LC_MESSAGES/ckan.mo
    M ckan/i18n/ja/LC_MESSAGES/ckan.po
    M ckan/i18n/km/LC_MESSAGES/ckan.mo
    M ckan/i18n/km/LC_MESSAGES/ckan.po
    M ckan/i18n/ko_KR/LC_MESSAGES/ckan.mo
    M ckan/i18n/ko_KR/LC_MESSAGES/ckan.po
    M ckan/i18n/lt/LC_MESSAGES/ckan.mo
    M ckan/i18n/lt/LC_MESSAGES/ckan.po
    M ckan/i18n/lv/LC_MESSAGES/ckan.mo
    M ckan/i18n/lv/LC_MESSAGES/ckan.po
    M ckan/i18n/mn_MN/LC_MESSAGES/ckan.mo
    M ckan/i18n/mn_MN/LC_MESSAGES/ckan.po
    M ckan/i18n/nl/LC_MESSAGES/ckan.mo
    M ckan/i18n/nl/LC_MESSAGES/ckan.po
    M ckan/i18n/no/LC_MESSAGES/ckan.mo
    M ckan/i18n/no/LC_MESSAGES/ckan.po
    M ckan/i18n/pl/LC_MESSAGES/ckan.mo
    M ckan/i18n/pl/LC_MESSAGES/ckan.po
    M ckan/i18n/pt_BR/LC_MESSAGES/ckan.mo
    M ckan/i18n/pt_BR/LC_MESSAGES/ckan.po
    M ckan/i18n/pt_PT/LC_MESSAGES/ckan.mo
    M ckan/i18n/pt_PT/LC_MESSAGES/ckan.po
    M ckan/i18n/ro/LC_MESSAGES/ckan.mo
    M ckan/i18n/ro/LC_MESSAGES/ckan.po
    M ckan/i18n/ru/LC_MESSAGES/ckan.mo
    M ckan/i18n/ru/LC_MESSAGES/ckan.po
    M ckan/i18n/sk/LC_MESSAGES/ckan.mo
    M ckan/i18n/sk/LC_MESSAGES/ckan.po
    M ckan/i18n/sl/LC_MESSAGES/ckan.mo
    M ckan/i18n/sl/LC_MESSAGES/ckan.po
    M ckan/i18n/sq/LC_MESSAGES/ckan.mo
    M ckan/i18n/sq/LC_MESSAGES/ckan.po
    M ckan/i18n/sr/LC_MESSAGES/ckan.mo
    M ckan/i18n/sr/LC_MESSAGES/ckan.po
    M ckan/i18n/sr_Latn/LC_MESSAGES/ckan.mo
    M ckan/i18n/sr_Latn/LC_MESSAGES/ckan.po
    M ckan/i18n/sv/LC_MESSAGES/ckan.mo
    M ckan/i18n/sv/LC_MESSAGES/ckan.po
    M ckan/i18n/th/LC_MESSAGES/ckan.mo
    M ckan/i18n/th/LC_MESSAGES/ckan.po
    M ckan/i18n/tr/LC_MESSAGES/ckan.mo
    M ckan/i18n/tr/LC_MESSAGES/ckan.po
    M ckan/i18n/uk_UA/LC_MESSAGES/ckan.mo
    M ckan/i18n/uk_UA/LC_MESSAGES/ckan.po
    M ckan/i18n/vi/LC_MESSAGES/ckan.mo
    M ckan/i18n/vi/LC_MESSAGES/ckan.po
    M ckan/i18n/zh_CN/LC_MESSAGES/ckan.mo
    M ckan/i18n/zh_CN/LC_MESSAGES/ckan.po
    M ckan/lib/activity_streams.py
    M ckan/lib/base.py
    M ckan/lib/celery_app.py
    M ckan/lib/cli.py
    M ckan/lib/dictization/__init__.py
    M ckan/lib/dictization/model_dictize.py
    M ckan/lib/email_notifications.py
    M ckan/lib/fanstatic_resources.py
    M ckan/lib/helpers.py
    M ckan/lib/i18n.py
    M ckan/lib/jinja_extensions.py
    M ckan/lib/jobs.py
    A ckan/lib/lazyjson.py
    M ckan/lib/mailer.py
    M ckan/lib/maintain.py
    M ckan/lib/navl/dictization_functions.py
    M ckan/lib/navl/validators.py
    M ckan/lib/plugins.py
    M ckan/logic/__init__.py
    M ckan/logic/action/create.py
    M ckan/logic/action/delete.py
    M ckan/logic/action/get.py
    M ckan/logic/action/update.py
    M ckan/logic/auth/update.py
    M ckan/logic/schema.py
    M ckan/logic/validators.py
    M ckan/model/activity.py
    M ckan/model/dashboard.py
    M ckan/model/resource.py
    M ckan/model/system_info.py
    M ckan/model/user.py
    M ckan/pastertemplates/template/bin/travis-run.sh_tmpl
    A ckan/pastertemplates/template/ckanext/+project_shortname+/i18n/+dot+gitignore
    M ckan/plugins/interfaces.py
    M ckan/plugins/toolkit.py
    M ckan/public/base/css/fuchsia.css
    M ckan/public/base/css/green.css
    M ckan/public/base/css/main.css
    M ckan/public/base/css/maroon.css
    M ckan/public/base/css/red.css
    M ckan/public/base/images/background-tag-ie7.png
    M ckan/public/base/images/background-tag.png
    M ckan/public/base/images/background-tile.png
    M ckan/public/base/images/bg.png
    M ckan/public/base/images/breadcrumb-slash-ie7.png
    M ckan/public/base/images/ckan-logo-footer.png
    M ckan/public/base/images/ckan-logo.png
    M ckan/public/base/images/dashboard-followee-related.png
    M ckan/public/base/images/dotted.png
    M ckan/public/base/images/editing.png
    M ckan/public/base/images/full-width-nav-right.png
    M ckan/public/base/images/icon-search-27x26.png
    M ckan/public/base/images/nav-active.png
    M ckan/public/base/images/nav.png
    M ckan/public/base/images/od_80x15_blue.png
    M ckan/public/base/images/placeholder-200x125.png
    M ckan/public/base/images/placeholder-420x220.png
    M ckan/public/base/images/placeholder-680x400.png
    M ckan/public/base/images/placeholder-application.png
    M ckan/public/base/images/placeholder-group.png
    M ckan/public/base/images/placeholder-image.png
    M ckan/public/base/images/placeholder-organization.png
    M ckan/public/base/images/sprite-ckan-icons.png
    M ckan/public/base/images/sprite-resource-icons.png
    M ckan/public/base/images/table-seperator.png
    M ckan/public/base/javascript/client.js
    M ckan/public/base/javascript/main.js
    M ckan/public/base/javascript/modules/basic-form.js
    M ckan/public/base/javascript/modules/custom-fields.js
    M ckan/public/base/javascript/modules/follow.js
    M ckan/public/base/javascript/modules/image-upload.js
    M ckan/public/base/javascript/modules/resource-reorder.js
    M ckan/public/base/javascript/modules/resource-view-filters.js
    M ckan/public/base/javascript/modules/resource-view-reorder.js
    M ckan/public/base/javascript/modules/slug-preview.js
    M ckan/public/base/test/spec/modules/custom-fields.spec.js
    M ckan/public/base/vendor/bootstrap/img/glyphicons-halflings-white.png
    M ckan/public/base/vendor/bootstrap/img/glyphicons-halflings.png
    M ckan/public/base/vendor/bootstrap/less/tests/css-tests.html
    M ckan/public/base/vendor/bootstrap/less/tests/navbar-fixed-top.html
    M ckan/public/base/vendor/bootstrap/less/tests/navbar-static-top.html
    M ckan/public/base/vendor/bootstrap/less/tests/navbar.html
    R ckan/public/base/vendor/font-awesome/css/font-awesome-ie7.css
    R ckan/public/base/vendor/font-awesome/css/font-awesome-ie7.min.css
    M ckan/public/base/vendor/font-awesome/css/font-awesome.css
    M ckan/public/base/vendor/font-awesome/css/font-awesome.min.css
    R ckan/public/base/vendor/font-awesome/font/FontAwesome.otf
    R ckan/public/base/vendor/font-awesome/font/fontawesome-webfont.eot
    R ckan/public/base/vendor/font-awesome/font/fontawesome-webfont.svg
    R ckan/public/base/vendor/font-awesome/font/fontawesome-webfont.ttf
    R ckan/public/base/vendor/font-awesome/font/fontawesome-webfont.woff
    A ckan/public/base/vendor/font-awesome/fonts/FontAwesome.otf
    A ckan/public/base/vendor/font-awesome/fonts/fontawesome-webfont.eot
    A ckan/public/base/vendor/font-awesome/fonts/fontawesome-webfont.svg
    A ckan/public/base/vendor/font-awesome/fonts/fontawesome-webfont.ttf
    A ckan/public/base/vendor/font-awesome/fonts/fontawesome-webfont.woff
    R ckan/public/base/vendor/font-awesome/less/bootstrap.less
    A ckan/public/base/vendor/font-awesome/less/bordered-pulled.less
    M ckan/public/base/vendor/font-awesome/less/core.less
    M ckan/public/base/vendor/font-awesome/less/extras.less
    A ckan/public/base/vendor/font-awesome/less/fixed-width.less
    R ckan/public/base/vendor/font-awesome/less/font-awesome-ie7.less
    M ckan/public/base/vendor/font-awesome/less/font-awesome.less
    M ckan/public/base/vendor/font-awesome/less/icons.less
    A ckan/public/base/vendor/font-awesome/less/larger.less
    A ckan/public/base/vendor/font-awesome/less/list.less
    M ckan/public/base/vendor/font-awesome/less/mixins.less
    M ckan/public/base/vendor/font-awesome/less/path.less
    A ckan/public/base/vendor/font-awesome/less/rotated-flipped.less
    A ckan/public/base/vendor/font-awesome/less/spinning.less
    A ckan/public/base/vendor/font-awesome/less/stacked.less
    M ckan/public/base/vendor/font-awesome/less/variables.less
    M ckan/public/base/vendor/resource.config
    M ckan/public/base/vendor/select2/select2.png
    M ckan/public/base/vendor/select2/select2x2.png
    M ckan/templates/admin/config.html
    M ckan/templates/admin/index.html
    M ckan/templates/admin/trash.html
    M ckan/templates/dataviewer/snippets/data_preview.html
    M ckan/templates/dataviewer/snippets/no_preview.html
    M ckan/templates/development/primer.html
    M ckan/templates/development/snippets/actions.html
    M ckan/templates/development/snippets/facet.html
    M ckan/templates/development/snippets/list.html
    M ckan/templates/development/snippets/module.html
    M ckan/templates/development/snippets/nav.html
    M ckan/templates/development/snippets/page_header.html
    M ckan/templates/development/snippets/simple-input.html
    M ckan/templates/group/edit_base.html
    M ckan/templates/group/index.html
    M ckan/templates/group/member_new.html
    M ckan/templates/group/members.html
    M ckan/templates/group/snippets/helper.html
    M ckan/templates/header.html
    M ckan/templates/home/snippets/search.html
    M ckan/templates/macros/autoform.html
    M ckan/templates/macros/form.html
    M ckan/templates/organization/bulk_process.html
    M ckan/templates/organization/edit_base.html
    M ckan/templates/organization/index.html
    M ckan/templates/organization/member_new.html
    M ckan/templates/organization/members.html
    M ckan/templates/organization/read.html
    M ckan/templates/organization/snippets/help.html
    M ckan/templates/organization/snippets/helper.html
    M ckan/templates/organization/snippets/info.html
    M ckan/templates/package/base_form_page.html
    M ckan/templates/package/edit_base.html
    M ckan/templates/package/edit_view.html
    M ckan/templates/package/new_resource_not_draft.html
    M ckan/templates/package/new_view.html
    M ckan/templates/package/read.html
    R ckan/templates/package/resource_data.html
    M ckan/templates/package/resource_edit_base.html
    M ckan/templates/package/resource_read.html
    M ckan/templates/package/resource_views.html
    M ckan/templates/package/resources.html
    M ckan/templates/package/search.html
    M ckan/templates/package/snippets/package_basic_fields.html
    M ckan/templates/package/snippets/resource_form.html
    M ckan/templates/package/snippets/resource_help.html
    M ckan/templates/package/snippets/resource_item.html
    M ckan/templates/package/snippets/resource_view.html
    M ckan/templates/package/snippets/resource_views_list.html
    M ckan/templates/package/snippets/resource_views_list_item.html
    M ckan/templates/package/snippets/resources.html
    M ckan/templates/package/snippets/resources_list.html
    M ckan/templates/package/snippets/view_form_filters.html
    M ckan/templates/package/snippets/view_help.html
    M ckan/templates/package/view_edit_base.html
    M ckan/templates/revision/read.html
    M ckan/templates/snippets/activity_item.html
    M ckan/templates/snippets/datapusher_status.html
    M ckan/templates/snippets/disqus_trackback.html
    M ckan/templates/snippets/facet_list.html
    M ckan/templates/snippets/follow_button.html
    M ckan/templates/snippets/home_breadcrumb_item.html
    M ckan/templates/snippets/license.html
    M ckan/templates/snippets/organization.html
    M ckan/templates/snippets/package_item.html
    M ckan/templates/snippets/search_form.html
    M ckan/templates/snippets/simple_search.html
    M ckan/templates/snippets/social.html
    M ckan/templates/snippets/subscribe.html
    M ckan/templates/tag/index.html
    A ckan/templates/tests/flash_messages.html
    M ckan/templates/user/dashboard_datasets.html
    M ckan/templates/user/dashboard_groups.html
    M ckan/templates/user/dashboard_organizations.html
    M ckan/templates/user/edit.html
    M ckan/templates/user/snippets/followee_dropdown.html
    M ckan/templates/user/snippets/user_search.html
    M ckan/tests/config/test_middleware.py
    A ckan/tests/config/test_sessions.py
    M ckan/tests/controllers/test_group.py
    M ckan/tests/controllers/test_package.py
    M ckan/tests/controllers/test_user.py
    M ckan/tests/helpers.py
    M ckan/tests/legacy/ckantestplugins.py
    M ckan/tests/legacy/lib/test_i18n.py
    M ckan/tests/legacy/logic/test_action.py
    M ckan/tests/lib/_i18n_build_js_translations/de/LC_MESSAGES/ckanext-test_js_translations.po
    M ckan/tests/lib/navl/test_dictization_functions.py
    M ckan/tests/lib/test_base.py
    A ckan/tests/lib/test_celery_app.py
    M ckan/tests/lib/test_jobs.py
    M ckan/tests/logic/action/test_create.py
    M ckan/tests/logic/action/test_delete.py
    M ckan/tests/logic/action/test_get.py
    M ckan/tests/logic/action/test_update.py
    M ckan/tests/test_coding_standards.py
    M ckan/tests/test_common.py
    A ckan/views/__init__.py
    A ckan/views/api.py
    M ckanext/datapusher/cli.py
    M ckanext/datapusher/logic/action.py
    M ckanext/datapusher/plugin.py
    A ckanext/datapusher/templates/datapusher/resource_data.html
    A ckanext/datapusher/templates/package/resource_edit_base.html
    M ckanext/datapusher/tests/test.py
    M ckanext/datapusher/tests/test_action.py
    M ckanext/datapusher/tests/test_interfaces.py
    M ckanext/datastore/commands.py
    M ckanext/datastore/controller.py
    M ckanext/datastore/db.py
    M ckanext/datastore/helpers.py
    M ckanext/datastore/logic/action.py
    M ckanext/datastore/logic/auth.py
    M ckanext/datastore/logic/schema.py
    M ckanext/datastore/plugin.py
    M ckanext/datastore/set_permissions.sql
    A ckanext/datastore/templates/datastore/dictionary.html
    A ckanext/datastore/templates/package/resource_edit_base.html
    M ckanext/datastore/templates/package/resource_read.html
    M ckanext/datastore/templates/package/snippets/data_api_button.html
    M ckanext/datastore/tests/helpers.py
    A ckanext/datastore/tests/test_chained_action.py
    M ckanext/datastore/tests/test_create.py
    M ckanext/datastore/tests/test_delete.py
    M ckanext/datastore/tests/test_dump.py
    M ckanext/datastore/tests/test_helpers.py
    M ckanext/datastore/tests/test_search.py
    M ckanext/datastore/tests/test_unit.py
    M ckanext/datastore/tests/test_upsert.py
    A ckanext/datastore/writer.py
    A ckanext/example_flask_iblueprint/__init__.py
    A ckanext/example_flask_iblueprint/plugin.py
    A ckanext/example_flask_iblueprint/templates/about.html
    A ckanext/example_flask_iblueprint/templates/about_base.html
    A ckanext/example_flask_iblueprint/tests/__init__.py
    A ckanext/example_flask_iblueprint/tests/test_routes.py
    M ckanext/example_iconfigurer/plugin.py
    M ckanext/example_iconfigurer/tests/test_example_iconfigurer.py
    M ckanext/example_theme/v12_extra_public_dir/public/promoted-image.jpg
    M ckanext/example_theme/v16_initialize_a_javascript_module/templates/snippets/package_item.html
    M ckanext/example_theme/v17_popover/templates/snippets/package_item.html
    M ckanext/example_theme/v18_snippet_api/fanstatic/example_theme_popover.js
    M ckanext/example_theme/v18_snippet_api/templates/ajax_snippets/example_theme_popover.html
    M ckanext/example_theme/v18_snippet_api/templates/snippets/package_item.html
    M ckanext/example_theme/v19_01_error/fanstatic/example_theme_popover.js
    M ckanext/example_theme/v19_02_error_handling/fanstatic/example_theme_popover.js
    M ckanext/example_theme/v20_pubsub/fanstatic/example_theme_popover.js
    M ckanext/example_theme/v21_custom_jquery_plugin/fanstatic/example_theme_popover.js
    M ckanext/example_theme/v21_custom_jquery_plugin/templates/snippets/package_item.html
    M ckanext/imageview/plugin.py
    M ckanext/reclineview/plugin.py
    M ckanext/reclineview/theme/public/recline_view.js
    M ckanext/reclineview/theme/public/resource.config
    R ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/layers-2x.png
    R ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/layers.png
    R ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/marker-icon-2x.png
    R ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/marker-icon.png
    R ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/marker-shadow.png
    R ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/leaflet-src.js
    R ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/leaflet.css
    R ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/leaflet.js
    A ckanext/reclineview/theme/public/vendor/leaflet/0.7.7/images/layers-2x.png
    A ckanext/reclineview/theme/public/vendor/leaflet/0.7.7/images/layers.png
    A ckanext/reclineview/theme/public/vendor/leaflet/0.7.7/images/marker-icon-2x.png
    A ckanext/reclineview/theme/public/vendor/leaflet/0.7.7/images/marker-icon.png
    A ckanext/reclineview/theme/public/vendor/leaflet/0.7.7/images/marker-shadow.png
    A ckanext/reclineview/theme/public/vendor/leaflet/0.7.7/leaflet-src.js
    A ckanext/reclineview/theme/public/vendor/leaflet/0.7.7/leaflet.css
    A ckanext/reclineview/theme/public/vendor/leaflet/0.7.7/leaflet.js
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-icons_222222_256x240.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-icons_2e83ff_256x240.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-icons_454545_256x240.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-icons_888888_256x240.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-icons_cd0a0a_256x240.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/arrow_redo.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/arrow_right_peppermint.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/arrow_right_spearmint.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/arrow_undo.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/bullet_blue.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/bullet_star.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/drag-handle.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/help.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/sort-asc.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/sort-desc.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/stripes.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/tag_red.png
    M ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/tick.png
    M ckanext/reclineview/theme/public/vendor/timeline/css/timeline.png
    M ckanext/reclineview/theme/public/vendor/timeline/css/timeline at 2x.png
    M ckanext/stats/templates/ckanext/stats/index.html
    M ckanext/test_tag_vocab_plugin.py
    M ckanext/textview/plugin.py
    A contrib/docker/ckan-entrypoint.sh
    M contrib/docker/docker-cloud.yml
    M contrib/docker/docker-compose.yml
    M contrib/docker/solr/Dockerfile
    M dev-requirements.txt
    M doc/_static/ckanlogo.png
    M doc/_templates/footer.html
    M doc/conf.py
    M doc/contributing/test.rst
    M doc/extensions/plugin-interfaces.rst
    M doc/images/9.png
    M doc/images/add_dataset_1.jpg
    M doc/images/add_dataset_2.jpg
    M doc/images/add_dataset_3.jpg
    M doc/images/architecture.png
    M doc/images/ckan_importing_diagram.png
    M doc/images/create_organization.jpg
    M doc/images/custom-css.png
    M doc/images/custom_config_fields.png
    M doc/images/customize_look_and_feel.jpg
    M doc/images/debug-footer.png
    M doc/images/edit_dataset.jpg
    M doc/images/example_theme_javascript_popover.png
    M doc/images/example_theme_overlapping_popovers.png
    M doc/images/exploring_datasets.jpg
    M doc/images/extra-public-dir.png
    M doc/images/html_and_css.png
    M doc/images/image_view.png
    M doc/images/manage_news_feed.jpg
    M doc/images/manage_organization.jpg
    M doc/images/manage_user_profile.jpg
    M doc/images/manage_users.jpg
    M doc/images/manage_views.png
    M doc/images/more-custom-css.png
    M doc/images/most-popular-groups-custom-snippet.png
    M doc/images/most-popular-groups-snippet.png
    M doc/images/most-popular-groups.png
    M doc/images/move_dataset_between_organizations.jpg
    M doc/images/popular-dataset.png
    M doc/images/popular-resource.png
    M doc/images/recently-changed-packages-activity-stream.png
    M doc/images/recline_graph_view.png
    M doc/images/recline_grid_view.png
    M doc/images/recline_map_view.png
    M doc/images/recline_view.png
    M doc/images/register_account.jpg
    M doc/images/search_the_site.jpg
    M doc/images/sort-datasets-by-popularity.png
    M doc/images/text_view.png
    M doc/images/views_overview.png
    M doc/images/webpage_view.png
    M doc/maintaining/configuration.rst
    M doc/maintaining/data-viewer.rst
    M doc/maintaining/datastore.rst
    M doc/maintaining/installing/index.rst
    M doc/maintaining/installing/install-from-source.rst
    M doc/maintaining/installing/solr.rst
    M doc/user-guide.rst
    A requirement-setuptools.txt
    M requirements.in
    M requirements.txt
    M setup.py
    M test-core.ini

  Log Message:
  -----------
  Solve conflict with master branch


  Commit: c6f41a92d76a97cfcf92b8e8d465efeb4b6aaba1
      https://github.com/ckan/ckan/commit/c6f41a92d76a97cfcf92b8e8d465efeb4b6aaba1
  Author: Sergey <tonnydexter at gmail.com>
  Date:   2017-05-22 (Mon, 22 May 2017)

  Changed paths:
    M ckan/public/base/less/forms.less
    M ckan/public/base/less/media.less

  Log Message:
  -----------
  Merge pull request #3472 from Engerrs/3471-small-design-issues

[#3471] Fix for small issues and Create dataset page and Dashboard tabs


  Commit: 9991b5bed4360d1886f214cab8d1023d24d11b0c
      https://github.com/ckan/ckan/commit/9991b5bed4360d1886f214cab8d1023d24d11b0c
  Author: Yan <yan.rudenko at linkdigital.com.au>
  Date:   2017-05-22 (Mon, 22 May 2017)

  Changed paths:
    M ckan/logic/action/update.py
    M ckan/tests/logic/action/test_update.py

  Log Message:
  -----------
  Added logic fix and test fix


  Commit: 9f8ed8638f8f1e09c9dedf6e1e81df25635c57ba
      https://github.com/ckan/ckan/commit/9f8ed8638f8f1e09c9dedf6e1e81df25635c57ba
  Author: Konstantin Sivakov <tino097 at gmail.com>
  Date:   2017-05-23 (Tue, 23 May 2017)

  Changed paths:
    A ckan/lib/lazyjson.py
    M ckan/public/base/less/forms.less
    M ckan/public/base/less/media.less
    M ckanext/datastore/controller.py
    M ckanext/datastore/db.py
    M ckanext/datastore/logic/action.py
    M ckanext/datastore/logic/auth.py
    M ckanext/datastore/logic/schema.py
    M ckanext/datastore/plugin.py
    M ckanext/datastore/tests/test_dump.py
    M ckanext/datastore/tests/test_search.py
    M ckanext/datastore/writer.py
    M requirements.in
    M requirements.txt

  Log Message:
  -----------
  Merge remote-tracking branch 'upstream/master' into email-validator


  Commit: d4119e98f319aa4807149c5898f5d18fdccc3dce
      https://github.com/ckan/ckan/commit/d4119e98f319aa4807149c5898f5d18fdccc3dce
  Author: Adrià Mercader <amercadero at gmail.com>
  Date:   2017-05-23 (Tue, 23 May 2017)

  Changed paths:
    M ckan/public/base/javascript/modules/resource-view-filters.js

  Log Message:
  -----------
  Merge pull request #3571 from torfsen/3570-view-filters-not-working

[#3570] Fix syntax error in resource-view-filters JS module


  Commit: 0b527b4620c03bec903c59b0871ca5f7f8e763f6
      https://github.com/ckan/ckan/commit/0b527b4620c03bec903c59b0871ca5f7f8e763f6
  Author: Konstantin Sivakov <tino097 at gmail.com>
  Date:   2017-05-23 (Tue, 23 May 2017)

  Changed paths:
    M ckan/tests/legacy/functional/api/test_activity.py

  Log Message:
  -----------
  update test according rfc2606


  Commit: 45573026565ac179483e1a92b5953ed168ff1f4c
      https://github.com/ckan/ckan/commit/45573026565ac179483e1a92b5953ed168ff1f4c
  Author: Harald von Waldow <harald.vonwaldow at eawag.ch>
  Date:   2017-05-23 (Tue, 23 May 2017)

  Changed paths:
    M doc/maintaining/upgrading/upgrade-postgres.rst

  Log Message:
  -----------
  Fixed typo in "16. enable PostGIS on the main database"

Change of owner for PostGIS table spatial_ref_sys instead of duplicate line.
Compare http://docs.ckan.org/projects/ckanext-spatial/en/latest/install.html#ubuntu-14-04-postgresql-9-3-and-postgis-2-1


  Commit: 6158dd5adca3162f77f7cb25db56d28e0bf2dad3
      https://github.com/ckan/ckan/commit/6158dd5adca3162f77f7cb25db56d28e0bf2dad3
  Author: Ian Ward <ian at excess.org>
  Date:   2017-05-23 (Tue, 23 May 2017)

  Changed paths:
    M doc/maintaining/upgrading/upgrade-postgres.rst

  Log Message:
  -----------
  Merge pull request #3575 from hvwaldow/patch-2

Fixed typo in "16. enable PostGIS on the main database"


  Commit: ce96d02645c1d7799bf746595141a40daad3330c
      https://github.com/ckan/ckan/commit/ce96d02645c1d7799bf746595141a40daad3330c
  Author: Adrià Mercader <amercadero at gmail.com>
  Date:   2017-05-24 (Wed, 24 May 2017)

  Changed paths:
    M ckan/logic/schema.py
    M ckan/logic/validators.py
    M ckan/tests/legacy/functional/api/test_activity.py

  Log Message:
  -----------
  Merge pull request #3568 from tino097/email-validator

email validation for user input


  Commit: 80cc2b6d56bd26f651ec95837038d983b82198ad
      https://github.com/ckan/ckan/commit/80cc2b6d56bd26f651ec95837038d983b82198ad
  Author: amercader <amercadero at gmail.com>
  Date:   2017-05-24 (Wed, 24 May 2017)

  Changed paths:
    M ckan/tests/test_coding_standards.py
    R ckanext/example_theme/__init__.py
    R ckanext/example_theme/custom_config_setting/__init__.py
    R ckanext/example_theme/custom_config_setting/plugin.py
    R ckanext/example_theme/custom_config_setting/templates/home/layout1.html
    R ckanext/example_theme/custom_config_setting/templates/snippets
    R ckanext/example_theme/custom_emails/__init__.py
    R ckanext/example_theme/custom_emails/plugin.py
    R ckanext/example_theme/custom_emails/templates/emails/invite_user.txt
    R ckanext/example_theme/custom_emails/templates/emails/invite_user_subject.txt
    R ckanext/example_theme/custom_emails/templates/emails/reset_password.txt
    R ckanext/example_theme/custom_emails/templates/emails/reset_password_subject.txt
    R ckanext/example_theme/custom_emails/tests.py
    R ckanext/example_theme/v01_empty_extension/__init__.py
    R ckanext/example_theme/v01_empty_extension/plugin.py
    R ckanext/example_theme/v02_empty_template/__init__.py
    R ckanext/example_theme/v02_empty_template/plugin.py
    R ckanext/example_theme/v02_empty_template/templates/home/index.html
    R ckanext/example_theme/v03_jinja/__init__.py
    R ckanext/example_theme/v03_jinja/plugin.py
    R ckanext/example_theme/v03_jinja/templates/home/index.html
    R ckanext/example_theme/v04_ckan_extends/__init__.py
    R ckanext/example_theme/v04_ckan_extends/plugin.py
    R ckanext/example_theme/v04_ckan_extends/templates/home/index.html
    R ckanext/example_theme/v05_block/__init__.py
    R ckanext/example_theme/v05_block/plugin.py
    R ckanext/example_theme/v05_block/templates/home/layout1.html
    R ckanext/example_theme/v06_super/__init__.py
    R ckanext/example_theme/v06_super/plugin.py
    R ckanext/example_theme/v06_super/templates/home/layout1.html
    R ckanext/example_theme/v07_helper_function/__init__.py
    R ckanext/example_theme/v07_helper_function/plugin.py
    R ckanext/example_theme/v07_helper_function/templates/home/layout1.html
    R ckanext/example_theme/v08_custom_helper_function/__init__.py
    R ckanext/example_theme/v08_custom_helper_function/plugin.py
    R ckanext/example_theme/v08_custom_helper_function/templates/home/layout1.html
    R ckanext/example_theme/v09_snippet/__init__.py
    R ckanext/example_theme/v09_snippet/plugin.py
    R ckanext/example_theme/v09_snippet/templates/home/layout1.html
    R ckanext/example_theme/v10_custom_snippet/__init__.py
    R ckanext/example_theme/v10_custom_snippet/plugin.py
    R ckanext/example_theme/v10_custom_snippet/templates/home/layout1.html
    R ckanext/example_theme/v10_custom_snippet/templates/snippets/example_theme_most_popular_groups.html
    R ckanext/example_theme/v11_HTML_and_CSS/__init__.py
    R ckanext/example_theme/v11_HTML_and_CSS/plugin.py
    R ckanext/example_theme/v11_HTML_and_CSS/templates/home/layout1.html
    R ckanext/example_theme/v11_HTML_and_CSS/templates/snippets/example_theme_most_popular_groups.html
    R ckanext/example_theme/v12_extra_public_dir/__init__.py
    R ckanext/example_theme/v12_extra_public_dir/plugin.py
    R ckanext/example_theme/v12_extra_public_dir/public/promoted-image.jpg
    R ckanext/example_theme/v12_extra_public_dir/templates/home/layout1.html
    R ckanext/example_theme/v12_extra_public_dir/templates/home/snippets/promoted.html
    R ckanext/example_theme/v12_extra_public_dir/templates/snippets
    R ckanext/example_theme/v13_custom_css/__init__.py
    R ckanext/example_theme/v13_custom_css/plugin.py
    R ckanext/example_theme/v13_custom_css/public/example_theme.css
    R ckanext/example_theme/v13_custom_css/public/promoted-image.jpg
    R ckanext/example_theme/v13_custom_css/templates/base.html
    R ckanext/example_theme/v13_custom_css/templates/home
    R ckanext/example_theme/v13_custom_css/templates/snippets
    R ckanext/example_theme/v14_more_custom_css/__init__.py
    R ckanext/example_theme/v14_more_custom_css/plugin.py
    R ckanext/example_theme/v14_more_custom_css/public/example_theme.css
    R ckanext/example_theme/v14_more_custom_css/public/promoted-image.jpg
    R ckanext/example_theme/v14_more_custom_css/templates
    R ckanext/example_theme/v15_fanstatic/__init__.py
    R ckanext/example_theme/v15_fanstatic/fanstatic/example_theme.css
    R ckanext/example_theme/v15_fanstatic/plugin.py
    R ckanext/example_theme/v15_fanstatic/public/promoted-image.jpg
    R ckanext/example_theme/v15_fanstatic/templates/base.html
    R ckanext/example_theme/v15_fanstatic/templates/home
    R ckanext/example_theme/v15_fanstatic/templates/snippets
    R ckanext/example_theme/v16_initialize_a_javascript_module/__init__.py
    R ckanext/example_theme/v16_initialize_a_javascript_module/fanstatic/example_theme_popover.js
    R ckanext/example_theme/v16_initialize_a_javascript_module/plugin.py
    R ckanext/example_theme/v16_initialize_a_javascript_module/templates/snippets/package_item.html
    R ckanext/example_theme/v17_popover/__init__.py
    R ckanext/example_theme/v17_popover/fanstatic/example_theme_popover.js
    R ckanext/example_theme/v17_popover/plugin.py
    R ckanext/example_theme/v17_popover/templates/snippets/package_item.html
    R ckanext/example_theme/v18_snippet_api/__init__.py
    R ckanext/example_theme/v18_snippet_api/fanstatic/example_theme_popover.css
    R ckanext/example_theme/v18_snippet_api/fanstatic/example_theme_popover.js
    R ckanext/example_theme/v18_snippet_api/plugin.py
    R ckanext/example_theme/v18_snippet_api/templates/ajax_snippets/example_theme_popover.html
    R ckanext/example_theme/v18_snippet_api/templates/snippets/package_item.html
    R ckanext/example_theme/v19_01_error/__init__.py
    R ckanext/example_theme/v19_01_error/fanstatic/example_theme_popover.css
    R ckanext/example_theme/v19_01_error/fanstatic/example_theme_popover.js
    R ckanext/example_theme/v19_01_error/plugin.py
    R ckanext/example_theme/v19_01_error/templates
    R ckanext/example_theme/v19_02_error_handling/__init__.py
    R ckanext/example_theme/v19_02_error_handling/fanstatic/example_theme_popover.css
    R ckanext/example_theme/v19_02_error_handling/fanstatic/example_theme_popover.js
    R ckanext/example_theme/v19_02_error_handling/plugin.py
    R ckanext/example_theme/v19_02_error_handling/templates
    R ckanext/example_theme/v20_pubsub/__init__.py
    R ckanext/example_theme/v20_pubsub/fanstatic/example_theme_popover.css
    R ckanext/example_theme/v20_pubsub/fanstatic/example_theme_popover.js
    R ckanext/example_theme/v20_pubsub/plugin.py
    R ckanext/example_theme/v20_pubsub/templates
    R ckanext/example_theme/v21_custom_jquery_plugin/__init__.py
    R ckanext/example_theme/v21_custom_jquery_plugin/fanstatic/example_theme_popover.css
    R ckanext/example_theme/v21_custom_jquery_plugin/fanstatic/example_theme_popover.js
    R ckanext/example_theme/v21_custom_jquery_plugin/fanstatic/jquery.greenify.js
    R ckanext/example_theme/v21_custom_jquery_plugin/plugin.py
    R ckanext/example_theme/v21_custom_jquery_plugin/templates/ajax_snippets
    R ckanext/example_theme/v21_custom_jquery_plugin/templates/snippets/package_item.html
    A ckanext/example_theme_docs/__init__.py
    A ckanext/example_theme_docs/custom_config_setting/__init__.py
    A ckanext/example_theme_docs/custom_config_setting/plugin.py
    A ckanext/example_theme_docs/custom_config_setting/templates/home/layout1.html
    A ckanext/example_theme_docs/custom_config_setting/templates/snippets
    A ckanext/example_theme_docs/custom_emails/__init__.py
    A ckanext/example_theme_docs/custom_emails/plugin.py
    A ckanext/example_theme_docs/custom_emails/templates/emails/invite_user.txt
    A ckanext/example_theme_docs/custom_emails/templates/emails/invite_user_subject.txt
    A ckanext/example_theme_docs/custom_emails/templates/emails/reset_password.txt
    A ckanext/example_theme_docs/custom_emails/templates/emails/reset_password_subject.txt
    A ckanext/example_theme_docs/custom_emails/tests.py
    A ckanext/example_theme_docs/v01_empty_extension/__init__.py
    A ckanext/example_theme_docs/v01_empty_extension/plugin.py
    A ckanext/example_theme_docs/v02_empty_template/__init__.py
    A ckanext/example_theme_docs/v02_empty_template/plugin.py
    A ckanext/example_theme_docs/v02_empty_template/templates/home/index.html
    A ckanext/example_theme_docs/v03_jinja/__init__.py
    A ckanext/example_theme_docs/v03_jinja/plugin.py
    A ckanext/example_theme_docs/v03_jinja/templates/home/index.html
    A ckanext/example_theme_docs/v04_ckan_extends/__init__.py
    A ckanext/example_theme_docs/v04_ckan_extends/plugin.py
    A ckanext/example_theme_docs/v04_ckan_extends/templates/home/index.html
    A ckanext/example_theme_docs/v05_block/__init__.py
    A ckanext/example_theme_docs/v05_block/plugin.py
    A ckanext/example_theme_docs/v05_block/templates/home/layout1.html
    A ckanext/example_theme_docs/v06_super/__init__.py
    A ckanext/example_theme_docs/v06_super/plugin.py
    A ckanext/example_theme_docs/v06_super/templates/home/layout1.html
    A ckanext/example_theme_docs/v07_helper_function/__init__.py
    A ckanext/example_theme_docs/v07_helper_function/plugin.py
    A ckanext/example_theme_docs/v07_helper_function/templates/home/layout1.html
    A ckanext/example_theme_docs/v08_custom_helper_function/__init__.py
    A ckanext/example_theme_docs/v08_custom_helper_function/plugin.py
    A ckanext/example_theme_docs/v08_custom_helper_function/templates/home/layout1.html
    A ckanext/example_theme_docs/v09_snippet/__init__.py
    A ckanext/example_theme_docs/v09_snippet/plugin.py
    A ckanext/example_theme_docs/v09_snippet/templates/home/layout1.html
    A ckanext/example_theme_docs/v10_custom_snippet/__init__.py
    A ckanext/example_theme_docs/v10_custom_snippet/plugin.py
    A ckanext/example_theme_docs/v10_custom_snippet/templates/home/layout1.html
    A ckanext/example_theme_docs/v10_custom_snippet/templates/snippets/example_theme_most_popular_groups.html
    A ckanext/example_theme_docs/v11_HTML_and_CSS/__init__.py
    A ckanext/example_theme_docs/v11_HTML_and_CSS/plugin.py
    A ckanext/example_theme_docs/v11_HTML_and_CSS/templates/home/layout1.html
    A ckanext/example_theme_docs/v11_HTML_and_CSS/templates/snippets/example_theme_most_popular_groups.html
    A ckanext/example_theme_docs/v12_extra_public_dir/__init__.py
    A ckanext/example_theme_docs/v12_extra_public_dir/plugin.py
    A ckanext/example_theme_docs/v12_extra_public_dir/public/promoted-image.jpg
    A ckanext/example_theme_docs/v12_extra_public_dir/templates/home/layout1.html
    A ckanext/example_theme_docs/v12_extra_public_dir/templates/home/snippets/promoted.html
    A ckanext/example_theme_docs/v12_extra_public_dir/templates/snippets
    A ckanext/example_theme_docs/v13_custom_css/__init__.py
    A ckanext/example_theme_docs/v13_custom_css/plugin.py
    A ckanext/example_theme_docs/v13_custom_css/public/example_theme.css
    A ckanext/example_theme_docs/v13_custom_css/public/promoted-image.jpg
    A ckanext/example_theme_docs/v13_custom_css/templates/base.html
    A ckanext/example_theme_docs/v13_custom_css/templates/home
    A ckanext/example_theme_docs/v13_custom_css/templates/snippets
    A ckanext/example_theme_docs/v14_more_custom_css/__init__.py
    A ckanext/example_theme_docs/v14_more_custom_css/plugin.py
    A ckanext/example_theme_docs/v14_more_custom_css/public/example_theme.css
    A ckanext/example_theme_docs/v14_more_custom_css/public/promoted-image.jpg
    A ckanext/example_theme_docs/v14_more_custom_css/templates
    A ckanext/example_theme_docs/v15_fanstatic/__init__.py
    A ckanext/example_theme_docs/v15_fanstatic/fanstatic/example_theme.css
    A ckanext/example_theme_docs/v15_fanstatic/plugin.py
    A ckanext/example_theme_docs/v15_fanstatic/public/promoted-image.jpg
    A ckanext/example_theme_docs/v15_fanstatic/templates/base.html
    A ckanext/example_theme_docs/v15_fanstatic/templates/home
    A ckanext/example_theme_docs/v15_fanstatic/templates/snippets
    A ckanext/example_theme_docs/v16_initialize_a_javascript_module/__init__.py
    A ckanext/example_theme_docs/v16_initialize_a_javascript_module/fanstatic/example_theme_popover.js
    A ckanext/example_theme_docs/v16_initialize_a_javascript_module/plugin.py
    A ckanext/example_theme_docs/v16_initialize_a_javascript_module/templates/snippets/package_item.html
    A ckanext/example_theme_docs/v17_popover/__init__.py
    A ckanext/example_theme_docs/v17_popover/fanstatic/example_theme_popover.js
    A ckanext/example_theme_docs/v17_popover/plugin.py
    A ckanext/example_theme_docs/v17_popover/templates/snippets/package_item.html
    A ckanext/example_theme_docs/v18_snippet_api/__init__.py
    A ckanext/example_theme_docs/v18_snippet_api/fanstatic/example_theme_popover.css
    A ckanext/example_theme_docs/v18_snippet_api/fanstatic/example_theme_popover.js
    A ckanext/example_theme_docs/v18_snippet_api/plugin.py
    A ckanext/example_theme_docs/v18_snippet_api/templates/ajax_snippets/example_theme_popover.html
    A ckanext/example_theme_docs/v18_snippet_api/templates/snippets/package_item.html
    A ckanext/example_theme_docs/v19_01_error/__init__.py
    A ckanext/example_theme_docs/v19_01_error/fanstatic/example_theme_popover.css
    A ckanext/example_theme_docs/v19_01_error/fanstatic/example_theme_popover.js
    A ckanext/example_theme_docs/v19_01_error/plugin.py
    A ckanext/example_theme_docs/v19_01_error/templates
    A ckanext/example_theme_docs/v19_02_error_handling/__init__.py
    A ckanext/example_theme_docs/v19_02_error_handling/fanstatic/example_theme_popover.css
    A ckanext/example_theme_docs/v19_02_error_handling/fanstatic/example_theme_popover.js
    A ckanext/example_theme_docs/v19_02_error_handling/plugin.py
    A ckanext/example_theme_docs/v19_02_error_handling/templates
    A ckanext/example_theme_docs/v20_pubsub/__init__.py
    A ckanext/example_theme_docs/v20_pubsub/fanstatic/example_theme_popover.css
    A ckanext/example_theme_docs/v20_pubsub/fanstatic/example_theme_popover.js
    A ckanext/example_theme_docs/v20_pubsub/plugin.py
    A ckanext/example_theme_docs/v20_pubsub/templates
    A ckanext/example_theme_docs/v21_custom_jquery_plugin/__init__.py
    A ckanext/example_theme_docs/v21_custom_jquery_plugin/fanstatic/example_theme_popover.css
    A ckanext/example_theme_docs/v21_custom_jquery_plugin/fanstatic/example_theme_popover.js
    A ckanext/example_theme_docs/v21_custom_jquery_plugin/fanstatic/jquery.greenify.js
    A ckanext/example_theme_docs/v21_custom_jquery_plugin/plugin.py
    A ckanext/example_theme_docs/v21_custom_jquery_plugin/templates/ajax_snippets
    A ckanext/example_theme_docs/v21_custom_jquery_plugin/templates/snippets/package_item.html
    M doc/extensions/best-practices.rst
    M doc/theming/best-practices.rst
    M doc/theming/css.rst
    M doc/theming/fanstatic.rst
    M doc/theming/javascript.rst
    M doc/theming/static-files.rst
    M doc/theming/templates.rst
    M setup.py

  Log Message:
  -----------
  [#3146] Rename example theme plugin internally

See issue for background. When users were following the theming
tutorial they got an ImportError because the name suggested
(`example_theme`) was already used by the example plugin itself.

This patch renames the internal plugin and updates the code imports
shown on the docs, but not the docs themselves, so users should not see
any change.


  Commit: d7dbf2ef2bdcc6de64afd3180a1dca07d63aa6fc
      https://github.com/ckan/ckan/commit/d7dbf2ef2bdcc6de64afd3180a1dca07d63aa6fc
  Author: Sergey <tonnydexter at gmail.com>
  Date:   2017-05-25 (Thu, 25 May 2017)

  Changed paths:
    M ckan/logic/action/update.py
    M ckan/tests/logic/action/test_update.py

  Log Message:
  -----------
  Merge pull request #3515 from Engerrs/3457-update_resource_format_creates_new_view

[#3457]Create new resource view if resource format changed


  Commit: 94e2ed6e669ea1fbcea1c0067acec9593b7b363b
      https://github.com/ckan/ckan/commit/94e2ed6e669ea1fbcea1c0067acec9593b7b363b
  Author: Adrià Mercader <amercadero at gmail.com>
  Date:   2017-05-26 (Fri, 26 May 2017)

  Changed paths:
    M ckan/logic/action/get.py
    M ckan/public/base/less/search.less
    M ckan/templates/snippets/search_form.html
    M ckan/tests/logic/action/test_get.py

  Log Message:
  -----------
  Merge pull request #3469 from Engerrs/2938-odd_feature_in_sorting_organizations_by_packages

[#2938] Odd feature in sorting organization by packages


  Commit: 52a30bed7ae63e93dd38f7d67e36f12ed5c1b5c0
      https://github.com/ckan/ckan/commit/52a30bed7ae63e93dd38f7d67e36f12ed5c1b5c0
  Author: amercader <amercadero at gmail.com>
  Date:   2017-05-26 (Fri, 26 May 2017)

  Changed paths:
    M ckan/logic/action/get.py

  Log Message:
  -----------
  Revert "Fix for checking"

This reverts commit 58f69c3980d50168149ebe2a20bfdacb75991ae3.


  Commit: e44d461d0bf4c1ed62943dbe6af8340e55647194
      https://github.com/ckan/ckan/commit/e44d461d0bf4c1ed62943dbe6af8340e55647194
  Author: amercader <amercadero at gmail.com>
  Date:   2017-05-26 (Fri, 26 May 2017)

  Changed paths:
    M ckan/tests/logic/action/test_get.py

  Log Message:
  -----------
  Revert "fix Pep8 problem in tests"

This reverts commit 464f8697c878ea5cd13517e63c464a0a8ce4ceaa.


  Commit: 024c70f926ca1cdeea2f8f0c6b04eeee4fc0d20e
      https://github.com/ckan/ckan/commit/024c70f926ca1cdeea2f8f0c6b04eeee4fc0d20e
  Author: amercader <amercadero at gmail.com>
  Date:   2017-05-26 (Fri, 26 May 2017)

  Changed paths:
    M ckan/logic/action/get.py
    M ckan/public/base/less/search.less
    M ckan/templates/snippets/search_form.html
    M ckan/tests/logic/action/test_get.py

  Log Message:
  -----------
  Revert "[#2938] Odd feature in sorting organization by packages"

This reverts commit 13ff28f9bbce98606f9ea623247820c4c0c32680.


  Commit: 70b690af4844333d8cc0cc151bde26407b68116f
      https://github.com/ckan/ckan/commit/70b690af4844333d8cc0cc151bde26407b68116f
  Author: Matt Fullerton <mattfullerton at users.noreply.github.com>
  Date:   2017-05-30 (Tue, 30 May 2017)

  Changed paths:
    M contrib/docker/docker-compose.yml

  Log Message:
  -----------
  Override defaults by using container names

This removes the need to map ports outside of the container

cf. #3572, #3569, #3553


  Commit: e3b757844552b8259310781c16c16fe827cfea95
      https://github.com/ckan/ckan/commit/e3b757844552b8259310781c16c16fe827cfea95
  Author: Ian Ward <ian at excess.org>
  Date:   2017-05-30 (Tue, 30 May 2017)

  Changed paths:
    M ckan/controllers/group.py
    M ckan/templates/group/about.html
    M ckan/templates/group/edit.html
    M ckan/templates/group/edit_base.html
    M ckan/templates/group/read.html
    M ckan/templates/group/read_base.html
    M ckan/templates/group/snippets/group_item.html
    M ckan/templates/group/snippets/info.html

  Log Message:
  -----------
  Merge pull request #3559 from 6aika/add-localization-support-for-groups

Add localization support for groups


  Commit: e589bf9a325f8fb30e397f42a5804c216d92d56f
      https://github.com/ckan/ckan/commit/e589bf9a325f8fb30e397f42a5804c216d92d56f
  Author: Ian Ward <ian at excess.org>
  Date:   2017-05-30 (Tue, 30 May 2017)

  Changed paths:
    M contrib/docker/docker-compose.yml

  Log Message:
  -----------
  Merge pull request #3582 from mattfullerton/patch-8

Override defaults by using container names


  Commit: 45c33d9210c6c78a2e19aa8fdc34dabee4b3ecf3
      https://github.com/ckan/ckan/commit/45c33d9210c6c78a2e19aa8fdc34dabee4b3ecf3
  Author: David Read <david.read at hackneyworkshop.com>
  Date:   2017-06-01 (Thu, 01 Jun 2017)

  Changed paths:
    M ckan/tests/test_coding_standards.py
    R ckanext/example_theme/__init__.py
    R ckanext/example_theme/custom_config_setting/__init__.py
    R ckanext/example_theme/custom_config_setting/plugin.py
    R ckanext/example_theme/custom_config_setting/templates/home/layout1.html
    R ckanext/example_theme/custom_config_setting/templates/snippets
    R ckanext/example_theme/custom_emails/__init__.py
    R ckanext/example_theme/custom_emails/plugin.py
    R ckanext/example_theme/custom_emails/templates/emails/invite_user.txt
    R ckanext/example_theme/custom_emails/templates/emails/invite_user_subject.txt
    R ckanext/example_theme/custom_emails/templates/emails/reset_password.txt
    R ckanext/example_theme/custom_emails/templates/emails/reset_password_subject.txt
    R ckanext/example_theme/custom_emails/tests.py
    R ckanext/example_theme/v01_empty_extension/__init__.py
    R ckanext/example_theme/v01_empty_extension/plugin.py
    R ckanext/example_theme/v02_empty_template/__init__.py
    R ckanext/example_theme/v02_empty_template/plugin.py
    R ckanext/example_theme/v02_empty_template/templates/home/index.html
    R ckanext/example_theme/v03_jinja/__init__.py
    R ckanext/example_theme/v03_jinja/plugin.py
    R ckanext/example_theme/v03_jinja/templates/home/index.html
    R ckanext/example_theme/v04_ckan_extends/__init__.py
    R ckanext/example_theme/v04_ckan_extends/plugin.py
    R ckanext/example_theme/v04_ckan_extends/templates/home/index.html
    R ckanext/example_theme/v05_block/__init__.py
    R ckanext/example_theme/v05_block/plugin.py
    R ckanext/example_theme/v05_block/templates/home/layout1.html
    R ckanext/example_theme/v06_super/__init__.py
    R ckanext/example_theme/v06_super/plugin.py
    R ckanext/example_theme/v06_super/templates/home/layout1.html
    R ckanext/example_theme/v07_helper_function/__init__.py
    R ckanext/example_theme/v07_helper_function/plugin.py
    R ckanext/example_theme/v07_helper_function/templates/home/layout1.html
    R ckanext/example_theme/v08_custom_helper_function/__init__.py
    R ckanext/example_theme/v08_custom_helper_function/plugin.py
    R ckanext/example_theme/v08_custom_helper_function/templates/home/layout1.html
    R ckanext/example_theme/v09_snippet/__init__.py
    R ckanext/example_theme/v09_snippet/plugin.py
    R ckanext/example_theme/v09_snippet/templates/home/layout1.html
    R ckanext/example_theme/v10_custom_snippet/__init__.py
    R ckanext/example_theme/v10_custom_snippet/plugin.py
    R ckanext/example_theme/v10_custom_snippet/templates/home/layout1.html
    R ckanext/example_theme/v10_custom_snippet/templates/snippets/example_theme_most_popular_groups.html
    R ckanext/example_theme/v11_HTML_and_CSS/__init__.py
    R ckanext/example_theme/v11_HTML_and_CSS/plugin.py
    R ckanext/example_theme/v11_HTML_and_CSS/templates/home/layout1.html
    R ckanext/example_theme/v11_HTML_and_CSS/templates/snippets/example_theme_most_popular_groups.html
    R ckanext/example_theme/v12_extra_public_dir/__init__.py
    R ckanext/example_theme/v12_extra_public_dir/plugin.py
    R ckanext/example_theme/v12_extra_public_dir/public/promoted-image.jpg
    R ckanext/example_theme/v12_extra_public_dir/templates/home/layout1.html
    R ckanext/example_theme/v12_extra_public_dir/templates/home/snippets/promoted.html
    R ckanext/example_theme/v12_extra_public_dir/templates/snippets
    R ckanext/example_theme/v13_custom_css/__init__.py
    R ckanext/example_theme/v13_custom_css/plugin.py
    R ckanext/example_theme/v13_custom_css/public/example_theme.css
    R ckanext/example_theme/v13_custom_css/public/promoted-image.jpg
    R ckanext/example_theme/v13_custom_css/templates/base.html
    R ckanext/example_theme/v13_custom_css/templates/home
    R ckanext/example_theme/v13_custom_css/templates/snippets
    R ckanext/example_theme/v14_more_custom_css/__init__.py
    R ckanext/example_theme/v14_more_custom_css/plugin.py
    R ckanext/example_theme/v14_more_custom_css/public/example_theme.css
    R ckanext/example_theme/v14_more_custom_css/public/promoted-image.jpg
    R ckanext/example_theme/v14_more_custom_css/templates
    R ckanext/example_theme/v15_fanstatic/__init__.py
    R ckanext/example_theme/v15_fanstatic/fanstatic/example_theme.css
    R ckanext/example_theme/v15_fanstatic/plugin.py
    R ckanext/example_theme/v15_fanstatic/public/promoted-image.jpg
    R ckanext/example_theme/v15_fanstatic/templates/base.html
    R ckanext/example_theme/v15_fanstatic/templates/home
    R ckanext/example_theme/v15_fanstatic/templates/snippets
    R ckanext/example_theme/v16_initialize_a_javascript_module/__init__.py
    R ckanext/example_theme/v16_initialize_a_javascript_module/fanstatic/example_theme_popover.js
    R ckanext/example_theme/v16_initialize_a_javascript_module/plugin.py
    R ckanext/example_theme/v16_initialize_a_javascript_module/templates/snippets/package_item.html
    R ckanext/example_theme/v17_popover/__init__.py
    R ckanext/example_theme/v17_popover/fanstatic/example_theme_popover.js
    R ckanext/example_theme/v17_popover/plugin.py
    R ckanext/example_theme/v17_popover/templates/snippets/package_item.html
    R ckanext/example_theme/v18_snippet_api/__init__.py
    R ckanext/example_theme/v18_snippet_api/fanstatic/example_theme_popover.css
    R ckanext/example_theme/v18_snippet_api/fanstatic/example_theme_popover.js
    R ckanext/example_theme/v18_snippet_api/plugin.py
    R ckanext/example_theme/v18_snippet_api/templates/ajax_snippets/example_theme_popover.html
    R ckanext/example_theme/v18_snippet_api/templates/snippets/package_item.html
    R ckanext/example_theme/v19_01_error/__init__.py
    R ckanext/example_theme/v19_01_error/fanstatic/example_theme_popover.css
    R ckanext/example_theme/v19_01_error/fanstatic/example_theme_popover.js
    R ckanext/example_theme/v19_01_error/plugin.py
    R ckanext/example_theme/v19_01_error/templates
    R ckanext/example_theme/v19_02_error_handling/__init__.py
    R ckanext/example_theme/v19_02_error_handling/fanstatic/example_theme_popover.css
    R ckanext/example_theme/v19_02_error_handling/fanstatic/example_theme_popover.js
    R ckanext/example_theme/v19_02_error_handling/plugin.py
    R ckanext/example_theme/v19_02_error_handling/templates
    R ckanext/example_theme/v20_pubsub/__init__.py
    R ckanext/example_theme/v20_pubsub/fanstatic/example_theme_popover.css
    R ckanext/example_theme/v20_pubsub/fanstatic/example_theme_popover.js
    R ckanext/example_theme/v20_pubsub/plugin.py
    R ckanext/example_theme/v20_pubsub/templates
    R ckanext/example_theme/v21_custom_jquery_plugin/__init__.py
    R ckanext/example_theme/v21_custom_jquery_plugin/fanstatic/example_theme_popover.css
    R ckanext/example_theme/v21_custom_jquery_plugin/fanstatic/example_theme_popover.js
    R ckanext/example_theme/v21_custom_jquery_plugin/fanstatic/jquery.greenify.js
    R ckanext/example_theme/v21_custom_jquery_plugin/plugin.py
    R ckanext/example_theme/v21_custom_jquery_plugin/templates/ajax_snippets
    R ckanext/example_theme/v21_custom_jquery_plugin/templates/snippets/package_item.html
    A ckanext/example_theme_docs/__init__.py
    A ckanext/example_theme_docs/custom_config_setting/__init__.py
    A ckanext/example_theme_docs/custom_config_setting/plugin.py
    A ckanext/example_theme_docs/custom_config_setting/templates/home/layout1.html
    A ckanext/example_theme_docs/custom_config_setting/templates/snippets
    A ckanext/example_theme_docs/custom_emails/__init__.py
    A ckanext/example_theme_docs/custom_emails/plugin.py
    A ckanext/example_theme_docs/custom_emails/templates/emails/invite_user.txt
    A ckanext/example_theme_docs/custom_emails/templates/emails/invite_user_subject.txt
    A ckanext/example_theme_docs/custom_emails/templates/emails/reset_password.txt
    A ckanext/example_theme_docs/custom_emails/templates/emails/reset_password_subject.txt
    A ckanext/example_theme_docs/custom_emails/tests.py
    A ckanext/example_theme_docs/v01_empty_extension/__init__.py
    A ckanext/example_theme_docs/v01_empty_extension/plugin.py
    A ckanext/example_theme_docs/v02_empty_template/__init__.py
    A ckanext/example_theme_docs/v02_empty_template/plugin.py
    A ckanext/example_theme_docs/v02_empty_template/templates/home/index.html
    A ckanext/example_theme_docs/v03_jinja/__init__.py
    A ckanext/example_theme_docs/v03_jinja/plugin.py
    A ckanext/example_theme_docs/v03_jinja/templates/home/index.html
    A ckanext/example_theme_docs/v04_ckan_extends/__init__.py
    A ckanext/example_theme_docs/v04_ckan_extends/plugin.py
    A ckanext/example_theme_docs/v04_ckan_extends/templates/home/index.html
    A ckanext/example_theme_docs/v05_block/__init__.py
    A ckanext/example_theme_docs/v05_block/plugin.py
    A ckanext/example_theme_docs/v05_block/templates/home/layout1.html
    A ckanext/example_theme_docs/v06_super/__init__.py
    A ckanext/example_theme_docs/v06_super/plugin.py
    A ckanext/example_theme_docs/v06_super/templates/home/layout1.html
    A ckanext/example_theme_docs/v07_helper_function/__init__.py
    A ckanext/example_theme_docs/v07_helper_function/plugin.py
    A ckanext/example_theme_docs/v07_helper_function/templates/home/layout1.html
    A ckanext/example_theme_docs/v08_custom_helper_function/__init__.py
    A ckanext/example_theme_docs/v08_custom_helper_function/plugin.py
    A ckanext/example_theme_docs/v08_custom_helper_function/templates/home/layout1.html
    A ckanext/example_theme_docs/v09_snippet/__init__.py
    A ckanext/example_theme_docs/v09_snippet/plugin.py
    A ckanext/example_theme_docs/v09_snippet/templates/home/layout1.html
    A ckanext/example_theme_docs/v10_custom_snippet/__init__.py
    A ckanext/example_theme_docs/v10_custom_snippet/plugin.py
    A ckanext/example_theme_docs/v10_custom_snippet/templates/home/layout1.html
    A ckanext/example_theme_docs/v10_custom_snippet/templates/snippets/example_theme_most_popular_groups.html
    A ckanext/example_theme_docs/v11_HTML_and_CSS/__init__.py
    A ckanext/example_theme_docs/v11_HTML_and_CSS/plugin.py
    A ckanext/example_theme_docs/v11_HTML_and_CSS/templates/home/layout1.html
    A ckanext/example_theme_docs/v11_HTML_and_CSS/templates/snippets/example_theme_most_popular_groups.html
    A ckanext/example_theme_docs/v12_extra_public_dir/__init__.py
    A ckanext/example_theme_docs/v12_extra_public_dir/plugin.py
    A ckanext/example_theme_docs/v12_extra_public_dir/public/promoted-image.jpg
    A ckanext/example_theme_docs/v12_extra_public_dir/templates/home/layout1.html
    A ckanext/example_theme_docs/v12_extra_public_dir/templates/home/snippets/promoted.html
    A ckanext/example_theme_docs/v12_extra_public_dir/templates/snippets
    A ckanext/example_theme_docs/v13_custom_css/__init__.py
    A ckanext/example_theme_docs/v13_custom_css/plugin.py
    A ckanext/example_theme_docs/v13_custom_css/public/example_theme.css
    A ckanext/example_theme_docs/v13_custom_css/public/promoted-image.jpg
    A ckanext/example_theme_docs/v13_custom_css/templates/base.html
    A ckanext/example_theme_docs/v13_custom_css/templates/home
    A ckanext/example_theme_docs/v13_custom_css/templates/snippets
    A ckanext/example_theme_docs/v14_more_custom_css/__init__.py
    A ckanext/example_theme_docs/v14_more_custom_css/plugin.py
    A ckanext/example_theme_docs/v14_more_custom_css/public/example_theme.css
    A ckanext/example_theme_docs/v14_more_custom_css/public/promoted-image.jpg
    A ckanext/example_theme_docs/v14_more_custom_css/templates
    A ckanext/example_theme_docs/v15_fanstatic/__init__.py
    A ckanext/example_theme_docs/v15_fanstatic/fanstatic/example_theme.css
    A ckanext/example_theme_docs/v15_fanstatic/plugin.py
    A ckanext/example_theme_docs/v15_fanstatic/public/promoted-image.jpg
    A ckanext/example_theme_docs/v15_fanstatic/templates/base.html
    A ckanext/example_theme_docs/v15_fanstatic/templates/home
    A ckanext/example_theme_docs/v15_fanstatic/templates/snippets
    A ckanext/example_theme_docs/v16_initialize_a_javascript_module/__init__.py
    A ckanext/example_theme_docs/v16_initialize_a_javascript_module/fanstatic/example_theme_popover.js
    A ckanext/example_theme_docs/v16_initialize_a_javascript_module/plugin.py
    A ckanext/example_theme_docs/v16_initialize_a_javascript_module/templates/snippets/package_item.html
    A ckanext/example_theme_docs/v17_popover/__init__.py
    A ckanext/example_theme_docs/v17_popover/fanstatic/example_theme_popover.js
    A ckanext/example_theme_docs/v17_popover/plugin.py
    A ckanext/example_theme_docs/v17_popover/templates/snippets/package_item.html
    A ckanext/example_theme_docs/v18_snippet_api/__init__.py
    A ckanext/example_theme_docs/v18_snippet_api/fanstatic/example_theme_popover.css
    A ckanext/example_theme_docs/v18_snippet_api/fanstatic/example_theme_popover.js
    A ckanext/example_theme_docs/v18_snippet_api/plugin.py
    A ckanext/example_theme_docs/v18_snippet_api/templates/ajax_snippets/example_theme_popover.html
    A ckanext/example_theme_docs/v18_snippet_api/templates/snippets/package_item.html
    A ckanext/example_theme_docs/v19_01_error/__init__.py
    A ckanext/example_theme_docs/v19_01_error/fanstatic/example_theme_popover.css
    A ckanext/example_theme_docs/v19_01_error/fanstatic/example_theme_popover.js
    A ckanext/example_theme_docs/v19_01_error/plugin.py
    A ckanext/example_theme_docs/v19_01_error/templates
    A ckanext/example_theme_docs/v19_02_error_handling/__init__.py
    A ckanext/example_theme_docs/v19_02_error_handling/fanstatic/example_theme_popover.css
    A ckanext/example_theme_docs/v19_02_error_handling/fanstatic/example_theme_popover.js
    A ckanext/example_theme_docs/v19_02_error_handling/plugin.py
    A ckanext/example_theme_docs/v19_02_error_handling/templates
    A ckanext/example_theme_docs/v20_pubsub/__init__.py
    A ckanext/example_theme_docs/v20_pubsub/fanstatic/example_theme_popover.css
    A ckanext/example_theme_docs/v20_pubsub/fanstatic/example_theme_popover.js
    A ckanext/example_theme_docs/v20_pubsub/plugin.py
    A ckanext/example_theme_docs/v20_pubsub/templates
    A ckanext/example_theme_docs/v21_custom_jquery_plugin/__init__.py
    A ckanext/example_theme_docs/v21_custom_jquery_plugin/fanstatic/example_theme_popover.css
    A ckanext/example_theme_docs/v21_custom_jquery_plugin/fanstatic/example_theme_popover.js
    A ckanext/example_theme_docs/v21_custom_jquery_plugin/fanstatic/jquery.greenify.js
    A ckanext/example_theme_docs/v21_custom_jquery_plugin/plugin.py
    A ckanext/example_theme_docs/v21_custom_jquery_plugin/templates/ajax_snippets
    A ckanext/example_theme_docs/v21_custom_jquery_plugin/templates/snippets/package_item.html
    M doc/extensions/best-practices.rst
    M doc/theming/best-practices.rst
    M doc/theming/css.rst
    M doc/theming/fanstatic.rst
    M doc/theming/javascript.rst
    M doc/theming/static-files.rst
    M doc/theming/templates.rst
    M setup.py

  Log Message:
  -----------
  Merge pull request #3576 from ckan/3146-ckanext-theme-import-error

[#3146] Rename example theme plugin internally


  Commit: 452f5103866458cf2f0f0a403ea24e29fa7cc29d
      https://github.com/ckan/ckan/commit/452f5103866458cf2f0f0a403ea24e29fa7cc29d
  Author: Ian Ward <ian at excess.org>
  Date:   2017-06-02 (Fri, 02 Jun 2017)

  Changed paths:
    M bin/travis-install-dependencies
    M circle.yml
    M ckan/controllers/group.py
    A ckan/lib/lazyjson.py
    M ckan/lib/navl/validators.py
    M ckan/logic/action/update.py
    M ckan/logic/schema.py
    M ckan/logic/validators.py
    M ckan/public/base/javascript/modules/resource-view-filters.js
    M ckan/public/base/less/forms.less
    M ckan/public/base/less/media.less
    M ckan/templates/group/about.html
    M ckan/templates/group/edit.html
    M ckan/templates/group/edit_base.html
    M ckan/templates/group/read.html
    M ckan/templates/group/read_base.html
    M ckan/templates/group/snippets/group_item.html
    M ckan/templates/group/snippets/info.html
    M ckan/tests/helpers.py
    M ckan/tests/legacy/functional/api/test_activity.py
    M ckan/tests/logic/action/test_update.py
    M ckan/tests/test_coding_standards.py
    M ckanext/datapusher/tests/test.py
    M ckanext/datapusher/tests/test_interfaces.py
    M ckanext/datastore/controller.py
    M ckanext/datastore/db.py
    M ckanext/datastore/logic/action.py
    M ckanext/datastore/logic/auth.py
    M ckanext/datastore/logic/schema.py
    M ckanext/datastore/plugin.py
    M ckanext/datastore/tests/helpers.py
    M ckanext/datastore/tests/test_create.py
    M ckanext/datastore/tests/test_delete.py
    M ckanext/datastore/tests/test_dump.py
    M ckanext/datastore/tests/test_helpers.py
    M ckanext/datastore/tests/test_search.py
    M ckanext/datastore/tests/test_unit.py
    M ckanext/datastore/tests/test_upsert.py
    M ckanext/datastore/writer.py
    R ckanext/example_theme/__init__.py
    R ckanext/example_theme/custom_config_setting/__init__.py
    R ckanext/example_theme/custom_config_setting/plugin.py
    R ckanext/example_theme/custom_config_setting/templates/home/layout1.html
    R ckanext/example_theme/custom_config_setting/templates/snippets
    R ckanext/example_theme/custom_emails/__init__.py
    R ckanext/example_theme/custom_emails/plugin.py
    R ckanext/example_theme/custom_emails/templates/emails/invite_user.txt
    R ckanext/example_theme/custom_emails/templates/emails/invite_user_subject.txt
    R ckanext/example_theme/custom_emails/templates/emails/reset_password.txt
    R ckanext/example_theme/custom_emails/templates/emails/reset_password_subject.txt
    R ckanext/example_theme/custom_emails/tests.py
    R ckanext/example_theme/v01_empty_extension/__init__.py
    R ckanext/example_theme/v01_empty_extension/plugin.py
    R ckanext/example_theme/v02_empty_template/__init__.py
    R ckanext/example_theme/v02_empty_template/plugin.py
    R ckanext/example_theme/v02_empty_template/templates/home/index.html
    R ckanext/example_theme/v03_jinja/__init__.py
    R ckanext/example_theme/v03_jinja/plugin.py
    R ckanext/example_theme/v03_jinja/templates/home/index.html
    R ckanext/example_theme/v04_ckan_extends/__init__.py
    R ckanext/example_theme/v04_ckan_extends/plugin.py
    R ckanext/example_theme/v04_ckan_extends/templates/home/index.html
    R ckanext/example_theme/v05_block/__init__.py
    R ckanext/example_theme/v05_block/plugin.py
    R ckanext/example_theme/v05_block/templates/home/layout1.html
    R ckanext/example_theme/v06_super/__init__.py
    R ckanext/example_theme/v06_super/plugin.py
    R ckanext/example_theme/v06_super/templates/home/layout1.html
    R ckanext/example_theme/v07_helper_function/__init__.py
    R ckanext/example_theme/v07_helper_function/plugin.py
    R ckanext/example_theme/v07_helper_function/templates/home/layout1.html
    R ckanext/example_theme/v08_custom_helper_function/__init__.py
    R ckanext/example_theme/v08_custom_helper_function/plugin.py
    R ckanext/example_theme/v08_custom_helper_function/templates/home/layout1.html
    R ckanext/example_theme/v09_snippet/__init__.py
    R ckanext/example_theme/v09_snippet/plugin.py
    R ckanext/example_theme/v09_snippet/templates/home/layout1.html
    R ckanext/example_theme/v10_custom_snippet/__init__.py
    R ckanext/example_theme/v10_custom_snippet/plugin.py
    R ckanext/example_theme/v10_custom_snippet/templates/home/layout1.html
    R ckanext/example_theme/v10_custom_snippet/templates/snippets/example_theme_most_popular_groups.html
    R ckanext/example_theme/v11_HTML_and_CSS/__init__.py
    R ckanext/example_theme/v11_HTML_and_CSS/plugin.py
    R ckanext/example_theme/v11_HTML_and_CSS/templates/home/layout1.html
    R ckanext/example_theme/v11_HTML_and_CSS/templates/snippets/example_theme_most_popular_groups.html
    R ckanext/example_theme/v12_extra_public_dir/__init__.py
    R ckanext/example_theme/v12_extra_public_dir/plugin.py
    R ckanext/example_theme/v12_extra_public_dir/public/promoted-image.jpg
    R ckanext/example_theme/v12_extra_public_dir/templates/home/layout1.html
    R ckanext/example_theme/v12_extra_public_dir/templates/home/snippets/promoted.html
    R ckanext/example_theme/v12_extra_public_dir/templates/snippets
    R ckanext/example_theme/v13_custom_css/__init__.py
    R ckanext/example_theme/v13_custom_css/plugin.py
    R ckanext/example_theme/v13_custom_css/public/example_theme.css
    R ckanext/example_theme/v13_custom_css/public/promoted-image.jpg
    R ckanext/example_theme/v13_custom_css/templates/base.html
    R ckanext/example_theme/v13_custom_css/templates/home
    R ckanext/example_theme/v13_custom_css/templates/snippets
    R ckanext/example_theme/v14_more_custom_css/__init__.py
    R ckanext/example_theme/v14_more_custom_css/plugin.py
    R ckanext/example_theme/v14_more_custom_css/public/example_theme.css
    R ckanext/example_theme/v14_more_custom_css/public/promoted-image.jpg
    R ckanext/example_theme/v14_more_custom_css/templates
    R ckanext/example_theme/v15_fanstatic/__init__.py
    R ckanext/example_theme/v15_fanstatic/fanstatic/example_theme.css
    R ckanext/example_theme/v15_fanstatic/plugin.py
    R ckanext/example_theme/v15_fanstatic/public/promoted-image.jpg
    R ckanext/example_theme/v15_fanstatic/templates/base.html
    R ckanext/example_theme/v15_fanstatic/templates/home
    R ckanext/example_theme/v15_fanstatic/templates/snippets
    R ckanext/example_theme/v16_initialize_a_javascript_module/__init__.py
    R ckanext/example_theme/v16_initialize_a_javascript_module/fanstatic/example_theme_popover.js
    R ckanext/example_theme/v16_initialize_a_javascript_module/plugin.py
    R ckanext/example_theme/v16_initialize_a_javascript_module/templates/snippets/package_item.html
    R ckanext/example_theme/v17_popover/__init__.py
    R ckanext/example_theme/v17_popover/fanstatic/example_theme_popover.js
    R ckanext/example_theme/v17_popover/plugin.py
    R ckanext/example_theme/v17_popover/templates/snippets/package_item.html
    R ckanext/example_theme/v18_snippet_api/__init__.py
    R ckanext/example_theme/v18_snippet_api/fanstatic/example_theme_popover.css
    R ckanext/example_theme/v18_snippet_api/fanstatic/example_theme_popover.js
    R ckanext/example_theme/v18_snippet_api/plugin.py
    R ckanext/example_theme/v18_snippet_api/templates/ajax_snippets/example_theme_popover.html
    R ckanext/example_theme/v18_snippet_api/templates/snippets/package_item.html
    R ckanext/example_theme/v19_01_error/__init__.py
    R ckanext/example_theme/v19_01_error/fanstatic/example_theme_popover.css
    R ckanext/example_theme/v19_01_error/fanstatic/example_theme_popover.js
    R ckanext/example_theme/v19_01_error/plugin.py
    R ckanext/example_theme/v19_01_error/templates
    R ckanext/example_theme/v19_02_error_handling/__init__.py
    R ckanext/example_theme/v19_02_error_handling/fanstatic/example_theme_popover.css
    R ckanext/example_theme/v19_02_error_handling/fanstatic/example_theme_popover.js
    R ckanext/example_theme/v19_02_error_handling/plugin.py
    R ckanext/example_theme/v19_02_error_handling/templates
    R ckanext/example_theme/v20_pubsub/__init__.py
    R ckanext/example_theme/v20_pubsub/fanstatic/example_theme_popover.css
    R ckanext/example_theme/v20_pubsub/fanstatic/example_theme_popover.js
    R ckanext/example_theme/v20_pubsub/plugin.py
    R ckanext/example_theme/v20_pubsub/templates
    R ckanext/example_theme/v21_custom_jquery_plugin/__init__.py
    R ckanext/example_theme/v21_custom_jquery_plugin/fanstatic/example_theme_popover.css
    R ckanext/example_theme/v21_custom_jquery_plugin/fanstatic/example_theme_popover.js
    R ckanext/example_theme/v21_custom_jquery_plugin/fanstatic/jquery.greenify.js
    R ckanext/example_theme/v21_custom_jquery_plugin/plugin.py
    R ckanext/example_theme/v21_custom_jquery_plugin/templates/ajax_snippets
    R ckanext/example_theme/v21_custom_jquery_plugin/templates/snippets/package_item.html
    A ckanext/example_theme_docs/__init__.py
    A ckanext/example_theme_docs/custom_config_setting/__init__.py
    A ckanext/example_theme_docs/custom_config_setting/plugin.py
    A ckanext/example_theme_docs/custom_config_setting/templates/home/layout1.html
    A ckanext/example_theme_docs/custom_config_setting/templates/snippets
    A ckanext/example_theme_docs/custom_emails/__init__.py
    A ckanext/example_theme_docs/custom_emails/plugin.py
    A ckanext/example_theme_docs/custom_emails/templates/emails/invite_user.txt
    A ckanext/example_theme_docs/custom_emails/templates/emails/invite_user_subject.txt
    A ckanext/example_theme_docs/custom_emails/templates/emails/reset_password.txt
    A ckanext/example_theme_docs/custom_emails/templates/emails/reset_password_subject.txt
    A ckanext/example_theme_docs/custom_emails/tests.py
    A ckanext/example_theme_docs/v01_empty_extension/__init__.py
    A ckanext/example_theme_docs/v01_empty_extension/plugin.py
    A ckanext/example_theme_docs/v02_empty_template/__init__.py
    A ckanext/example_theme_docs/v02_empty_template/plugin.py
    A ckanext/example_theme_docs/v02_empty_template/templates/home/index.html
    A ckanext/example_theme_docs/v03_jinja/__init__.py
    A ckanext/example_theme_docs/v03_jinja/plugin.py
    A ckanext/example_theme_docs/v03_jinja/templates/home/index.html
    A ckanext/example_theme_docs/v04_ckan_extends/__init__.py
    A ckanext/example_theme_docs/v04_ckan_extends/plugin.py
    A ckanext/example_theme_docs/v04_ckan_extends/templates/home/index.html
    A ckanext/example_theme_docs/v05_block/__init__.py
    A ckanext/example_theme_docs/v05_block/plugin.py
    A ckanext/example_theme_docs/v05_block/templates/home/layout1.html
    A ckanext/example_theme_docs/v06_super/__init__.py
    A ckanext/example_theme_docs/v06_super/plugin.py
    A ckanext/example_theme_docs/v06_super/templates/home/layout1.html
    A ckanext/example_theme_docs/v07_helper_function/__init__.py
    A ckanext/example_theme_docs/v07_helper_function/plugin.py
    A ckanext/example_theme_docs/v07_helper_function/templates/home/layout1.html
    A ckanext/example_theme_docs/v08_custom_helper_function/__init__.py
    A ckanext/example_theme_docs/v08_custom_helper_function/plugin.py
    A ckanext/example_theme_docs/v08_custom_helper_function/templates/home/layout1.html
    A ckanext/example_theme_docs/v09_snippet/__init__.py
    A ckanext/example_theme_docs/v09_snippet/plugin.py
    A ckanext/example_theme_docs/v09_snippet/templates/home/layout1.html
    A ckanext/example_theme_docs/v10_custom_snippet/__init__.py
    A ckanext/example_theme_docs/v10_custom_snippet/plugin.py
    A ckanext/example_theme_docs/v10_custom_snippet/templates/home/layout1.html
    A ckanext/example_theme_docs/v10_custom_snippet/templates/snippets/example_theme_most_popular_groups.html
    A ckanext/example_theme_docs/v11_HTML_and_CSS/__init__.py
    A ckanext/example_theme_docs/v11_HTML_and_CSS/plugin.py
    A ckanext/example_theme_docs/v11_HTML_and_CSS/templates/home/layout1.html
    A ckanext/example_theme_docs/v11_HTML_and_CSS/templates/snippets/example_theme_most_popular_groups.html
    A ckanext/example_theme_docs/v12_extra_public_dir/__init__.py
    A ckanext/example_theme_docs/v12_extra_public_dir/plugin.py
    A ckanext/example_theme_docs/v12_extra_public_dir/public/promoted-image.jpg
    A ckanext/example_theme_docs/v12_extra_public_dir/templates/home/layout1.html
    A ckanext/example_theme_docs/v12_extra_public_dir/templates/home/snippets/promoted.html
    A ckanext/example_theme_docs/v12_extra_public_dir/templates/snippets
    A ckanext/example_theme_docs/v13_custom_css/__init__.py
    A ckanext/example_theme_docs/v13_custom_css/plugin.py
    A ckanext/example_theme_docs/v13_custom_css/public/example_theme.css
    A ckanext/example_theme_docs/v13_custom_css/public/promoted-image.jpg
    A ckanext/example_theme_docs/v13_custom_css/templates/base.html
    A ckanext/example_theme_docs/v13_custom_css/templates/home
    A ckanext/example_theme_docs/v13_custom_css/templates/snippets
    A ckanext/example_theme_docs/v14_more_custom_css/__init__.py
    A ckanext/example_theme_docs/v14_more_custom_css/plugin.py
    A ckanext/example_theme_docs/v14_more_custom_css/public/example_theme.css
    A ckanext/example_theme_docs/v14_more_custom_css/public/promoted-image.jpg
    A ckanext/example_theme_docs/v14_more_custom_css/templates
    A ckanext/example_theme_docs/v15_fanstatic/__init__.py
    A ckanext/example_theme_docs/v15_fanstatic/fanstatic/example_theme.css
    A ckanext/example_theme_docs/v15_fanstatic/plugin.py
    A ckanext/example_theme_docs/v15_fanstatic/public/promoted-image.jpg
    A ckanext/example_theme_docs/v15_fanstatic/templates/base.html
    A ckanext/example_theme_docs/v15_fanstatic/templates/home
    A ckanext/example_theme_docs/v15_fanstatic/templates/snippets
    A ckanext/example_theme_docs/v16_initialize_a_javascript_module/__init__.py
    A ckanext/example_theme_docs/v16_initialize_a_javascript_module/fanstatic/example_theme_popover.js
    A ckanext/example_theme_docs/v16_initialize_a_javascript_module/plugin.py
    A ckanext/example_theme_docs/v16_initialize_a_javascript_module/templates/snippets/package_item.html
    A ckanext/example_theme_docs/v17_popover/__init__.py
    A ckanext/example_theme_docs/v17_popover/fanstatic/example_theme_popover.js
    A ckanext/example_theme_docs/v17_popover/plugin.py
    A ckanext/example_theme_docs/v17_popover/templates/snippets/package_item.html
    A ckanext/example_theme_docs/v18_snippet_api/__init__.py
    A ckanext/example_theme_docs/v18_snippet_api/fanstatic/example_theme_popover.css
    A ckanext/example_theme_docs/v18_snippet_api/fanstatic/example_theme_popover.js
    A ckanext/example_theme_docs/v18_snippet_api/plugin.py
    A ckanext/example_theme_docs/v18_snippet_api/templates/ajax_snippets/example_theme_popover.html
    A ckanext/example_theme_docs/v18_snippet_api/templates/snippets/package_item.html
    A ckanext/example_theme_docs/v19_01_error/__init__.py
    A ckanext/example_theme_docs/v19_01_error/fanstatic/example_theme_popover.css
    A ckanext/example_theme_docs/v19_01_error/fanstatic/example_theme_popover.js
    A ckanext/example_theme_docs/v19_01_error/plugin.py
    A ckanext/example_theme_docs/v19_01_error/templates
    A ckanext/example_theme_docs/v19_02_error_handling/__init__.py
    A ckanext/example_theme_docs/v19_02_error_handling/fanstatic/example_theme_popover.css
    A ckanext/example_theme_docs/v19_02_error_handling/fanstatic/example_theme_popover.js
    A ckanext/example_theme_docs/v19_02_error_handling/plugin.py
    A ckanext/example_theme_docs/v19_02_error_handling/templates
    A ckanext/example_theme_docs/v20_pubsub/__init__.py
    A ckanext/example_theme_docs/v20_pubsub/fanstatic/example_theme_popover.css
    A ckanext/example_theme_docs/v20_pubsub/fanstatic/example_theme_popover.js
    A ckanext/example_theme_docs/v20_pubsub/plugin.py
    A ckanext/example_theme_docs/v20_pubsub/templates
    A ckanext/example_theme_docs/v21_custom_jquery_plugin/__init__.py
    A ckanext/example_theme_docs/v21_custom_jquery_plugin/fanstatic/example_theme_popover.css
    A ckanext/example_theme_docs/v21_custom_jquery_plugin/fanstatic/example_theme_popover.js
    A ckanext/example_theme_docs/v21_custom_jquery_plugin/fanstatic/jquery.greenify.js
    A ckanext/example_theme_docs/v21_custom_jquery_plugin/plugin.py
    A ckanext/example_theme_docs/v21_custom_jquery_plugin/templates/ajax_snippets
    A ckanext/example_theme_docs/v21_custom_jquery_plugin/templates/snippets/package_item.html
    M contrib/docker/docker-compose.yml
    M doc/extensions/best-practices.rst
    M doc/maintaining/datastore.rst
    M doc/maintaining/installing/install-from-source.rst
    M doc/maintaining/upgrading/upgrade-postgres.rst
    M doc/theming/best-practices.rst
    M doc/theming/css.rst
    M doc/theming/fanstatic.rst
    M doc/theming/javascript.rst
    M doc/theming/static-files.rst
    M doc/theming/templates.rst
    A requirement-setuptools.txt
    M requirements.in
    M requirements.txt
    M setup.py

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/master' into 3444-datatables-view


  Commit: f0e3406de99ec9a6da244a07b0534a0c1315f22a
      https://github.com/ckan/ckan/commit/f0e3406de99ec9a6da244a07b0534a0c1315f22a
  Author: Ian Ward <ian at excess.org>
  Date:   2017-06-02 (Fri, 02 Jun 2017)

  Changed paths:
    M ckanext/datatablesview/plugin.py

  Log Message:
  -----------
  [#3444] show Add Filter interface


Compare: https://github.com/ckan/ckan/compare/82c7fd7a8777...f0e3406de99e


More information about the ckan-changes mailing list