crossref: initial release of Flask extension

* Queries DOI record data from the database or CrossRef as JSON
  (closes #1906).

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
crossref: database search fix

* Adds an instance wide search parameter prefix to perform the database
  search.

* NOTE for the search to be performed in the database, the DOI field
  prefix for the corresponding instance config file should be added
  (e.g. CROSSREF_SEARCH_PREFIX = 'doi:').

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Co-authored-by: Jiri Kuncar <jiri.kuncar@cern.ch>
crossref: tests addition

* Adds tests for found and not found DOI.

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
crossref: docs entry addition

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
records: get_unique_record_json 'status' key move

* Moves `data['query']['status']` to `data['status']` in order to avoid
  collision with possible 'status' key in record object.

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
arxiv: fix 'status' key lookup

Co-authored-by: Pedro Gaudencio <pedro.gaudencio@cern.ch>
Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
arxiv: fix database search with prefix

* Adds an instance wide search parameter prefix to perform the database
  search.

* NOTE: for the search to be performed in the database, the arXiv field
  prefix for the corresponding instance config file should be added to
  invenio.cfg as ARXIV_SEARCH_PREFIX
  (e.g. ARXIV_SEARCH_PREFIX = u'035__a:oai:arXiv.org:').

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
base: fix for recreation of broken links

* Fixes a crash of `inveniomanage collect` when a link for a static file
  exists but it is broken.

Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
Signed-off-by: Kamil Neczaj <kamil.neczaj@cern.ch>
multimedia: initial release of Image API

* Introduces image API with `resize`, `crop`, `rotate`, `format` and `quality`
  functionality.

* Adds image cache object via redis.

* Adds API testsuite.

Signed-off-by: Harris Tzovanakis <drjova@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
multimedia: IIIF Image API addition

* Implements the IIIF Image API.

* NOTE For more info please read <http://iiif.io/api/image/2.0/>

Signed-off-by: Harris Tzovanakis <drjova@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
multimedia: Image API documentation update

Signed-off-by: Harris Tzovanakis <me@drjova.com>
formatter: better logging in xslt engine

* Uses `current_app.logger.error` or `current_app.logger.exception`
  instead of `sys.stderr`.  (closes #2049)

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
formatter: format record extra context fix

* Fixes issue where certain format_record() method would not accept the
  extra_context keyword argument.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
formatter: xm hidden tags fix

* Fixes issue where hidden tags was not filtered out in xm format due
  to that user info was not passed to the format_record function.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
menu: admin menu visibility fix

* Fixes admin menu to only be visible for admin users.

* Changes admin menu order to 10, to ensure it is the right
  most menu item.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
communities: hbpro format database fix

* Fixes problem in post database creation listener.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
deposit: refactoring fix

* Fixes refactoring issue introduced in
  6e60101a0c9dc7f2350d32872d418446a23cac0c.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
oauthclient: documentation update

* Adds overview documentation and includes it Sphinx docs.

* Fixes minor issue with GitHub/ORCID contrib modules.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
restful: pagination redesign

* Adds the `restful_pagination` file where a mixin is
  introduced for the link headers generation.

* Refactors the appropriate tests and ensures they pass.

Signed-off-by: Konstantinos Kostis <konstantinos.kostis@cern.ch>