Released: May 14, 2016
With the end of life support for Django 1.7, moving to the next Mayan EDMS minor version was a target for this release. The Django minor release chosen was 1.8 as it is very compatible with 1.7 and required minimal changes. Django 1.8 is an LTS release (Long Term Support) meaning that is no new big feature of a new Django version is required, the project can stay in Django 1.8 for a good amount of time with no downsides.
The few remaining hard code references to Django's User model that were missed in a previous release have been removed. Using a custom User model with Mayan should present very little if any obstacles.
The custom middleware include with Mayan EDMS that forces user to be authenticated before being able to access any view has been removed in favor of a dedicated 3rd party Django app for that purpose. The app chosen was django-stronghold (http://mikegrouchy.com/django-stronghold/).
In the past success messages for actions would show a generic mention to the object being manipulated (document, folder, tag). Now the errors and success messages with be more explicit in describing what the view has or was trying to manipulate.
Currently Folders in Mayan EDMS have a field that stores a reference to the user that has created that folders. One of the design decisions of Mayan EDMS is that there should never be any explicit ownership of any object. Ownership is relative and is defined by the Access Control List of an object. The removal of the user field from the Folders model brings this app in line with the defined behavior.
As a size optimization technique HTML content was dynamically stripped of spaces as it was being served. The technique used involved detecting the MIME type of the content being served and if found to be of text/HTML type spaces between tags were stripped. An edge case was found where this did not worked always. The approached has been changed to use Django's official tag to strip spaces. In addition to using an official approach, the removal of spaces only happens when the template is compiled and not at each HTTP response. The optimization is minimal but since it happened at every response a small increase in speed is expected for all deployment scenarios.
During the last releases the behavior of the of metadata edit checkbox has seen several tune ups. Thanks to community feedback one small change has been introduced. The edit checkbox will be deselected by default for all optional document type metadata entries.
If is now possible to grant the document creation permission to a role for a document type. Previously document creation was a "blanket" permission. Having the permission meant that user could create any type of document. With this change it is now possible to restrict which types of document users of a specific role can create.
The entries that defined after how long a document in the trash would be permanently deleted have been made optional. This means that if a document type has this option blank, the corresponding document of this type would never be deleted from the trash can.
A few releases back the ability to for users to set their timezone was added. This change also included a smart date rendering update to adjust the dates and times fields to the user's timezone. Some users reported a few views where this timezone adjustment was not happening, this has been fully fixed.
During new installations a default index that organizes document by year/month when they were uploaded will be created to help users better understand the concept of indexes in Mayan EDMS.
A common request is the ability to just drap and drop documents from other windows into Mayan EDMS's document upload wizard. This release includes that capability and will also show a completion bar for the upload. Document uploading is sped up dramatically with this change.
Administrators wanting to display announcements has no other way to do so than to customize the login template. To avoid this a new app has been added that allows for the creation of messages to be shown at the user login screen. These messages can have an activation and an expiration date and time. These messages are useful for display company access policies, maintenance announcement, etc.
The biggest change for this release if the addition of document signing from within the UI. Enterprise users request this feature very often as in those environments cryptographic signatures are a basic requirement. Previously Mayan EDMS had the ability to automatically check if a document was signed and if signed, verify the validity of the signature. However, to sign documents user had to download the document, sign the document offline, and either re-upload the signed document as a new version or upload a detached signature for the existing document version. Aside from being now able to sign documents from the web user interface, the way keys are handled has been rewritten from scratch to support distributed key storage. This means that a key uploaded in one computer by one user can be used transparently by other users in other computers to sign documents. The relevant access control updates were added to the new document signing system. Users wanting to sign a document need the singing permission for the document (or document type), for the private key they intend to use, and the passphrase (if the key has one). Finally documents are now checked just once for signatures and not every time they are accessed, this provides a very sizable speed improvement in document access and availability.
Type in the console:
$ pip install -U mayan-edms
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.
Next upgrade/add the new requirements:
$ pip install --upgrade -r requirements.txt
Migrate existing database schema with:
$ mayan-edms.py performupgrade
Add new static media:
$ mayan-edms.py collectstatic --noinput
The upgrade procedure is now complete.