Version 1.1

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.

Views namespaces

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.

Removal of the splash screen

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.

Sending and receiving documents via email

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.

Update to Django 1.6.8

Mayan EDMS has been updated to use Django 1.6.8.

Events app

The built-in history app has been removed in favor of a new events wrapper app for Django activity stream

Watch folders

Filesystem folders can be monitored for change and their files automatically uploaded as documents in Mayan EDMS.

Vagrant file included

A vagrant file is now included to allow developers to provision a virtual machine with the latest development version of Mayan EDMS.

User locale profile (language and timezone)

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 adjusted to each user’s timezone settings.

Document states

A new simple workflow app that can represent document states has been included.

Explicit document types needed per index

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.

Optional and required metadata types

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.

Bulk document type change

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.

New release cycle

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.

Deprecation of Python 2.6

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.

Improved testings

Mayan EDMS is now automatically tested against SQLite, MySQL and PostgreSQL.

API updates

Many new API endpoints have been added exposing the majority of Mayan EDMS functionality.

Messages contextual improvements

Many updates and simplifications were made to the source text messages to reduce the difficulty of translating Mayan EDMS and maintain the contextual meaning of the text messages.

Improved method for custom settings

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

Instead the fully qualified name of the class must be passed as the setting value:

DOCUMENTS_STORAGE_BACKEND = 'custom_app.backends.CustomStorageBackend'

Removal of the OCR config setting

OCR behavior is now a document type property meaning that it can be turned on or off for specific document types.

Per document language setting

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.

Metadata validation and parsing support

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.

Removal of 960 grid system in favor Pure CSS’s grid system

By using Pure CSS’s columns based grid system, the move towards a Bootstrap UI migration has advanced greatly.

Simplified UI

All user actions as well as the logout button are now under the user functions section.

Stable PDF previews generation

The way PDF were being generated has been improved greatly eliminating spurious segmentation faults at the expense of a small speed penalty.

More technical documentation

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.

Other changes

  • Removal of the MAIN_SIDE_BAR_SEARCH setting

  • Removal of THEMES setting and themes support

  • Removal of VERBOSE_LOGIN setting

  • Removal of graphics backend supported file format list view

  • Removal of the MAIN_DISABLE_ICONS setting

  • Removal of specialized Sentry support

  • Removal of the MAIN_ENABLE_SCROLL_JS setting

  • Remove hardcoded root (/) redirections

  • Removal of APSCheduler as a requirement

  • Removal of the scheduled jobs view

  • Removal of the web_theme app

  • Removal of the sources icon selection support

  • Removal of the in-app help panels

  • Removal of the duplicate document search feature

  • Removal of filesystem document indexes mirroring feature

  • Improve sources app model sub classes and inheritance handling

  • Addition of CORS support to the API

Upgrading from a previous version

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:

$ migrate dynamic_search 0001 --fake
$ migrate history 0001 --fake
$ migrate linking 0001 --fake
$ migrate lock_manager 0001 --fake
$ migrate tags 0001 --fake
$ 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:

$ collectstatic --noinput

Remove unused dependencies:

$ pip uninstall APScheduler
$ pip uninstall django-taggit

The upgrade procedure is now complete.

Backward incompatible changes

  • You will have to redefine your document sources due to the new extended models for this app.

  • Check your configurations of smart links and indexes to use the newly provided arguments.

Bugs fixed or issues closed