Version 3.3.14
Released: February 23, 2020
Changes
Continuous integration
The CI script was updated to push multiple tags of the Docker image. Normally,
two images are tagged with the latest version and the tag latest
.
Now for version 3.3.14, four images will be tagged and pushed. These tags are:
latest
, 3.3.14
, 3.3
and 3
. This way users have now more
control over which level of release to pin their deployments.
Development
The selenium Firefox geckodriver was added to the setup-dev-environment
target that spins up a development environment with a single command.
Documentation
A missing backslash was added to the deployment instructions.
Documents
The document language field is now a “lazy” field. This means that the field
is evaluated on demand and not during start up. This allows starting Mayan
even when there are invalid language codes in the
DOCUMENTS_LANGUAGE_CODES
setting.
A warning was added when there are invalid document language codes in the
DOCUMENTS_LANGUAGE_CODES
setting.
Error reporting
A more expressive error message was added when an invalid storage argument setting is encountered, providing more context about the source of the configuration error.
Sources
The staging folder API is now feature complete. The staging folder API was expanded to allow creating, editing, and deleting staging folders.
The staging folder file sub resource endpoint now has an upload URL. Doing a POST to this URL uploads that staging folder file and creates a new document.
Tasks
The purgeperiodictasks
command was moved from the common app to the task
manager app.
A left over interactive
option usage for the purgeperiodictasks
command was removed.
Testing
The test method to create a test document type instance was renamed from
_create_document_type
to _create_test_document_type
. This method name
now follows the same naming pattern for all the methods that create test
instances.
User interface
Several links were removed or updated. The Wiki link was removed from the about view. So too were the social media links removed.
A new link for direct access to the support page was added to the system
menu.
The /favicon.ico
URL was excluded from the authenticated URL list. This
allows browsers to show the correct icon even when not authenticated.
Removals
None
Upgrading process
Stop supervisord:
sudo systemctl stop supervisor
Upgrading from Mayan EDMS 3.2.x
Update the Redis configuration:
Configure Redis to discard data when it runs out of memory, not save its database, and only keep 2 database:
echo "maxmemory-policy allkeys-lru" | sudo tee -a /etc/redis/redis.conf echo "save \"\"" | sudo tee -a /etc/redis/redis.conf echo "databases 2" | sudo tee -a /etc/redis/redis.conf sudo systemctl restart redis
Install the Python 3 development OS package:
sudo apt-get install python3-dev
Update the virtualenv to use Python 3:
sudo -u mayan virtualenv --clear /opt/mayan-edms -p /usr/bin/python3
Create a home directory for the Mayan EDMS system user:
mkdir /home/mayan
Grant ownership to the Mayan EDMS system user:
chown mayan:mayan /home/mayan
Reinstall the Python client for PostgreSQL and Redis:
sudo -u mayan /opt/mayan-edms/bin/pip install --no-use-pep517 psycopg2==3.2.3 redis==5.0.7
Note
Platforms with the ARM CPU might also need additional requirements:
sudo -u mayan /opt/mayan-edms/bin/pip install --no-use-pep517 psutil==5.8.0
Reinstall the Python client for RabbitMQ if you are using RabbitMQ as a broker:
sudo -u mayan /opt/mayan-edms/bin/pip install --no-use-pep517 amqp==5.2.0
Upgrade steps from any previous version of Mayan EDMS
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
Update the Mayan EDMS Python package:
sudo -u mayan /opt/mayan-edms/bin/pip install mayan-edms==3.3.14
the requirements will also be updated automatically.
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 -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 platformtemplate supervisord | sudo sh -c "cat > /etc/supervisor/conf.d/mayan-edms.conf"
or:
sudo -u mayan MAYAN_DATABASES=\"{'default':{'ENGINE':'django.db.backends.postgresql','NAME':'mayan','PASSWORD':'mayanuserpass','USER':'mayan','HOST':'127.0.0.1'}}\" \ MAYAN_MEDIA_ROOT=/opt/mayan-edms/media/ \ /opt/mayan-edms/bin/mayan-edms.py platformtemplate supervisord | sudo sh -c "cat > /etc/supervisor/conf.d/mayan-edms.conf"
Edit the supervisord configuration file and update any setting specific to your installation:
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
or:
sudo -u mayan MAYAN_DATABASES="{'default':{'ENGINE':'django.db.backends.postgresql','NAME':'mayan','PASSWORD':'mayanuserpass','USER':'mayan','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
Start supervisord:
sudo systemctl start supervisor
The upgrade procedure is now complete.
Backward incompatible changes
None
Issues closed
GitLab issue #778 Feature Request: An api to promote a staging file into a document
GitLab issue #780 Direct Deployment web page missing a “" on initial apt-get install
GitLab issue #785 management.call_command - > interactive=False leftover
GitLab issue #786 exclude favicon.ico from Stronghold