Released: November 19, 2019
App dependencies are now automatically imported ensuring there are no missing dependencies when installing or upgrading.
For developers this means that the line:
from .dependencies import * # NOQA
is no longer needed.
Improvements in the settings chapter.
The file paths in the documentation are now inserted programmatically. This ensures consistency and avoid human error when copying and pasting path when writing documentation chapters.
New targets for the makefile to run all tests in debug mode. This mode is more strict and sidesteps a Django bug that causes errors in the template code that to be silent during tests.
allow a list of content types to be specified.
Event class cache invalidation when calling the
Fixed an issue with the NamedMultiWidget class on Python 3. This issue affected the document checkout form. This closes GitLab issue #683. Thanks to John Bentley (@johnbentleyii) for the report.
Statistics code were updated to use timezone aware date. This solves a few off-by-one-day results.
When renaming custom workflow state actions, the workflow system would error out when trying to show the label of the deleted or removed class. A placeholder label will now be shown on invalid action classes reading “Unknown action type”.
The help text for workflows was improved.
The missing label for document metadata and file metadata model properties entries were added. No functional changes were made just visual.
Upgrading from a previous version¶
If installed via Python’s PIP¶
Remove deprecated requirements:
sudo -u mayan curl https://gitlab.com/mayan-edms/mayan-edms/raw/master/removals.txt -o /tmp/removals.txt && sudo -u mayan /opt/mayan-edms/bin/pip uninstall -y -r /tmp/removals.txt
Type in the console:
sudo -u mayan /opt/mayan-edms/bin/pip install mayan-edms==3.2.10
the requirements will also be updated automatically.
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
Perform these steps after updating the code from either step above.
Make a backup of your supervisord file:
sudo cp /etc/supervisor/conf.d/mayan-edms.conf /etc/supervisor/conf.d/mayan-edms.conf.bck
Update the supervisord configuration file. Replace the environment variables values show here with your respective settings. This step will refresh the supervisord configuration file with the new queues and the latest recommended layout:
sudo sh -c "MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \ MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \ MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media/ \ /opt/mayan-edms/bin/mayan-edms.py platformtemplate supervisord > /etc/supervisor/conf.d/mayan-edms.conf"
Edit the supervisord configuration file and update any setting the template generator missed:
sudo vi /etc/supervisor/conf.d/mayan-edms.conf
Migrate existing database schema with:
sudo -u mayan MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \ MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \ MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media/ \ /opt/mayan-edms/bin/mayan-edms.py performupgrade
Add new static media:
sudo -u mayan MAYAN_MEDIA_ROOT=/opt/mayan-edms/media/ \ /opt/mayan-edms/bin/mayan-edms.py preparestatic --noinput
The upgrade procedure is now complete.
Backward incompatible changes¶