Released: February 10, 2015
All background tasks processing has been converted to use Celery. By default Mayan EDMS runs in "Eager" until a broker and result backend are configured as per Celery's documentation. This change made the built-in scheduler and job_processing apps obsolete, both were removed.
All views are namespaced with the name of the app which defines them. If you have developed 3rd party apps for Mayan EDMS be sure to update any reference to a view by prepending the app name to the view name.
The static image home screen has been replaced with a quick links view, showing the most used actions: Uploading documents, viewing recent documents, viewing all documents and searching documents.
A link or entire documents can be sent as attachments via email. Documents can also be received via email with the addition of two document sources named IMAP and POP3 which correspond to the mail protocol used to fetch the documents. Read Django's email configuration settings documentation for more details on how to set up mail serving.
Mayan EDMS has been updated to use Django 1.6.8.
The built-in history app has been removed in favor of a new events wrapper app for Django activity stream
Filesystem folders can be monitored for change and their files automatically uploaded as documents in Mayan EDMS.
A vagrant file is now included to allow developers to provision a virtual machine with the latest development version of Mayan EDMS.
Interface language and locale setting can now be setup for each user and are not installation wide as before. Date and times offsets are automatically ajusted to each user's timezone settings.
A new simple workflow app that can represent document states has been included.
Indexes can now be tied to document types, eliminating the need to update indexes for every document update. Indexes will only update when a document of the type to which they are associated is updated.
Metadata types can now be assigned in two ways to documents types, as optional or required. Values for required metadata types as the name implies, must be entered for documents to be able to be uploaded. Optional metadata types on the other hand can be left blank by the user.
It is now possible to change the document type of previously uploaded documents. When the document type of a document is changed the metadata values are reset and the metadata types of the new document type are automatically assigned.
Starting with this version a new release cycle methodology will come into effect. The goal of this release cycle is to allow two series of versions of Mayan EDMS to be active at a given time: A new major version with new functionality and a minor version providing upgrades and fixes. This release (1.1) will be active and supported during releases of versions 2.x, but will go into end-of-life as soon as version 3.0 is released, at which time version series 2.x will go into maintenance mode.
Series 1.0 of Mayan EDMS will be the last series supporting Python 2.6. Series 2.0 will be using Django 1.7.x which itself requires Python 2.7 or later.
Mayan EDMS is now automatically tested against SQLite, MySQL and PostgreSQL.
Many new API endpoints have been added exposing the majority of Mayan EDMS functionality.
Many updates and simplifications were made to the source text messages to reduce the difficulty of translating Mayan EDMS and maintaing the contextual meaning of the text messages.
Custom settings now use a string based value, it is longer needed to import classes when customizing a setting:
from custom_app.backends import CustomStorageBackend DOCUMENTS_STORAGE_BACKEND = CustomStorageBackend
Instead the fully qualified name of the class must be passed as the setting value:
DOCUMENTS_STORAGE_BACKEND = 'custom_app.backends.CustomStorageBackend'
OCR behavior is now a document type property meaning that it can be turned on or off for specific document types.
Previously the document language used for OCR was specified for the entire installation. If documents in multiple languages were uploaded some suffered lower success rates. Now the language of each document can be specified.
It is now possible to create functions to validate metadata value input or parse and store corrected values. Three sample metadata validations functions are included: Parse date and time, Parse date and Parse time.
By using Pure CSS's columns based grid system, the move towards a Bootstrap UI migration has advanced greatly.
All user actions as well as the logout button are now under the user functions section.
The way PDF were being generated has been improved greatly eliminating spurious segmentation faults at the expense of a small speed penalty.
Many new sub topics were added to the development section of the documentation to allow developers to better understand the inner workings and philosophies of Mayan EDMS.
IMPORTANT! Before running the upgrade make sure none of your documents have duplicated metadata types, meaning that the same metadata type must not appear twice for any given document.
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 migrate dynamic_search 0001 --fake $ mayan-edms.py migrate history 0001 --fake $ mayan-edms.py migrate linking 0001 --fake $ mayan-edms.py migrate lock_manager 0001 --fake $ mayan-edms.py migrate tags 0001 --fake $ mayan-edms.py migrate
During the migration several messages of stale content types can occur:
The following content types are stale and need to be deleted: metadata | documenttypedefaults metadata | metadataset metadata | metadatasetitem ocr | documentqueue ocr | queuedocument sources | watchfolder sources | outofprocess sources | webform sources | stagingfolder tags | tagproperties Any objects related to these content types by a foreign key will also be deleted. Are you sure you want to delete these content types? If you're unsure, answer 'no'. Type 'yes' to continue, or 'no' to cancel:
You can safely answer "yes".
Add new static media:
$ mayan-edms.py collectstatic --noinput
Remove unused dependencies:
$ pip uninstall APScheduler $ pip uninstall django-taggit
The upgrade procedure is now complete.