Version 3.5.3

Released: November 11, 2020

Changes

Dependencies

Update Dropzone from version 5.4.0 to 5.7.2. Fix column display issue in the dependency list views.

Sources

The custom upload template used by the sources app was removed and the app template loader used instead.

With the Dropzone upgrade, it is was possible to remove the upload size limit.

The CSS of the Dropzone error message box was tweaked to widen it and increase the area of error message texts.

An issue that resulted in new documents having two versions was fixed. This issue was introduced in 865ae60fcef38e07bbf6d09bd6032017e3603698 when support for adding document stubs in signal handlers was added. This issue causes new documents to contain two versions instead of one. The only consequence of this issue is extra storage usage, no data loss occurs. The extra document version can be safely deleted by using the document version revert feature. Doing this will delete the extra document version from the database and from the storage.

Tags

Ensure the document tag list view return DocumentTag instances and not regular Tag instances. This last ones include editing links not meant for the view.

Workflows

The initial state column for workflow proxies was removed as it did not added valuable information but caused confusion in users.

Other

Merge improvements and fixes from version 3.4.20.

Removals

  • None

Upgrading process

Upgrading from Mayan EDMS 3.2.x or earlier

  1. Stop supervisord:

    sudo systemctl stop supervisor
    
  2. 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
    echo "requirepass mayanredispassword" | sudo tee -a /etc/redis/redis.conf
    sudo systemctl restart redis
    
  3. Install the Python 3 development OS package:

    sudo apt-get install python3-dev
    
  4. Update the virtualenv to use Python 3:

    sudo -u mayan virtualenv --clear /opt/mayan-edms -p /usr/bin/python3
    
  5. Create a home directory for the Mayan EDMS system user:

    mkdir /home/mayan
    
  6. Grant ownership to the Mayan EDMS system user:

    chown mayan:mayan /home/mayan
    
  7. Reinstall the Python client for PostgreSQL and Redis:

    sudo -u mayan /opt/mayan-edms/bin/pip install psycopg2==3.1.14 redis==5.0.3
    

    Note

    Platforms with the ARM CPU might also need additional requirements:

    sudo -u mayan /opt/mayan-edms/bin/pip install psutil==5.8.0
    
  8. Reinstall the Python client for RabbitMQ if you are using RabbitMQ as a broker:

    sudo -u mayan /opt/mayan-edms/bin/pip install amqp==5.2.0
    

Upgrading from Mayan EDMS 3.4.x or 3.3.x

  1. Stop supervisord:

    sudo systemctl stop supervisor
    
  2. Upgrade to the latest pip version:

    sudo -u mayan /opt/mayan-edms/bin/pip install -U pip
    
  3. Update the Redis configuration to enable password protection:

    echo "requirepass mayanredispassword" | sudo tee -a /etc/redis/redis.conf
    sudo systemctl restart redis
    
  4. 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
    
  5. Update the Mayan EDMS Python package:

    sudo -u mayan /opt/mayan-edms/bin/pip install mayan-edms==3.5.3
    

    the requirements will also be updated automatically.

  6. Make a backup of your supervisord file:

    sudo cp /etc/supervisor/conf.d/mayan-edms.conf /etc/supervisor/conf.d/mayan-edms.conf.bck
    
  7. 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=mayandbpass 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':'mayandbpass','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"
    
  8. Edit the supervisord configuration file and update any setting specific to your installation:

    sudo vi /etc/supervisor/conf.d/mayan-edms.conf
    
  9. Migrate existing database schema and static media files with:

    sudo -u mayan MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
    MAYAN_DATABASE_PASSWORD=mayandbpass 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':'mayandbpass','USER':'mayan','HOST':'127.0.0.1'}}" \
     MAYAN_MEDIA_ROOT=/opt/mayan-edms/media/ \
    /opt/mayan-edms/bin/mayan-edms.py performupgrade
    
  10. Start supervisord:

    sudo systemctl start supervisor
    
  11. Clear the browser cache to avoid loading old web assets.

The upgrade procedure is now complete.

Issues closed