Version 4.1.8

Released: April 23, 2022

Status: End of life

Changes

Dependencies

Update Django from version 2.2.24 to 2.2.28.

Mailing

Updated the subject and body fields of the document email workflow action to be optional.

The WorkflowAction added an official way to migrate old workflow actions. This this method to migrate existing EmailAction workflow actions. This removes the need to a subclass and avoids a double entry in the workflow state action selection dropdown.

Sentry

The default Sentry client traces_sample_rate was reduced from 0.25 to 0.05.

Source

Improvement to the new document link condition logic we backported from the 4.2 branch. These changes ensure that the new document and file links access work like their respective views. The links will be active only when the access is granted for the source as well as the document/document type.

Other

  • Merged changes from version 4.0.22:

    • Remove usage of flat values list in document checkout manager.

    • Remove usage of flat values_list queryset in metadata managers module.

    • Cleanup markup of the confirmation form.

    • Remove redundant modal close button.

    • Fix search proxies method decorator.

    • Reorganize converter office MIME type list.

    • Improve metadata validation error message.

    • Don’t display API URL links to indexing instance and template parents that are also root nodes as these are not accessible.

    • Remove repeated partition file close call.

  • Add keyword argument to self.stderr and self.stdout usage.

  • In FilteredRelatedFieldMixin, split retrieval of the queryset to avoid the exception handler from capturing an AttributeError that it shouldn’t.

  • Add keyword arguments to zip file calls.

Removals

  • None

Upgrade process

Docker Compose

Check the Docker upgrading chapter for the complete upgrade process.

Direct deployment

Upgrading from Mayan EDMS 3.5.x

Important

Supervisord must be upgraded to version 4.2.2. See troubleshooting section: After upgrade to version 4.1

  1. Stop supervisord:

    sudo systemctl stop supervisor
    
  2. Make a backup of your supervisord file:

    sudo cp /etc/supervisor/conf.d/mayan-edms.conf /etc/supervisor/conf.d/mayan-edms.conf.bck
    
  3. Make a backup of your database:

    Use the respective backup command for the database:

  4. Upgrade to the latest pip version:

    sudo --user=mayan /opt/mayan-edms/bin/pip install --upgrade pip
    
  5. Remove deprecated requirements:

    sudo --user=mayan curl https://gitlab.com/mayan-edms/mayan-edms/raw/master/removals.txt --output /tmp/removals.txt \
    && sudo --user=mayan /opt/mayan-edms/bin/pip uninstall --requirement /tmp/removals.txt --yes
    
  6. Update the Mayan EDMS Python package:

    sudo --user=mayan /opt/mayan-edms/bin/pip install mayan-edms==4.4.7
    

    the requirements will also be updated automatically.

  7. Update the Redis configuration to serve at least 3 databases:

    Replace:

    databases ...
    

    with:

    databases 3
    
  8. Restart Redis for the changes to take effect:

    sudo systemctl restart redis
    
  9. Edit the config file at /opt/mayan-edms/media/config.yml:

    Replace:

    LOCK_MANAGER_BACKEND: ...
    LOCK_MANAGER_BACKEND_ARGUMENTS: ...
    

    with:

    LOCK_MANAGER_BACKEND: mayan.apps.lock_manager.backends.redis_lock.RedisLock
    LOCK_MANAGER_BACKEND_ARGUMENTS: {'redis_url':'redis://:mayanredispassword@<IP address of Redis server>:6379/2'}
    
  10. Update the supervisord configuration file. Replace the environment variables values shown here with your respective settings. This step will refresh the supervisord configuration file with the new queues and the latest recommended layout:

    sudo --user=mayan 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"
    
  11. Edit the supervisord configuration file and update any setting specific to your installation:

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

    sudo --user=mayan MAYAN_MEDIA_ROOT=/opt/mayan-edms/media/ \
    /opt/mayan-edms/bin/mayan-edms.py performupgrade
    
  13. Start supervisord:

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

The upgrade procedure is now complete.

Troubleshooting

Follow the solutions outlined in the troubleshooting section: After upgrade to version 4.1

Backward incompatible changes

  • None

Issues closed

  • GitLab issue #1102 Decrease acl functionnaility from version 4.0.15 to 4.1.x 4.2.x when add create document right