Version 3.1.5

Mon, Oct 8, 2018

Version 3.1.5

Released: October 8, 2018


Index mirroring fixes

This release fixes the mountindex management command that mounts an index as a FUSE filesystem. It also includes a fix for indexes that return a multi line value. The carriage returns and newlines characters are now converted into spaces to make the index value a valid filesystem directory. Lastly an issue with the duplicated value was fixed. Indexes levels that return a duplicated value will not show as directory entries when mounted as a FUSE filesystem.

Recently a link was added to each document page to show the OCR text for that particular page. This release adds another link but to allow users to view the parsed text of each page.

Python 3

This release includes several fixes for Python 3 compatibility and reduce the fail count of the test suit to just one test.

Transformations arguments

Visually the view to create or edit a transformation remains the same. But internally those views now use an explicit form to allow performing YAML format validation of arguments.

Crop transformation

Stricter error checking was added to the crop transformation.

Other changes

  • Consolidate some document indexing test code into a new mixin.
  • Update compressed files class module to work with Python 3.
  • Update document parsing app tests to work with Python 3.
  • Handle office files in explicit binary mode for Python 3.
  • Return a proper list of SearchModel instances (Python 3).
  • Specify FUSE literals in explicit octal notation (Python 3).
  • URL quote the encoded names of the staging files using Django's compat module. (Python 3)
  • Open staging file in explicit binary mode. (Python 3)
  • Add separate Python 2 and Python 3 versions of the MetadataType model .comma_splitter() static method.
  • Update the metadata app tests to work on Python 3.
  • Make sure metadata lookup choices are a list to be able to add the optional marker (Python 3).
  • Make sure the image in the document preview view is centered when it is smaller than the viewport.
  • Restore use of the .store_body variable accidentally remove in 63a77d0235ffef3cd49924ba280879313c622682. Closes GitLab issue #519. Thanks to TheOneValen @TheOneValen for the report.
  • Add shared cache class and add mounted index cache invalidation when document and index instance nodes are updated or deleted.
  • Fix document metadata app view error when adding multiple optional metadata types. Closes GitLab issue #521. Thanks to the TheOneValen @TheOneValen for the report.


  • None

Upgrading from a previous version

If installed via Python's PIP

Remove deprecated requirements:

 $ curl | pip uninstall -r /dev/stdin 

Type in the console:

 $ pip install mayan-edms==3.1.5 

the requirements will also be updated automatically.

Using Git

If you installed Mayan EDMS by cloning the Git repository issue the commands:

 $ git reset --hard HEAD $ git pull 

otherwise download the compressed archived and uncompress it overriding the existing installation.

Remove deprecated requirements:

 $ pip uninstall -y -r removals.txt 

Next upgrade/add the new requirements:

 $ pip install --upgrade -r requirements.txt 

Common steps

Perform these steps after updating the code from either step above.

Migrate existing database schema with:

 $ performupgrade 

Add new static media:

 $ collectstatic --noinput 

The upgrade procedure is now complete.

Backward incompatible changes

  • None

Bugs fixed or issues closed