[ckan-changes] [ckan/ckan] 2ca617: [#3196] Common request object for Flask and Pylons

GitHub noreply at github.com
Fri Feb 3 20:00:20 UTC 2017


  Branch: refs/heads/3384-datastore-cli
  Home:   https://github.com/ckan/ckan
  Commit: 2ca6171a0610b71e63ea76f1dae2f45df04f548a
      https://github.com/ckan/ckan/commit/2ca6171a0610b71e63ea76f1dae2f45df04f548a
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-08 (Mon, 08 Aug 2016)

  Changed paths:
    M ckan/common.py
    M ckan/tests/test_common.py

  Log Message:
  -----------
  [#3196] Common request object for Flask and Pylons

A new CKAN Request object based on Werkzeug's LocalProxy that will forward
to Flask or Pylons own request objects depending on the output of
`_get_request` (which essentially calls `is_flask_request`), and at the
same time provide all objects methods to be able to interact with them
transparently.

We don't use LocalProxy directly so we can handle the special case of
accessing query string parameters via `request.params` on Flask (which
uses `request.args`). All new Flask-only code should use `args` but for
backwards compatibility we will support `params` for a while.


  Commit: 5337b1e4b6dc669fbad9b40678c149cdd230bc8d
      https://github.com/ckan/ckan/commit/5337b1e4b6dc669fbad9b40678c149cdd230bc8d
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-10 (Wed, 10 Aug 2016)

  Changed paths:
    M ckan/common.py

  Log Message:
  -----------
  Better request check and params property


  Commit: 4d2425450b1fa2cda063ba0e02b5b9a40eeae271
      https://github.com/ckan/ckan/commit/4d2425450b1fa2cda063ba0e02b5b9a40eeae271
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-10 (Wed, 10 Aug 2016)

  Changed paths:
    M ckan/common.py

  Log Message:
  -----------
  [#3196] Simplify request params property


  Commit: c087a72d77daf0f5c7068477231c649af8eecce9
      https://github.com/ckan/ckan/commit/c087a72d77daf0f5c7068477231c649af8eecce9
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-11 (Thu, 11 Aug 2016)

  Changed paths:
    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/lib/base.py
    M ckan/lib/helpers.py

  Log Message:
  -----------
  [#3196] Remove usages of g outside templates


  Commit: eab36be298ddb1ae39347468fbe13bad9c3b086b
      https://github.com/ckan/ckan/commit/eab36be298ddb1ae39347468fbe13bad9c3b086b
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-11 (Thu, 11 Aug 2016)

  Changed paths:
    M ckan/common.py

  Log Message:
  -----------
  [#3196] Replace Pylons' g and c with a proxy

To either Flask's `g` or Pylons `c` depending on who serves the request.

Pylons' `g` is no longer used.


  Commit: 4112496f601ec2331a2bf414617341639ff06145
      https://github.com/ckan/ckan/commit/4112496f601ec2331a2bf414617341639ff06145
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-11 (Thu, 11 Aug 2016)

  Changed paths:
    M ckan/controllers/error.py
    M ckan/lib/maintain.py
    M ckan/lib/plugins.py
    M ckanext/test_tag_vocab_plugin.py

  Log Message:
  -----------
  [#3196] Remove direct c imports from Pylons


  Commit: bfb1ca715c99b3f7bded9d90402fe511c00ae76f
      https://github.com/ckan/ckan/commit/bfb1ca715c99b3f7bded9d90402fe511c00ae76f
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-11 (Thu, 11 Aug 2016)

  Changed paths:
    M ckan/authz.py
    M ckan/config/middleware/flask_app.py
    M ckan/logic/__init__.py

  Log Message:
  -----------
  [#3196] Fall back to app_globals on Flask g

If a property is not found on `g`, check CKAN's own `app_globals`,
where stuff like `g.site_title` is kept.

The default behaviour for Flask's `g` is to raise an AttributeError if
a missing property is accessed. We have kept this behaviour here and
handled a couple of cases where `c` was accessed outside of a request.
This can be reverted to returning an empty string if necessary.


  Commit: 9f1d70b3068bd7401b4d4e48b66ccf496f11c5b1
      https://github.com/ckan/ckan/commit/9f1d70b3068bd7401b4d4e48b66ccf496f11c5b1
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-11 (Thu, 11 Aug 2016)

  Changed paths:
    M ckan/config/middleware/flask_app.py

  Log Message:
  -----------
  [#3196] Expose `c` as an alias of `g` in templates

In templates rendered by Flask, for backwards compatibility


  Commit: c5cbcca7d90b8697f468b71b191e0167a9343dd7
      https://github.com/ckan/ckan/commit/c5cbcca7d90b8697f468b71b191e0167a9343dd7
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-12 (Fri, 12 Aug 2016)

  Changed paths:
    M ckan/tests/test_common.py

  Log Message:
  -----------
  [#3196] Add some tests for common context object


  Commit: 7b0cbd6a9979ed91d935f0dc8748ef1974f5505f
      https://github.com/ckan/ckan/commit/7b0cbd6a9979ed91d935f0dc8748ef1974f5505f
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-12 (Fri, 12 Aug 2016)

  Changed paths:
    M ckan/controllers/group.py
    M ckan/controllers/home.py
    M ckan/controllers/package.py
    M ckan/lib/base.py
    M ckan/lib/maintain.py
    M ckan/lib/plugins.py

  Log Message:
  -----------
  [#3196] Remove context related functions from maintain module

`deprecate_context_item` was a bit of a hack, messing with the
underlying object internal methods and hasn't really been used in ages.
It was hard to make work with the current common context object, so it
makes sense to get rid of it.

`defer_context_item` wasn't used anywhere


  Commit: ee12473902f1e29fbbf7dd0d18fce011192860d0
      https://github.com/ckan/ckan/commit/ee12473902f1e29fbbf7dd0d18fce011192860d0
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-16 (Tue, 16 Aug 2016)

  Changed paths:
    M ckan/config/middleware/flask_app.py
    M ckan/config/routing.py
    A ckan/views/__init__.py
    A ckan/views/api.py

  Log Message:
  -----------
  [#3196] Register core blueprints on the Flask app

Automatically go through the `views` folder and register all instances
of Flask's Blueprint. This is done by inspecting all modules on the
folder for the relevant members.

As an example, a new api blueprint has been added, which for now only
handles the root request (`/api`).

See
https://github.com/ckan/ckan/wiki/Migration-from-Pylons-to-Flask#flask-views-blueprints-and-routing
for details on how we will use Blueprints


  Commit: 3f4553024508e2bcbb7aa099db25b5c7083b3bde
      https://github.com/ckan/ckan/commit/3f4553024508e2bcbb7aa099db25b5c7083b3bde
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-16 (Tue, 16 Aug 2016)

  Changed paths:
    M ckan/config/middleware/flask_app.py
    M ckan/plugins/interfaces.py
    M ckan/tests/config/test_middleware.py

  Log Message:
  -----------
  [#3196] Allow extensions to register their blueprints

Extensions can use the IBlueprint interface to register their own
blueprints. The main use case we have for it now is to register custom
routes, but it will also be used to register template folders, resources
etc.

Routes registered from plugins are flagged as such so theu can be
prioritized by the AppDispatcher middleware:

Flask Extension > Pylons Extension > Flask Core > Pylons Core

To do this we use a custom class for the Werkzeug rules used by Flask.

Updated the AppDispatcher tests and the test routing plugin.

All credit for these changes goes to @brook


  Commit: 7c9ca60080f4032a958c6323d20abb9dcbc035f7
      https://github.com/ckan/ckan/commit/7c9ca60080f4032a958c6323d20abb9dcbc035f7
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-16 (Tue, 16 Aug 2016)

  Changed paths:
    M ckan/config/middleware/flask_app.py

  Log Message:
  -----------
  [#3196] Make helper functions (`h`) available to Flask templates

Tests incoming


  Commit: ea5382bfb82fc3dce4f4db04fc3618bc1b6a96d0
      https://github.com/ckan/ckan/commit/ea5382bfb82fc3dce4f4db04fc3618bc1b6a96d0
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-16 (Tue, 16 Aug 2016)

  Changed paths:
    M ckan/config/middleware/flask_app.py

  Log Message:
  -----------
  [#3196] Add template directory, register Jinja2 extensions

We are registering the same ones as in Pylons, we might want to clean
them up.


  Commit: fb24f718ae6adc4398a43805071c1aa727ac7f1f
      https://github.com/ckan/ckan/commit/fb24f718ae6adc4398a43805071c1aa727ac7f1f
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-18 (Thu, 18 Aug 2016)

  Changed paths:
    M ckan/config/middleware/flask_app.py
    M ckan/tests/config/test_middleware.py
    M dev-requirements.txt

  Log Message:
  -----------
  [#3196] Add DebugToolbar to the Flask stack

Similarly to Django debug toolbar, it offers a lot of really useful
information when debugging.

https://flask-debugtoolbar.readthedocs.io

It requires SECRET_KEY to be set up, which we will need for the sessions
anyway. As with the repoze.who auth token, we fall back to
`beaker.session.secret` if it's not present.


  Commit: f3f6fb07828fd88701a4bfc218f4bd674fac576d
      https://github.com/ckan/ckan/commit/f3f6fb07828fd88701a4bfc218f4bd674fac576d
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-18 (Thu, 18 Aug 2016)

  Changed paths:
    M ckan/config/middleware/flask_app.py
    M ckan/tests/helpers.py
    M test-core.ini

  Log Message:
  -----------
  [#3196] Add a new testing config option

Flask behaves differently if TESTING is True, eg not capturing
exceptions when serving a page, which is the behaviour we have in the
Pylons tests.


  Commit: a887c04550873cb0d2acdf0af9537cc34ce06887
      https://github.com/ckan/ckan/commit/a887c04550873cb0d2acdf0af9537cc34ce06887
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-18 (Thu, 18 Aug 2016)

  Changed paths:
    M CHANGELOG.rst
    M ckan/__init__.py
    M ckan/controllers/group.py
    M ckan/controllers/package.py
    M ckan/i18n/ar/LC_MESSAGES/ckan.mo
    M ckan/i18n/bg/LC_MESSAGES/ckan.mo
    M ckan/i18n/ca/LC_MESSAGES/ckan.mo
    M ckan/i18n/cs_CZ/LC_MESSAGES/ckan.mo
    M ckan/i18n/da_DK/LC_MESSAGES/ckan.mo
    M ckan/i18n/de/LC_MESSAGES/ckan.mo
    M ckan/i18n/el/LC_MESSAGES/ckan.mo
    M ckan/i18n/en_AU/LC_MESSAGES/ckan.mo
    M ckan/i18n/en_GB/LC_MESSAGES/ckan.mo
    M ckan/i18n/es/LC_MESSAGES/ckan.mo
    M ckan/i18n/es_AR/LC_MESSAGES/ckan.mo
    M ckan/i18n/fa_IR/LC_MESSAGES/ckan.mo
    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/he/LC_MESSAGES/ckan.mo
    M ckan/i18n/hr/LC_MESSAGES/ckan.mo
    M ckan/i18n/hu/LC_MESSAGES/ckan.mo
    M ckan/i18n/id/LC_MESSAGES/ckan.mo
    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/ja/LC_MESSAGES/ckan.mo
    M ckan/i18n/km/LC_MESSAGES/ckan.mo
    M ckan/i18n/ko_KR/LC_MESSAGES/ckan.mo
    M ckan/i18n/lt/LC_MESSAGES/ckan.mo
    M ckan/i18n/lv/LC_MESSAGES/ckan.mo
    M ckan/i18n/mn_MN/LC_MESSAGES/ckan.mo
    M ckan/i18n/ne/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/pt_BR/LC_MESSAGES/ckan.mo
    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/ru/LC_MESSAGES/ckan.mo
    M ckan/i18n/sk/LC_MESSAGES/ckan.mo
    M ckan/i18n/sl/LC_MESSAGES/ckan.mo
    M ckan/i18n/sq/LC_MESSAGES/ckan.mo
    M ckan/i18n/sr/LC_MESSAGES/ckan.mo
    M ckan/i18n/sr_Latn/LC_MESSAGES/ckan.mo
    M ckan/i18n/sv/LC_MESSAGES/ckan.mo
    M ckan/i18n/th/LC_MESSAGES/ckan.mo
    A ckan/i18n/tl/LC_MESSAGES/ckan.mo
    A ckan/i18n/tl/LC_MESSAGES/ckan.po
    M ckan/i18n/tr/LC_MESSAGES/ckan.mo
    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/zh_CN/LC_MESSAGES/ckan.mo
    M ckan/i18n/zh_CN/LC_MESSAGES/ckan.po
    M ckan/i18n/zh_TW/LC_MESSAGES/ckan.mo
    M ckan/lib/cli.py
    M ckan/lib/dictization/model_dictize.py
    M ckan/lib/mailer.py
    M ckan/logic/action/get.py
    M ckan/logic/action/update.py
    M ckan/public/base/css/main.css
    M ckan/public/base/less/module.less
    M ckan/tests/controllers/test_package.py
    M ckan/tests/lib/test_mailer.py
    M ckan/tests/logic/action/test_get.py
    M ckan/tests/logic/action/test_update.py
    M ckanext/reclineview/plugin.py
    M ckanext/reclineview/theme/public/css/recline.css
    M ckanext/reclineview/theme/public/recline_view.js
    M ckanext/reclineview/theme/public/resource.config
    R ckanext/reclineview/theme/public/vendor/bootstrap/2.3.2/bootstrap.js
    R ckanext/reclineview/theme/public/vendor/bootstrap/2.3.2/css/bootstrap-responsive.css
    R ckanext/reclineview/theme/public/vendor/bootstrap/2.3.2/css/bootstrap.css
    R ckanext/reclineview/theme/public/vendor/bootstrap/2.3.2/img/glyphicons-halflings-white.png
    R ckanext/reclineview/theme/public/vendor/bootstrap/2.3.2/img/glyphicons-halflings.png
    A ckanext/reclineview/theme/public/vendor/bootstrap/3.2.0/css/bootstrap-theme.css
    A ckanext/reclineview/theme/public/vendor/bootstrap/3.2.0/css/bootstrap.css
    A ckanext/reclineview/theme/public/vendor/bootstrap/3.2.0/fonts/glyphicons-halflings-regular.eot
    A ckanext/reclineview/theme/public/vendor/bootstrap/3.2.0/fonts/glyphicons-halflings-regular.svg
    A ckanext/reclineview/theme/public/vendor/bootstrap/3.2.0/fonts/glyphicons-halflings-regular.ttf
    A ckanext/reclineview/theme/public/vendor/bootstrap/3.2.0/fonts/glyphicons-halflings-regular.woff
    A ckanext/reclineview/theme/public/vendor/bootstrap/3.2.0/js/bootstrap.js
    A ckanext/reclineview/theme/public/vendor/leaflet.markercluster/leaflet.markercluster-src.js
    A ckanext/reclineview/theme/public/vendor/recline/flot.css
    A ckanext/reclineview/theme/public/vendor/recline/map.css
    M ckanext/reclineview/theme/public/vendor/recline/recline.js
    A ckanext/reclineview/theme/public/vendor/recline/slickgrid.css
    R ckanext/reclineview/theme/public/vendor/slickgrid/2.0.1/MIT-LICENSE.txt
    R ckanext/reclineview/theme/public/vendor/slickgrid/2.0.1/README.txt
    R ckanext/reclineview/theme/public/vendor/slickgrid/2.0.1/images/calendar.gif
    R ckanext/reclineview/theme/public/vendor/slickgrid/2.0.1/images/sort-asc.gif
    R ckanext/reclineview/theme/public/vendor/slickgrid/2.0.1/images/sort-desc.gif
    R ckanext/reclineview/theme/public/vendor/slickgrid/2.0.1/jquery-ui-1.8.16.custom.js
    R ckanext/reclineview/theme/public/vendor/slickgrid/2.0.1/jquery-ui-1.8.16.custom.min.js
    R ckanext/reclineview/theme/public/vendor/slickgrid/2.0.1/jquery.event.drag-2.0.js
    R ckanext/reclineview/theme/public/vendor/slickgrid/2.0.1/jquery.event.drag-2.0.min.js
    R ckanext/reclineview/theme/public/vendor/slickgrid/2.0.1/plugins/slick.rowmovemanager.js
    R ckanext/reclineview/theme/public/vendor/slickgrid/2.0.1/plugins/slick.rowselectionmodel.js
    R ckanext/reclineview/theme/public/vendor/slickgrid/2.0.1/slick.grid.css
    R ckanext/reclineview/theme/public/vendor/slickgrid/2.0.1/slick.grid.js
    R ckanext/reclineview/theme/public/vendor/slickgrid/2.0.1/slick.grid.min.css
    R ckanext/reclineview/theme/public/vendor/slickgrid/2.0.1/slick.grid.min.js
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/MIT-LICENSE.txt
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/README.md
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/controls/slick.columnpicker.css
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/controls/slick.columnpicker.js
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/controls/slick.pager.css
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/controls/slick.pager.js
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-icons_222222_256x240.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-icons_2e83ff_256x240.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-icons_454545_256x240.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-icons_888888_256x240.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/images/ui-icons_cd0a0a_256x240.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/css/smoothness/jquery-ui-1.8.16.custom.css
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/actions.gif
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/ajax-loader-small.gif
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/arrow_redo.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/arrow_right_peppermint.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/arrow_right_spearmint.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/arrow_undo.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/bullet_blue.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/bullet_star.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/bullet_toggle_minus.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/bullet_toggle_plus.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/calendar.gif
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/collapse.gif
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/comment_yellow.gif
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/down.gif
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/drag-handle.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/editor-helper-bg.gif
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/expand.gif
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/header-bg.gif
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/header-columns-bg.gif
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/header-columns-over-bg.gif
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/help.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/info.gif
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/listview.gif
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/pencil.gif
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/row-over-bg.gif
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/sort-asc.gif
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/sort-asc.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/sort-desc.gif
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/sort-desc.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/stripes.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/tag_red.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/tick.png
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/user_identity.gif
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/images/user_identity_plus.gif
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/jquery-1.7.min.js
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/jquery-ui-1.8.16.custom.js
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/jquery.event.drag-2.2.js
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/jquery.event.drop-2.2.js
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/plugins/slick.autotooltips.js
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/plugins/slick.cellcopymanager.js
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/plugins/slick.cellrangedecorator.js
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/plugins/slick.cellrangeselector.js
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/plugins/slick.cellselectionmodel.js
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/plugins/slick.checkboxselectcolumn.js
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/plugins/slick.headerbuttons.css
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/plugins/slick.headerbuttons.js
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/plugins/slick.headermenu.css
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/plugins/slick.headermenu.js
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/plugins/slick.rowmovemanager.js
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/plugins/slick.rowselectionmodel.js
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/slick-default-theme.css
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/slick.core.js
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/slick.dataview.js
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/slick.editors.js
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/slick.formatters.js
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/slick.grid.css
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/slick.grid.js
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/slick.groupitemmetadataprovider.js
    A ckanext/reclineview/theme/public/vendor/slickgrid/2.2/slick.remotemodel.js
    A ckanext/reclineview/theme/public/vendor/timeline/LICENSE
    A ckanext/reclineview/theme/public/vendor/timeline/README
    M ckanext/reclineview/theme/templates/recline_view.html
    M doc/maintaining/configuration.rst
    M doc/maintaining/data-viewer.rst
    M doc/maintaining/installing/install-from-package.rst

  Log Message:
  -----------
  Merge branch 'master' into 3196-blueprints-and-templates


  Commit: 663b9995567ed4402c199f41cd3afd38d98faf7e
      https://github.com/ckan/ckan/commit/663b9995567ed4402c199f41cd3afd38d98faf7e
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-18 (Thu, 18 Aug 2016)

  Changed paths:
    M ckan/config/middleware/flask_app.py
    M ckan/tests/config/test_middleware.py
    M ckan/tests/helpers.py
    M dev-requirements.txt
    M test-core.ini

  Log Message:
  -----------
  Merge branch '3196-flask-debug-and-testing' into 3196-blueprints-and-templates

Conflicts:
	ckan/config/middleware/flask_app.py


  Commit: b92edd63b4f8f8cb876264900490fa490c394c74
      https://github.com/ckan/ckan/commit/b92edd63b4f8f8cb876264900490fa490c394c74
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-18 (Thu, 18 Aug 2016)

  Changed paths:
    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

  Log Message:
  -----------
  [#3196] Add IBlueprint example

Showint how to register custom routes and how these affect ones on core.
Also tests helpers on templates.


  Commit: f7196efdbdcb674c98da5013f2bbabd6f7f00535
      https://github.com/ckan/ckan/commit/f7196efdbdcb674c98da5013f2bbabd6f7f00535
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-18 (Thu, 18 Aug 2016)

  Changed paths:
    M ckan/views/api.py

  Log Message:
  -----------
  [#3196] Add missing url rule in api view


  Commit: d1a8f24599c43a63c039a671f9696e5575248745
      https://github.com/ckan/ckan/commit/d1a8f24599c43a63c039a671f9696e5575248745
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-18 (Thu, 18 Aug 2016)

  Changed paths:
    M setup.py

  Log Message:
  -----------
  [#3196] Add missing plugin definition in setup.py


  Commit: ffa526c817792cf9f96447bf90bb05af468b4713
      https://github.com/ckan/ckan/commit/ffa526c817792cf9f96447bf90bb05af468b4713
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-19 (Fri, 19 Aug 2016)

  Changed paths:
    M ckan/config/middleware/flask_app.py
    M ckan/tests/config/test_middleware.py

  Log Message:
  -----------
  [#3196] Add Fanstatic middleware to Flask

Hopefully just temporarily until we can replace it with something
better. This will be tested further on went the url_for stuff is
avaiable as well.

Changed wrong reference in a test


  Commit: ed747496ee61eb1fdca2bf77fa28af600b8a4f58
      https://github.com/ckan/ckan/commit/ed747496ee61eb1fdca2bf77fa28af600b8a4f58
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-22 (Mon, 22 Aug 2016)

  Changed paths:
    M ckan/lib/helpers.py
    M ckan/tests/controllers/test_tags.py
    M ckan/tests/controllers/test_util.py

  Log Message:
  -----------
  [#3194] Ensure that relative redirects use the host on ckan.site_url

Conflicts:
	ckan/lib/helpers.py


  Commit: 53490115ce2c98e6e9bd0a45342e7943df4713dc
      https://github.com/ckan/ckan/commit/53490115ce2c98e6e9bd0a45342e7943df4713dc
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-22 (Mon, 22 Aug 2016)

  Changed paths:
    M ckan/lib/helpers.py

  Log Message:
  -----------
  [#3194] Support both Flask and Pylons redirects


  Commit: bddd7b5298e2724114278b309333fcc5c0378cd8
      https://github.com/ckan/ckan/commit/bddd7b5298e2724114278b309333fcc5c0378cd8
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-23 (Tue, 23 Aug 2016)

  Changed paths:
    M ckan/controllers/api.py
    M ckan/lib/base.py
    M ckan/tests/controllers/test_package.py
    M ckan/views/__init__.py

  Log Message:
  -----------
  [#3196] Move user identify logic to a separate module

So it can be reused by Flask requests handlers and Pylons base
controllers


  Commit: ac207b1691d45976b2d637edecf84394219c76db
      https://github.com/ckan/ckan/commit/ac207b1691d45976b2d637edecf84394219c76db
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-23 (Tue, 23 Aug 2016)

  Changed paths:
    M ckan/config/middleware/flask_app.py
    M ckan/tests/config/test_middleware.py

  Log Message:
  -----------
  [#3194] Call indentify_user logic on all Flask requests

Using a Flask before_request handler. Added tests.

All credit goes to @brew


  Commit: 1683727fce578d05e0c581adbe0d22ea489673fd
      https://github.com/ckan/ckan/commit/1683727fce578d05e0c581adbe0d22ea489673fd
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-23 (Tue, 23 Aug 2016)

  Changed paths:
    M ckan/config/middleware/flask_app.py
    M ckan/lib/base.py
    M ckan/tests/lib/test_base.py
    M ckan/views/__init__.py

  Log Message:
  -----------
  [#3196] CORS headers added to Flask responses.

The method to set CORS headers moved to `views` module and CKAN core
refactored to import and use it.

Original commit by @brew (77a436eb)


  Commit: 15d16bc2b11c4eb0cbe459352f356d945b6f5077
      https://github.com/ckan/ckan/commit/15d16bc2b11c4eb0cbe459352f356d945b6f5077
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-23 (Tue, 23 Aug 2016)

  Changed paths:
    M ckan/config/middleware/flask_app.py

  Log Message:
  -----------
  [#3196] Add request timer for Flask requests

Times between before_request and after_request and outputs to log level
info


  Commit: 6cbe198f3f3333a9ef845b7e06ce1e3595b8ddf0
      https://github.com/ckan/ckan/commit/6cbe198f3f3333a9ef845b7e06ce1e3595b8ddf0
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-23 (Tue, 23 Aug 2016)

  Changed paths:
    M ckan/config/middleware/flask_app.py
    M ckan/lib/base.py
    M ckan/views/__init__.py

  Log Message:
  -----------
  [#3196] Move session cookie check to views module

Used by both base.py and Flask after_request handler.


  Commit: 889978b2d0f62523e673f881bc913baf115f7a31
      https://github.com/ckan/ckan/commit/889978b2d0f62523e673f881bc913baf115f7a31
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-23 (Tue, 23 Aug 2016)

  Changed paths:
    M ckan/config/middleware/flask_app.py

  Log Message:
  -----------
  [#3196] Ensure app_globals is up to date for each Flask request


  Commit: 9de80d10f2a36e6188051038e8c9ef36551b07c1
      https://github.com/ckan/ckan/commit/9de80d10f2a36e6188051038e8c9ef36551b07c1
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-23 (Tue, 23 Aug 2016)

  Changed paths:
    M ckan/views/__init__.py

  Log Message:
  -----------
  [#3196] Remove debugger call, return response object


  Commit: b13e8aca0df9e161ed60adb99a8eb4a5ec31fc26
      https://github.com/ckan/ckan/commit/b13e8aca0df9e161ed60adb99a8eb4a5ec31fc26
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-23 (Tue, 23 Aug 2016)

  Changed paths:
    M ckan/views/__init__.py

  Log Message:
  -----------
  [#3194] g is not dict


  Commit: 9b0be760e64809457c99b622bcef813ce4c20684
      https://github.com/ckan/ckan/commit/9b0be760e64809457c99b622bcef813ce4c20684
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-23 (Tue, 23 Aug 2016)

  Changed paths:
    M ckan/controllers/package.py
    M ckan/controllers/util.py
    M ckan/lib/base.py
    M ckan/tests/helpers.py
    M ckan/tests/legacy/functional/test_user.py
    M ckanext/datapusher/plugin.py
    M ckanext/example_igroupform/tests/test_controllers.py

  Log Message:
  -----------
  Merge branch '3194-fix-redirects' into 3196-common-requests-code


  Commit: a802c130fe2b01478c6dbfcb1ffb29c6e235960b
      https://github.com/ckan/ckan/commit/a802c130fe2b01478c6dbfcb1ffb29c6e235960b
  Author: amercader <amercadero at gmail.com>
  Date:   2016-08-23 (Tue, 23 Aug 2016)

  Changed paths:
    M ckan/views/__init__.py

  Log Message:
  -----------
  [#3196] Fix string literals


  Commit: 7180a9edbdb74ec40f5e6f934c9d8a37dfe2e2ab
      https://github.com/ckan/ckan/commit/7180a9edbdb74ec40f5e6f934c9d8a37dfe2e2ab
  Author: amercader <amercadero at gmail.com>
  Date:   2016-09-15 (Thu, 15 Sep 2016)

  Changed paths:
    M ckan/config/deployment.ini_tmpl
    M ckan/config/middleware/flask_app.py
    M ckan/config/routing.py
    M ckan/controllers/feed.py
    M ckan/i18n/zh_CN/LC_MESSAGES/ckan.po
    M ckan/lib/render.py
    M ckan/lib/search/__init__.py
    R ckan/lib/search/sql.py
    M ckan/public/base/vendor/moment-with-locales.js
    M ckan/tests/controllers/test_feed.py
    R ckan/tests/legacy/lib/test_simple_search.py
    M ckanext/datapusher/cli.py
    M ckanext/example_theme/custom_config_setting/plugin.py
    M ckanext/example_theme/custom_emails/tests.py
    M ckanext/reclineview/plugin.py
    M ckanext/reclineview/theme/templates/recline_view.html
    M doc/contributing/architecture.rst
    M doc/contributing/test.rst
    A doc/images/architecture.png
    A doc/images/architecture.svg
    M doc/maintaining/configuration.rst

  Log Message:
  -----------
  Merge branch 'master' into 3196-common-requests-code

Conflicts:
	ckan/config/middleware/flask_app.py


  Commit: fd39a58e54a2f2f2a63c336f78a9750fcd50be53
      https://github.com/ckan/ckan/commit/fd39a58e54a2f2f2a63c336f78a9750fcd50be53
  Author: amercader <amercadero at gmail.com>
  Date:   2016-09-15 (Thu, 15 Sep 2016)

  Changed paths:
    M ckan/controllers/feed.py

  Log Message:
  -----------
  [#3196] Fix bad merge conflict


  Commit: 87d9da0a47f31a30bfb21cd4d4353ecac718df46
      https://github.com/ckan/ckan/commit/87d9da0a47f31a30bfb21cd4d4353ecac718df46
  Author: amercader <amercadero at gmail.com>
  Date:   2016-09-28 (Wed, 28 Sep 2016)

  Changed paths:
    M ckan/config/deployment.ini_tmpl
    M ckan/config/environment.py
    M ckan/config/resource_formats.json
    R ckan/config/solr/schema-1.2.xml
    R ckan/config/solr/schema-1.3.xml
    R ckan/config/solr/schema-1.4.xml
    R ckan/config/solr/schema-2.0.xml
    M ckan/config/solr/schema.xml
    A ckan/config/supervisor-ckan-worker.conf
    M ckan/lib/celery_app.py
    M ckan/lib/cli.py
    M ckan/lib/formatters.py
    A ckan/lib/jobs.py
    M ckan/lib/plugins.py
    A ckan/lib/redis.py
    M ckan/lib/search/__init__.py
    M ckan/lib/search/index.py
    M ckan/lib/search/query.py
    M ckan/logic/action/delete.py
    M ckan/logic/action/get.py
    M ckan/logic/auth/delete.py
    M ckan/logic/auth/get.py
    M ckan/logic/schema.py
    A ckan/migration/versions/085_adjust_activity_timestamps.py
    M ckan/model/activity.py
    M ckan/plugins/interfaces.py
    M ckan/plugins/toolkit.py
    M ckan/tests/config/test_environment.py
    M ckan/tests/helpers.py
    M ckan/tests/lib/test_cli.py
    A ckan/tests/lib/test_jobs.py
    M ckan/tests/logic/action/test_delete.py
    M ckan/tests/logic/action/test_get.py
    M ckan/tests/test_coding_standards.py
    A ckanext/example_ipermissionlabels/__init__.py
    A ckanext/example_ipermissionlabels/plugin.py
    A ckanext/example_ipermissionlabels/tests/__init__.py
    A ckanext/example_ipermissionlabels/tests/test_example_ipermissionlabels.py
    M doc/api/index.rst
    M doc/contributing/architecture.rst
    M doc/contributing/test.rst
    M doc/extensions/best-practices.rst
    M doc/extensions/custom-config-settings.rst
    M doc/extensions/plugins-toolkit.rst
    M doc/maintaining/authorization.rst
    M doc/maintaining/background-tasks.rst
    M doc/maintaining/configuration.rst
    M doc/maintaining/installing/deployment.rst
    M doc/maintaining/installing/install-from-package.rst
    M doc/maintaining/installing/install-from-source.rst
    M doc/maintaining/paster.rst
    M doc/theming/best-practices.rst
    M doc/theming/javascript.rst
    M doc/theming/templates.rst
    M requirements.in
    M requirements.txt
    M setup.py
    M test-core.ini

  Log Message:
  -----------
  Merge branch 'master' into 3196-common-requests-code

Conflicts:
	ckan/plugins/interfaces.py


  Commit: 8e38f42aaf70199f9756ba55f8118e13941499d5
      https://github.com/ckan/ckan/commit/8e38f42aaf70199f9756ba55f8118e13941499d5
  Author: amercader <amercadero at gmail.com>
  Date:   2016-09-28 (Wed, 28 Sep 2016)

  Changed paths:
    M ckan/config/middleware/flask_app.py
    M ckan/plugins/interfaces.py

  Log Message:
  -----------
  [#3196] Add IMiddleware hooks to Flask stack

Clarify what app will you get on the interface docstrings

Conflicts:
	ckan/config/middleware/flask_app.py
	ckan/plugins/interfaces.py


  Commit: f4217002fe752934e8cdde9079015185b1d48d90
      https://github.com/ckan/ckan/commit/f4217002fe752934e8cdde9079015185b1d48d90
  Author: amercader <amercadero at gmail.com>
  Date:   2016-11-11 (Fri, 11 Nov 2016)

  Changed paths:
    M ckan/config/middleware/flask_app.py

  Log Message:
  -----------
  [#3196] Remove builtin timer

It is available on the Flask Debug toolbar


  Commit: 82d1ced11251fa0d9cee2078ecc775d2c7cc5009
      https://github.com/ckan/ckan/commit/82d1ced11251fa0d9cee2078ecc775d2c7cc5009
  Author: amercader <amercadero at gmail.com>
  Date:   2016-11-11 (Fri, 11 Nov 2016)

  Changed paths:
    M ckan/config/middleware/flask_app.py

  Log Message:
  -----------
  [#3196] Improve blueprint rules detection

Avoid detecting rules from blueprints that start with the same string
(eg `user` and `users`). Better list creation.


  Commit: ee5047de95c9908c0792944b7e63ac46984fee25
      https://github.com/ckan/ckan/commit/ee5047de95c9908c0792944b7e63ac46984fee25
  Author: amercader <amercadero at gmail.com>
  Date:   2016-11-14 (Mon, 14 Nov 2016)

  Changed paths:
    M ckan/config/middleware/flask_app.py

  Log Message:
  -----------
  [#3196] Move handlers to module level functions


  Commit: 93dc635c90b96693da096ae06c57b9d123b79c37
      https://github.com/ckan/ckan/commit/93dc635c90b96693da096ae06c57b9d123b79c37
  Author: amercader <amercadero at gmail.com>
  Date:   2016-11-14 (Mon, 14 Nov 2016)

  Changed paths:
    M ckan/config/middleware/flask_app.py

  Log Message:
  -----------
  [#3196] Simplify add core blueprint function as per @TkTech advice


  Commit: 2180b83f093dcb112c9580d988ae1a4e6497ceec
      https://github.com/ckan/ckan/commit/2180b83f093dcb112c9580d988ae1a4e6497ceec
  Author: amercader <amercadero at gmail.com>
  Date:   2016-11-14 (Mon, 14 Nov 2016)

  Changed paths:
    M .gitattributes
    M CHANGELOG.rst
    M ckan/config/routing.py
    M ckan/controllers/feed.py
    M ckan/controllers/template.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/ckan.pot
    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/de/LC_MESSAGES/ckan.mo
    M ckan/i18n/de/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/ne/LC_MESSAGES/ckan.mo
    M ckan/i18n/ne/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/tl/LC_MESSAGES/ckan.mo
    M ckan/i18n/tl/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/i18n/zh_TW/LC_MESSAGES/ckan.mo
    M ckan/i18n/zh_TW/LC_MESSAGES/ckan.po
    M ckan/lib/cli.py
    M ckan/lib/dictization/__init__.py
    M ckan/lib/helpers.py
    M ckan/lib/i18n.py
    M ckan/lib/uploader.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/pastertemplates/template/setup.cfg_tmpl
    M ckan/plugins/interfaces.py
    R ckan/public/robots.txt
    R ckan/templates/ajax_snippets/api_info.html
    M ckan/templates/organization/snippets/organization_item.html
    M ckan/templates/organization/snippets/organization_list.html
    M ckan/templates/package/resource_read.html
    R ckan/templates/package/snippets/data_api_button.html
    A ckan/templates/robots.txt
    M ckan/templates/user/dashboard_organizations.html
    M ckan/tests/controllers/test_feed.py
    A ckan/tests/controllers/test_template.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
    A ckan/tests/test_robots_txt.py
    M ckanext/datastore/plugin.py
    A ckanext/datastore/templates/ajax_snippets/api_info.html
    A ckanext/datastore/templates/package/resource_read.html
    A ckanext/datastore/templates/package/snippets/data_api_button.html
    M ckanext/reclineview/theme/public/recline_view.js
    M contrib/docker/solr/Dockerfile
    M doc/api/index.rst
    M doc/contributing/release-process.rst
    M doc/maintaining/configuration.rst
    M doc/maintaining/datastore.rst
    M doc/maintaining/index.rst
    M doc/maintaining/installing/install-from-package.rst
    M doc/maintaining/installing/install-from-source.rst
    A doc/maintaining/installing/postgres.rst
    A doc/maintaining/installing/solr.rst
    R doc/maintaining/solr-multicore.rst
    M doc/maintaining/upgrading/index.rst
    A doc/maintaining/upgrading/upgrade-postgres.rst
    M requirements.in
    M requirements.txt
    M setup.py

  Log Message:
  -----------
  Merge branch 'master' into 3196-common-requests-code


  Commit: 9bbe0fc764c2f8b7e0a8af3bb272f48890167b13
      https://github.com/ckan/ckan/commit/9bbe0fc764c2f8b7e0a8af3bb272f48890167b13
  Author: amercader <amercadero at gmail.com>
  Date:   2016-11-15 (Tue, 15 Nov 2016)

  Changed paths:
    M ckan/views/api.py

  Log Message:
  -----------
  [#3196] Remove comments and improve docstrings on api blueprint


  Commit: 709f3dac3ced296a61a31d3ebb1a89d3ea8686a6
      https://github.com/ckan/ckan/commit/709f3dac3ced296a61a31d3ebb1a89d3ea8686a6
  Author: Peter Dave Hello <hsu at peterdavehello.org>
  Date:   2016-11-23 (Wed, 23 Nov 2016)

  Changed paths:
    M ckanext/example_theme/v12_extra_public_dir/public/promoted-image.jpg
    M doc/images/add_dataset_1.jpg
    M doc/images/add_dataset_2.jpg
    M doc/images/add_dataset_3.jpg
    M doc/images/create_organization.jpg
    M doc/images/customize_look_and_feel.jpg
    M doc/images/edit_dataset.jpg
    M doc/images/exploring_datasets.jpg
    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/move_dataset_between_organizations.jpg
    M doc/images/register_account.jpg
    M doc/images/search_the_site.jpg

  Log Message:
  -----------
  Use mozjpeg to recompress jpg images losslessly


  Commit: 3d6f9853e71386bafb1ab3c2e1cebab943f8aeb8
      https://github.com/ckan/ckan/commit/3d6f9853e71386bafb1ab3c2e1cebab943f8aeb8
  Author: Peter Dave Hello <hsu at peterdavehello.org>
  Date:   2016-11-23 (Wed, 23 Nov 2016)

  Changed paths:
    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/vendor/bootstrap/img/glyphicons-halflings-white.png
    M ckan/public/base/vendor/bootstrap/img/glyphicons-halflings.png
    M ckan/public/base/vendor/select2/select2.png
    M ckan/public/base/vendor/select2/select2x2.png
    M ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/layers-2x.png
    M ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/layers.png
    M ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/marker-icon-2x.png
    M ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/marker-shadow.png
    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 doc/_static/ckanlogo.png
    M doc/images/9.png
    M doc/images/architecture.png
    M doc/images/ckan_importing_diagram.png
    M doc/images/custom-css.png
    M doc/images/custom_config_fields.png
    M doc/images/debug-footer.png
    M doc/images/example_theme_javascript_popover.png
    M doc/images/example_theme_overlapping_popovers.png
    M doc/images/extra-public-dir.png
    M doc/images/html_and_css.png
    M doc/images/image_view.png
    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/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/sort-datasets-by-popularity.png
    M doc/images/text_view.png
    M doc/images/views_overview.png
    M doc/images/webpage_view.png

  Log Message:
  -----------
  Use zopflipng to recompress png images losslessly


  Commit: 535f1b4e01584224399a4cf6b45c499cd03f9553
      https://github.com/ckan/ckan/commit/535f1b4e01584224399a4cf6b45c499cd03f9553
  Author: amercader <amercadero at gmail.com>
  Date:   2016-11-29 (Tue, 29 Nov 2016)

  Changed paths:
    M Dockerfile
    M ckan/common.py
    M ckan/config/environment.py
    M ckan/config/middleware/__init__.py
    M ckan/controllers/api.py
    M ckan/controllers/feed.py
    M ckan/controllers/group.py
    M ckan/controllers/package.py
    M ckan/controllers/user.py
    M ckan/i18n/check_po_files.py
    M ckan/lib/auth_tkt.py
    M ckan/lib/base.py
    M ckan/lib/celery_app.py
    M ckan/lib/cli.py
    M ckan/lib/helpers.py
    M ckan/lib/i18n.py
    M ckan/lib/munge.py
    M ckan/lib/search/common.py
    M ckan/logic/__init__.py
    M ckan/logic/action/create.py
    M ckan/model/core.py
    M ckan/plugins/interfaces.py
    M ckan/plugins/toolkit_sphinx_extension.py
    M ckan/tests/controllers/test_user.py
    M ckan/tests/helpers.py
    M ckan/tests/legacy/logic/test_tag_vocab.py
    M ckan/tests/legacy/test_coding_standards.py
    A ckan/tests/lib/_i18n_build_js_translations/ckanext-test_js_translations.pot
    A ckan/tests/lib/_i18n_build_js_translations/de/LC_MESSAGES/ckanext-test_js_translations.po
    M ckan/tests/lib/test_cli.py
    A ckan/tests/lib/test_i18n.py
    M ckan/tests/logic/action/test_create.py
    M ckan/tests/logic/action/test_update.py
    M ckan/tests/logic/auth/test_update.py
    M ckan/tests/logic/test_validators.py
    M ckan/tests/test_coding_standards.py
    M ckanext/datapusher/tests/test.py
    M ckanext/datastore/db.py
    M ckanext/datastore/helpers.py
    M ckanext/datastore/logic/auth.py
    M ckanext/datastore/plugin.py
    M ckanext/datastore/set_permissions.sql
    M ckanext/datastore/tests/test_configure.py
    M ckanext/datastore/tests/test_dump.py
    M ckanext/example_idatasetform/plugin_v1.py
    M ckanext/example_idatasetform/plugin_v2.py
    M ckanext/example_idatasetform/plugin_v4.py
    M ckanext/example_igroupform/plugin.py
    M contrib/docker/my_init.d/50_configure
    M contrib/docker/postgresql/Dockerfile
    M dev-requirements.txt
    M doc/contributing/release-process.rst
    M doc/contributing/string-i18n.rst
    M doc/extensions/translating-extensions.rst
    M doc/maintaining/paster.rst
    M requirements.in
    M requirements.txt
    M setup.py

  Log Message:
  -----------
  Merge branch 'master' into 3196-common-requests-code


  Commit: 4a5d82c3b303fb165f8ed3184a56ac78d108fdf7
      https://github.com/ckan/ckan/commit/4a5d82c3b303fb165f8ed3184a56ac78d108fdf7
  Author: amercader <amercadero at gmail.com>
  Date:   2016-11-29 (Tue, 29 Nov 2016)

  Changed paths:
    M ckan/common.py

  Log Message:
  -----------
  Pep 8


  Commit: f0a1b7de0930b31f226c6ef7890646573d1793c0
      https://github.com/ckan/ckan/commit/f0a1b7de0930b31f226c6ef7890646573d1793c0
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2016-12-04 (Sun, 04 Dec 2016)

  Changed paths:
    M contrib/docker/solr/Dockerfile

  Log Message:
  -----------
  Solr BugFix

Solr requires the same schema of ckan


  Commit: c2094e644387d23f38d6b26da7f192ff7bd717fe
      https://github.com/ckan/ckan/commit/c2094e644387d23f38d6b26da7f192ff7bd717fe
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2016-12-04 (Sun, 04 Dec 2016)

  Changed paths:
    A contrib/docker/ckan-entrypoint.sh

  Log Message:
  -----------
  EntryPoint


  Commit: 59e04d6aaa3ec258968b1b0f89615ead487549b1
      https://github.com/ckan/ckan/commit/59e04d6aaa3ec258968b1b0f89615ead487549b1
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2016-12-04 (Sun, 04 Dec 2016)

  Changed paths:
    M Dockerfile

  Log Message:
  -----------
  Docker File Working as expected


  Commit: 43f90c315e79aba56b87ff5e4ca39b6947380036
      https://github.com/ckan/ckan/commit/43f90c315e79aba56b87ff5e4ca39b6947380036
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2016-12-04 (Sun, 04 Dec 2016)

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

  Log Message:
  -----------
  Docker-Compose and Docker-Cloud Changed


  Commit: 2a949a45795a26113fa503d3ef7988fff962a68e
      https://github.com/ckan/ckan/commit/2a949a45795a26113fa503d3ef7988fff962a68e
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2016-12-04 (Sun, 04 Dec 2016)

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

  Log Message:
  -----------
  Compose Up


  Commit: 2c22fd303866c5798f4c318f32058c35e676706a
      https://github.com/ckan/ckan/commit/2c22fd303866c5798f4c318f32058c35e676706a
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2016-12-04 (Sun, 04 Dec 2016)

  Changed paths:
    M Dockerfile

  Log Message:
  -----------
  EntryPoint In /


  Commit: 6adc42a53d7517bba7d6c08a70d3402c1ee747b8
      https://github.com/ckan/ckan/commit/6adc42a53d7517bba7d6c08a70d3402c1ee747b8
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2016-12-04 (Sun, 04 Dec 2016)

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

  Log Message:
  -----------
  chmod +x


  Commit: 9fecc9634e4e8df359838841af97e47d40045c5b
      https://github.com/ckan/ckan/commit/9fecc9634e4e8df359838841af97e47d40045c5b
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2016-12-04 (Sun, 04 Dec 2016)

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

  Log Message:
  -----------
  DockerCompose


  Commit: 56e7beb5b3721a9c34a4a535419ed6bd9459401f
      https://github.com/ckan/ckan/commit/56e7beb5b3721a9c34a4a535419ed6bd9459401f
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2016-12-04 (Sun, 04 Dec 2016)

  Changed paths:
    M circle.yml

  Log Message:
  -----------
  CircleCI Test Docker


  Commit: a2dd96d1e7d5299e1dafdd572353165cf35e4434
      https://github.com/ckan/ckan/commit/a2dd96d1e7d5299e1dafdd572353165cf35e4434
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2016-12-04 (Sun, 04 Dec 2016)

  Changed paths:
    M circle.yml

  Log Message:
  -----------
  Save Redis and set name ok


  Commit: 196b3f5e9322507f8539629cfbe52807070dac3f
      https://github.com/ckan/ckan/commit/196b3f5e9322507f8539629cfbe52807070dac3f
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2016-12-04 (Sun, 04 Dec 2016)

  Changed paths:
    M circle.yml

  Log Message:
  -----------
  BugFix on CircleCI


  Commit: f9dcda02b21124c2f3bc22964cc826c444761d29
      https://github.com/ckan/ckan/commit/f9dcda02b21124c2f3bc22964cc826c444761d29
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2016-12-04 (Sun, 04 Dec 2016)

  Changed paths:
    M circle.yml

  Log Message:
  -----------
  Changed Exposed Port to don't collide with background tests


  Commit: 0466e5e4a6b3d2bd3ff3c0970c06622623882171
      https://github.com/ckan/ckan/commit/0466e5e4a6b3d2bd3ff3c0970c06622623882171
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2016-12-05 (Mon, 05 Dec 2016)

  Changed paths:
    M circle.yml

  Log Message:
  -----------
  Sleep outside run


  Commit: 21a2b18472cb07d00657fc4c8432a936df047046
      https://github.com/ckan/ckan/commit/21a2b18472cb07d00657fc4c8432a936df047046
  Author: amercader <amercadero at gmail.com>
  Date:   2016-12-06 (Tue, 06 Dec 2016)

  Changed paths:
    M ckan/config/environment.py
    M ckan/config/routing.py
    M ckan/lib/i18n.py
    M ckan/lib/jobs.py
    M ckan/logic/schema.py
    A ckan/public/base/i18n/.gitignore
    R ckan/public/base/i18n/bg.js
    R ckan/public/base/i18n/ca.js
    R ckan/public/base/i18n/cs_CZ.js
    R ckan/public/base/i18n/de.js
    R ckan/public/base/i18n/el.js
    R ckan/public/base/i18n/es.js
    R ckan/public/base/i18n/fi.js
    R ckan/public/base/i18n/fr.js
    R ckan/public/base/i18n/hu.js
    R ckan/public/base/i18n/it.js
    R ckan/public/base/i18n/lt.js
    R ckan/public/base/i18n/lv.js
    R ckan/public/base/i18n/nl.js
    R ckan/public/base/i18n/no.js
    R ckan/public/base/i18n/pl.js
    R ckan/public/base/i18n/pt_BR.js
    R ckan/public/base/i18n/ro.js
    R ckan/public/base/i18n/ru.js
    R ckan/public/base/i18n/sk.js
    R ckan/public/base/i18n/sl.js
    R ckan/public/base/i18n/sq.js
    R ckan/public/base/i18n/sr.js
    R ckan/public/base/i18n/sr_Latn.js
    R ckan/public/base/i18n/sv.js
    R ckan/public/base/i18n/zh_TW.js
    M ckan/public/base/javascript/i18n.js
    M ckan/public/base/javascript/module.js
    M ckan/public/base/javascript/modules/activity-stream.js
    M ckan/public/base/javascript/modules/api-info.js
    M ckan/public/base/javascript/modules/autocomplete.js
    M ckan/public/base/javascript/modules/basic-form.js
    M ckan/public/base/javascript/modules/confirm-action.js
    M ckan/public/base/javascript/modules/custom-fields.js
    M ckan/public/base/javascript/modules/dashboard.js
    M ckan/public/base/javascript/modules/dataset-visibility.js
    M ckan/public/base/javascript/modules/follow.js
    M ckan/public/base/javascript/modules/image-upload.js
    M ckan/public/base/javascript/modules/media-grid.js
    M ckan/public/base/javascript/modules/popover-context.js
    M ckan/public/base/javascript/modules/resource-form.js
    M ckan/public/base/javascript/modules/resource-reorder.js
    M ckan/public/base/javascript/modules/resource-upload-field.js
    M ckan/public/base/javascript/modules/resource-view-embed.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/javascript/modules/table-selectable-rows.js
    M ckan/public/base/javascript/modules/table-toggle-more.js
    M ckan/public/base/test/index.html
    A ckan/public/base/test/spec/i18n.spec.js
    M ckan/public/base/test/spec/module.spec.js
    M ckan/public/base/test/spec/modules/confirm-action.spec.js
    M ckan/public/base/test/spec/sandbox.spec.js
    M ckan/templates/admin/config.html
    M ckan/templates/group/member_new.html
    M ckan/templates/group/members.html
    M ckan/templates/group/snippets/group_form.html
    M ckan/templates/organization/member_new.html
    M ckan/templates/organization/members.html
    M ckan/templates/organization/snippets/organization_form.html
    M ckan/templates/package/snippets/package_form.html
    M ckan/templates/package/snippets/resource_form.html
    M ckan/templates/user/edit_user_form.html
    M ckanext/datapusher/tests/test.py
    M ckanext/datastore/plugin.py
    M ckanext/datastore/tests/test_create.py
    M ckanext/example_theme/v16_initialize_a_javascript_module/fanstatic/example_theme_popover.js
    M ckanext/example_theme/v17_popover/fanstatic/example_theme_popover.js
    M ckanext/example_theme/v18_snippet_api/fanstatic/example_theme_popover.js
    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/reclineview/theme/public/recline_view.js
    M ckanext/stats/public/ckanext/stats/javascript/modules/plot.js
    M ckanext/textview/theme/public/text_view.js
    M doc/api/index.rst
    M doc/contributing/frontend/index.rst
    M doc/contributing/frontend/javascript-module-tutorial.rst
    M doc/contributing/frontend/templating.rst
    M doc/contributing/javascript.rst
    M doc/contributing/string-i18n.rst
    M doc/extensions/translating-extensions.rst
    M doc/theming/javascript-module-objects-and-methods.rst
    M doc/user-guide.rst
    M setup.cfg

  Log Message:
  -----------
  Merge branch 'master' into 3196-common-requests-code


  Commit: e5c2ad2baa533245c19dfdd9bf955af687002b30
      https://github.com/ckan/ckan/commit/e5c2ad2baa533245c19dfdd9bf955af687002b30
  Author: amercader <amercadero at gmail.com>
  Date:   2016-12-12 (Mon, 12 Dec 2016)

  Changed paths:
    M ckan/lib/cli.py
    M ckan/logic/action/get.py
    M ckan/model/__init__.py
    M ckan/public/base/javascript/main.js
    M ckan/tests/logic/action/test_get.py
    M ckanext/datastore/logic/action.py

  Log Message:
  -----------
  Merge branch 'master' into 3196-common-requests-code


  Commit: d802264ac38ce17fa3d89029dacf3684eb464adc
      https://github.com/ckan/ckan/commit/d802264ac38ce17fa3d89029dacf3684eb464adc
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2016-12-20 (Tue, 20 Dec 2016)

  Changed paths:
    M Dockerfile
    M contrib/docker/ckan-entrypoint.sh

  Log Message:
  -----------
  Added ENV for Storage and URL


  Commit: f9a152c57d850b8e113a3394fc4ed94f7cc1e1c0
      https://github.com/ckan/ckan/commit/f9a152c57d850b8e113a3394fc4ed94f7cc1e1c0
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2016-12-20 (Tue, 20 Dec 2016)

  Changed paths:
    A .travis.yml

  Log Message:
  -----------
  Travis YML Added


  Commit: bb23ece70ae6bac8b0429b973b6508974f8169d2
      https://github.com/ckan/ckan/commit/bb23ece70ae6bac8b0429b973b6508974f8169d2
  Author: Yan <yan.rudenko at linkdigital.com.au>
  Date:   2016-12-20 (Tue, 20 Dec 2016)

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

  Log Message:
  -----------
  [#3373]Dashboard_mark_activities_old is set to utcnow() format

The problem was that dashboard_mark_activities_old method was not changed to utcnow() format, so when datasets were updated, because of the time difference, user have seen them before he actually entered the page.

I've adde utcnow() format for this method and now the time works fine. Also added untnow() to Dashboard model, so the time can be saved correctly.


  Commit: a60f026588378b2b563d2cc6144aeccb76026d2d
      https://github.com/ckan/ckan/commit/a60f026588378b2b563d2cc6144aeccb76026d2d
  Author: Florian Brucker <florian.brucker at mb.karlsruhe.de>
  Date:   2016-12-21 (Wed, 21 Dec 2016)

  Changed paths:
    M ckan/lib/i18n.py
    M ckan/tests/lib/_i18n_build_js_translations/de/LC_MESSAGES/ckanext-test_js_translations.po

  Log Message:
  -----------
  Fix random order of translation files

During the generation of the JS translation files the order of the input
files previously was random by accident, as it implicitly depended on
the order of a normal Python dict. This randomly broke the ability of
extensions to override JS translations from CKAN core.

This commit fixes that issue by using an OrderedDict to ensure that
translation files provided by extensions are loaded after those of CKAN
core.


  Commit: 44c39e06ad01701774de389868ee49ae3b02e564
      https://github.com/ckan/ckan/commit/44c39e06ad01701774de389868ee49ae3b02e564
  Author: David Read <david.read at hackneyworkshop.com>
  Date:   2016-12-21 (Wed, 21 Dec 2016)

  Changed paths:
    M ckan/lib/base.py
    M ckan/tests/lib/test_base.py

  Log Message:
  -----------
  Fix unicode auth exception


  Commit: bb7dc7afdb4cf9f84e005304b8a5b69e7ca55718
      https://github.com/ckan/ckan/commit/bb7dc7afdb4cf9f84e005304b8a5b69e7ca55718
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2016-12-22 (Thu, 22 Dec 2016)

  Changed paths:
    M .travis.yml

  Log Message:
  -----------
  Redis Cached


  Commit: 794fa5c7bbcce2946023b08a5b8e84f67980edc0
      https://github.com/ckan/ckan/commit/794fa5c7bbcce2946023b08a5b8e84f67980edc0
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2016-12-22 (Thu, 22 Dec 2016)

  Changed paths:
    M circle.yml

  Log Message:
  -----------
  CircleCI - No Docker


  Commit: 794b687d6ccfae426c5a1f8d10e15b976afd5500
      https://github.com/ckan/ckan/commit/794b687d6ccfae426c5a1f8d10e15b976afd5500
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2016-12-22 (Thu, 22 Dec 2016)

  Changed paths:
    M .travis.yml

  Log Message:
  -----------
  Docker Show Info at end


  Commit: 8ba3375eea3f936cb8085e98fa537d7e3890c280
      https://github.com/ckan/ckan/commit/8ba3375eea3f936cb8085e98fa537d7e3890c280
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2016-12-22 (Thu, 22 Dec 2016)

  Changed paths:
    M .travis.yml

  Log Message:
  -----------
  Port 5000


  Commit: e7913c35fb4155aac6d79ff6e9f26f0e79a97c68
      https://github.com/ckan/ckan/commit/e7913c35fb4155aac6d79ff6e9f26f0e79a97c68
  Author: Matt Fullerton <matt.fullerton at gmail.com>
  Date:   2016-12-26 (Mon, 26 Dec 2016)

  Changed paths:
    M ckanext/imageview/plugin.py
    M doc/maintaining/configuration.rst
    M doc/maintaining/data-viewer.rst

  Log Message:
  -----------
  Add an ckan.preview.image_formats config option for the image viewer


  Commit: 835a468f08463d72a247d2632fa99714e5bd6605
      https://github.com/ckan/ckan/commit/835a468f08463d72a247d2632fa99714e5bd6605
  Author: Matt Fullerton <matt.fullerton at gmail.com>
  Date:   2017-01-02 (Mon, 02 Jan 2017)

  Changed paths:
    M ckan/config/deployment.ini_tmpl
    M doc/maintaining/configuration.rst

  Log Message:
  -----------
  Doc/Config improvements
Add clarification to configuration doc that list is space delimited and do the same for text_view formats
Remove type in config example (image instead of text)
Add sample configs for text_view and image_view


  Commit: 477f4a0f4a4ed321f3fa90c6064960dd2cb0fab8
      https://github.com/ckan/ckan/commit/477f4a0f4a4ed321f3fa90c6064960dd2cb0fab8
  Author: Matt Fullerton <matt.fullerton at gmail.com>
  Date:   2017-01-02 (Mon, 02 Jan 2017)

  Changed paths:
    M ckanext/imageview/plugin.py

  Log Message:
  -----------
  Respect a user's right to provide no image formats via the config


  Commit: 47d878e82678f24e7af0aff6773c396c32dd72b0
      https://github.com/ckan/ckan/commit/47d878e82678f24e7af0aff6773c396c32dd72b0
  Author: amercader <amercadero at gmail.com>
  Date:   2017-01-03 (Tue, 03 Jan 2017)

  Changed paths:
    M ckan/controllers/group.py
    M ckan/lib/helpers.py
    M ckan/logic/auth/create.py
    M ckan/model/system_info.py
    M ckan/tests/legacy/functional/api/test_activity.py
    M ckan/tests/lib/test_helpers.py
    M ckan/tests/lib/test_jobs.py
    M ckanext/datastore/controller.py
    M doc/extensions/tutorial.rst
    M doc/maintaining/configuration.rst

  Log Message:
  -----------
  Merge branch 'master' into 3196-common-requests-code


  Commit: 2c5477c4075d524e0a94c59f6eed22fc965b9f8b
      https://github.com/ckan/ckan/commit/2c5477c4075d524e0a94c59f6eed22fc965b9f8b
  Author: Adrià Mercader <amercadero at gmail.com>
  Date:   2017-01-03 (Tue, 03 Jan 2017)

  Changed paths:
    M ckan/lib/base.py
    M ckan/tests/lib/test_base.py

  Log Message:
  -----------
  Merge pull request #3378 from ckan/fix-unicode-auth-exception

Fix unicode auth exception


  Commit: 286a4acff4c6dc997faeeb23fdd7f0709f7b73d1
      https://github.com/ckan/ckan/commit/286a4acff4c6dc997faeeb23fdd7f0709f7b73d1
  Author: Adrià Mercader <amercadero at gmail.com>
  Date:   2017-01-03 (Tue, 03 Jan 2017)

  Changed paths:
    M ckan/lib/i18n.py
    M ckan/tests/lib/_i18n_build_js_translations/de/LC_MESSAGES/ckanext-test_js_translations.po

  Log Message:
  -----------
  Merge pull request #3376 from torfsen/fix-random-translation-files-order

Fix random order of translation files


  Commit: 7328b584cb1817cce45aa2b4038ef01428139de0
      https://github.com/ckan/ckan/commit/7328b584cb1817cce45aa2b4038ef01428139de0
  Author: Adrià Mercader <amercadero at gmail.com>
  Date:   2017-01-03 (Tue, 03 Jan 2017)

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

  Log Message:
  -----------
  Merge pull request #3374 from Engerrs/3373-dashboard_mark_activities_old_to_utcnow_time

[#3373]Dashboard_mark_activities_old is set to utcnow() format


  Commit: d63655f4b58e2f103cd847a5257802443fbaad6f
      https://github.com/ckan/ckan/commit/d63655f4b58e2f103cd847a5257802443fbaad6f
  Author: Ian Ward <ian at excess.org>
  Date:   2017-01-03 (Tue, 03 Jan 2017)

  Changed paths:
    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/vendor/bootstrap/img/glyphicons-halflings-white.png
    M ckan/public/base/vendor/bootstrap/img/glyphicons-halflings.png
    M ckan/public/base/vendor/select2/select2.png
    M ckan/public/base/vendor/select2/select2x2.png
    M ckanext/example_theme/v12_extra_public_dir/public/promoted-image.jpg
    M ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/layers-2x.png
    M ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/layers.png
    M ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/marker-icon-2x.png
    M ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/marker-shadow.png
    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 doc/_static/ckanlogo.png
    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

  Log Message:
  -----------
  Merge pull request #3330 from PeterDaveHelloKitchen/image-optimize

Image lossless optimization


  Commit: 918a32f79b994ce54a31a607be98593000566fd8
      https://github.com/ckan/ckan/commit/918a32f79b994ce54a31a607be98593000566fd8
  Author: Matt Fullerton <matt.fullerton at gmail.com>
  Date:   2017-01-03 (Tue, 03 Jan 2017)

  Changed paths:
    M ckanext/imageview/plugin.py

  Log Message:
  -----------
  Fix for pep8


  Commit: 97da20e7affa82ee7f7ca5356f2450124d7f9556
      https://github.com/ckan/ckan/commit/97da20e7affa82ee7f7ca5356f2450124d7f9556
  Author: Adrià Mercader <amercadero at gmail.com>
  Date:   2017-01-03 (Tue, 03 Jan 2017)

  Changed paths:
    M ckan/config/deployment.ini_tmpl
    M ckanext/imageview/plugin.py
    M doc/maintaining/configuration.rst
    M doc/maintaining/data-viewer.rst

  Log Message:
  -----------
  Merge pull request #3380 from mattfullerton/image-view-configurable-formats

Add an ckan.preview.image_formats config option for the image viewer


  Commit: 01f564ef469fdd51c42786eb00824bad15f0a306
      https://github.com/ckan/ckan/commit/01f564ef469fdd51c42786eb00824bad15f0a306
  Author: Ian Ward <ian at excess.org>
  Date:   2017-01-03 (Tue, 03 Jan 2017)

  Changed paths:
    M ckan/lib/dictization/model_dictize.py
    M ckan/logic/action/get.py
    M ckan/logic/schema.py

  Log Message:
  -----------
  [#3385] add include_dataset_count param to group/org show actions


  Commit: 01e44e7034fa1783a4d7f13ff56b397dd1f8c58d
      https://github.com/ckan/ckan/commit/01e44e7034fa1783a4d7f13ff56b397dd1f8c58d
  Author: Ian Ward <ian at excess.org>
  Date:   2017-01-03 (Tue, 03 Jan 2017)

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

  Log Message:
  -----------
  [#3385] organization_list_for_user: remove package_count


  Commit: 17f6ba0c890434f4084ea97334f030c2954acd11
      https://github.com/ckan/ckan/commit/17f6ba0c890434f4084ea97334f030c2954acd11
  Author: Ian Ward <ian at excess.org>
  Date:   2017-01-03 (Tue, 03 Jan 2017)

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

  Log Message:
  -----------
  [#3385] document include_dataset_count param for group/org list


  Commit: fbe614dc3ba83ec91b9fbadf9f7f887ebc0b43d6
      https://github.com/ckan/ckan/commit/fbe614dc3ba83ec91b9fbadf9f7f887ebc0b43d6
  Author: amercader <amercadero at gmail.com>
  Date:   2017-01-04 (Wed, 04 Jan 2017)

  Changed paths:
    M ckan/config/deployment.ini_tmpl
    M ckan/lib/i18n.py
    M ckan/logic/action/update.py
    M ckan/model/dashboard.py
    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/vendor/bootstrap/img/glyphicons-halflings-white.png
    M ckan/public/base/vendor/bootstrap/img/glyphicons-halflings.png
    M ckan/public/base/vendor/select2/select2.png
    M ckan/public/base/vendor/select2/select2x2.png
    M ckan/tests/lib/_i18n_build_js_translations/de/LC_MESSAGES/ckanext-test_js_translations.po
    M ckan/tests/lib/test_base.py
    M ckan/views/__init__.py
    M ckanext/example_theme/v12_extra_public_dir/public/promoted-image.jpg
    M ckanext/imageview/plugin.py
    M ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/layers-2x.png
    M ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/layers.png
    M ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/marker-icon-2x.png
    M ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/marker-shadow.png
    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 doc/_static/ckanlogo.png
    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

  Log Message:
  -----------
  Merge branch 'master' into 3196-common-requests-code


  Commit: 471bea5ddafd21539c07f93c73d8466f26a7e7b1
      https://github.com/ckan/ckan/commit/471bea5ddafd21539c07f93c73d8466f26a7e7b1
  Author: amercader <amercadero at gmail.com>
  Date:   2017-01-04 (Wed, 04 Jan 2017)

  Changed paths:
    M ckan/views/__init__.py

  Log Message:
  -----------
  [#3378] Change order of debug statement

Otherwise if there is a unicode error it won't get caught before
decoding


  Commit: 87691cc283e06f36489374a0b70a3da3acfeb4e8
      https://github.com/ckan/ckan/commit/87691cc283e06f36489374a0b70a3da3acfeb4e8
  Author: amercader <amercadero at gmail.com>
  Date:   2017-01-04 (Wed, 04 Jan 2017)

  Changed paths:
    M ckan/views/__init__.py

  Log Message:
  -----------
  Prefix literals


  Commit: 47f4edd6ae20e3a9877afc99217b5b807c7cf862
      https://github.com/ckan/ckan/commit/47f4edd6ae20e3a9877afc99217b5b807c7cf862
  Author: Tyler Kennedy <tk at tkte.ch>
  Date:   2017-01-04 (Wed, 04 Jan 2017)

  Changed paths:
    M ckan/authz.py
    M ckan/common.py
    M ckan/config/middleware/flask_app.py
    M ckan/config/routing.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/lib/base.py
    M ckan/lib/helpers.py
    M ckan/lib/maintain.py
    M ckan/lib/plugins.py
    M ckan/logic/__init__.py
    M ckan/plugins/interfaces.py
    M ckan/tests/config/test_middleware.py
    M ckan/tests/controllers/test_package.py
    M ckan/tests/helpers.py
    M ckan/tests/lib/test_base.py
    M ckan/tests/test_common.py
    A ckan/views/__init__.py
    A ckan/views/api.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/test_tag_vocab_plugin.py
    M dev-requirements.txt
    M setup.py
    M test-core.ini

  Log Message:
  -----------
  Merge pull request #3212 from ckan/3196-common-requests-code

[#3196] Common requests code for Flask and Pylons


  Commit: 1a5c77acffd48bab595f87dfcd6833122be49760
      https://github.com/ckan/ckan/commit/1a5c77acffd48bab595f87dfcd6833122be49760
  Author: David Read <david.read at hackneyworkshop.com>
  Date:   2017-01-05 (Thu, 05 Jan 2017)

  Changed paths:
    M ckan/logic/action/delete.py
    M ckan/tests/logic/action/test_delete.py

  Log Message:
  -----------
  Fix for exception when deleting a user that doesnt exist.


  Commit: cccfbfd4ad2b46ad773a22addb5d6d3caeab7483
      https://github.com/ckan/ckan/commit/cccfbfd4ad2b46ad773a22addb5d6d3caeab7483
  Author: Tyler Kennedy <tk at tkte.ch>
  Date:   2017-01-05 (Thu, 05 Jan 2017)

  Changed paths:
    M ckan/logic/action/delete.py
    M ckan/tests/logic/action/test_delete.py

  Log Message:
  -----------
  Merge pull request #3387 from ckan/user_delete_not_found

Fix for exception when deleting a user that doesnt exist.


  Commit: c7415692acb780fc49c63efd02656adc1d3263b9
      https://github.com/ckan/ckan/commit/c7415692acb780fc49c63efd02656adc1d3263b9
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2017-01-06 (Fri, 06 Jan 2017)

  Changed paths:
    M ckan/controllers/group.py
    M ckan/lib/cli.py
    M ckan/lib/helpers.py
    M ckan/logic/action/get.py
    M ckan/logic/auth/create.py
    M ckan/model/__init__.py
    M ckan/model/system_info.py
    M ckan/public/base/javascript/main.js
    M ckan/templates/organization/member_new.html
    M ckan/tests/legacy/functional/api/test_activity.py
    M ckan/tests/lib/test_helpers.py
    M ckan/tests/lib/test_jobs.py
    M ckan/tests/logic/action/test_get.py
    M ckanext/datastore/controller.py
    M ckanext/datastore/logic/action.py
    M doc/extensions/tutorial.rst
    M doc/maintaining/configuration.rst

  Log Message:
  -----------
  Merge remote-tracking branch 'refs/remotes/ckan/master' into docker-update


  Commit: b05c43a7301dbd660dc6895219c9fc4f3eddb154
      https://github.com/ckan/ckan/commit/b05c43a7301dbd660dc6895219c9fc4f3eddb154
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2017-01-06 (Fri, 06 Jan 2017)

  Changed paths:
    M Dockerfile
    M contrib/docker/ckan-entrypoint.sh

  Log Message:
  -----------
  Using new ENV-VAR names


  Commit: 8b427fe3e3db14f9c9a654ae9d830f96226a5467
      https://github.com/ckan/ckan/commit/8b427fe3e3db14f9c9a654ae9d830f96226a5467
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2017-01-06 (Fri, 06 Jan 2017)

  Changed paths:
    M ckan/authz.py
    M ckan/common.py
    M ckan/config/deployment.ini_tmpl
    M ckan/config/middleware/flask_app.py
    M ckan/config/routing.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/lib/base.py
    M ckan/lib/helpers.py
    M ckan/lib/i18n.py
    M ckan/lib/maintain.py
    M ckan/lib/plugins.py
    M ckan/logic/__init__.py
    M ckan/logic/action/delete.py
    M ckan/logic/action/update.py
    M ckan/model/dashboard.py
    M ckan/plugins/interfaces.py
    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/vendor/bootstrap/img/glyphicons-halflings-white.png
    M ckan/public/base/vendor/bootstrap/img/glyphicons-halflings.png
    M ckan/public/base/vendor/select2/select2.png
    M ckan/public/base/vendor/select2/select2x2.png
    M ckan/tests/config/test_middleware.py
    M ckan/tests/controllers/test_package.py
    M ckan/tests/helpers.py
    M ckan/tests/lib/_i18n_build_js_translations/de/LC_MESSAGES/ckanext-test_js_translations.po
    M ckan/tests/lib/test_base.py
    M ckan/tests/logic/action/test_delete.py
    M ckan/tests/test_common.py
    A ckan/views/__init__.py
    A ckan/views/api.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_theme/v12_extra_public_dir/public/promoted-image.jpg
    M ckanext/imageview/plugin.py
    M ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/layers-2x.png
    M ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/layers.png
    M ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/marker-icon-2x.png
    M ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/marker-shadow.png
    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/test_tag_vocab_plugin.py
    M dev-requirements.txt
    M doc/_static/ckanlogo.png
    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 setup.py
    M test-core.ini

  Log Message:
  -----------
  Merge remote-tracking branch 'refs/remotes/ckan/master' into docker-update


  Commit: 01a2526f8000c6bfa5b54f35ad0ae52e23a0cad2
      https://github.com/ckan/ckan/commit/01a2526f8000c6bfa5b54f35ad0ae52e23a0cad2
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2017-01-06 (Fri, 06 Jan 2017)

  Changed paths:
    M Dockerfile

  Log Message:
  -----------
  TMP-BUGFIX


  Commit: 3fea23eda64930d01867c7f3deb763afab9e2d7b
      https://github.com/ckan/ckan/commit/3fea23eda64930d01867c7f3deb763afab9e2d7b
  Author: Raul Hidalgo Caballero <raul.hidalgo.sopa at gmail.com>
  Date:   2017-01-06 (Fri, 06 Jan 2017)

  Changed paths:
    M contrib/docker/ckan-entrypoint.sh

  Log Message:
  -----------
  Using ENV-VAR


  Commit: 1d0cee39f4d99425005de543dd466b2a09f8570f
      https://github.com/ckan/ckan/commit/1d0cee39f4d99425005de543dd466b2a09f8570f
  Author: Ian Ward <ian at excess.org>
  Date:   2017-01-06 (Fri, 06 Jan 2017)

  Changed paths:
    A .travis.yml
    M Dockerfile
    A contrib/docker/ckan-entrypoint.sh
    M contrib/docker/docker-cloud.yml
    M contrib/docker/docker-compose.yml
    M contrib/docker/solr/Dockerfile

  Log Message:
  -----------
  Merge pull request #3346 from deinok/docker-update

Docker BugFix


  Commit: 49817beb30a3cf244f3e8d7c7ed6e56b5ec69572
      https://github.com/ckan/ckan/commit/49817beb30a3cf244f3e8d7c7ed6e56b5ec69572
  Author: Ian Ward <ian at excess.org>
  Date:   2017-01-06 (Fri, 06 Jan 2017)

  Changed paths:
    M ckanext/datastore/controller.py
    M ckanext/datastore/plugin.py
    M doc/maintaining/datastore.rst

  Log Message:
  -----------
  [#3390] datastore: dump CSV for Excel with &bom=true


  Commit: 417f1ea363baa334b260a84c0ca12b3779f02cf8
      https://github.com/ckan/ckan/commit/417f1ea363baa334b260a84c0ca12b3779f02cf8
  Author: Ian Ward <ian at excess.org>
  Date:   2017-01-06 (Fri, 06 Jan 2017)

  Changed paths:
    M ckanext/datastore/controller.py
    M ckanext/datastore/plugin.py
    M doc/maintaining/datastore.rst

  Log Message:
  -----------
  [#3390] datastore: dump TSV with format=tsv


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

  Changed paths:
    M ckanext/datastore/controller.py
    A ckanext/datastore/writer.py

  Log Message:
  -----------
  [#3390] factor out csv/tsv writing into context managers


  Commit: 0815bee4e6d0b67bcf55e977acc53e26eda9d86a
      https://github.com/ckan/ckan/commit/0815bee4e6d0b67bcf55e977acc53e26eda9d86a
  Author: Ian Ward <ian at excess.org>
  Date:   2017-01-06 (Fri, 06 Jan 2017)

  Changed paths:
    M ckanext/datastore/controller.py
    M ckanext/datastore/writer.py
    M doc/maintaining/datastore.rst

  Log Message:
  -----------
  [#3390] datastore dump format=json


  Commit: 45acad3e1a42476d4bab54e4a268aa6d50f30696
      https://github.com/ckan/ckan/commit/45acad3e1a42476d4bab54e4a268aa6d50f30696
  Author: Ian Ward <ian at excess.org>
  Date:   2017-01-06 (Fri, 06 Jan 2017)

  Changed paths:
    M ckanext/datastore/writer.py

  Log Message:
  -----------
  [#3390] file encoding, unprefixed strings


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

  Changed paths:
    M ckanext/datastore/controller.py
    M ckanext/datastore/writer.py
    M doc/maintaining/datastore.rst

  Log Message:
  -----------
  [#3390] datastore dump format=xml


  Commit: 87eea9b841b136f59a862138f28a2a4dc34c9fed
      https://github.com/ckan/ckan/commit/87eea9b841b136f59a862138f28a2a4dc34c9fed
  Author: Ian Ward <ian at excess.org>
  Date:   2017-01-06 (Fri, 06 Jan 2017)

  Changed paths:
    M ckanext/datastore/writer.py

  Log Message:
  -----------
  [#3390] docstrings


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

  Changed paths:
    M ckanext/datastore/writer.py

  Log Message:
  -----------
  [#3390] datastore dump: more compact json export


  Commit: 685496e2ff997c7828ce77dcc01ab0511871e587
      https://github.com/ckan/ckan/commit/685496e2ff997c7828ce77dcc01ab0511871e587
  Author: Ian Ward <ian at excess.org>
  Date:   2017-01-07 (Sat, 07 Jan 2017)

  Changed paths:
    M ckan/tests/test_coding_standards.py

  Log Message:
  -----------
  [#3391] cause coding standards failure


  Commit: b82a9366d6aa3c98472e654d7c9cc63e8d7532e4
      https://github.com/ckan/ckan/commit/b82a9366d6aa3c98472e654d7c9cc63e8d7532e4
  Author: Ian Ward <ian at excess.org>
  Date:   2017-01-07 (Sat, 07 Jan 2017)

  Changed paths:
    M ckan/ckan_nose_plugin.py

  Log Message:
  -----------
  [#3391] filter functions on --segments


  Commit: 09012b3fb4dcd58f05bb1cd99136b1335404040f
      https://github.com/ckan/ckan/commit/09012b3fb4dcd58f05bb1cd99136b1335404040f
  Author: Ian Ward <ian at excess.org>
  Date:   2017-01-07 (Sat, 07 Jan 2017)

  Changed paths:
    M ckan/ckan_nose_plugin.py

  Log Message:
  -----------
  [#3391] simplify test class filtering


  Commit: 7e24a0aaa21ff3d942d40b01586c287c42236d8b
      https://github.com/ckan/ckan/commit/7e24a0aaa21ff3d942d40b01586c287c42236d8b
  Author: Ian Ward <ian at excess.org>
  Date:   2017-01-07 (Sat, 07 Jan 2017)

  Changed paths:
    M ckan/tests/test_coding_standards.py

  Log Message:
  -----------
  [#3391] revert "cause coding standards failure"

This reverts commit 685496e2ff997c7828ce77dcc01ab0511871e587.


  Commit: 40a3bfd4a5aceae7ce8fc74b9f67ae339ce59605
      https://github.com/ckan/ckan/commit/40a3bfd4a5aceae7ce8fc74b9f67ae339ce59605
  Author: Ian Ward <ian at excess.org>
  Date:   2017-01-07 (Sat, 07 Jan 2017)

  Changed paths:
    M .circleci-matrix.yml

  Log Message:
  -----------
  [#3391] rebalance segments (#2 running +2 minutes over #1)


  Commit: e3ab38123461c3b4251084fd5ef3d13a433810b3
      https://github.com/ckan/ckan/commit/e3ab38123461c3b4251084fd5ef3d13a433810b3
  Author: amercader <amercadero at gmail.com>
  Date:   2017-01-07 (Sat, 07 Jan 2017)

  Changed paths:
    M ckan/i18n/fr/LC_MESSAGES/ckan.mo
    M ckan/i18n/fr/LC_MESSAGES/ckan.po

  Log Message:
  -----------
  [#3327] Fix French locale


  Commit: 61ba91f9ade7dcf703910734909b023c949ad714
      https://github.com/ckan/ckan/commit/61ba91f9ade7dcf703910734909b023c949ad714
  Author: Adrià Mercader <amercadero at gmail.com>
  Date:   2017-01-10 (Tue, 10 Jan 2017)

  Changed paths:
    M .circleci-matrix.yml
    M ckan/ckan_nose_plugin.py
    M ckan/i18n/fr/LC_MESSAGES/ckan.mo
    M ckan/i18n/fr/LC_MESSAGES/ckan.po

  Log Message:
  -----------
  Merge pull request #3391 from ckan/3391-circle-perf-fix

some tests running on all circleci containers


  Commit: 328190ad6a9901cc573049594dc8767d6afd5ac7
      https://github.com/ckan/ckan/commit/328190ad6a9901cc573049594dc8767d6afd5ac7
  Author: Florian Brucker <florian.brucker at mb.karlsruhe.de>
  Date:   2017-01-11 (Wed, 11 Jan 2017)

  Changed paths:
    A ckan/pastertemplates/template/ckanext/+project_shortname+/i18n/+dot+gitignore

  Log Message:
  -----------
  [#3394] Add `i18n` directory to extension template

Previously the paster extension template was missing the
`ckanext/<name>/i18n` directory, so users had to create it manually.
This commit adds that directory to the template.


  Commit: 2998217a865c780a04f636d1292ad2a8617de129
      https://github.com/ckan/ckan/commit/2998217a865c780a04f636d1292ad2a8617de129
  Author: Adrià Mercader <amercadero at gmail.com>
  Date:   2017-01-11 (Wed, 11 Jan 2017)

  Changed paths:
    A ckan/pastertemplates/template/ckanext/+project_shortname+/i18n/+dot+gitignore

  Log Message:
  -----------
  Merge pull request #3395 from torfsen/3394-add-i18n-dir-to-extension-template

[#3394] Add `i18n` directory to extension template


  Commit: 41a586bf7aca29dbc9a32e798024c19d64a0a84f
      https://github.com/ckan/ckan/commit/41a586bf7aca29dbc9a32e798024c19d64a0a84f
  Author: Ian Ward <ian at excess.org>
  Date:   2017-01-12 (Thu, 12 Jan 2017)

  Changed paths:
    M ckan/lib/helpers.py
    M ckan/logic/action/get.py
    M ckan/templates/user/dashboard_organizations.html

  Log Message:
  -----------
  [#3385] organization_list_for_user: include_dataset_count parameter


  Commit: ba050c6c8a715af65688f1fbe511b16513416143
      https://github.com/ckan/ckan/commit/ba050c6c8a715af65688f1fbe511b16513416143
  Author: Ian Ward <ian at excess.org>
  Date:   2017-01-12 (Thu, 12 Jan 2017)

  Changed paths:
    M CHANGELOG.rst

  Log Message:
  -----------
  [#3385] changelog entry for organization_list_for_user param


  Commit: 753359b8b854985e3d5d5a32bd299e876e25df83
      https://github.com/ckan/ckan/commit/753359b8b854985e3d5d5a32bd299e876e25df83
  Author: Ian Ward <ian at excess.org>
  Date:   2017-01-12 (Thu, 12 Jan 2017)

  Changed paths:
    M ckanext/datastore/controller.py
    M ckanext/datastore/writer.py

  Log Message:
  -----------
  [#3390] datastore json dump: use fields, records


  Commit: b3b895daeb1c81e7149c5bea3bae73767739a37b
      https://github.com/ckan/ckan/commit/b3b895daeb1c81e7149c5bea3bae73767739a37b
  Author: Adrià Mercader <amercadero at gmail.com>
  Date:   2017-01-13 (Fri, 13 Jan 2017)

  Changed paths:
    M CHANGELOG.rst
    M ckan/lib/dictization/model_dictize.py
    M ckan/lib/helpers.py
    M ckan/logic/action/get.py
    M ckan/logic/schema.py
    M ckan/templates/user/dashboard_organizations.html

  Log Message:
  -----------
  Merge pull request #3385 from ckan/3385-dataset-count

group/org show include_dataset_count param


  Commit: 0aec57744b20573b07e2d9ec90d35a4e6440f011
      https://github.com/ckan/ckan/commit/0aec57744b20573b07e2d9ec90d35a4e6440f011
  Author: Adrià Mercader <amercadero at gmail.com>
  Date:   2017-01-13 (Fri, 13 Jan 2017)

  Changed paths:
    M ckanext/datastore/controller.py
    A ckanext/datastore/writer.py
    M doc/maintaining/datastore.rst

  Log Message:
  -----------
  Merge pull request #3390 from ckan/3390-datastore-dump-formats

datastore: dump more formats


  Commit: 2ae626c7c234d2401b7c1612141364d0837751fb
      https://github.com/ckan/ckan/commit/2ae626c7c234d2401b7c1612141364d0837751fb
  Author: Ian Ward <ian at excess.org>
  Date:   2017-01-13 (Fri, 13 Jan 2017)

  Changed paths:
    M .circleci-matrix.yml
    A .travis.yml
    M CHANGELOG.rst
    M Dockerfile
    M ckan/authz.py
    M ckan/ckan_nose_plugin.py
    M ckan/common.py
    M ckan/config/deployment.ini_tmpl
    M ckan/config/middleware/flask_app.py
    M ckan/config/routing.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/fr/LC_MESSAGES/ckan.mo
    M ckan/i18n/fr/LC_MESSAGES/ckan.po
    M ckan/lib/base.py
    M ckan/lib/dictization/model_dictize.py
    M ckan/lib/helpers.py
    M ckan/lib/i18n.py
    M ckan/lib/maintain.py
    M ckan/lib/plugins.py
    M ckan/logic/__init__.py
    M ckan/logic/action/delete.py
    M ckan/logic/action/get.py
    M ckan/logic/action/update.py
    M ckan/logic/schema.py
    M ckan/model/dashboard.py
    A ckan/pastertemplates/template/ckanext/+project_shortname+/i18n/+dot+gitignore
    M ckan/plugins/interfaces.py
    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/vendor/bootstrap/img/glyphicons-halflings-white.png
    M ckan/public/base/vendor/bootstrap/img/glyphicons-halflings.png
    M ckan/public/base/vendor/select2/select2.png
    M ckan/public/base/vendor/select2/select2x2.png
    M ckan/templates/user/dashboard_organizations.html
    M ckan/tests/config/test_middleware.py
    M ckan/tests/controllers/test_package.py
    M ckan/tests/helpers.py
    M ckan/tests/lib/_i18n_build_js_translations/de/LC_MESSAGES/ckanext-test_js_translations.po
    M ckan/tests/lib/test_base.py
    M ckan/tests/logic/action/test_delete.py
    M ckan/tests/test_common.py
    A ckan/views/__init__.py
    A ckan/views/api.py
    M ckanext/datastore/controller.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_theme/v12_extra_public_dir/public/promoted-image.jpg
    M ckanext/imageview/plugin.py
    M ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/layers-2x.png
    M ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/layers.png
    M ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/marker-icon-2x.png
    M ckanext/reclineview/theme/public/vendor/leaflet/0.7.3/images/marker-shadow.png
    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/test_tag_vocab_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/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 setup.py
    M test-core.ini

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/master' into 3384-datastore-cli


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

  Changed paths:
    M ckan/lib/cli.py
    M ckanext/datastore/commands.py

  Log Message:
  -----------
  [#3384] paster->click adapter fix for -c before subcommand


Compare: https://github.com/ckan/ckan/compare/1103a45f46ef...c7bd2ab4aa7f


More information about the ckan-changes mailing list