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>
docs: fix typo in INSTALL.rst

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
connector: InvenioConnector URL validation

* InvenioConnector will now throw an InvenioConnectorServerError
  exception is the given URL is invalid.

Signed-off-by: Graham R. Armstrong <graham.richard.armstrong@cern.ch>
base: footer modified

* 'submit' text and link swapped out for 'deposit'

Signed-off-by: Jake Cowton <jake.calum.cowton@cern.ch>
utils: slugify text function addition

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
search: collection template loading

* Introduces collection specific templates "collection_{name}.html" with
  fallback to the default "collection.html".

Reported-by: Esteban J. G. Gabancho <esteban.gabancho@gmail.com>
Signed-off-by: Charalampos Tzovanakis <drjova@cern.ch>
search: fix copyright year

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
base: fix static files serving from DocumentRoot

* Implements Nginx's "try_files" like functionality using custom wsgi
  middleware for Apache and WSGIScriptAlias for invenio.wsgi together
  with mod_rewrite.

* NOTE regenerate your apache configuration by running
  `inveniomanage apache create-config`.

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
Tested-by: Yoan Blanc <yoan.blanc@cern.ch>
base: wsgi middlewares reorganization

* Fixing DebbugedApplication middleware usage.

* Using an Apache environment variable to detect when to apply
  the WSGIScriptAliasFix: `WSGI_SCRIPT_ALIAS` pointing to the
  script name.

* NOTE regenerate your apache configuration by running:
  `inveniomanage apache create-config`

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>
Reviewed-by:  Jiří Kunčar <jiri.kuncar@cern.ch>
deposit: WTForms version to be <2.0

* Fixing WTForms to <2.0 as Flask-WTF doesn't support it yet.

* Updating Flask-WTF to 0.9.5.

* Updating WTForms-Alchemy to 0.12.4.

* Fixing the build where _unset_value was not found.

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>