workflows: object navigation

* Adds buttons for going to previous/next object from the main table
  in the Holding Pen detailed display. The previous/next functionality
  is based from the state of the main table order.

Co-authored-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
workflows: use static function

* Use function to create BibWorkflowObject instead of instantiating
  directly in start_workflows() function.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: update MARC views

* Updates the HTML, RAW and MARC views in the details page.

Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
workflows: detailed workflow task list

* Calculates the path of tasks that workflow has
  followed and represents it on Holding Pen detailed record display
  with different colors for completed, current and remaining tasks.

* Task names to display are chosen from the description attributes
  of the task, if not present from the first line of the docstring,
  if still not present, the function name is finally used.

* Adds a decorator to pass the attributes (docstring, name) of a
  function to its closure.

Tested-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
workflows: PEP8 fixes

Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
workflows: signals addition

* Adds signals to workflows for when a workflow is started, halted
  and finished.

Reviewed-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
workflows: classifier task result addition

* Adds task result template for classifier/BibClassify to show
  extracted keywords etc. in Holding Pen.

Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
OAIHarvest: workflows in admin

* Adds the workflows colomn in the legacy admin interface.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
oaiharvester: initial upgrade

* Adds initial upgrade script from Invenio v1.x for oaiharvester module.

* Updates the workflows column with default and `NOT NULL`.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
oaiharvester: workflows integration

* NOTE Adds default workflows and tasks for OAI harvesting which
  is now required to run OAI harvest. A working Celery worker is
  necessary to run harvests.

* NOTE Moves harvesting specific tasks, tests and workflows from
  workflows module to oaiharvester module. If you have used any of
  these tasks or workflows in your workflow configuration you need
  to amend your imports.

* Adds warnings and help messages on OAI Admin display.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
legacy: fix field xml output generation

* Addresses issue when unnecessary string conversion could cause
  problems with unicode data.  (closes #2233)

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
base: fix for demosite populate extra info

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
formatter: fix mediaelement video view

* NOTE Detailed record page needs javascript in the <head> tag.
  (closes #1999)

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
legacy: webhelp docs move

* Addresses issue with not discovered help pages.  (closes #2244)

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
formatter: display records with no recid

* Fixes issue in 'Default_HTML_detailed' template when record does not
  have a 'recid'.  (PR #2272)

Reviewed-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
search: loading of Bloodhound using requirejs

* Adds the missing export of twitter's typeahead.js and properly
  loads it with requirejs at search typeahead.

Signed-off-by: Kamil Neczaj <kamil.neczaj@cern.ch>
formatter: display record with no record id

* Fixes an issue 'Default_HTML_detailed' template when record does not
  have a 'recid'.

* Handling this issue in the template has a unexpected side-effect
  this commit handles the issue in the back-end.

Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>