jsonalchemy: default values for subfields

* Fixes jsonalchemy ignoring default values when the main field is
  present but not one of the subfields.

Signed-off-by: Esteban J. G. Gabancho <esteban.gabancho@gmail.com>
assets: fix some missing url_for("static")

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>
Reported-by: Jan Åge Lavik <jan.age.lavik@cern.ch>
collect: symbolic link storage

* Adds a symbolic link storage for developers. To enable it, put this
  to your config: COLLECT_STORAGE = u"invenio.ext.collect.storage.link"
  then run `inveniomanage collect` to create all the links from the
  static folders to the intance folder.

* NOTE: only files are symlinked, not folders!

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>
base: deprecation of `STATIC_MAP`

* Deleting `STATIC_MAP` and all its links. All the files should be
  served from the instance_path directory via collect.

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>
travis: collection of the static files

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>
docs: documentation for collect during INSTALL

* Adds the `inveniomanage collect` step to the INSTALL documentation as
  it's now required.

* Renames INSTALL to INSTALL.rst.

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>
script: registry usage for managers

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
script: refactoring of manager loading

* NOTE enables `inveniomanage clean` command.

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
collect: bugfix to not symlink yourself

* Removes the destination folder from the list of folder to read from.
  The destination folder is also the application static_folder so it be
  unset before running the collect operation.

* Ignores the existing files in the output log of the command and
  showing only the one added, with a nice counter at the end.

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>
Reported-by: Jan Åge Lavik <jan.age.lavik@cern.ch>
collect: bugfix to not symlink yourself done right

* Using a FakeApp to not interfer with the real app. The previous fix
  was unsetting the static_folder globally.

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>
deposit: fix for flag checking

Signed-off-by: Jake Cowton <jake.calum.cowton@cern.ch>
workflows: abstraction layer for workers

* Adds an abstract class to be used like a base for
  worker wrapper.

* Implements a worker wrapper for abstraction for
  celery worker.

* Starts the implementation of a worker wrapper for
  redis worker.

* Fixes PEP8 and sphinx documentation specification.

* Fixes mistake about iteritems with six.

Signed-off-by: Guillaume Lastecoueres <guillaume.lastecoueres@cern.ch>
workflows: more unit tests

* Adds more unit tests to the workflows module, including
  new test workflows. Coverage should now be about 50%.

* Modifies API internals for unit tests conformation.

* Adds one file for tests which are using asynchronous
  worker to compute.

* Corrects unit tests.

Signed-off-by: Guillaume Lastecoueres <guillaume.lastecoueres@cern.ch>
workflows: global improvement

* Updates workflow to comply with the modification in
  tasks librairies.

* Fixes an error with the new ObjectVersion type with
  python3.

* Fixes sphinx mistakes.

* Removes useless regex.

* Fixes PEP8 mistakes.

* Adds more documentation to some functions.

* Removes useless and obsolete code, factorize some parts.

* Changes the start workflow function to give the
  possibility to start from a new clean BibWorkflowObject.

* Adds the refresh frequency as a parameter for workflows
  synchronisation.

Signed-off-by: Guillaume Lastecoueres <guillaume.lastecoueres@cern.ch>
oaiharvest: PEP8 and errors category

* Fixes PEP8 errors in a strict way.

* Allows log of errors of loglevel=40 in oaiharvest.

Signed-off-by: Guillaume Lastecoueres <guillaume.lastecoueres@cern.ch>
workflows: overhaul update

* Adds more documentation.

* Fixes some sphinx errors in documentation.

* Changes imports to relives one when possible.

* Adds a new way to handle errors, to allow easy reading.

* Removes obfuscations of exceptions.

* Clarifies exceptions.

* Updates the way exception unicodes are handling.

* Fixes the behaviour of stop_on_error.

* Adds python 3 compatibility when possible.

* Adds a method to clean extra_data in a Wfe.

* Fixes problems with python 2.6 loggers.

* Adds reliable way to handle types for BibworkflowObject.

* Adds a method to get widget message easily.

* Adds an abstraction method for bibfield conversion in
  workflow tasks.

* Adds more tests.

* Adds start test procedure.

* Fixes bad sorting instructions in bibholdingpen.

* Improves the way of restarting workflows.

* Simplifies celery worker.

* Reorganizes tree of the module.

* Tasks cleaning and optimizations.

Signed-off-by: Guillaume Lastecoueres <guillaume.lastecoueres@cern.ch>
workflows: holdingpen improvement

* Removes selection of row on link click.

* Changes the way of update data in approval widget.

* Changes the way of handling widget in pages.

* Changes the way of managing tags.

* Adds retrocompatibility for _widget field in extra_data.

* Simplifies the handling of informations in the http
  request.

* Adds new way to extract data from bwOject.

Signed-off-by: Guillaume Lastecoueres <guillaume.lastecoueres@cern.ch>
workflows: str() addition to calls

* Fixes an issue in the MARCXML tasks that caused legacy
  create_record to fail when a string is passed as unicode.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: Holding Pen display changes

* Replaces the 'source' column with a more useful
  'identifier' column in the main HP display.

* Tries to factor out some of the data extraction
  happening when displaying object data in Holding Pen.
  Will be revisited in the near future.

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

* Adds search feature through tags.

* Simplifies the sort code server side.

* Gets request parameters before application ones.

* Adds data extraction methods.

* Changes the way we are creating object to removes
  cyclic dependencies.

Signed-off-by: Guillaume Lastecoueres <guillaume.lastecoueres@cern.ch>