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.
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.
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.
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 ajusted to each user’s timezone settings.
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.
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.
Messages contextual improvements¶
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.
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 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'
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
Parse date and time,
Parse date and
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.
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.
- Removal of the
- Removal of
THEMESsetting and themes support
- Removal of
- Removal of graphics backend supported file format list view
- Removal of the
- Removal of specialized Sentry support
- Removal of the
- Remove hardcoded root (/) redirections
- Removal of
APSCheduleras a requirement
- Removal of the scheduled jobs view
- Removal of the
- 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:
$ 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.
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¶
- GitHub issue #30 Document workflows
- GitHub issue #32 Watched folders
- GitHub issue #34 Postprocessing document queue
- GitHub issue #35 Metadata validation
- GitHub issue #37 Add from __future__ import unicode_literals
- GitHub issue #39 Capitalization of messages
- GitHub issue #40 Update references to root (‘/’) path
- GitHub issue #46 Advanced search past 1st page
- GitHub issue #49 Problems with large pdf files
- GitHub issue #50 raise CommandNotFound(path)
- GitHub issue #51 Search with ANONYMOUS error
- GitHub issue #55 Document approval cicle?
- GitHub issue #56 Removal of non essential features, views, models
- GitHub issue #57 Migrate to Celery for task query and periodic tasks
- GitHub issue #64 Pluralize messages properly
- GitHub issue #65 Backport the ability to receive documents via email
- GitHub issue #66 Python 3 compatibility: Add from __future__ import unicode_literals and remove all u’’
- GitHub issue #68 Revise and update the use gettext vs. gettext_lazy
- GitHub issue #69 Feature removal: remove “Unregistered” message from the title bar
- GitHub issue #71 Add retry support to the converter task
- GitHub issue #72 Delete unused static icons
- GitHub issue #74 Cache a document’s first document version
- GitHub issue #75 Move automatic OCR queueing from a configuration settings to a property of Document Type model
- GitHub issue #77 Add document view permission support to the search app
- GitHub issue #78 COMMON_TEMPORARY_DIRECTORY seems not to be used everywhere
- GitHub issue #79 Error installing
- GitHub issue #82 Make document type a required field
- GitHub issue #83 Simplify source app views and navigation
- GitHub issue #84 Remove template context variable ‘object_name’ to improve translations
- GitHub issue #85 Reset page count for a single document
- GitHub issue #86 Move migrations to new ‘south_migrations’ folders
- GitHub issue #87 Per document language selection
- GitHub issue #88 Remove metadata type selection from the upload wizard
- GitHub issue #89 Allow metadata types to be required for specific document types
- GitHub issue #90 Remove the app_registry app
- GitHub issue #91 Don’t preserve the ?page= URL query string value when switching sources during document upload
- GitHub issue #92 Make register_multi_item_links class aware
- GitHub issue #95 Installation error on Mac OSX; OSError: [Errno 2] No such file or directory
- GitHub issue #96 Remove hard code User model references
- GitHub issue #97 Make multi item links a drop down list
- GitHub issue #104 Finish polishing metadata validation patch
- GitHub issue #105 Tie smart links setups to document types
- GitHub issue #106 Convert document indexing app actions to Celery
- GitHub issue #107 Restrict document metadata addition and removal
- GitHub issue #108 New home screen
- GitHub issue #109 Add Roles API endpoints
- GitHub issue #111 Add Checkouts API endpoints
- GitHub issue #112 Add OCR API endpoints
- GitHub issue #114 Implement UI language as user preference
- GitHub issue #116 Add documentation topic explicitly noting the binary requirements
- GitHub issue #118 When a metadata type is removed from a document type, remove it from all the documents of that type
- GitHub issue #119 When a required metadata type is added to a document type, add it to all documents of that type
- GitHub issue #126 Failing migration with SQLite
- GitHub issue #127 Failing migration with Postgres
- GitHub issue #128 Add Indexes API endpoints
- GitHub issue #129 Search api shouldn’t memorize requested page as part of the query
- GitHub issue #130 Users API is not working correctly
- GitHub issue #131 Is there an API to update a user’s password?
- GitHub issue #137 Enhancement of language selection
- GitHub issue #138 Possibility to keep zoom factor
- GitHub issue #139 Translatability of language selection
- GitHub issue #140 Thumbnail creation for ods crashing
- GitHub issue #143 Exception Value: ‘exceptions.ValueError’ object has no attribute ‘messages’
- GitHub issue #144 Behavior of ‘Edit metadata’ (Recent Documents)
- GitHub issue #146 Periodic task not initiated for mail boxes and watch folders
- GitHub issue #149 Attribute error in document download
- GitHub issue #150 Double second menu entry
- GitHub issue #152 Document content empty
- GitHub issue #153 south migration with postgres: documents: 031_remove_orphan_documents
- GitHub issue #154 south migration with postgres: tags: 0002_auto__add_tag__chg_field_tagproperties_tag
- GitHub issue #157 upload new version of a document not working
- GitHub issue #158 Plural form not matching singular form in ocr app bug i18n