Compare commits
1 Commits
feature/er
...
feature/mu
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
82099c2f1b |
@@ -6,6 +6,5 @@ db.sqlite*
|
||||
docker
|
||||
!docker/etc
|
||||
!docker/entrypoint.sh
|
||||
!docker/version
|
||||
./.*
|
||||
docs
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -27,6 +27,5 @@ static_collected/
|
||||
/misc/mayan.geany
|
||||
/mayan/media/static/
|
||||
/venv/
|
||||
/venv3/
|
||||
/whoosh_index/
|
||||
node_modules/
|
||||
|
||||
167
.gitlab-ci.yml
167
.gitlab-ci.yml
@@ -1,15 +1,9 @@
|
||||
stages:
|
||||
- test
|
||||
- build_python
|
||||
- build_docker
|
||||
- build_documentation
|
||||
- push_python
|
||||
- push_docker
|
||||
- push_documentation
|
||||
- deploy
|
||||
- build
|
||||
|
||||
job_docker_build:
|
||||
stage: build_docker
|
||||
job_docker_master:
|
||||
stage: build
|
||||
image: docker:latest
|
||||
services:
|
||||
- docker:dind
|
||||
@@ -17,40 +11,13 @@ job_docker_build:
|
||||
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
||||
script:
|
||||
- docker build --pull -t "$CI_REGISTRY_IMAGE" -f docker/Dockerfile .
|
||||
- VERSION=`cat docker/version`
|
||||
- docker tag "$CI_REGISTRY_IMAGE" "$CI_REGISTRY_IMAGE:$VERSION"
|
||||
- docker run --rm "$CI_REGISTRY_IMAGE:$VERSION" run-tests
|
||||
- docker push "$CI_REGISTRY_IMAGE:$VERSION"
|
||||
- docker push "$CI_REGISTRY_IMAGE:latest"
|
||||
- docker tag "$CI_REGISTRY_IMAGE:$VERSION" registry-1.docker.io/mayanedms/mayanedms:"$VERSION"
|
||||
- docker tag "$CI_REGISTRY_IMAGE:$VERSION" registry-1.docker.io/mayanedms/mayanedms:latest
|
||||
- docker logout
|
||||
- docker run --rm "$CI_REGISTRY_IMAGE" run-tests
|
||||
- docker push "$CI_REGISTRY_IMAGE"
|
||||
only:
|
||||
- releases/all
|
||||
- releases/docker
|
||||
- master
|
||||
|
||||
job_docker_push:
|
||||
stage: push_docker
|
||||
image: docker:latest
|
||||
services:
|
||||
- docker:dind
|
||||
before_script:
|
||||
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
||||
script:
|
||||
- VERSION=`cat docker/version`
|
||||
- docker pull "$CI_REGISTRY_IMAGE:$VERSION"
|
||||
- docker tag "$CI_REGISTRY_IMAGE:$VERSION" registry-1.docker.io/mayanedms/mayanedms:"$VERSION"
|
||||
- docker tag "$CI_REGISTRY_IMAGE:$VERSION" registry-1.docker.io/mayanedms/mayanedms:latest
|
||||
- docker logout
|
||||
- docker login -u "$DOCKER_HUB_USERNAME" -p "$DOCKER_HUB_PASSWORD" https://registry-1.docker.io
|
||||
- docker push registry-1.docker.io/mayanedms/mayanedms:"$VERSION"
|
||||
- docker push registry-1.docker.io/mayanedms/mayanedms:latest
|
||||
only:
|
||||
- releases/all
|
||||
- releases/docker
|
||||
|
||||
job_docker_nightly:
|
||||
stage: build_docker
|
||||
job_docker_other:
|
||||
stage: build
|
||||
image: docker:latest
|
||||
services:
|
||||
- docker:dind
|
||||
@@ -60,83 +27,8 @@ job_docker_nightly:
|
||||
- docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" -f docker/Dockerfile .
|
||||
- docker run --rm "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" run-tests
|
||||
- docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG"
|
||||
only:
|
||||
- nightly
|
||||
- staging
|
||||
|
||||
job_documentation_build:
|
||||
stage: build_documentation
|
||||
image: ubuntu:18.04
|
||||
artifacts:
|
||||
expire_in: 1 hr
|
||||
paths:
|
||||
- docs
|
||||
before_script:
|
||||
- apt-get -qq update
|
||||
- apt-get install -qq locales make python-pip enchant
|
||||
- echo "LC_ALL=\"en_US.UTF-8\"" >> /etc/default/locale
|
||||
- locale-gen en_US.UTF-8
|
||||
- update-locale LANG=en_US.UTF-8
|
||||
- export LC_ALL=en_US.UTF-8
|
||||
script:
|
||||
- pip install -r requirements/documentation.txt
|
||||
- cd docs
|
||||
- make html
|
||||
only:
|
||||
- releases/all
|
||||
- releases/documentation
|
||||
|
||||
job_documentation_push:
|
||||
stage: push_documentation
|
||||
image: ubuntu:18.04
|
||||
before_script:
|
||||
- mkdir -p ~/.ssh
|
||||
- chmod 700 ~/.ssh
|
||||
- echo "$DOCUMENTATION_SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts
|
||||
- chmod 644 ~/.ssh/known_hosts
|
||||
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client rsync -y )'
|
||||
- eval $(ssh-agent -s)
|
||||
- echo "$DOCUMENTATION_SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
|
||||
script:
|
||||
- rsync -avzP --progress -e ssh docs/_build/html/* mayandocs@docs.mayan-edms.com:/home/rosarior/webapps/mayan_docs
|
||||
only:
|
||||
- releases/all
|
||||
- releases/documentation
|
||||
|
||||
job_build_python:
|
||||
stage: build_python
|
||||
image: ubuntu:18.04
|
||||
artifacts:
|
||||
expire_in: 1 hr
|
||||
paths:
|
||||
- dist
|
||||
before_script:
|
||||
- apt-get -qq update
|
||||
- apt-get install -qq locales make python-pip
|
||||
script:
|
||||
- echo "LC_ALL=\"en_US.UTF-8\"" >> /etc/default/locale
|
||||
- locale-gen en_US.UTF-8
|
||||
- update-locale LANG=en_US.UTF-8
|
||||
- export LC_ALL=en_US.UTF-8
|
||||
- pip install -r requirements/build.txt
|
||||
- make wheel
|
||||
only:
|
||||
- releases/all
|
||||
- releases/python
|
||||
|
||||
job_push_python:
|
||||
stage: push_python
|
||||
image: ubuntu:18.04
|
||||
before_script:
|
||||
- apt-get -qq update
|
||||
- apt-get install -qq python-pip
|
||||
script:
|
||||
- pip install -r requirements/build.txt
|
||||
- echo "$PYPIRC" > ~/.pypirc
|
||||
- twine upload dist/* -r pypi
|
||||
only:
|
||||
- releases/all
|
||||
- releases/python
|
||||
except:
|
||||
- master
|
||||
|
||||
.test_base: &test_base
|
||||
stage: test
|
||||
@@ -152,15 +44,8 @@ job_push_python:
|
||||
- locale-gen en_US.UTF-8
|
||||
- update-locale LANG=en_US.UTF-8
|
||||
- export LC_ALL=en_US.UTF-8
|
||||
- apt-get install -qq curl gcc ghostscript gpgv gnupg graphviz libfuse2 libjpeg-dev libmagic1 libpng-dev libtiff-dev poppler-utils libreoffice poppler-utils python-dev python-pip tesseract-ocr tesseract-ocr-deu
|
||||
- apt-get install -qq curl gcc ghostscript gpgv gnupg graphviz libjpeg-dev libmagic1 libpng-dev libtiff-dev poppler-utils libreoffice poppler-utils python-dev python-pip tesseract-ocr tesseract-ocr-deu
|
||||
- pip install -r requirements/testing.txt
|
||||
only:
|
||||
- releases/all
|
||||
- releases/docker
|
||||
- releases/python
|
||||
- master
|
||||
- staging
|
||||
- nightly
|
||||
|
||||
test-mysql:
|
||||
<<: *test_base
|
||||
@@ -195,33 +80,3 @@ test-sqlite:
|
||||
<<: *test_base
|
||||
script:
|
||||
- python manage.py test --mayan-apps --settings=mayan.settings.testing.gitlab-ci --nomigrations
|
||||
|
||||
deploy_demo:
|
||||
environment:
|
||||
name: demo
|
||||
stage: deploy
|
||||
before_script:
|
||||
- mkdir -p ~/.ssh
|
||||
- echo "${DEMO_SSH_KNOWN_HOST}" > ~/.ssh/known_hosts
|
||||
- chmod 644 ~/.ssh/known_hosts
|
||||
- echo "${DEMO_PRIVATE_KEY}" > ~/.ssh/id_rsa
|
||||
- chmod 600 ~/.ssh/id_rsa
|
||||
script:
|
||||
- scp contrib/scripts/install/docker.sh root@$DEMO_IP_ADDRESS:~
|
||||
- ssh root@$DEMO_IP_ADDRESS "DELETE_VOLUMES=true ./docker.sh"
|
||||
when: manual
|
||||
|
||||
deploy_staging:
|
||||
environment:
|
||||
name: staging
|
||||
stage: deploy
|
||||
before_script:
|
||||
- mkdir -p ~/.ssh
|
||||
- echo "${STAGING_SSH_KNOWN_HOST}" > ~/.ssh/known_hosts
|
||||
- chmod 644 ~/.ssh/known_hosts
|
||||
- echo "${STAGING_PRIVATE_KEY}" > ~/.ssh/id_rsa
|
||||
- chmod 600 ~/.ssh/id_rsa
|
||||
script:
|
||||
- scp contrib/scripts/install/docker.sh root@$STAGING_IP_ADDRESS:~
|
||||
- ssh root@$STAGING_IP_ADDRESS "DOCKER_MAYAN_IMAGE=registry.gitlab.com/mayan-edms/mayan-edms:staging ./docker.sh"
|
||||
when: manual
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
[settings]
|
||||
default_section = THIRDPARTY
|
||||
known_first_party = mayan
|
||||
known_django = django
|
||||
multi_line_output = 5
|
||||
sections = FUTURE,STDLIB,DJANGO,THIRDPARTY,FIRSTPARTY,LOCALFOLDER
|
||||
18
.tx/config
18
.tx/config
@@ -19,12 +19,6 @@ source_lang = en
|
||||
source_file = mayan/apps/authentication/locale/en/LC_MESSAGES/django.po
|
||||
type = PO
|
||||
|
||||
[mayan-edms.autoadmin-2-0]
|
||||
file_filter = mayan/apps/autoadmin/locale/<lang>/LC_MESSAGES/django.po
|
||||
source_lang = en
|
||||
source_file = mayan/apps/autoadmin/locale/en/LC_MESSAGES/django.po
|
||||
type = PO
|
||||
|
||||
[mayan-edms.cabinets-2-0]
|
||||
file_filter = mayan/apps/cabinets/locale/<lang>/LC_MESSAGES/django.po
|
||||
source_lang = en
|
||||
@@ -49,12 +43,6 @@ source_lang = en
|
||||
source_file = mayan/apps/converter/locale/en/LC_MESSAGES/django.po
|
||||
type = PO
|
||||
|
||||
[mayan-edms.dashboards-2-0]
|
||||
file_filter = mayan/apps/dashboards/locale/<lang>/LC_MESSAGES/django.po
|
||||
source_lang = en
|
||||
source_file = mayan/apps/dashboards/locale/en/LC_MESSAGES/django.po
|
||||
type = PO
|
||||
|
||||
[mayan-edms.django_gpg-2-0]
|
||||
file_filter = mayan/apps/django_gpg/locale/<lang>/LC_MESSAGES/django.po
|
||||
source_lang = en
|
||||
@@ -109,12 +97,6 @@ source_lang = en
|
||||
source_file = mayan/apps/events/locale/en/LC_MESSAGES/django.po
|
||||
type = PO
|
||||
|
||||
[mayan-edms.file_caching-2-0]
|
||||
file_filter = mayan/apps/file_caching/locale/<lang>/LC_MESSAGES/django.po
|
||||
source_lang = en
|
||||
source_file = mayan/apps/file_caching/locale/en/LC_MESSAGES/django.po
|
||||
type = PO
|
||||
|
||||
[mayan-edms.linking-2-0]
|
||||
file_filter = mayan/apps/linking/locale/<lang>/LC_MESSAGES/django.po
|
||||
source_lang = en
|
||||
|
||||
@@ -23,7 +23,7 @@ with deployments, webservers, cloud providers, etc.
|
||||
Code
|
||||
----
|
||||
|
||||
1. Complete and mail, or scan and email the corresponding Contributor Assignment Agreement: [Mayan EDMS Individual Contributor Assignment Agreement](https://docs.mayan-edms.com/topics/caa_individual.rst) or [Mayan EDMS Entity Contributor Assignment Agreement](https://docs.mayan-edms.com/topics/topics/caa_entity.rst).
|
||||
1. Complete and mail, or scan and email the corresponding Contributor Assignment Agreement: [Mayan EDMS Individual Contributor Assignment Agreement](http://mayan.readthedocs.io/en/latest/topics/caa_individual.rst) or [Mayan EDMS Entity Contributor Assignment Agreement](http://mayan.readthedocs.io/en/latest/topics/caa_entity.rst).
|
||||
1. Fork [the repository](http://gitlab.com/mayan-edms/mayan-edms).
|
||||
1. Choose the version for which you want to develop. The code is divided in the
|
||||
following branches:
|
||||
@@ -75,5 +75,5 @@ translation. Language teams that don't see activity for a while are deleted.
|
||||
|
||||
Code style
|
||||
----------
|
||||
- Refer to the [Development](https://docs.mayan-edms.com/topics/development.html)
|
||||
- Refer to the [Development](http://mayan.readthedocs.io/en/latest/topics/development.html)
|
||||
chapter for information and examples of the code style.
|
||||
|
||||
1114
HISTORY.rst
1114
HISTORY.rst
File diff suppressed because it is too large
Load Diff
@@ -1,60 +0,0 @@
|
||||
1.1.1 (2015-05-21)
|
||||
==================
|
||||
|
||||
- Update to Django 1.6.11
|
||||
- Fix make_dist.sh script
|
||||
- Add test for issue #163
|
||||
- Activate tests for the sources app
|
||||
- Removal of the registration app
|
||||
- New simplified official project description
|
||||
- Improvements to the index admin interface
|
||||
- Removal of installation statistics gathering
|
||||
- Remove unused folder tag
|
||||
- Fix usage of ugettext to ugettext_lazy
|
||||
- Increase size of the lock name field
|
||||
- New style documentation
|
||||
|
||||
|
||||
1.1 (2015-02-10)
|
||||
================
|
||||
- Uses Celery for background tasks
|
||||
- Removal of the splash screen
|
||||
- Adds a home view with common function buttons
|
||||
- Support for sending and receiving documents via email
|
||||
- Removed custom logging app in favor of django-actvity-stream
|
||||
- Adds watch folders
|
||||
- Includes Vagrant file for unified development and testing environments
|
||||
- Per user locale profile (language and timezone)
|
||||
- Includes news document workflow app
|
||||
- Optional and required metadata types
|
||||
- Improved testings. Automated tests against SQLite, MySQL, PostgreSQL
|
||||
- Many new REST API endpoints added
|
||||
- Simplified text messages
|
||||
- Improved method for custom settings
|
||||
- Addition of CORS support to the REST API
|
||||
- Per document language setting instead of per installation language setting
|
||||
- Metadata validation and parsing support
|
||||
- Start of code updates towards Python 3 support
|
||||
- Simplified UI
|
||||
- Stable PDF previews generation
|
||||
- More technical documentation
|
||||
|
||||
|
||||
1.0 (2014-08-27)
|
||||
================
|
||||
- New home @ https://github.com/mayan-edms/mayan-edms
|
||||
- Updated to use Django 1.6
|
||||
- Translation updates
|
||||
- Custom model properties removal
|
||||
- Source code improvements
|
||||
- Removal of included 3rd party modules
|
||||
- Automatic testing and code coverage check
|
||||
- Update of required modules and libraries versions
|
||||
- Database connection leaks fixes
|
||||
- Support for deletion of detached signatures
|
||||
- Removal of Fabric based installations script
|
||||
- Pluggable OCR backends
|
||||
- OCR improvements
|
||||
- License change, Mayan EDMS in now licensed under the Apache 2.0 License
|
||||
- PyPI package, Mayan EDMS in now available on PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
- New REST API
|
||||
435
HISTORY_2_x.rst
435
HISTORY_2_x.rst
@@ -1,435 +0,0 @@
|
||||
2.7.3 (2017-09-11)
|
||||
==================
|
||||
- Fix task manager queue list view. Thanks to LeVon Smoker for
|
||||
the report.
|
||||
- Fix resolved link class URL mangling when the keep_query argument is
|
||||
used. Thanks to Nick Douma (LordGaav) for the report and diagnostic
|
||||
information. Fixes source navigation on the document upload wizard.
|
||||
|
||||
2.7.2 (2017-09-06)
|
||||
==================
|
||||
- Fix new mailer creation view. GitLab issue #431.
|
||||
Thanks to Robert Schöftner (@robert.schoeftner) for the
|
||||
report and the solution.
|
||||
- Consolidate intial document created event and the first
|
||||
document properties edited events. Preserve the user that
|
||||
initially creates the document. GitLab issue #433. Thanks
|
||||
to Jesaja Everling (@jeverling) for the report.
|
||||
- Sort the list of root cabinets. Thanks to Thomas Plotkowiak
|
||||
for the request.
|
||||
- Sort the list of a document's cabinets.
|
||||
- Display a document's cabinet list in italics. GitLab issue #435.
|
||||
Thanks to LeVon Smoker for the request.
|
||||
- Install mock by default to allow easier testing of deployed
|
||||
instances.
|
||||
|
||||
2.7.1 (2017-09-03)
|
||||
==================
|
||||
- Support unicode in URL querystring. GitLab issue #423.
|
||||
Thanks to Gustavo Teixeira (@gsteixei) for the find.
|
||||
- Import errors during initialization are only ignored
|
||||
if they are cause by a missing local.py. Thanks to
|
||||
MacRobb Simpson for the report and solution.
|
||||
- Make sure the local.py created used unicode for strings
|
||||
by default. GitLab issue #424. Thanks to Gustavo Teixeira
|
||||
(@gsteixei) for the find.
|
||||
|
||||
2.7 (2017-08-30)
|
||||
================
|
||||
- Add workaround for PDF with IndirectObject as the
|
||||
rotation value. GitHub #261.
|
||||
- Add ACL list link with icon and use it for the document facet menu.
|
||||
- Fix mailing app permissions labels.
|
||||
- Add ACLs link and ACLs permissions to the mailer profile model.
|
||||
- Improve mailer URL regex.
|
||||
- Add ordering support to the SourceColumn class. GitLab issue #417.
|
||||
- Shows the cabinets in the document list. GitLab #417 @corneliusludmann
|
||||
- Add workaround for pycountry versions without the bibliographical key.
|
||||
GitHub issue #250.
|
||||
- Skip UUID migration on Oracle backends. GitHub issue #251.
|
||||
- Allow changing the output format, DPI of the pdftoppm command, and
|
||||
the output format of the converter via the CONVERTER_GRAPHICS_BACKEND_CONFIG
|
||||
setting. GitHub issues #256 #257 GitLab issue #416.
|
||||
- Add support for workflow triggers.
|
||||
- Add support for workflow actions.
|
||||
- Add support for rendering workflows.
|
||||
- Add support for unbinding sub menus.
|
||||
- Fix mailing profile test view.
|
||||
- Disregard the last 3 dots that mark the end of the YAML document.
|
||||
- Add support for multiple dashboards.
|
||||
- Add support for removing dashboard widgets.
|
||||
- Convert document version view to item list view.
|
||||
- Add support for browsing individual document versions.
|
||||
- Add support for dropdown menus to the item list view template.
|
||||
- Add support for preserving the file extension when downloading a document
|
||||
version. GitLab #415.
|
||||
- Split OCR app into OCR and parsing.
|
||||
- Remove Folders app.
|
||||
- Use the literal 'System' instead of the target name when
|
||||
the action user in unknown.
|
||||
- Remove the view to submit all document for OCR.
|
||||
- When changing document types, don't delete the old metadata that is
|
||||
also found in the new document type. GitLab issue #421.
|
||||
- Add tag attach and tag remove events.
|
||||
- Change the permission needed to attach and remove tags.
|
||||
- Add HTTP POST workflow state action.
|
||||
- Add access control grant workflow state action.
|
||||
- Beta Python 3 support.
|
||||
|
||||
2.6.4 (2017-07-26)
|
||||
==================
|
||||
- Add missing replacements of reverse to resolve_url.
|
||||
|
||||
2.6.3 (2017-07-25)
|
||||
==================
|
||||
- Add makefile target to launch a PostgreSQL container.
|
||||
- Use resolve_url instead of redirect to resolve the post login URL.
|
||||
- Make the intialsetup and performupgrade management tasks work
|
||||
with signals to allow customization from 3rd party apps.
|
||||
- PEP8 cleanups.
|
||||
- Add tag_ids keyword argument to the Source.handle_upload
|
||||
model method. GitLab issue #413.
|
||||
- Add overflow wrapping so wrap long titles in Firefox too.
|
||||
- Makes Roles searchable. GitLab issue #402.
|
||||
- Add line numbers to the debug and production loggers.
|
||||
Add date and time to the production logger.
|
||||
- Add support for generating setup.py from a template. GitLab
|
||||
#149 #200.
|
||||
- Add fade in animation to document images.
|
||||
|
||||
2.6.2 (2017-07-19)
|
||||
==================
|
||||
- Fix deprecation warning to prepare upgrade to Django 1.11 and 2.0.
|
||||
- Fix document page zoom.
|
||||
- Add support to run tests against a MySQL, Postgres or Oracle container.
|
||||
- Improve tag widget customization by moving the markup to its own template.
|
||||
- Fix document page widget appearance in the document page list view.
|
||||
- Make document version order deterministic.
|
||||
- Allow total page number instrospection of encrypted PDF with non ASCII user properties. GitLab issue #411.
|
||||
- Oracle database compatibility update in the cabinets app. GitHub #258.
|
||||
|
||||
2.6.1 (2017-07-18)
|
||||
==================
|
||||
- Fix issue when editing or removing metadata from multiple documents.
|
||||
|
||||
2.6 (2017-07-18)
|
||||
================
|
||||
- Fix HTML mark up in window title. GitLab #397.
|
||||
- Add support for emailing documents to a recipient list. GitLab #396.
|
||||
- Backport metadata widget changes from @Macrobb. GitLab #377.
|
||||
- Make users and group searchable.
|
||||
- Add support for logging errors during in production mode.
|
||||
Add COMMON_PRODUCTION_ERROR_LOG_PATH to control path of log file.
|
||||
Defaults to mayan/error.log.
|
||||
- Add support logging request exceptions.
|
||||
- Add document list item view.
|
||||
- Sort setting by namespace label and by global name second.
|
||||
- Sort indexes by label.
|
||||
- Fix cabinets permission and access control checking.
|
||||
- The permission to add or remove documents to cabinets now applies to documents too.
|
||||
- Equalize dashboard widgets heights.
|
||||
- Switch the order of the DEFAULT_AUTHENTICATION_CLASSES of DRF. GitLab #400.
|
||||
- Backport document's version list view permission.
|
||||
- Improve code to unbind menu entries.
|
||||
- Renamed the document type permission namespace from "Document setup" to "Document types".
|
||||
- Add support for granting the document type edit, document type delete, and document type view
|
||||
permissions to individual document type instances.
|
||||
- Improved tests by testing for accesses.
|
||||
- Increase the size of the mailing profile label field to 128 characters.
|
||||
|
||||
2.5.2 (2017-07-08)
|
||||
==================
|
||||
- Improve new document creation signal handling.
|
||||
Fixes issue with duplicate scanning at upload.
|
||||
|
||||
2.5.1 (2017-07-08)
|
||||
==================
|
||||
- Update release target due to changes in PyPI.
|
||||
|
||||
2.5 (2017-07-07)
|
||||
================
|
||||
- Add view to download a document's OCR text. GitLab #215
|
||||
- Add user configurable mailer. GitLab #286.
|
||||
- Use Toasts library for screen messages.
|
||||
- Reduce verbosity of some debug messages.
|
||||
- Add new lineart transformation.
|
||||
- Fix SANE source resolution field.
|
||||
- About and Profile menu reorganization.
|
||||
- PDF compatibility improvements.
|
||||
- Office document coversion improvements.
|
||||
- New metadata type setup UI.
|
||||
- Duplicated document scan support.
|
||||
- "Remember me" login support.
|
||||
- Forgotten password restore via email.
|
||||
- Document cache disabling.
|
||||
- Translation improvements.
|
||||
- Image loading improvements.
|
||||
- Lower JavaScript memory utilization.
|
||||
- HTML reponsive layout improvements.
|
||||
- Make document deletion a background task.
|
||||
- Unicode handling improvements.
|
||||
- Python3 compatilibyt improvements.
|
||||
- New screen messages using Toastr.
|
||||
|
||||
2.4 (2017-06-23)
|
||||
================
|
||||
- Add Django-mathfilters.
|
||||
- Improve render of documents with no pages.
|
||||
- Add SANE scanner document source.
|
||||
- Added PDF orientation detection. GitLab issue #387.
|
||||
- Fix repeated permission list API URL. GitLab issue #389.
|
||||
- Fix role creation API endpoint not returning id. GitLab issue #390.
|
||||
- Make tags, metadata types and cabinets searchable via the dynamic search API. GitLab issue #344.
|
||||
- Add support for updating configuration options from environment variables.
|
||||
- Add purgelocks management command. GitLab issue #221.
|
||||
- Fix index rebuilding for multi value first levels. GitLab issue #391.
|
||||
- Truncate views titles via the APPEARANCE_MAXIMUM_TITLE_LENGTH setting. GitLab issue #217.
|
||||
- Add background task manager app. GitLab issue #132.
|
||||
- Add link to show a document's OCR errors. GitLab issue #291.
|
||||
|
||||
2.3 (2017-06-08)
|
||||
================
|
||||
- Allow for bigger indexing expression templates.
|
||||
- Auto select checkbox when updating metadata values. GitLab issue #371.
|
||||
- Added support for passing the options allow-other and allow-root to the
|
||||
FUSE index mirror. GitLab issue #385
|
||||
- Add support for check for the latest released version of Mayan from the
|
||||
About menu.
|
||||
- Support for rebuilding specific indexes. GitLab issue #372.
|
||||
- Rewrite document indexing code to be faster and use less locking.
|
||||
- Use a predefined file path for the file lock.
|
||||
- Catch documents with not document version when displaying their thumbnails.
|
||||
- Document page navigation fix when using Mayan as a sub URL app.
|
||||
- Add support for indexing on workflow state changes.
|
||||
- Add search model list API endpoint.
|
||||
|
||||
2.2 (2017-04-26)
|
||||
================
|
||||
- Remove the installation app (GitLab #301).
|
||||
- Add support for document page search
|
||||
- Remove recent searches feature
|
||||
- Remove dependency on the django-filetransfer library
|
||||
- Fix height calculation in resize transformation
|
||||
- Improve upgrade instructions
|
||||
- New image caching pipeline
|
||||
- New drop down menus for the documents, folders and tags app as well as for
|
||||
the user links.
|
||||
- New Dashboard view
|
||||
- Moved licenses to their own module in every app
|
||||
- Update project to work with Django 1.10.4.
|
||||
- Tags are alphabetically ordered by label (GitLab #342).
|
||||
- Stop loading theme fonts from the web (GitLab #343).
|
||||
- Add support for attaching multiple tags (GitLab #307).
|
||||
- Integrate the Cabinets app.
|
||||
|
||||
2.1.11 (2017-03-14)
|
||||
===================
|
||||
- Added a quick rename serializer to the document type API serializer.
|
||||
- Added per document type, workflow list API view.
|
||||
- Mayan EDMS was adopted a version 1.1 of the Linux Foundation Developer Certificate of Origin.
|
||||
- Added the detail url of a permission in the permission serializer.
|
||||
- Added endpoints for the ACL app API.
|
||||
- Implemented document workflows transition ACLs. GitLab issue #321.
|
||||
- Add document comments API endpoints. GitHub issue #249.
|
||||
- Add support for overriding the Celery class.
|
||||
- Changed the document upload view in source app to not use the HTTP referer
|
||||
URL blindly, but instead recompose the URL using known view name. Needed
|
||||
when integrating Mayan EDMS into other app via using iframes.
|
||||
- Addes size field to the document version serializer.
|
||||
- Removed the serializer from the deleted document restore API endpoint.
|
||||
- Added support for adding or editing document types to smart links via the
|
||||
API.
|
||||
|
||||
2.1.10 (2017-02-13)
|
||||
===================
|
||||
- Update Makefile to use twine for releases.
|
||||
- Add Makefile target to make test releases.
|
||||
|
||||
2.1.9 (2017-02-13)
|
||||
==================
|
||||
- Update make file to Workaround long standing pypa wheel bug #99
|
||||
|
||||
2.1.8 (2017-02-12)
|
||||
==================
|
||||
- Fixes in the trashed document API endpoints.
|
||||
- Improved tags API PUT and PATCH endpoints.
|
||||
- Bulk document adding when creating and editing tags.
|
||||
- The version of django-mptt is preserved in case mayan-cabinets is installed.
|
||||
- Add Django GPG API endpoints for singing keys.
|
||||
- Add API endpoints for the document states (workflows) app.
|
||||
- Add API endpoints for the messsage of the day (MOTD) app.
|
||||
- Add Smart link API endpoints.
|
||||
- Add writable versions of the Document and Document Type serializers (GitLab issues #348 and #349).
|
||||
- Close GitLab issue #310 "Metadata's lookup with chinese messages when new document"
|
||||
|
||||
2.1.7 (2017-02-01)
|
||||
==================
|
||||
- Improved user management API endpoints.
|
||||
- Improved permissions API endpoints.
|
||||
- Improvements in the API tests of a few apps.
|
||||
- Addition Content type list API view to the common app.
|
||||
- Add API endpoints to the events app.
|
||||
- Enable the parser and validation fields of the metadata serializer.
|
||||
|
||||
2.1.6 (2016-11-23)
|
||||
==================
|
||||
- Fix variable name typo in the rotation transformation class.
|
||||
- Update translations
|
||||
|
||||
2.1.5 (2016-11-08)
|
||||
==================
|
||||
- Backport resize transformation math operation fix (GitLab #319).
|
||||
- Update Pillow to 3.1.2 (Security fix).
|
||||
- Backport zoom transformation performance improvement (GitLab #334).
|
||||
- Backport trash can navigation link resolution fix (GitLab #331).
|
||||
- Improve documentation regarding the use of GPG version 1 (GitLab #333).
|
||||
- Fix ACL create view HTML response type. (GitLab #335).
|
||||
- Expland staging folder and watch folder explanation.
|
||||
|
||||
2.1.4 (2016-10-28)
|
||||
==================
|
||||
- Add missing link to the 2.1.3 release notes in the index file.
|
||||
- Improve TempfileCheckMixin.
|
||||
- Fix statistics namespace list display view.
|
||||
- Fix events list display view.
|
||||
- Update required Django version to 1.8.15.
|
||||
- Update required python-gnupg version to 0.3.9.
|
||||
- Improved orphaned temporary files test mixin.
|
||||
- Re-enable and improve GitLab CI MySQL testing.
|
||||
- Improved GPG handling.
|
||||
- New GPG backend system.
|
||||
- Minor documentation updates.
|
||||
|
||||
2.1.3 (2016-06-29)
|
||||
==================
|
||||
- Add help message when initialsetup migration phase fails. Relates to GitLab issue #296.
|
||||
- Start using self.setdout instead of print as per documentation.
|
||||
- Fix GitLab issue #295, "When editing a user the top bar jumps to the name of the user".
|
||||
- Normalize handling of temporary file and directory creation.
|
||||
- Fix GitLab issue #309, "Temp files quickly filling-up my /tmp (1GB tmpfs)".
|
||||
- Explicitly check for residual temporary files in tests.
|
||||
- Add missing temporary file cleanup for office documents.
|
||||
- Fix file descriptor leak in the document signature download test.
|
||||
|
||||
2.1.2 (2016-05-20)
|
||||
==================
|
||||
- Sort document languages and user profile locale language lists. GitLab issue #292.
|
||||
- Fix metadata lookup for {{ users }} and {{ group }}. Fixes GitLab #290.
|
||||
- Add Makefile for common development tasks
|
||||
|
||||
2.1.1 (2016-05-17)
|
||||
==================
|
||||
- Fix navigation issue that make it impossible to add new sources. GitLab issue #288.
|
||||
- The Tesseract OCR backend now reports if the requested language file is missing. GitLab issue #289.
|
||||
- Ensure the automatic default index is created after the default document type.
|
||||
|
||||
2.1 (2016-05-14)
|
||||
================
|
||||
- Upgrade to use Django 1.8.13. Issue #246.
|
||||
- Upgrade requirements.
|
||||
- Remove remaining references to Django's User model. GitLab issue #225
|
||||
- Rename 'Content' search box to 'OCR'.
|
||||
- Remove included login required middleware using django-stronghold instead (http://mikegrouchy.com/django-stronghold/).
|
||||
- Improve generation of success and error messages for class based views.
|
||||
- Remove ownership concept from folders.
|
||||
- Replace strip_spaces middleware with the spaceless template tag. GitLab issue #255
|
||||
- Deselect the update checkbox for optional metadata by default.
|
||||
- Silence all Django 1.8 model import warnings.
|
||||
- Implement per document type document creation permission. Closes GitLab issue #232.
|
||||
- Add icons to the document face menu links.
|
||||
- Increase icon to text spacing to 3px.
|
||||
- Make document type delete time period optional.
|
||||
- Fixed date locale handling in document properties, checkout and user detail views.
|
||||
- Add new permission: checkout details view.
|
||||
- Add HTML5 upload widget. Issue #162.
|
||||
- Add Message of the Day app. Issue #222
|
||||
- Update Document model's uuid field to use Django's native UUIDField class.
|
||||
- Add new split view index navigation
|
||||
- Newly uploaded documents appear in the Recent document list of the user.
|
||||
- Document indexes now have ACL support.
|
||||
- Remove the document index setup permission.
|
||||
- Status messages now display the object class on which they operate not just the word "Object".
|
||||
- More tests added.
|
||||
- Handle unicode filenames in staging folders.
|
||||
- Add staging file deletion permission.
|
||||
- New document_signature_view permission.
|
||||
- Add support for signing documents.
|
||||
- Instead of multiple keyservers only one keyserver is now supported.
|
||||
- Replace document type selection widget with an opened selection list.
|
||||
- Add mailing documentation chapter.
|
||||
- Add roadmap documentation chapter.
|
||||
- API updates.
|
||||
|
||||
|
||||
2.0.2 (2016-02-09)
|
||||
==================
|
||||
- Install testing dependencies when installing development dependencies.
|
||||
- Fix GitLab issue #250 "Empty optional lookup metadata trigger validation error".
|
||||
- Fix OCR API test.
|
||||
- Move metadata form value validation to .clean() method.
|
||||
- Only extract validation error messages from ValidationError exception instances.
|
||||
- Don't store empty metadata value if the update checkbox is not checked.
|
||||
- Add 2 second delay to document version tests to workaround MySQL limitation.
|
||||
- Strip HTML tags from the browser title.
|
||||
- Remove Docker and Docker Compose files.
|
||||
|
||||
|
||||
2.0.1 (2016-01-22)
|
||||
==================
|
||||
- Fix GitLab issue #243, "System allows a user to skip entering values for a required metadata field while uploading a new document"
|
||||
- Fix GitLab issue #245, "Add multiple metadata not possible"
|
||||
- Updated Vagrantfile to provision a production box too.
|
||||
|
||||
|
||||
2.0 (2015-12-04)
|
||||
================
|
||||
- New source homepage: https://gitlab.com/mayan-edms/mayan-edms
|
||||
- Update to Django 1.7
|
||||
- New Bootstrap Frontend UI
|
||||
- Easier theming and rebranding
|
||||
- Improved page navigation interface
|
||||
- Menu reorganization
|
||||
- Removal of famfam icon set
|
||||
- Improved document preview generation
|
||||
- Document submission for OCR changed to POST
|
||||
- New YAML based settings system
|
||||
- Removal of auto admin creation as separate app
|
||||
- Removal of dependencies
|
||||
- ACL system refactor
|
||||
- Object access control inheritance
|
||||
- Removal of anonymous user support
|
||||
- Metadata validators refactor
|
||||
- Trash can support
|
||||
- Retention policies
|
||||
- Support for sharing indexes as FUSE filesystems
|
||||
- Clickable preview images titles
|
||||
- Removal of eval
|
||||
- Smarter OCR, per page parsing or OCR fallback
|
||||
- Improve failure tolerance (not all Operational Errors are critical now)
|
||||
- RGB tags
|
||||
- Default document type and default document source
|
||||
- Link unbinding
|
||||
- Statistics refactor
|
||||
- Apps merge
|
||||
- New signals
|
||||
- Test improvements
|
||||
- Indexes recalculation after document creation too
|
||||
- Upgrade command
|
||||
- OCR data moved to ocr app from documents app
|
||||
- New internal document creation workflow return a document stub
|
||||
- Auto console debug logging during development and info during production
|
||||
- New class based and menu based navigation system
|
||||
- New class based transformations
|
||||
- Usage of Font Awesome icons set
|
||||
- Management command to remove obsolete permissions: `purgepermissions`
|
||||
- Normalization of 'title' and 'name' fields to 'label'
|
||||
- Improved API, now at version 1
|
||||
- Invert page title/project name order in browser title
|
||||
- Django's class based views pagination
|
||||
- Reduction of text strings
|
||||
- Removal of the CombinedSource class
|
||||
- Removal of default class ACLs
|
||||
- Removal of the ImageMagick and GraphicsMagick converter backends
|
||||
- Remove support for applying roles to new users automatically
|
||||
- Removal of the DOCUMENT_RESTRICTIONS_OVERRIDE permission
|
||||
- Removed the page_label field
|
||||
2
LICENSE
2
LICENSE
@@ -1,4 +1,4 @@
|
||||
Copyright 2011-2018 Roberto Rosario
|
||||
Copyright 2011-2015 Roberto Rosario
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
include README.md LICENSE HISTORY.rst mayan/LICENSE
|
||||
recursive-include mayan/apps *.txt *.html *.css *.ico *.png *.jpg *.js *.po *.mo *.ttf *.woff *.woff2 *.gif *.eot *.svg *.doc *.pdf *.tiff *.sig *.asc *.gpg *.zip *.tar *.gz *.bz2 package.json
|
||||
recursive-include mayan/apps *.txt *.html *.css *.ico *.png *.jpg *.js *.po *.mo *.ttf *.woff *.woff2 *.gif *.eot *.svg *.doc *.pdf *.tiff *.sig *.asc *.gpg *.zip package.json
|
||||
global-exclude mayan/settings/local.py mayan/settings/travis/* mayan/media/*
|
||||
|
||||
32
Makefile
32
Makefile
@@ -133,22 +133,19 @@ test-with-oracle-all: test-launch-oracle
|
||||
docs-serve:
|
||||
cd docs;make livehtml
|
||||
|
||||
docs-spellcheck:
|
||||
|
||||
sphinx-build -b spelling -d docs/_build/ docs docs/_build/spelling
|
||||
|
||||
# Translations
|
||||
|
||||
translations-make:
|
||||
translations_make:
|
||||
contrib/scripts/process_messages.py -m
|
||||
|
||||
translations-compile:
|
||||
translations_compile:
|
||||
contrib/scripts/process_messages.py -c
|
||||
|
||||
translations-push:
|
||||
translations_push:
|
||||
tx push -s
|
||||
|
||||
translations-pull:
|
||||
translations_pull:
|
||||
tx pull -f
|
||||
|
||||
|
||||
@@ -158,13 +155,6 @@ generate-setup:
|
||||
|
||||
# Releases
|
||||
|
||||
increase-version:
|
||||
@VERSION=`grep "__version__ =" mayan/__init__.py| cut -d\' -f 2|./increase_version.py - $(PART)`; \
|
||||
BUILD=`echo $$VERSION|awk '{split($$VERSION,a,"."); printf("0x%02d%02d%02d\n", a[1],a[2], a[3])}'`; \
|
||||
sed -i -e "s/__build__ = 0x[0-9]*/__build__ = $${BUILD}/g" mayan/__init__.py; \
|
||||
sed -i -e "s/__version__ = '[0-9\.]*'/__version__ = '$${VERSION}'/g" mayan/__init__.py; \
|
||||
echo $$VERSION > docker/version
|
||||
make generate-setup
|
||||
|
||||
test-release: clean wheel
|
||||
twine upload dist/* -r testpypi
|
||||
@@ -196,13 +186,12 @@ release-test-via-docker-ubuntu:
|
||||
|
||||
release-via-docker-ubuntu:
|
||||
docker run --rm --name mayan_release -v $(HOME):/host_home:ro -v `pwd`:/host_source -w /source ubuntu:16.04 /bin/bash -c "\
|
||||
apt-get update && \
|
||||
apt-get -y install locales && \
|
||||
echo "LC_ALL=\"en_US.UTF-8\"" >> /etc/default/locale && \
|
||||
locale-gen en_US.UTF-8 && \
|
||||
update-locale LANG=en_US.UTF-8 && \
|
||||
export LC_ALL=en_US.UTF-8 && \
|
||||
cp -r /host_source/* . && \
|
||||
apt-get update && \
|
||||
apt-get install make python-pip -y && \
|
||||
pip install -r requirements/build.txt && \
|
||||
cp -r /host_home/.pypirc ~/.pypirc && \
|
||||
@@ -283,7 +272,7 @@ test-with-docker-frontend:
|
||||
./manage.py runserver --settings=mayan.settings.staging.docker
|
||||
|
||||
test-with-docker-worker:
|
||||
./manage.py celery worker --settings=mayan.settings.staging.docker -B -l INFO
|
||||
./manage.py celery worker --settings=mayan.settings.staging.docker -B -l INFO -O fair
|
||||
|
||||
docker-mysql-on:
|
||||
docker run -d --name mysql -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=True -e MYSQL_DATABASE=mayan_edms mysql
|
||||
@@ -315,14 +304,15 @@ find-gitignores:
|
||||
|
||||
build:
|
||||
docker rm -f mayan-edms-build || true && \
|
||||
docker run --rm --name mayan-edms-build -v $(HOME):/host_home:ro -v `pwd`:/host_source -w /source python:2-slim sh -c "\
|
||||
docker run --rm --name mayan-edms-build -v $(HOME):/host_home:ro -v `pwd`:/host_source -w /source python:2-alpine3.7 /bin/busybox sh -c "\
|
||||
rm /host_source/dist -R || true && \
|
||||
mkdir /host_source/dist || true && \
|
||||
export LC_ALL=C.UTF-8 && \
|
||||
export LC_ALL=en_US.UTF-8 && \
|
||||
cp -r /host_source/* . && \
|
||||
apt-get update && \
|
||||
apt-get install -y make && \
|
||||
apk update && \
|
||||
apk add make && \
|
||||
pip install -r requirements/build.txt && \
|
||||
cp -r /host_home/.pypirc ~/.pypirc && \
|
||||
make wheel && \
|
||||
cp dist/* /host_source/dist/"
|
||||
|
||||
|
||||
12
README.md
12
README.md
@@ -50,7 +50,7 @@ The easiest way to use Mayan EDMS is by using the official
|
||||
and working before attempting to install Mayan EDMS.
|
||||
|
||||
For the complete set of installation instructions visit the Mayan EDMS documentation
|
||||
at: https://docs.mayan-edms.com/topics/installation.html
|
||||
at: http://mayan.readthedocs.io/en/latest/topics/installation.html
|
||||
|
||||
<h2 align="center">Hardware requirements</h2>
|
||||
|
||||
@@ -61,12 +61,14 @@ at: https://docs.mayan-edms.com/topics/installation.html
|
||||
|
||||
|
||||
- [Homepage](http://www.mayan-edms.com)
|
||||
- [Documentation](https://docs.mayan-edms.com)
|
||||
- [Wiki](https://wiki.mayan-edms.com/)
|
||||
- [Videos](https://www.youtube.com/channel/UCJOOXHP1MJ9lVA7d8ZTlHPw)
|
||||
- [Documentation](http://mayan.readthedocs.io/en/stable/)
|
||||
- [Paid support](http://www.mayan-edms.com/providers/)
|
||||
- [Roadmap](https://gitlab.com/mayan-edms/mayan-edms/wikis/roadmap)
|
||||
- [Contributing](https://gitlab.com/mayan-edms/mayan-edms/blob/master/CONTRIBUTING.md)
|
||||
- [Forum](https://forum.mayan-edms.com/)
|
||||
- [Community forum](https://groups.google.com/forum/#!forum/mayan-edms)
|
||||
- [Community forum archive](http://mayan-edms.1003.x6.nabble.com/)
|
||||
- [Source code, issues, bugs](https://gitlab.com/mayan-edms/mayan-edms)
|
||||
- [Plug-ins, other related projects](https://gitlab.com/mayan-edms/)
|
||||
- [Translations](https://www.transifex.com/rosarior/mayan-edms/)
|
||||
- [Videos](https://www.youtube.com/channel/UCJOOXHP1MJ9lVA7d8ZTlHPw)
|
||||
|
||||
|
||||
12
README.rst
12
README.rst
@@ -21,7 +21,7 @@ Make sure Docker is properly installed and working before attempting to install
|
||||
Mayan EDMS.
|
||||
|
||||
For the complete set of installation instructions visit the Mayan EDMS documentation
|
||||
at: https://docs.mayan-edms.com/topics/installation.html
|
||||
at: http://mayan.readthedocs.io/en/latest/topics/installation.html
|
||||
|
||||
.. _Docker: https://www.docker.com/
|
||||
|
||||
@@ -34,14 +34,16 @@ Hardware requirements
|
||||
Important links
|
||||
|
||||
- `Homepage <http://www.mayan-edms.com>`__
|
||||
- `Documentation <https://docs.mayan-edms.com>`__
|
||||
- `Wiki <https://wiki.mayan-edms.com>`__
|
||||
- `Videos <https://www.youtube.com/channel/UCJOOXHP1MJ9lVA7d8ZTlHPw>`__
|
||||
- `Documentation <http://mayan.readthedocs.io/en/stable/>`__
|
||||
- `Paid support <http://www.mayan-edms.com/providers/>`__
|
||||
- `Roadmap <https://gitlab.com/mayan-edms/mayan-edms/wikis/roadmap>`__
|
||||
- `Contributing <https://gitlab.com/mayan-edms/mayan-edms/blob/master/CONTRIBUTING.md>`__
|
||||
- `Forum <https://forum.mayan-edms.com>`__
|
||||
- `Community forum <https://groups.google.com/forum/#!forum/mayan-edms>`__
|
||||
- `Community forum archive <http://mayan-edms.1003.x6.nabble.com/>`__
|
||||
- `Source code, issues, bugs <https://gitlab.com/mayan-edms/mayan-edms>`__
|
||||
- `Plug-ins, other related projects <https://gitlab.com/mayan-edms/>`__
|
||||
- `Translations <https://www.transifex.com/rosarior/mayan-edms/>`__
|
||||
- `Videos <https://www.youtube.com/channel/UCJOOXHP1MJ9lVA7d8ZTlHPw>`__
|
||||
|
||||
|
||||
.. |pypi| image:: http://img.shields.io/pypi/v/mayan-edms.svg
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
__title__ = 'Mayan EDMS'
|
||||
__version__ = '{{ version }}'
|
||||
__build__ = {{ build }}
|
||||
__build_string__ = '{{ build_string }}'
|
||||
__django_version__ = '1.11'
|
||||
__author__ = 'Roberto Rosario'
|
||||
__author_email__ = 'roberto.rosario@mayan-edms.com'
|
||||
__description__ = 'Free Open Source Electronic Document Management System'
|
||||
__license__ = 'Apache 2.0'
|
||||
__copyright_short__ = '2011-2018 Roberto Rosario'
|
||||
__copyright__ = '{} {}'.format('Copyright', __copyright_short__)
|
||||
__website__ = 'https://www.mayan-edms.com'
|
||||
@@ -3,6 +3,6 @@
|
||||
apt-get update
|
||||
apt-get install -y --no-install-recommends tesseract-ocr-deu
|
||||
|
||||
$MAYAN_PIP_BIN install -r $DOCKER_ROOT/requirements-testing.txt
|
||||
pip install -r $DOCKER_ROOT/requirements-testing.txt
|
||||
|
||||
$MAYAN_BIN test --mayan-apps --settings=mayan.settings.testing
|
||||
mayan-edms.py test --mayan-apps --settings=mayan.settings.testing
|
||||
|
||||
@@ -18,7 +18,7 @@ sudo apt-get -qq update
|
||||
sudo apt-get -y upgrade
|
||||
|
||||
echo -e "\n -> Installing core binaries \n"
|
||||
sudo apt-get -y install exiftool git-core python-virtualenv gcc python-dev libjpeg-dev libpng-dev libtiff-dev tesseract-ocr poppler-utils libreoffice
|
||||
sudo apt-get -y install git-core python-virtualenv gcc python-dev libjpeg-dev libpng-dev libtiff-dev tesseract-ocr poppler-utils libreoffice
|
||||
|
||||
echo -e "\n -> Cloning development branch of repository \n"
|
||||
git clone /mayan-edms-repository/ $INSTALLATION_DIRECTORY
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,131 +0,0 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# This script is meant for quick & easy install via:
|
||||
# $ curl -fsSL get.mayan-edms.com -o get-mayan-edms.sh
|
||||
# $ sh get-mayan-edms.sh
|
||||
#
|
||||
# NOTE: Make sure to verify the contents of the script
|
||||
# you downloaded matches the contents of docker.sh
|
||||
# located at https://gitlab.com/mayan-edms/mayan-edms/blob/master/contrib/scripts/install/docker.sh
|
||||
# before executing.
|
||||
|
||||
: ${VERBOSE:=true}
|
||||
: ${INSTALL_DOCKER:=false}
|
||||
: ${DELETE_VOLUMES:=false}
|
||||
: ${DATABASE_USER:=mayan}
|
||||
: ${DATABASE_NAME:=mayan}
|
||||
: ${DATABASE_PASSWORD:=mayanuserpass}
|
||||
: ${DOCKER_POSTGRES_IMAGE:=postgres:9.5}
|
||||
: ${DOCKER_POSTGRES_CONTAINER:=mayan-edms-postgres}
|
||||
: ${DOCKER_POSTGRES_VOLUME:=/docker-volumes/mayan-edms/postgres}
|
||||
: ${DOCKER_POSTGRES_PORT:=5432}
|
||||
: ${DOCKER_MAYAN_IMAGE:=mayanedms/mayanedms:latest}
|
||||
: ${DOCKER_MAYAN_CONTAINER:=mayan-edms}
|
||||
: ${DOCKER_MAYAN_VOLUME:=/docker-volumes/mayan-edms/media}
|
||||
|
||||
cat << EOF
|
||||
|
||||
███╗ ███╗ █████╗ ██╗ ██╗ █████╗ ███╗ ██╗
|
||||
████╗ ████║██╔══██╗╚██╗ ██╔╝██╔══██╗████╗ ██║
|
||||
██╔████╔██║███████║ ╚████╔╝ ███████║██╔██╗ ██║
|
||||
██║╚██╔╝██║██╔══██║ ╚██╔╝ ██╔══██║██║╚██╗██║
|
||||
██║ ╚═╝ ██║██║ ██║ ██║ ██║ ██║██║ ╚████║
|
||||
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═══╝
|
||||
Docker deploy script
|
||||
|
||||
NOTE: Make sure to verify the contents of this script
|
||||
matches the contents of docker.sh located at https://gitlab.com/mayan-edms/mayan-edms/blob/master/contrib/scripts/install/docker.sh before executing.
|
||||
|
||||
EOF
|
||||
|
||||
if [ "$VERBOSE" = true ]; then
|
||||
echo "Variable values to be used:"
|
||||
echo "---------------------------"
|
||||
echo "INSTALL_DOCKER: $INSTALL_DOCKER"
|
||||
echo "DELETE_VOLUMES: $DELETE_VOLUMES"
|
||||
echo "DATABASE_USER: $DATABASE_USER"
|
||||
echo "DATABASE_NAME: $DATABASE_NAME"
|
||||
echo "DATABASE_PASSWORD: $DATABASE_PASSWORD"
|
||||
echo "DOCKER_POSTGRES_IMAGE: $DOCKER_POSTGRES_IMAGE"
|
||||
echo "DOCKER_POSTGRES_CONTAINER: $DOCKER_POSTGRES_CONTAINER"
|
||||
echo "DOCKER_POSTGRES_VOLUME: $DOCKER_POSTGRES_VOLUME"
|
||||
echo "DOCKER_POSTGRES_PORT: $DOCKER_POSTGRES_PORT"
|
||||
echo "DOCKER_MAYAN_IMAGE: $DOCKER_MAYAN_IMAGE"
|
||||
echo "DOCKER_MAYAN_CONTAINER: $DOCKER_MAYAN_CONTAINER"
|
||||
echo "DOCKER_MAYAN_VOLUME: $DOCKER_MAYAN_VOLUME"
|
||||
echo "\nStarting in 10 seconds."
|
||||
sleep 10
|
||||
fi
|
||||
|
||||
if [ "$INSTALL_DOCKER" = true ]; then
|
||||
echo -n "* Installing Docker..."
|
||||
curl -fsSL get.docker.com -o get-docker.sh >/dev/null
|
||||
sh get-docker.sh >/dev/null 2>&1
|
||||
rm get-docker.sh
|
||||
echo "Done"
|
||||
fi
|
||||
|
||||
if [ -z `which docker` ]; then
|
||||
echo "Docker is not installed. Rerun this script with the variable INSTALL_DOCKER set to true."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -n "* Removing existing Mayan EDMS and PostgreSQL containers (no data will be lost)..."
|
||||
true || docker stop $DOCKER_MAYAN_CONTAINER >/dev/null 2>&1
|
||||
true || docker rm $DOCKER_MAYAN_CONTAINER >/dev/null 2>&1
|
||||
true || docker stop $DOCKER_POSTGRES_CONTAINER >/dev/null 2>&1
|
||||
true || docker rm $DOCKER_POSTGRES_CONTAINER >/dev/null 2>&1
|
||||
echo "Done"
|
||||
|
||||
if [ "$DELETE_VOLUMES" = true ]; then
|
||||
echo -n "* Deleting Docker volumes in 5 seconds (warning: this delete all document data)..."
|
||||
sleep 5
|
||||
true || rm DOCKER_MAYAN_VOLUME -Rf
|
||||
true || rm DOCKER_POSTGRES_VOLUME -Rf
|
||||
echo "Done"
|
||||
fi
|
||||
|
||||
echo -n "* Pulling (downloading) the Mayan EDMS Docker image..."
|
||||
docker pull $DOCKER_MAYAN_IMAGE >/dev/null
|
||||
echo "Done"
|
||||
|
||||
echo -n "* Pulling (downloading) the PostgreSQL Docker image..."
|
||||
docker pull $DOCKER_POSTGRES_IMAGE > /dev/null
|
||||
echo "Done"
|
||||
|
||||
echo -n "* Deploying the PostgreSQL container..."
|
||||
docker run -d \
|
||||
--name $DOCKER_POSTGRES_CONTAINER \
|
||||
--restart=always \
|
||||
-p $DOCKER_POSTGRES_PORT:5432 \
|
||||
-e POSTGRES_USER=$DATABASE_USER \
|
||||
-e POSTGRES_DB=$DATABASE_NAME \
|
||||
-e POSTGRES_PASSWORD=$DATABASE_PASSWORD \
|
||||
-v $DOCKER_POSTGRES_VOLUME:/var/lib/postgresql/data \
|
||||
$DOCKER_POSTGRES_IMAGE >/dev/null
|
||||
echo "Done"
|
||||
|
||||
echo -n "* Waiting for the PostgreSQL container to be ready (10 seconds)..."
|
||||
sleep 10
|
||||
echo "Done"
|
||||
|
||||
echo -n "* Deploying Mayan EDMS container..."
|
||||
docker run -d \
|
||||
--name $DOCKER_MAYAN_CONTAINER \
|
||||
--restart=always \
|
||||
-p 80:8000 \
|
||||
-e MAYAN_DATABASE_ENGINE=django.db.backends.postgresql \
|
||||
-e MAYAN_DATABASE_HOST=172.17.0.1 \
|
||||
-e MAYAN_DATABASE_NAME=$DATABASE_NAME \
|
||||
-e MAYAN_DATABASE_PASSWORD=$DATABASE_PASSWORD \
|
||||
-e MAYAN_DATABASE_USER=$DATABASE_USER \
|
||||
-e MAYAN_DATABASE_PORT=$DOCKER_POSTGRES_PORT \
|
||||
-e MAYAN_DATABASE_CONN_MAX_AGE=60 \
|
||||
-v $DOCKER_MAYAN_VOLUME:/var/lib/mayan \
|
||||
$DOCKER_MAYAN_IMAGE >/dev/null
|
||||
echo "Done"
|
||||
|
||||
echo -n "* Waiting for the Mayan EDMS container to be ready (might take a few minutes)..."
|
||||
while ! curl --output /dev/null --silent --head --fail http://localhost:80; do sleep 1 && echo -n .; done;
|
||||
echo "Done"
|
||||
@@ -20,7 +20,7 @@ apt-get -qq update
|
||||
apt-get -y upgrade
|
||||
|
||||
echo -e "\n -> Installing core binaries \n"
|
||||
apt-get install exiftool nginx supervisor redis-server postgresql libpq-dev libjpeg-dev libmagic1 libpng-dev libreoffice libtiff-dev gcc ghostscript gpgv python-dev python-virtualenv tesseract-ocr poppler-utils -y
|
||||
apt-get install nginx supervisor redis-server postgresql libpq-dev libjpeg-dev libmagic1 libpng-dev libreoffice libtiff-dev gcc ghostscript gpgv python-dev python-virtualenv tesseract-ocr poppler-utils -y
|
||||
|
||||
echo -e "\n -> Setting up virtualenv \n"
|
||||
rm -f ${INSTALLATION_DIRECTORY}
|
||||
@@ -133,7 +133,7 @@ EOF
|
||||
echo -e "\n -> Creating the supervisor file for the Celery worker, /etc/supervisor/conf.d/mayan-celery.conf \n"
|
||||
cat > /etc/supervisor/conf.d/mayan-celery.conf << EOF
|
||||
[program:mayan-worker]
|
||||
command = ${INSTALLATION_DIRECTORY}bin/python ${INSTALLATION_DIRECTORY}bin/mayan-edms.py celery --settings=mayan.settings.production worker -l ERROR
|
||||
command = ${INSTALLATION_DIRECTORY}bin/python ${INSTALLATION_DIRECTORY}bin/mayan-edms.py celery --settings=mayan.settings.production worker -Ofair -l ERROR
|
||||
directory = ${INSTALLATION_DIRECTORY}
|
||||
user = www-data
|
||||
stdout_logfile = /var/log/mayan/worker-stdout.log
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import os
|
||||
import optparse
|
||||
|
||||
@@ -9,14 +6,13 @@ import sh
|
||||
|
||||
|
||||
APP_LIST = (
|
||||
'acls', 'appearance', 'authentication', 'autoadmin', 'cabinets',
|
||||
'checkouts', 'common', 'converter', 'dashboards', 'django_gpg',
|
||||
'document_comments', 'document_indexing', 'document_parsing',
|
||||
'document_signatures', 'document_states', 'documents', 'dynamic_search',
|
||||
'events', 'file_caching', 'linking', 'lock_manager', 'mayan_statistics',
|
||||
'mailer', 'metadata', 'mirroring', 'motd', 'navigation', 'ocr',
|
||||
'permissions', 'rest_api', 'smart_settings', 'sources', 'storage',
|
||||
'tags', 'task_manager', 'user_management'
|
||||
'acls', 'appearance', 'authentication', 'cabinets', 'checkouts', 'common',
|
||||
'converter', 'django_gpg', 'document_comments', 'document_indexing',
|
||||
'document_parsing', 'document_signatures', 'document_states', 'documents',
|
||||
'dynamic_search', 'events', 'linking', 'lock_manager', 'mayan_statistics',
|
||||
'mailer', 'metadata', 'mirroring', 'motd', 'navigation', 'ocr', 'permissions',
|
||||
'rest_api', 'smart_settings', 'sources', 'storage', 'tags', 'task_manager',
|
||||
'user_management'
|
||||
)
|
||||
|
||||
LANGUAGE_LIST = (
|
||||
@@ -42,29 +38,29 @@ BASE_DIR = os.path.abspath(
|
||||
|
||||
def process(command, app_list, language_list):
|
||||
if command == makemessages:
|
||||
print('Making messages')
|
||||
print 'Making messages'
|
||||
elif command == compilemessages:
|
||||
print('Compiling messages')
|
||||
print 'Compiling messages'
|
||||
elif command == pull_translations:
|
||||
print('Pulling translation files')
|
||||
print 'Pulling translation files'
|
||||
elif command == push_translations:
|
||||
print('Pushing translation files')
|
||||
print 'Pushing translation files'
|
||||
|
||||
if command in [compilemessages, makemessages]:
|
||||
for app in app_list:
|
||||
print('Processing app: %s...' % app)
|
||||
print 'Processing app: %s...' % app
|
||||
app_path = os.path.join(BASE_DIR, 'apps', app)
|
||||
os.chdir(app_path)
|
||||
for lang in language_list:
|
||||
print('Doing language: %s' % lang)
|
||||
print 'Doing language: %s' % lang
|
||||
command(locale=lang)
|
||||
elif command == pull_translations:
|
||||
for lang in language_list:
|
||||
print('Doing language: %s' % lang)
|
||||
print 'Doing language: %s' % lang
|
||||
command('-f', '-l', lang)
|
||||
elif command == push_translations:
|
||||
for lang in language_list:
|
||||
print('Doing language: %s' % lang)
|
||||
print 'Doing language: %s' % lang
|
||||
command('-s', '-l', lang)
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import os
|
||||
|
||||
BASE_PATH = 'mayan/apps'
|
||||
@@ -9,7 +7,7 @@ BASE_PATH = 'mayan/apps'
|
||||
|
||||
def print_views_summary(module_filename):
|
||||
with open(module_filename) as file_object:
|
||||
print(' module:', module_filename)
|
||||
print ' module:', module_filename
|
||||
count_class_based_views = 0
|
||||
count_function_based_views = 0
|
||||
for line in file_object:
|
||||
@@ -19,20 +17,20 @@ def print_views_summary(module_filename):
|
||||
if line.startswith('def') and 'request' in line:
|
||||
count_function_based_views += 1
|
||||
|
||||
print(' class based views: {}'.format(count_class_based_views))
|
||||
print(' function based views: {}'.format(count_function_based_views))
|
||||
print ' class based views: {}'.format(count_class_based_views)
|
||||
print ' function based views: {}'.format(count_function_based_views)
|
||||
return count_class_based_views, count_function_based_views
|
||||
|
||||
|
||||
def print_tests_summary(module_filename):
|
||||
with open(module_filename) as file_object:
|
||||
print(' module:', module_filename)
|
||||
print ' module:', module_filename
|
||||
count_tests = 0
|
||||
for line in file_object:
|
||||
if line.startswith(' def test'):
|
||||
count_tests += 1
|
||||
|
||||
print(' tests: {}'.format(count_tests))
|
||||
print ' tests: {}'.format(count_tests)
|
||||
return count_tests
|
||||
|
||||
|
||||
@@ -49,10 +47,10 @@ if __name__ == '__main__':
|
||||
for app_name in sorted(os.listdir(BASE_PATH)):
|
||||
if app_name != '__init__.py':
|
||||
count_totals['Apps'] += 1
|
||||
print('\n\nApp name: {}'.format(app_name))
|
||||
print '\n\nApp name: {}'.format(app_name)
|
||||
app_path = os.path.join(BASE_PATH, app_name)
|
||||
|
||||
print('\n Views')
|
||||
print '\n Views'
|
||||
try:
|
||||
module_filename = os.path.join(app_path, 'views.py')
|
||||
count_class_based_views, count_function_based_views = print_views_summary(module_filename=module_filename)
|
||||
@@ -71,9 +69,9 @@ if __name__ == '__main__':
|
||||
count_totals['Function based views'] += count_function_based_views
|
||||
except OSError:
|
||||
# No views directory, skip app
|
||||
print(' No views')
|
||||
print ' No views'
|
||||
|
||||
print('\n API Views')
|
||||
print '\n API Views'
|
||||
try:
|
||||
module_filename = os.path.join(app_path, 'api_views.py')
|
||||
count_class_based_views, count_function_based_views = print_views_summary(module_filename=module_filename)
|
||||
@@ -82,9 +80,9 @@ if __name__ == '__main__':
|
||||
|
||||
except IOError:
|
||||
# No API views directory, skip app
|
||||
print(' No API views')
|
||||
print ' No API views'
|
||||
|
||||
print('\n Tests')
|
||||
print '\n Tests'
|
||||
module_path = os.path.join(app_path, 'tests')
|
||||
try:
|
||||
for module_name in os.listdir(module_path):
|
||||
@@ -96,10 +94,10 @@ if __name__ == '__main__':
|
||||
|
||||
except OSError:
|
||||
# No tests directory, skip app
|
||||
print(' No tests')
|
||||
print ' No tests'
|
||||
|
||||
print('-' * 10)
|
||||
print '-' * 10
|
||||
|
||||
print('Totals:')
|
||||
print 'Totals:'
|
||||
for key, value in count_totals.items():
|
||||
print(' {}: {}'.format(key, value))
|
||||
print ' {}: {}'.format(key, value)
|
||||
|
||||
@@ -11,8 +11,7 @@ MAINTAINER Roberto Rosario "roberto.rosario@mayan-edms.com"
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
ENV PYTHONUNBUFFERED 1
|
||||
ENV LC_ALL C.UTF-8
|
||||
ENV PROJECT_INSTALL_DIR=/opt/mayan-edms
|
||||
ENV PYTHON_PIP=${PROJECT_INSTALL_DIR}/bin/pip
|
||||
ENV PROJECT_INSTALL_DIR=/usr/local/lib/python2.7/dist-packages/mayan
|
||||
|
||||
ARG APT_PROXY
|
||||
# Package caching
|
||||
@@ -21,7 +20,6 @@ RUN if [ "${APT_PROXY}" ]; then echo "Acquire::http { Proxy \"http://${APT_PROXY
|
||||
# Install base Ubuntu libraries
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
exiftool \
|
||||
g++ \
|
||||
gcc \
|
||||
ghostscript \
|
||||
@@ -29,7 +27,6 @@ apt-get install -y --no-install-recommends \
|
||||
gnupg1 \
|
||||
graphviz \
|
||||
libffi-dev \
|
||||
libfuse2 \
|
||||
libjpeg-dev \
|
||||
libmagic1 \
|
||||
default-libmysqlclient-dev \
|
||||
@@ -39,12 +36,11 @@ apt-get install -y --no-install-recommends \
|
||||
libtiff-dev \
|
||||
poppler-utils \
|
||||
python-dev \
|
||||
python-pip \
|
||||
python-setuptools \
|
||||
python-virtualenv \
|
||||
python-wheel \
|
||||
redis-server \
|
||||
sane-utils \
|
||||
sudo \
|
||||
supervisor \
|
||||
tesseract-ocr \
|
||||
zlib1g-dev \
|
||||
@@ -58,6 +54,9 @@ rm -f /var/cache/apt/archives/*.deb
|
||||
ADD https://raw.githubusercontent.com/guilhem/apt-get-install/master/apt-get-install /usr/bin/
|
||||
RUN chmod +x /usr/bin/apt-get-install
|
||||
|
||||
# Install Python clients for PostgreSQL, REDIS, librabbitmq
|
||||
RUN pip install psycopg2==2.7.3.2 redis==2.10.6 mysql-python==1.2.5 librabbitmq==1.6.1
|
||||
|
||||
RUN adduser mayan --disabled-password --disabled-login --no-create-home --gecos ""
|
||||
|
||||
# Pillow can't find zlib or libjpeg on aarch64 (ODROID C2)
|
||||
@@ -73,15 +72,6 @@ ln -s /usr/lib/arm-linux-gnueabihf/libz.so /usr/lib/ && \
|
||||
ln -s /usr/lib/arm-linux-gnueabihf/libjpeg.so /usr/lib/ \
|
||||
; fi
|
||||
|
||||
# Discard data when Redis runs out of memory
|
||||
RUN echo "maxmemory-policy allkeys-lru" >> /etc/redis/redis.conf
|
||||
|
||||
# Disable saving the Redis database
|
||||
RUN echo "save \"\"" >> /etc/redis/redis.conf
|
||||
|
||||
# Only provision 1 database
|
||||
RUN echo "databases 1" >> /etc/redis/redis.conf
|
||||
|
||||
#####################
|
||||
# Build image start #
|
||||
#####################
|
||||
@@ -114,11 +104,7 @@ RUN chmod 777 dist -R
|
||||
|
||||
FROM BASE_IMAGE
|
||||
|
||||
RUN mkdir -p /opt
|
||||
|
||||
RUN python /usr/lib/python2.7/dist-packages/virtualenv.py $PROJECT_INSTALL_DIR
|
||||
|
||||
WORKDIR $PROJECT_INSTALL_DIR
|
||||
WORKDIR /root/
|
||||
|
||||
COPY --from=BUILDER_IMAGE /code/dist/*.whl .
|
||||
|
||||
@@ -126,20 +112,18 @@ COPY --from=BUILDER_IMAGE /code/contrib/scripts/docker/run-tests.sh .
|
||||
|
||||
COPY --from=BUILDER_IMAGE /code/requirements/testing-base.txt requirements-testing.txt
|
||||
|
||||
COPY --from=BUILDER_IMAGE /code/docker/version .
|
||||
# Install build Mayan EDMS
|
||||
RUN pip install *.whl && \
|
||||
rm *.whl
|
||||
|
||||
# Setup supervisor
|
||||
COPY docker/etc/supervisor/mayan.conf /etc/supervisor/conf.d
|
||||
|
||||
# Fix ownership
|
||||
RUN chown -R mayan:mayan $PROJECT_INSTALL_DIR
|
||||
|
||||
# Install build Mayan EDMS
|
||||
RUN sudo -u mayan $PYTHON_PIP install --no-cache-dir *.whl && \
|
||||
rm *.whl
|
||||
|
||||
# Install Python clients for librabbitmq, MySQL, PostgreSQL, REDIS
|
||||
RUN sudo -u mayan $PYTHON_PIP install --no-cache-dir librabbitmq==1.6.1 mysql-python==1.2.5 psycopg2==2.7.3.2 redis==2.10.6
|
||||
|
||||
# Setup supervisor
|
||||
COPY docker/etc/supervisor/mayan.conf /etc/supervisor/conf.d
|
||||
# Allow flanker to autogenerate its PLY files
|
||||
RUN chown -R mayan:mayan /usr/local/lib/python2.7/dist-packages/flanker/
|
||||
|
||||
RUN mkdir /var/lib/mayan
|
||||
VOLUME ["/var/lib/mayan"]
|
||||
|
||||
@@ -126,13 +126,13 @@ Defaults to `None`. This optional environment variable is used to set the hostna
|
||||
|
||||
Defaults to `None`. This optional environment variable is used to set the port number to use when connecting to the database. An empty string means the default port. Not used with SQLite. For more information read the pertinent Django documentation page: [Settings, PORT](https://docs.djangoproject.com/en/1.11/ref/settings/#port)
|
||||
|
||||
### `MAYAN_CELERY_BROKER_URL`
|
||||
### `MAYAN_BROKER_URL`
|
||||
|
||||
Defaults to 'redis://127.0.0.1:6379/0'. This optional environment variable is determines the broker that Celery will use to relay task messages between the frontend code and the background workers. For more information read the pertinent Celery Kombu documentation page: [Broker URL](http://kombu.readthedocs.io/en/latest/userguide/connections.html#connection-urls)
|
||||
|
||||
This Docker image supports using Redis and RabbitMQ as brokers.
|
||||
|
||||
Caveat: If the `MAYAN_CELERY_BROKER_URL` and `MAYAN_CELERY_RESULT_BACKEND` environment variables are specified, the built-in Redis server inside the container will be disabled.
|
||||
Caveat: If the `MAYAN_BROKER_URL` and `MAYAN_CELERY_RESULT_BACKEND` environment variables are specified, the built-in Redis server inside the container will be disabled.
|
||||
|
||||
### `MAYAN_CELERY_RESULT_BACKEND`
|
||||
|
||||
@@ -140,7 +140,7 @@ Defaults to 'redis://127.0.0.1:6379/0'. This optional environment variable is de
|
||||
|
||||
This Docker image supports using Redis and RabbitMQ as result backends.
|
||||
|
||||
Caveat: If the `MAYAN_CELERY_BROKER_URL` and `MAYAN_CELERY_RESULT_BACKEND` environment variables are specified, the built-in Redis server inside the container will be disabled.
|
||||
Caveat: If the `MAYAN_BROKER_URL` and `MAYAN_CELERY_RESULT_BACKEND` environment variables are specified, the built-in Redis server inside the container will be disabled.
|
||||
|
||||
### `MAYAN_NGINX_CLIENT_MAX_BODY_SIZE`
|
||||
|
||||
@@ -177,12 +177,7 @@ The complete command line would then be:
|
||||
$ docker run -d --name mayan-edms --restart=always -p 80:80 -v mayan_data:/var/lib/mayan -v /opt/scanned_files:/srv/watch_folder mayanedms/mayanedms:2.7.3
|
||||
```
|
||||
|
||||
Now create a watch folder in Mayan EDMS using the path `/srv/watch_folder` and
|
||||
the documents from the host folder `/opt/scanned_files` will be automatically
|
||||
available. Use the same procedure to mount host folders to be used as staging
|
||||
folders. In this example `/srv/watch_folder` was as the container directory,
|
||||
but any path can be used as long as it is not an already existing path or a
|
||||
path used by any other program.
|
||||
Now create a watch folder in Mayan EDMS using the path `/srv/watch_folder` and the documents from the host folder `/opt/scanned_files` will be automatically available. Use the same procedure to mount host folders to be used as staging folderes. In this example `/srv/watch_folder` was as the container directory, but any path can be used as long as it is not an already existing path or a path used by any other program.
|
||||
|
||||
|
||||
## Performing backups
|
||||
@@ -371,7 +366,7 @@ from .base import *
|
||||
SECRET_KEY = '< keep your random secret key >'
|
||||
```
|
||||
|
||||
This is necessary because version 2.2 included experimental support for Postgres as a database backend. Now that Postgres support has been made standard, the custom configuration lines that version 2.2 added to the `local.py` file are not necesary and need to be removed to avoid configuration conflicts.
|
||||
This is necesary because version 2.2 included experimental support for Postgres as a database backend. Now that Postgres support has been made standard, the custom configuration lines that version 2.2 added to the `local.py` file are not necesary and need to be removed to avoid configuration conflicts.
|
||||
|
||||
Save the file and launch a container using the new version.
|
||||
|
||||
|
||||
@@ -126,13 +126,13 @@ Defaults to `None`. This optional environment variable is used to set the hostna
|
||||
|
||||
Defaults to `None`. This optional environment variable is used to set the port number to use when connecting to the database. An empty string means the default port. Not used with SQLite. For more information read the pertinent Django documentation page: [Settings, PORT](https://docs.djangoproject.com/en/1.11/ref/settings/#port)
|
||||
|
||||
### `MAYAN_CELERY_BROKER_URL`
|
||||
### `MAYAN_BROKER_URL`
|
||||
|
||||
Defaults to 'redis://127.0.0.1:6379/0'. This optional environment variable is determines the broker that Celery will use to relay task messages between the frontend code and the background workers. For more information read the pertinent Celery Kombu documentation page: [Broker URL](http://kombu.readthedocs.io/en/latest/userguide/connections.html#connection-urls)
|
||||
|
||||
This Docker image supports using Redis and RabbitMQ as brokers.
|
||||
|
||||
Caveat: If the `MAYAN_CELERY_BROKER_URL` and `MAYAN_CELERY_RESULT_BACKEND` environment variables are specified, the built-in Redis server inside the container will be disabled.
|
||||
Caveat: If the `MAYAN_BROKER_URL` and `MAYAN_CELERY_RESULT_BACKEND` environment variables are specified, the built-in Redis server inside the container will be disabled.
|
||||
|
||||
### `MAYAN_CELERY_RESULT_BACKEND`
|
||||
|
||||
@@ -140,7 +140,7 @@ Defaults to 'redis://127.0.0.1:6379/0'. This optional environment variable is de
|
||||
|
||||
This Docker image supports using Redis and RabbitMQ as result backends.
|
||||
|
||||
Caveat: If the `MAYAN_CELERY_BROKER_URL` and `MAYAN_CELERY_RESULT_BACKEND` environment variables are specified, the built-in Redis server inside the container will be disabled.
|
||||
Caveat: If the `MAYAN_BROKER_URL` and `MAYAN_CELERY_RESULT_BACKEND` environment variables are specified, the built-in Redis server inside the container will be disabled.
|
||||
|
||||
### `MAYAN_NGINX_CLIENT_MAX_BODY_SIZE`
|
||||
|
||||
@@ -366,7 +366,7 @@ from .base import *
|
||||
SECRET_KEY = '< keep your random secret key >'
|
||||
```
|
||||
|
||||
This is necessary because version 2.2 included experimental support for Postgres as a database backend. Now that Postgres support has been made standard, the custom configuration lines that version 2.2 added to the `local.py` file are not necesary and need to be removed to avoid configuration conflicts.
|
||||
This is necesary because version 2.2 included experimental support for Postgres as a database backend. Now that Postgres support has been made standard, the custom configuration lines that version 2.2 added to the `local.py` file are not necesary and need to be removed to avoid configuration conflicts.
|
||||
|
||||
Save the file and launch a container using the new version.
|
||||
|
||||
|
||||
@@ -59,9 +59,9 @@ services:
|
||||
results:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
MAYAN_CELERY_BROKER_URL: amqp://mayan:mayan@broker:5672/mayan
|
||||
MAYAN_BROKER_URL: amqp://mayan:mayan@broker:5672/mayan
|
||||
MAYAN_CELERY_RESULT_BACKEND: redis://results:6379/0
|
||||
MAYAN_DATABASE_ENGINE: django.db.backends.postgresql
|
||||
MAYAN_DATABASE_DRIVER: django.db.backends.postgres
|
||||
MAYAN_DATABASE_HOST: db
|
||||
MAYAN_DATABASE_NAME: mayan
|
||||
MAYAN_DATABASE_PASSWORD: mayan-password
|
||||
|
||||
@@ -45,9 +45,9 @@ services:
|
||||
results:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
MAYAN_CELERY_BROKER_URL: amqp://mayan:mayan@broker:5672/mayan
|
||||
MAYAN_BROKER_URL: amqp://mayan:mayan@broker:5672/mayan
|
||||
MAYAN_CELERY_RESULT_BACKEND: redis://results:6379/0
|
||||
MAYAN_DATABASE_ENGINE: django.db.backends.postgresql
|
||||
MAYAN_DATABASE_DRIVER: django.db.backends.postgres
|
||||
MAYAN_DATABASE_HOST: db
|
||||
MAYAN_DATABASE_NAME: mayan
|
||||
MAYAN_DATABASE_PASSWORD: mayan-password
|
||||
|
||||
@@ -2,51 +2,22 @@
|
||||
|
||||
set -e
|
||||
echo "mayan: starting entrypoint.sh"
|
||||
INSTALL_FLAG=/var/lib/mayan/system/SECRET_KEY
|
||||
CONCURRENCY_ARGUMENT=--concurrency=
|
||||
export DOCKER_ROOT=/opt/mayan-edms
|
||||
INSTALL_FLAG=/var/lib/mayan/media/system/SECRET_KEY
|
||||
export DOCKER_ROOT=/root
|
||||
|
||||
export MAYAN_DEFAULT_CELERY_BROKER_URL=redis://127.0.0.1:6379/0
|
||||
export MAYAN_DEFAULT_BROKER_URL=redis://127.0.0.1:6379/0
|
||||
export MAYAN_DEFAULT_CELERY_RESULT_BACKEND=redis://127.0.0.1:6379/0
|
||||
|
||||
export MAYAN_ALLOWED_HOSTS='["*"]'
|
||||
export MAYAN_BIN=/opt/mayan-edms/bin/mayan-edms.py
|
||||
export MAYAN_CELERY_BROKER_URL=${MAYAN_CELERY_BROKER_URL:-${MAYAN_DEFAULT_CELERY_BROKER_URL}}
|
||||
export MAYAN_ALLOWED_HOSTS=*
|
||||
export MAYAN_BIN=/usr/local/lib/python2.7/dist-packages/mayan/bin/mayan-edms.py
|
||||
export MAYAN_BROKER_URL=${MAYAN_BROKER_URL:-${MAYAN_DEFAULT_BROKER_URL}}
|
||||
export MAYAN_CELERY_RESULT_BACKEND=${MAYAN_CELERY_RESULT_BACKEND:-${MAYAN_DEFAULT_CELERY_RESULT_BACKEND}}
|
||||
export MAYAN_INSTALL_DIR=/opt/mayan-edms
|
||||
export MAYAN_PYTHON_BIN_DIR=/opt/mayan-edms/bin/
|
||||
export MAYAN_GUNICORN_WORKERS=${MAYAN_GUNICORN_WORKERS:-2}
|
||||
export MAYAN_INSTALL_DIR=/usr/local/lib/python2.7/dist-packages/mayan
|
||||
export MAYAN_PYTHON_DIR=/usr/local/bin
|
||||
export MAYAN_MEDIA_ROOT=/var/lib/mayan
|
||||
export MAYAN_SETTINGS_MODULE=${MAYAN_SETTINGS_MODULE:-mayan.settings.production}
|
||||
|
||||
export MAYAN_GUNICORN_BIN=${MAYAN_PYTHON_BIN_DIR}gunicorn
|
||||
export MAYAN_GUNICORN_WORKERS=${MAYAN_GUNICORN_WORKERS:-2}
|
||||
export MAYAN_PIP_BIN=${MAYAN_PYTHON_BIN_DIR}pip
|
||||
|
||||
MAYAN_WORKER_FAST_CONCURRENCY=${MAYAN_WORKER_FAST_CONCURRENCY:-1}
|
||||
MAYAN_WORKER_MEDIUM_CONCURRENCY=${MAYAN_WORKER_MEDIUM_CONCURRENCY:-1}
|
||||
MAYAN_WORKER_SLOW_CONCURRENCY=${MAYAN_WORKER_SLOW_CONCURRENCY:-1}
|
||||
|
||||
if [ "$MAYAN_WORKER_FAST_CONCURRENCY" -eq 0 ]; then
|
||||
MAYAN_WORKER_FAST_CONCURRENCY=
|
||||
else
|
||||
MAYAN_WORKER_FAST_CONCURRENCY="${CONCURRENCY_ARGUMENT}${MAYAN_WORKER_FAST_CONCURRENCY}"
|
||||
fi
|
||||
export MAYAN_WORKER_FAST_CONCURRENCY
|
||||
|
||||
if [ "$MAYAN_WORKER_MEDIUM_CONCURRENCY" -eq 0 ]; then
|
||||
MAYAN_WORKER_MEDIUM_CONCURRENCY=
|
||||
else
|
||||
MAYAN_WORKER_MEDIUM_CONCURRENCY="${CONCURRENCY_ARGUMENT}${MAYAN_WORKER_MEDIUM_CONCURRENCY}"
|
||||
fi
|
||||
export MAYAN_WORKER_MEDIUM_CONCURRENCY
|
||||
|
||||
if [ "$MAYAN_WORKER_SLOW_CONCURRENCY" -eq 0 ]; then
|
||||
MAYAN_WORKER_SLOW_CONCURRENCY=
|
||||
else
|
||||
MAYAN_WORKER_SLOW_CONCURRENCY="${CONCURRENCY_ARGUMENT}${MAYAN_WORKER_SLOW_CONCURRENCY}"
|
||||
fi
|
||||
export MAYAN_WORKER_SLOW_CONCURRENCY
|
||||
|
||||
export CELERY_ALWAYS_EAGER=False
|
||||
export PYTHONPATH=$PYTHONPATH:$MAYAN_MEDIA_ROOT
|
||||
|
||||
@@ -54,14 +25,14 @@ chown mayan:mayan /var/lib/mayan -R
|
||||
|
||||
initialize() {
|
||||
echo "mayan: initialize()"
|
||||
su mayan -c "${MAYAN_BIN} initialsetup --force"
|
||||
su mayan -c "${MAYAN_BIN} collectstatic --noinput --clear"
|
||||
su mayan -c "mayan-edms.py initialsetup --force"
|
||||
su mayan -c "mayan-edms.py collectstatic --noinput --clear"
|
||||
}
|
||||
|
||||
upgrade() {
|
||||
echo "mayan: upgrade()"
|
||||
su mayan -c "${MAYAN_BIN} performupgrade"
|
||||
su mayan -c "${MAYAN_BIN} collectstatic --noinput --clear"
|
||||
su mayan -c "mayan-edms.py performupgrade"
|
||||
su mayan -c "mayan-edms.py collectstatic --noinput --clear"
|
||||
}
|
||||
|
||||
start() {
|
||||
@@ -80,7 +51,7 @@ os_package_installs() {
|
||||
pip_installs() {
|
||||
echo "mayan: pip_installs()"
|
||||
if [ "${MAYAN_PIP_INSTALLS}" ]; then
|
||||
$MAYAN_PIP_BIN install $MAYAN_PIP_INSTALLS
|
||||
pip install $MAYAN_PIP_INSTALLS
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[program:mayan-gunicorn]
|
||||
autorestart = false
|
||||
autostart = true
|
||||
command = /bin/bash -c "${MAYAN_GUNICORN_BIN} -w ${MAYAN_GUNICORN_WORKERS} mayan.wsgi --max-requests 500 --max-requests-jitter 50 --worker-class gevent --bind 0.0.0.0:8000 --env DJANGO_SETTINGS_MODULE=${MAYAN_SETTINGS_MODULE}" --timeout 120
|
||||
command = /bin/bash -c "cd ${MAYAN_PYTHON_DIR}; gunicorn -w ${MAYAN_GUNICORN_WORKERS} mayan.wsgi --max-requests 500 --max-requests-jitter 50 --worker-class gevent --bind 0.0.0.0:8000 --env DJANGO_SETTINGS_MODULE=${MAYAN_SETTINGS_MODULE}"
|
||||
redirect_stderr = true
|
||||
stderr_logfile = /dev/fd/2
|
||||
stderr_logfile_maxbytes = 0
|
||||
@@ -12,7 +12,7 @@ user = mayan
|
||||
[program:redis]
|
||||
autorestart = false
|
||||
autostart = true
|
||||
command = /bin/bash -c "if [ ${MAYAN_CELERY_BROKER_URL} == ${MAYAN_DEFAULT_BROKER_URL} ] && [ ${MAYAN_CELERY_RESULT_BACKEND} == ${MAYAN_DEFAULT_CELERY_RESULT_BACKEND} ];then /usr/bin/redis-server /etc/redis/;fi"
|
||||
command = /bin/bash -c "if [ ${MAYAN_BROKER_URL} == ${MAYAN_DEFAULT_BROKER_URL} ] && [ ${MAYAN_CELERY_RESULT_BACKEND} == ${MAYAN_DEFAULT_CELERY_RESULT_BACKEND} ];then /usr/bin/redis-server /etc/redis/;fi"
|
||||
stderr_logfile = /dev/fd/2
|
||||
stderr_logfile_maxbytes = 0
|
||||
stdout_logfile = /dev/fd/1
|
||||
@@ -22,7 +22,7 @@ user = root
|
||||
[program:mayan-worker-fast]
|
||||
autorestart = false
|
||||
autostart = true
|
||||
command = nice -n 1 /bin/bash -c "${MAYAN_BIN} celery --settings=${MAYAN_SETTINGS_MODULE} worker -l ERROR -Q converter,document_states_fast,sources_fast -n mayan-worker-fast.%%h ${MAYAN_WORKER_FAST_CONCURRENCY}"
|
||||
command = nice -n 1 /bin/bash -c "cd ${MAYAN_PYTHON_DIR}; python ${MAYAN_BIN} celery --settings=${MAYAN_SETTINGS_MODULE} worker -Ofair -l ERROR -Q converter -n mayan-worker-fast.%%h --concurrency=1"
|
||||
killasgroup = true
|
||||
numprocs = 1
|
||||
priority = 998
|
||||
@@ -37,7 +37,7 @@ user = mayan
|
||||
[program:mayan-worker-medium]
|
||||
autorestart = false
|
||||
autostart = true
|
||||
command = nice -n 18 /bin/bash -c "${MAYAN_BIN} celery --settings=${MAYAN_SETTINGS_MODULE} worker -l ERROR -Q checkouts_periodic,documents_periodic,indexing,metadata,sources,sources_periodic,uploads,documents -n mayan-worker-medium.%%h ${MAYAN_WORKER_MEDIUM_CONCURRENCY}"
|
||||
command = nice -n 18 /bin/bash -c "cd ${MAYAN_PYTHON_DIR}; python ${MAYAN_BIN} celery --settings=${MAYAN_SETTINGS_MODULE} worker -Ofair -l ERROR -Q checkouts_periodic,documents_periodic,indexing,metadata,sources,sources_periodic,uploads,documents -n mayan-worker-medium.%%h --concurrency=1"
|
||||
killasgroup = true
|
||||
numprocs = 1
|
||||
priority = 998
|
||||
@@ -52,7 +52,7 @@ user = mayan
|
||||
[program:mayan-worker-slow]
|
||||
autorestart = false
|
||||
autostart = true
|
||||
command = nice -n 19 /bin/bash -c "${MAYAN_BIN} celery --settings=${MAYAN_SETTINGS_MODULE} worker -l ERROR -Q mailing,tools,statistics,parsing,ocr -n mayan-worker-slow.%%h ${MAYAN_WORKER_SLOW_CONCURRENCY}"
|
||||
command = nice -n 19 /bin/bash -c "cd ${MAYAN_PYTHON_DIR}; python ${MAYAN_BIN} celery --settings=${MAYAN_SETTINGS_MODULE} worker -Ofair -l ERROR -Q mailing,tools,statistics,parsing,ocr -n mayan-worker-slow.%%h --concurrency=1"
|
||||
killasgroup = true
|
||||
numprocs = 1
|
||||
priority = 998
|
||||
@@ -67,7 +67,7 @@ user = mayan
|
||||
[program:mayan-celery-beat]
|
||||
autorestart = false
|
||||
autostart = true
|
||||
command = nice -n 1 /bin/bash -c "${MAYAN_BIN} celery --settings=${MAYAN_SETTINGS_MODULE} beat --pidfile= -l ERROR"
|
||||
command = nice -n 1 /bin/bash -c "cd ${MAYAN_PYTHON_DIR}; python ${MAYAN_BIN} celery --settings=${MAYAN_SETTINGS_MODULE} beat --pidfile= -l ERROR"
|
||||
killasgroup = true
|
||||
numprocs = 1
|
||||
priority = 998
|
||||
|
||||
@@ -14,8 +14,6 @@ services:
|
||||
POSTGRES_DB: mayan
|
||||
POSTGRES_PASSWORD: mayan-password
|
||||
POSTGRES_USER: mayan
|
||||
volumes:
|
||||
- db:/var/lib/postgresql/data
|
||||
|
||||
app:
|
||||
image: mayanedms/mayanedms:latest
|
||||
@@ -27,6 +25,6 @@ services:
|
||||
MAYAN_DATABASE_NAME: mayan
|
||||
MAYAN_DATABASE_PASSWORD: mayan-password
|
||||
MAYAN_DATABASE_USER: mayan
|
||||
MAYAN_DATABASE_CONN_MAX_AGE: 60
|
||||
volumes:
|
||||
- app:/var/lib/mayan
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
3.1.9
|
||||
3.0rc1
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
***
|
||||
API
|
||||
***
|
||||
|
||||
Mayan EDMS provides an HTTP REST Application Program Interface (or API). This
|
||||
API allows integration with 3rd party software using simple HTTP requests.
|
||||
|
||||
Several API authentication methods are provides: **Session**, **Token**,
|
||||
and **HTTP Basic**.
|
||||
|
||||
The URL for the API can be found via the :menuselection:`Tools --> REST API
|
||||
menu. The API is also self-documenting. The live API documentation can be
|
||||
found in the :menuselection:`Tools --> API Documentation (Swagger)` menu for
|
||||
the Swagger version and in the
|
||||
:menuselection:`Tools --> API Documentation (ReDoc)` menu for the ReDoc version.
|
||||
|
||||
The are a few ways to structure REST APIs. In the case of Mayan EDMS, API
|
||||
endpoints are structured by resource type. Examples:
|
||||
|
||||
* /cabinets - To view or create new cabinets
|
||||
* /cabinets/<id> - To view the details, edit, or delete an existing cabinet.
|
||||
* /cabinets/<id>/documents - To view, add, or remove documents from an existing
|
||||
cabinet.
|
||||
* /cabinets/<id>/documents/<id> - To view, add, or remove one document from an
|
||||
existing cabinet.
|
||||
|
||||
The API supports the HTTP verbs: **GET**, **POST**, **PUT**, **PATCH**,
|
||||
and **DELETE**.
|
||||
@@ -1,14 +0,0 @@
|
||||
Cabinets
|
||||
========
|
||||
|
||||
Cabinets are a multi-level method to organize documents. Each cabinet can
|
||||
contain documents as well as other sub level cabinets. Cabinets can
|
||||
be added from the :menuselection:`Cabinets --> Add new` menu.
|
||||
|
||||
With a cabinet structure created, the next step is to add documents to them.
|
||||
To add documents to a cabinet, select the cabinet tab of a document, and
|
||||
select :menuselection:`Actions --> Add to cabinets` link.
|
||||
|
||||
Documents can also be added in bulk to one or more cabinets from any view
|
||||
that lists documents.
|
||||
|
||||
@@ -1,103 +0,0 @@
|
||||
*******************
|
||||
Database conversion
|
||||
*******************
|
||||
|
||||
Version 3.1.x added a new management command to help convert data residing in
|
||||
an SQLite database to other database managers like PostgreSQL. Here is the
|
||||
conversion procedure.
|
||||
|
||||
Direct install
|
||||
==============
|
||||
|
||||
* Make a backup of your existing SQLite database and documents by copying the
|
||||
``/opt/mayan-edms/media`` folder.
|
||||
* :doc:`Upgrade to at least version 3.1.3. <../releases/3.1.3>`
|
||||
* Migrate the existing SQLite database with the command ``performupgrade``::
|
||||
|
||||
sudo -u mayan MAYAN_MEDIA_ROOT=/opt/mayan-edms/media /opt/mayan-edms/bin/mayan-edms.py performupgrade
|
||||
|
||||
* Install PostgreSQL::
|
||||
|
||||
sudo apt-get install postgresql libpq-dev
|
||||
|
||||
* Provision a PostgreSQL database::
|
||||
|
||||
sudo -u postgres psql -c "CREATE USER mayan WITH password 'mayanuserpass';"
|
||||
sudo -u postgres createdb -O mayan mayan
|
||||
|
||||
* Install the Python client for PostgreSQL::
|
||||
|
||||
sudo -u mayan /opt/mayan-edms/bin/pip install --no-cache-dir psycopg2==2.7.3.2
|
||||
|
||||
* Copy the newly created fallback config file::
|
||||
|
||||
cp /opt/mayan-edms/media/config_backup.yml /opt/mayan-edms/media/config.yml
|
||||
|
||||
* Edit the configuration file to add the entry for the PostgreSQL database and
|
||||
rename the SQLite database to 'old'::
|
||||
|
||||
# Before
|
||||
DATABASES:
|
||||
default:
|
||||
ATOMIC_REQUESTS: false
|
||||
AUTOCOMMIT: true
|
||||
CONN_MAX_AGE: 0
|
||||
ENGINE: django.db.backends.sqlite3
|
||||
HOST: ''
|
||||
NAME: /opt/mayan-edms/media/db.sqlite3
|
||||
OPTIONS: {}
|
||||
PASSWORD: ''
|
||||
PORT: ''
|
||||
TEST: {CHARSET: null, COLLATION: null, MIRROR: null, NAME: null}
|
||||
TIME_ZONE: null
|
||||
USER: ''
|
||||
|
||||
# After
|
||||
DATABASES:
|
||||
old:
|
||||
ATOMIC_REQUESTS: false
|
||||
AUTOCOMMIT: true
|
||||
CONN_MAX_AGE: 0
|
||||
ENGINE: django.db.backends.sqlite3
|
||||
HOST: ''
|
||||
NAME: /opt/mayan-edms/media/db.sqlite3
|
||||
OPTIONS: {}
|
||||
PASSWORD: ''
|
||||
PORT: ''
|
||||
TEST: {CHARSET: null, COLLATION: null, MIRROR: null, NAME: null}
|
||||
TIME_ZONE: null
|
||||
USER: ''
|
||||
default:
|
||||
ATOMIC_REQUESTS: false
|
||||
AUTOCOMMIT: true
|
||||
CONN_MAX_AGE: 0
|
||||
ENGINE: django.db.backends.postgresql
|
||||
HOST: '127.0.0.1'
|
||||
NAME: /opt/mayan-edms/media/db.sqlite3
|
||||
OPTIONS: {}
|
||||
PASSWORD: 'mayanuserpass'
|
||||
PORT: ''
|
||||
TEST: {CHARSET: null, COLLATION: null, MIRROR: null, NAME: null}
|
||||
TIME_ZONE: null
|
||||
USER: 'mayan'
|
||||
|
||||
* Migrate the new database to create the empty tables::
|
||||
|
||||
sudo -u mayan MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media /opt/mayan-edms/bin/mayan-edms.py migrate
|
||||
|
||||
* Convert the data in the SQLite and store it in the PostgreSQL database::
|
||||
|
||||
sudo -u mayan MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media /opt/mayan-edms/bin/mayan-edms.py convertdb --from=old --to=default --force
|
||||
|
||||
* Update the supervisor config file to have Mayan EDMS run from the PostgreSQL database::
|
||||
|
||||
[supervisord]
|
||||
environment=
|
||||
<...>
|
||||
MAYAN_DATABASE_ENGINE=django.db.backends.postgresql,
|
||||
MAYAN_DATABASE_HOST=127.0.0.1,
|
||||
MAYAN_DATABASE_NAME=mayan,
|
||||
MAYAN_DATABASE_PASSWORD=mayanuserpass,
|
||||
MAYAN_DATABASE_USER=mayan,
|
||||
MAYAN_DATABASE_CONN_MAX_AGE=360,
|
||||
<...>
|
||||
@@ -1,375 +0,0 @@
|
||||
******************
|
||||
Direct deployments
|
||||
******************
|
||||
|
||||
Mayan EDMS should be deployed like any other Django_ project and
|
||||
preferably using virtualenv_. Below are some ways to deploy and use Mayan EDMS.
|
||||
Do not use more than one method.
|
||||
|
||||
Being a Django_ and a Python_ project, familiarity with these technologies is
|
||||
recommended to better understand why Mayan EDMS does some of the things it
|
||||
does.
|
||||
|
||||
|
||||
Basic deployment
|
||||
================
|
||||
This setup uses less memory and CPU resources at the expense of some speed.
|
||||
|
||||
Binary dependencies
|
||||
-------------------
|
||||
|
||||
If using a Debian_ or Ubuntu_ based Linux distribution, get the executable
|
||||
requirements using::
|
||||
|
||||
sudo apt-get install exiftool g++ gcc ghostscript gnupg1 graphviz \
|
||||
libfuse2 libjpeg-dev libmagic1 libpq-dev libpng-dev libreoffice \
|
||||
libtiff-dev poppler-utils postgresql python-dev python-virtualenv \
|
||||
redis-server sane-utils supervisor tesseract-ocr zlib1g-dev -y
|
||||
|
||||
Create an user account for the installation:
|
||||
--------------------------------------------
|
||||
::
|
||||
|
||||
sudo adduser mayan --disabled-password --disabled-login --no-create-home --gecos ""
|
||||
|
||||
Create the parent directory where the project will be deployed:
|
||||
---------------------------------------------------------------
|
||||
::
|
||||
|
||||
sudo mkdir /opt
|
||||
|
||||
Create the Python virtual environment for the installation:
|
||||
-----------------------------------------------------------
|
||||
::
|
||||
|
||||
sudo virtualenv /opt/mayan-edms
|
||||
|
||||
Make the mayan user the owner of the installation directory:
|
||||
------------------------------------------------------------
|
||||
::
|
||||
|
||||
sudo chown mayan:mayan /opt/mayan-edms -R
|
||||
|
||||
Install Mayan EDMS from PyPI:
|
||||
-----------------------------
|
||||
::
|
||||
|
||||
sudo -u mayan /opt/mayan-edms/bin/pip install --no-cache-dir mayan-edms
|
||||
|
||||
Install the Python client for PostgreSQL and Redis:
|
||||
---------------------------------------------------
|
||||
::
|
||||
|
||||
sudo -u mayan /opt/mayan-edms/bin/pip install --no-cache-dir psycopg2==2.7.3.2 redis==2.10.6
|
||||
|
||||
Create the database for the installation:
|
||||
-----------------------------------------
|
||||
::
|
||||
|
||||
sudo -u postgres psql -c "CREATE USER mayan WITH password 'mayanuserpass';"
|
||||
sudo -u postgres createdb -O mayan mayan
|
||||
|
||||
Initialize the project:
|
||||
-----------------------
|
||||
::
|
||||
|
||||
sudo -u mayan MAYAN_DATABASES='{default: {ENGINE: django.db.backends.postgresql, NAME: mayan, PASSWORD: mayanuserpass, USER: mayan, HOST=127.0.0.1}}' \
|
||||
MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
|
||||
/opt/mayan-edms/bin/mayan-edms.py initialsetup
|
||||
|
||||
Collect the static files:
|
||||
-------------------------
|
||||
::
|
||||
|
||||
sudo -u mayan MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
|
||||
/opt/mayan-edms/bin/mayan-edms.py collectstatic --noinput
|
||||
|
||||
Create the supervisor file at ``/etc/supervisor/conf.d/mayan.conf``:
|
||||
--------------------------------------------------------------------
|
||||
::
|
||||
|
||||
[supervisord]
|
||||
environment=
|
||||
MAYAN_ALLOWED_HOSTS='["*"]', # Allow access to other network hosts other than localhost
|
||||
MAYAN_CELERY_BROKER_URL="redis://127.0.0.1:6379/0",
|
||||
MAYAN_CELERY_RESULT_BACKEND="redis://127.0.0.1:6379/0",
|
||||
PYTHONPATH=/opt/mayan-edms/lib/python2.7/site-packages:/opt/mayan-edms/data,
|
||||
MAYAN_MEDIA_ROOT=/opt/mayan-edms/media,
|
||||
MAYAN_DATABASES='{default: {ENGINE: django.db.backends.postgresql, HOST: 127.0.0.1, NAME: mayan, PASSWORD: mayanuserpass, USER: mayan, CONN_MAX_AGE: 60}}',
|
||||
DJANGO_SETTINGS_MODULE=mayan.settings.production
|
||||
|
||||
[program:mayan-gunicorn]
|
||||
autorestart = true
|
||||
autostart = true
|
||||
command = /opt/mayan-edms/bin/gunicorn -w 2 mayan.wsgi --max-requests 500 --max-requests-jitter 50 --worker-class gevent --bind 0.0.0.0:8000 --timeout 120
|
||||
user = mayan
|
||||
|
||||
[program:mayan-worker-fast]
|
||||
autorestart = true
|
||||
autostart = true
|
||||
command = nice -n 1 /opt/mayan-edms/bin/mayan-edms.py celery worker -l ERROR -Q converter,document_states_fast,sources_fast -n mayan-worker-fast.%%h --concurrency=1
|
||||
killasgroup = true
|
||||
numprocs = 1
|
||||
priority = 998
|
||||
startsecs = 10
|
||||
stopwaitsecs = 1
|
||||
user = mayan
|
||||
|
||||
[program:mayan-worker-medium]
|
||||
autorestart = true
|
||||
autostart = true
|
||||
command = nice -n 18 /opt/mayan-edms/bin/mayan-edms.py celery worker -l ERROR -Q checkouts_periodic,documents_periodic,indexing,metadata,sources,sources_periodic,uploads,documents -n mayan-worker-medium.%%h --concurrency=1
|
||||
killasgroup = true
|
||||
numprocs = 1
|
||||
priority = 998
|
||||
startsecs = 10
|
||||
stopwaitsecs = 1
|
||||
user = mayan
|
||||
|
||||
[program:mayan-worker-slow]
|
||||
autorestart = true
|
||||
autostart = true
|
||||
command = nice -n 19 /opt/mayan-edms/bin/mayan-edms.py celery worker -l ERROR -Q mailing,tools,statistics,parsing,ocr -n mayan-worker-slow.%%h --concurrency=1
|
||||
killasgroup = true
|
||||
numprocs = 1
|
||||
priority = 998
|
||||
startsecs = 10
|
||||
stopwaitsecs = 1
|
||||
user = mayan
|
||||
|
||||
[program:mayan-celery-beat]
|
||||
autorestart = true
|
||||
autostart = true
|
||||
command = nice -n 1 /opt/mayan-edms/bin/mayan-edms.py celery beat --pidfile= -l ERROR
|
||||
killasgroup = true
|
||||
numprocs = 1
|
||||
priority = 998
|
||||
startsecs = 10
|
||||
stopwaitsecs = 1
|
||||
user = mayan
|
||||
|
||||
Configure Redis to discard data when it runs out of memory, not save its database and only keep 1 database:
|
||||
-----------------------------------------------------------------------------------------------------------
|
||||
::
|
||||
|
||||
echo "maxmemory-policy allkeys-lru" >> /etc/redis/redis.conf
|
||||
echo "save \"\"" >> /etc/redis/redis.conf
|
||||
echo "databases 1" >> /etc/redis/redis.conf
|
||||
systemctl restart redis
|
||||
|
||||
Enable and restart the services [1_]:
|
||||
-------------------------------------
|
||||
::
|
||||
|
||||
systemctl enable supervisor
|
||||
systemctl restart supervisor
|
||||
|
||||
|
||||
.. _deployment_advanced:
|
||||
|
||||
Advanced deployment
|
||||
===================
|
||||
|
||||
This variation uses RabbitMQ as the message broker and removes the fast worker
|
||||
concurrency restriction. RabbitMQ consumes more memory but scales to thousands
|
||||
of messages. RabbitMQ messages are also persistent, this means that pending
|
||||
tasks are not lost in the case of a restart. The database connection lifetime
|
||||
is increased to 10 minutes. The Gunicorn workers are increased to 3.
|
||||
|
||||
Binary dependencies
|
||||
-------------------
|
||||
|
||||
If using a Debian_ or Ubuntu_ based Linux distribution, get the executable
|
||||
requirements using::
|
||||
|
||||
sudo apt-get install exiftool g++ gcc ghostscript gnupg1 graphviz \
|
||||
libfuse2 libjpeg-dev libmagic1 libpq-dev libpng-dev libreoffice \
|
||||
libtiff-dev poppler-utils postgresql python-dev python-virtualenv \
|
||||
rabbitmq-server redis-server sane-utils supervisor tesseract-ocr \
|
||||
zlib1g-dev -y
|
||||
|
||||
Create an user account for the installation:
|
||||
--------------------------------------------
|
||||
::
|
||||
|
||||
sudo adduser mayan --disabled-password --disabled-login --no-create-home --gecos ""
|
||||
|
||||
Create the parent directory where the project will be deployed:
|
||||
---------------------------------------------------------------
|
||||
::
|
||||
|
||||
sudo mkdir /opt
|
||||
|
||||
Create the Python virtual environment for the installation:
|
||||
-----------------------------------------------------------
|
||||
::
|
||||
|
||||
sudo virtualenv /opt/mayan-edms
|
||||
|
||||
Make the mayan user the owner of the installation directory:
|
||||
------------------------------------------------------------
|
||||
::
|
||||
|
||||
sudo chown mayan:mayan /opt/mayan-edms -R
|
||||
|
||||
Install Mayan EDMS from PyPI:
|
||||
-----------------------------
|
||||
::
|
||||
|
||||
sudo -u mayan /opt/mayan-edms/bin/pip install --no-cache-dir mayan-edms
|
||||
|
||||
Install the Python client for PostgreSQL and Redis:
|
||||
---------------------------------------------------
|
||||
::
|
||||
|
||||
sudo -u mayan /opt/mayan-edms/bin/pip install --no-cache-dir librabbitmq==2.0.0 psycopg2==2.7.3.2 redis==2.10.6
|
||||
|
||||
Create the database for the installation:
|
||||
-----------------------------------------
|
||||
::
|
||||
|
||||
sudo -u postgres psql -c "CREATE USER mayan WITH password 'mayanuserpass';"
|
||||
sudo -u postgres createdb -O mayan mayan
|
||||
|
||||
Initialize the project:
|
||||
-----------------------
|
||||
::
|
||||
|
||||
sudo -u mayan MAYAN_DATABASES='{default: {ENGINE: django.db.backends.postgresql, NAME: mayan, PASSWORD: mayanuserpass, USER: mayan, HOST=127.0.0.1}}' \
|
||||
MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
|
||||
/opt/mayan-edms/bin/mayan-edms.py initialsetup
|
||||
|
||||
Collect the static files:
|
||||
-------------------------
|
||||
::
|
||||
|
||||
sudo -u mayan MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
|
||||
/opt/mayan-edms/bin/mayan-edms.py collectstatic --noinput
|
||||
|
||||
Create the RabbitMQ user and vhost:
|
||||
-----------------------------------
|
||||
::
|
||||
|
||||
sudo rabbitmqctl add_user mayan mayanrabbitmqpassword
|
||||
sudo rabbitmqctl add_vhost mayan
|
||||
sudo rabbitmqctl set_permissions -p mayan mayan ".*" ".*" ".*"
|
||||
|
||||
Create the supervisor file at ``/etc/supervisor/conf.d/mayan.conf``:
|
||||
--------------------------------------------------------------------
|
||||
::
|
||||
|
||||
[supervisord]
|
||||
environment=
|
||||
MAYAN_ALLOWED_HOSTS='["*"]', # Allow access to other network hosts other than localhost
|
||||
MAYAN_CELERY_BROKER_URL="amqp://mayan:mayanrabbitmqpassword@localhost:5672/mayan",
|
||||
MAYAN_CELERY_RESULT_BACKEND="redis://127.0.0.1:6379/0",
|
||||
PYTHONPATH=/opt/mayan-edms/lib/python2.7/site-packages:/opt/mayan-edms/data,
|
||||
MAYAN_MEDIA_ROOT=/opt/mayan-edms/media,
|
||||
MAYAN_DATABASES='{default: {ENGINE: django.db.backends.postgresql, HOST: 127.0.0.1, NAME: mayan, PASSWORD: mayanuserpass, USER: mayan, CONN_MAX_AGE: 60}}',
|
||||
DJANGO_SETTINGS_MODULE=mayan.settings.production
|
||||
|
||||
[program:mayan-gunicorn]
|
||||
autorestart = true
|
||||
autostart = true
|
||||
command = /opt/mayan-edms/bin/gunicorn -w 3 mayan.wsgi --max-requests 500 --max-requests-jitter 50 --worker-class gevent --bind 0.0.0.0:8000 --timeout 120
|
||||
user = mayan
|
||||
|
||||
[program:mayan-worker-fast]
|
||||
autorestart = true
|
||||
autostart = true
|
||||
command = nice -n 1 /opt/mayan-edms/bin/mayan-edms.py celery worker -l ERROR -Q converter,document_states_fast,sources_fast -n mayan-worker-fast.%%h
|
||||
killasgroup = true
|
||||
numprocs = 1
|
||||
priority = 998
|
||||
startsecs = 10
|
||||
stopwaitsecs = 1
|
||||
user = mayan
|
||||
|
||||
[program:mayan-worker-medium]
|
||||
autorestart = true
|
||||
autostart = true
|
||||
command = nice -n 18 /opt/mayan-edms/bin/mayan-edms.py celery worker -l ERROR -Q checkouts_periodic,documents_periodic,indexing,metadata,sources,sources_periodic,uploads,documents -n mayan-worker-medium.%%h --concurrency=1
|
||||
killasgroup = true
|
||||
numprocs = 1
|
||||
priority = 998
|
||||
startsecs = 10
|
||||
stopwaitsecs = 1
|
||||
user = mayan
|
||||
|
||||
[program:mayan-worker-slow]
|
||||
autorestart = true
|
||||
autostart = true
|
||||
command = nice -n 19 /opt/mayan-edms/bin/mayan-edms.py celery worker -l ERROR -Q mailing,tools,statistics,parsing,ocr -n mayan-worker-slow.%%h --concurrency=1
|
||||
killasgroup = true
|
||||
numprocs = 1
|
||||
priority = 998
|
||||
startsecs = 10
|
||||
stopwaitsecs = 1
|
||||
user = mayan
|
||||
|
||||
[program:mayan-celery-beat]
|
||||
autorestart = true
|
||||
autostart = true
|
||||
command = nice -n 1 /opt/mayan-edms/bin/mayan-edms.py celery beat --pidfile= -l ERROR
|
||||
killasgroup = true
|
||||
numprocs = 1
|
||||
priority = 998
|
||||
startsecs = 10
|
||||
stopwaitsecs = 1
|
||||
user = mayan
|
||||
|
||||
Configure Redis to discard data when it runs out of memory, not save its database and only keep 1 database:
|
||||
-----------------------------------------------------------------------------------------------------------
|
||||
::
|
||||
|
||||
echo "maxmemory-policy allkeys-lru" >> /etc/redis/redis.conf
|
||||
echo "save \"\"" >> /etc/redis/redis.conf
|
||||
echo "databases 1" >> /etc/redis/redis.conf
|
||||
systemctl restart redis
|
||||
|
||||
Enable and restart the services [1_]:
|
||||
-------------------------------------
|
||||
::
|
||||
|
||||
systemctl enable supervisor
|
||||
systemctl restart supervisor
|
||||
|
||||
|
||||
Troubleshooting
|
||||
===============
|
||||
|
||||
- Due to OS differences some binaries might reside in different locations.
|
||||
Use environment variables or the configuration file to tell Mayan EDMS where
|
||||
to file these binaries.
|
||||
|
||||
Example: OpenBSD. Add the following entries to supervisor configuration files.
|
||||
::
|
||||
|
||||
MAYAN_DOCUMENT_PARSING_PDFTOTEXT_PATH=/usr/local/bin/pdftotext,
|
||||
MAYAN_SIGNATURES_GPG_PATH=/usr/local/bin/gpg,
|
||||
MAYAN_SOURCES_SCANIMAGE_PATH: /usr/local/bin/scanimage,
|
||||
|
||||
Alternatively a symlink from the actual binary location to where Mayan
|
||||
EDMS is expecting them to be found by default also works for some users::
|
||||
|
||||
ln -s /usr/local/bin/gpg /usr/bin/gpg1
|
||||
|
||||
Example 2: Ubuntu 16.04. Add the following entries to supervisor
|
||||
configuration files.
|
||||
::
|
||||
|
||||
MAYAN_SIGNATURES_GPG_PATH=/usr/bin/gpg1,
|
||||
|
||||
Or add a symlink::
|
||||
|
||||
ln -s /usr/bin/gpg /usr/bin/gpg1
|
||||
|
||||
[1]: https://bugs.launchpad.net/ubuntu/+source/supervisor/+bug/1594740
|
||||
|
||||
.. _Debian: https://www.debian.org/
|
||||
.. _Django: https://www.djangoproject.com/
|
||||
.. _Python: https://www.python.org/
|
||||
.. _SQLite: https://www.sqlite.org/
|
||||
.. _Ubuntu: http://www.ubuntu.com/
|
||||
.. _virtualenv: http://www.virtualenv.org/en/latest/index.html
|
||||
.. _1: https://bugs.launchpad.net/ubuntu/+source/supervisor/+bug/1594740
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,291 +0,0 @@
|
||||
************
|
||||
Docker image
|
||||
************
|
||||
|
||||
|
||||
Stopping and starting the container
|
||||
===================================
|
||||
|
||||
To stop the container use::
|
||||
|
||||
docker stop mayan-edms
|
||||
|
||||
|
||||
To start the container again::
|
||||
|
||||
docker start mayan-edms
|
||||
|
||||
|
||||
.. _docker_environment_variables:
|
||||
|
||||
Environment Variables
|
||||
=====================
|
||||
|
||||
In addition to the all the environment variables supported by Mayan EDMS, the
|
||||
Mayan EDMS image provides some additional variables to configure the Docker
|
||||
specifics of the image.
|
||||
|
||||
``MAYAN_DATABASE_ENGINE``
|
||||
|
||||
Defaults to ``None``. This environment variable configures the database
|
||||
backend to use. If left unset, SQLite will be used. The database backends
|
||||
supported by this Docker image are:
|
||||
|
||||
- ``'django.db.backends.postgresql'``
|
||||
- ``'django.db.backends.mysql'``
|
||||
- ``'django.db.backends.sqlite3'``
|
||||
|
||||
When using the SQLite backend, the database file will be saved in the Docker
|
||||
volume. The SQLite database as used by Mayan EDMS is meant only for development
|
||||
or testing, never use it in production.
|
||||
|
||||
``MAYAN_DATABASE_HOST``
|
||||
|
||||
Defaults to `None`. This optional environment variable is used to set the
|
||||
hostname that will be used to connect to the database. This can be the
|
||||
hostname of another container or an IP address. For more information read
|
||||
the pertinent Django documentation page:
|
||||
:django-docs:`Settings, HOST <ref/settings/#host>`
|
||||
|
||||
``MAYAN_DATABASE_PORT``
|
||||
|
||||
Defaults to `None`. This optional environment variable is used to set the
|
||||
port number to use when connecting to the database. An empty string means
|
||||
the default port. Not used with SQLite. For more information read the
|
||||
pertinent Django documentation page:
|
||||
:django-docs:`Settings, PORT <ref/settings/#port>`
|
||||
|
||||
``MAYAN_CELERY_BROKER_URL``
|
||||
|
||||
This optional environment variable determines the broker that Celery will use
|
||||
to relay task messages between the frontend code and the background workers.
|
||||
For more information read the pertinent Celery Kombu documentation page: `Broker URL`_
|
||||
|
||||
.. _Broker URL: http://kombu.readthedocs.io/en/latest/userguide/connections.html#connection-urls
|
||||
|
||||
This Docker image supports using Redis and RabbitMQ as brokers.
|
||||
|
||||
Caveat: If the `MAYAN_CELERY_BROKER_URL` and `MAYAN_CELERY_RESULT_BACKEND` environment
|
||||
variables are specified, the built-in Redis server inside the container will
|
||||
be disabled.
|
||||
|
||||
``MAYAN_CELERY_RESULT_BACKEND``
|
||||
|
||||
This optional environment variable determines the results backend that Celery
|
||||
will use to relay result messages from the background workers to the frontend
|
||||
code. For more information read the pertinent Celery Kombu documentation page:
|
||||
`Task result backend settings`_
|
||||
|
||||
.. _Task result backend settings: http://docs.celeryproject.org/en/3.1/configuration.html#celery-result-backend
|
||||
|
||||
This Docker image supports using Redis and RabbitMQ as result backends.
|
||||
|
||||
Caveat: If the `MAYAN_CELERY_BROKER_URL` and `MAYAN_CELERY_RESULT_BACKEND` environment
|
||||
variables are specified, the built-in Redis server inside the container will
|
||||
be disabled.
|
||||
|
||||
``MAYAN_SETTINGS_MODULE``
|
||||
|
||||
Optional. Allows loading an alternate settings file.
|
||||
|
||||
``MAYAN_GUNICORN_WORKERS``
|
||||
|
||||
Optional. This environment variable controls the number of frontend workers
|
||||
that will be executed. If not specified the default is 2. For heavier loads,
|
||||
user a higher number. A formula recommended for this setting is the number
|
||||
of CPU cores + 1.
|
||||
|
||||
``MAYAN_WORKER_FAST_CONCURRENCY``
|
||||
|
||||
Optional. Changes the concurrency (number of child processes) of the Celery
|
||||
worker consuming the queues in the fast (low latency, short tasks) category.
|
||||
Default is 1. Use 0 to disable hardcoded concurrency and allow the Celery
|
||||
worker to launch its default number of child processes (equal to the number
|
||||
of CPUs detected).
|
||||
|
||||
``MAYAN_WORKER_MEDIUM_CONCURRENCY``
|
||||
|
||||
Optional. Changes the concurrency (number of child processes) of the Celery
|
||||
worker consuming the queues in the medium (medium latency, long running tasks)
|
||||
category. Default is 1. Use 0 to disable hardcoded concurrency and allow the
|
||||
Celery worker to launch its default number of child processes (equal to the
|
||||
number of CPUs detected).
|
||||
|
||||
``MAYAN_WORKER_SLOW_CONCURRENCY``
|
||||
|
||||
Optional. Changes the concurrency (number of child processes) of the Celery
|
||||
worker consuming the queues in the slow (high latency, very long running tasks)
|
||||
category. Default is 1. Use 0 to disable hardcoded concurrency and allow the
|
||||
Celery worker to launch its default number of child processes (equal to the
|
||||
number of CPUs detected).
|
||||
|
||||
|
||||
Accessing outside data
|
||||
======================
|
||||
|
||||
To use Mayan EDMS's staging folders or watch folders from Docker, the data
|
||||
for these source must be made accessible to the container. This is done by
|
||||
mounting the folders in the host computer to folders inside the container.
|
||||
This is necessary because Docker containers do not have access to host data
|
||||
on purpose. For example, to make a folder in the host accessible as a watch
|
||||
folder, add the following to the Docker command line when starting the
|
||||
container::
|
||||
|
||||
-v /opt/scanned_files:/srv/watch_folder
|
||||
|
||||
The command line would look like this::
|
||||
|
||||
docker run ... -v /opt/scanned_files:/srv/watch_folder mayanedms/mayanedms:latest
|
||||
|
||||
Now create a watch folder in Mayan EDMS using the path ``/srv/watch_folder``
|
||||
and the documents from the host folder ``/opt/scanned_files`` will be
|
||||
automatically available. Use the same procedure to mount host folders to be
|
||||
used as staging folderes. In this example ``/srv/watch_folder`` was as the
|
||||
container directory, but any path can be used as long as it is not an
|
||||
already existing path or a path used by any other program.
|
||||
|
||||
|
||||
Performing backups
|
||||
==================
|
||||
|
||||
To backup the existing data, stop the image and copy the content of the volume.
|
||||
For the example::
|
||||
|
||||
docker run -d --name mayan-edms --restart=always -p 80:8000 \
|
||||
-v /docker-volumes/mayan:/var/lib/mayan \
|
||||
-v /opt/scanned_files:/srv/watch_folder mayanedms/mayanedms:latest
|
||||
|
||||
That would be the ``/docker-volumes/mayan folder``::
|
||||
|
||||
sudo tar -zcvf backup.tar.gz /docker-volumes/mayan
|
||||
sudo chown `whoami` backup.tar.gz
|
||||
|
||||
If using an external PostgreSQL or MySQL database or database containers, these
|
||||
too need to be backed up using their respective procedures. A simple solution
|
||||
is to copy the entire database container volume after the container has
|
||||
been stopped.
|
||||
|
||||
|
||||
Restoring from a backup
|
||||
=======================
|
||||
|
||||
Uncompress the backup archive in the original docker volume using::
|
||||
|
||||
sudo tar -xvzf backup.tar.gz -C /
|
||||
|
||||
|
||||
Upgrading
|
||||
=========
|
||||
|
||||
Upgrading a Mayan EDMS Docker container is actually a matter of stopping and
|
||||
deleting the container, downloading the most recent version of the image and
|
||||
starting a container again. The container will take care of updating the
|
||||
database structure to the newest version if necessary.
|
||||
|
||||
**IMPORTANT!** Do not delete the volume storing the data, only the container.
|
||||
|
||||
Stop the container to be upgraded::
|
||||
|
||||
docker stop mayan-edms
|
||||
|
||||
|
||||
Remove the container::
|
||||
|
||||
docker rm mayan-edms
|
||||
|
||||
|
||||
Pull the new image version::
|
||||
|
||||
docker pull mayanedms/mayanedms:latest
|
||||
|
||||
|
||||
Start the container again with the new image version::
|
||||
|
||||
docker run -d --name mayan-edms --restart=always -p 80:8000 -v /docker-volumes/mayan:/var/lib/mayan mayanedms/mayanedms:latest
|
||||
|
||||
|
||||
Building the image
|
||||
==================
|
||||
|
||||
Clone the repository with::
|
||||
|
||||
git clone https://gitlab.com/mayan-edms/mayan-edms.git
|
||||
|
||||
Change to the directory of the cloned repository::
|
||||
|
||||
cd mayan-edms
|
||||
|
||||
Execute Docker's build command using the provided makefile::
|
||||
|
||||
make docker-build
|
||||
|
||||
Or using an apt cacher to speed up the build::
|
||||
|
||||
make docker-build-with-proxy APT_PROXY=172.17.0.1:3142
|
||||
|
||||
Replace the IP address `172.17.0.1` with the IP address of the computer
|
||||
running the APT proxy and caching service.
|
||||
|
||||
|
||||
Customizing the image
|
||||
=====================
|
||||
|
||||
|
||||
Simple method
|
||||
-------------
|
||||
|
||||
If you just need to add a few Ubuntu or Python packages to your installation,
|
||||
you can use the following environment variables:
|
||||
|
||||
``MAYAN_APT_INSTALLS``
|
||||
|
||||
Specifies a list of Ubuntu .deb packages to be installed via APT when the
|
||||
container is first created. The installed packages are not lost when the image
|
||||
is stopped. Example: To install the Tesseract OCR language packs for German
|
||||
and Spanish add the following in your ``docker start`` command line::
|
||||
|
||||
-e MAYAN_APT_INSTALLS="tesseract-ocr-deu tesseract-ocr-spa"
|
||||
|
||||
``MAYAN_PIP_INSTALLS``
|
||||
|
||||
Specifies a list of Python packages to be installed via ``pip``. Packages will
|
||||
be downloaded from the Python Package Index (https://pypi.python.org) by
|
||||
default.
|
||||
|
||||
|
||||
Using Docker compose
|
||||
====================
|
||||
|
||||
To deploy a complete production stack using the included Docker compose file
|
||||
execute::
|
||||
|
||||
docker-compose -f docker-compose.yml up -d
|
||||
|
||||
This Docker compose file will provision four containers:
|
||||
|
||||
- Postgres as the database
|
||||
- Redis as the Celery result storage
|
||||
- RabbitMQ as the Celery broker
|
||||
- Mayan EDMS using the above service containers
|
||||
|
||||
To stop the stack use::
|
||||
|
||||
docker-compose -f docker-compose.yml stop
|
||||
|
||||
The stack will also create four volumes to store the data of each container.
|
||||
These are:
|
||||
|
||||
- mayan_app - The Mayan EDMS data container, normally called `mayan_data` when not using Docker compose.
|
||||
- mayan_broker - The broker volume, in this case RabbitMQ.
|
||||
- mayan_db - The database volume, in this case Postgres.
|
||||
- mayan_results - The celery result backend volume, in this case Redis.
|
||||
|
||||
|
||||
Nightly images
|
||||
==============
|
||||
The continuous integration pipeline used for testing development builds also
|
||||
produces a resulting Docker image. These are build automatically and their
|
||||
stability is not guaranteed. They should never be used in production.
|
||||
If you want to try out the Docker images the development uses or want a sneak
|
||||
peek at the new features being worked on checkout the container registry at:
|
||||
https://gitlab.com/mayan-edms/mayan-edms/container_registry
|
||||
@@ -1,109 +0,0 @@
|
||||
*******************
|
||||
Docker installation
|
||||
*******************
|
||||
|
||||
Docker is a system that allows running programs in isolated areas which
|
||||
have restricted access to resources, devices, and memory. Docker usage also
|
||||
distributing software as a single file.
|
||||
|
||||
Make sure Docker is properly installed and working before attempting to install
|
||||
Mayan EDMS.
|
||||
|
||||
Docker can be installed using their automated script::
|
||||
|
||||
wget -qO- https://get.docker.com/ | sh
|
||||
|
||||
This installs the latest versions of Docker. If you don't want run an automated
|
||||
script follow the instructions outlined in their documentation:
|
||||
https://docs.docker.com/install/
|
||||
|
||||
With Docker properly installed, proceed to download the Mayan EDMS image using the command::
|
||||
|
||||
docker pull mayanedms/mayanedms:<version>
|
||||
|
||||
Then download version 9.5 of the Docker PostgreSQL image::
|
||||
|
||||
docker pull postgres:9.5
|
||||
|
||||
Create and run a PostgreSQL container::
|
||||
|
||||
docker run -d \
|
||||
--name mayan-edms-postgres \
|
||||
--restart=always \
|
||||
-p 5432:5432 \
|
||||
-e POSTGRES_USER=mayan \
|
||||
-e POSTGRES_DB=mayan \
|
||||
-e POSTGRES_PASSWORD=mayanuserpass \
|
||||
-v /docker-volumes/mayan-edms/postgres:/var/lib/postgresql/data \
|
||||
-d postgres:9.5
|
||||
|
||||
The PostgreSQL container will have one database named ``mayan``, with an user
|
||||
named ``mayan`` too, with a password of ``mayanuserpass``. The container will
|
||||
expose its internal 5432 port (PostgreSQL's default port) via the host's
|
||||
5432 port. The data of this container will reside on the host's
|
||||
``/docker-volumes/mayan-edms/postgres`` folder.
|
||||
|
||||
Finally create and run a Mayan EDMS container. Change <version> with the
|
||||
latest version in numeric form (example: 2.7.3) or use the ``latest``
|
||||
identifier::
|
||||
|
||||
docker run -d \
|
||||
--name mayan-edms \
|
||||
--restart=always \
|
||||
-p 80:8000 \
|
||||
-e MAYAN_DATABASES='{default: {ENGINE: django.db.backends.postgresql, HOST: 172.17.0.1, NAME: mayan, PASSWORD: mayanuserpass, USER: mayan, CONN_MAX_AGE: 60}}' \
|
||||
-v /docker-volumes/mayan-edms/media:/var/lib/mayan \
|
||||
mayanedms/mayanedms:<version>
|
||||
|
||||
The Mayan EDMS container will connect to the PostgreSQL container via the
|
||||
``172.17.0.1`` IP address (the Docker host's default IP address). It will
|
||||
connect using the ``django.db.backends.postgresql`` database driver and
|
||||
connect to the ``mayan`` database using the ``mayan`` user with the password
|
||||
``mayanuserpass``. The container will keep connections to the database
|
||||
for up to 60 seconds in an attempt to reuse them increasing response time
|
||||
and reducing memory usage. The files of the container will be store in the
|
||||
host's ``/docker-volumes/mayan-edms/media`` folder. The container will
|
||||
expose its web service running on port 8000 on the host's port 80.
|
||||
|
||||
The container will be available by browsing to ``http://localhost`` or to
|
||||
the IP address of the computer running the container.
|
||||
|
||||
If another web server is running on port 80 use a different port in the
|
||||
``-p`` option. For example: ``-p 81:8000``.
|
||||
|
||||
|
||||
Using a dedicated Docker network
|
||||
================================
|
||||
Use this method to avoid having to expose PostreSQL port to the host's network
|
||||
or if you have other PostgreSQL instances but still want to use the default
|
||||
port of 5432 for this installation.
|
||||
|
||||
Create the network::
|
||||
|
||||
docker network create mayan
|
||||
|
||||
Launch the PostgreSQL container with the network option and remove the port
|
||||
binding (``-p 5432:5432``)::
|
||||
|
||||
docker run -d \
|
||||
--name mayan-edms-postgres \
|
||||
--network=mayan \
|
||||
--restart=always \
|
||||
-e POSTGRES_USER=mayan \
|
||||
-e POSTGRES_DB=mayan \
|
||||
-e POSTGRES_PASSWORD=mayanuserpass \
|
||||
-v /docker-volumes/mayan-edms/postgres:/var/lib/postgresql/data \
|
||||
-d postgres:9.5
|
||||
|
||||
Launch the Mayan EDMS container with the network option and change the
|
||||
database hostname to the PostgreSQL container name (``mayan-edms-postgres``)
|
||||
instead of the IP address of the Docker host (``172.17.0.1``)::
|
||||
|
||||
docker run -d \
|
||||
--name mayan-edms \
|
||||
--network=mayan \
|
||||
--restart=always \
|
||||
-p 80:8000 \
|
||||
-e MAYAN_DATABASES='{default: {ENGINE: django.db.backends.postgresql, HOST: mayan-edms-postgres, NAME: mayan, PASSWORD: mayanuserpass, USER: mayan, CONN_MAX_AGE: 60}}' \
|
||||
-v /docker-volumes/mayan-edms/media:/var/lib/mayan \
|
||||
mayanedms/mayanedms:<version>
|
||||
@@ -1,72 +0,0 @@
|
||||
Document types
|
||||
==============
|
||||
|
||||
The basic unit of data in Mayan EDMS is the **document type**. A document
|
||||
type can be interpreted also as a document category, a document class, or a
|
||||
document template. Every other aspect of the system will rely or be tied to
|
||||
one or more document type. Create one document type for each type or class of
|
||||
document you intend to upload into Mayan EDMS.
|
||||
|
||||
Document types need to be created before documents can be
|
||||
uploaded. It is not possible to upload documents without assigning them a
|
||||
document type.
|
||||
|
||||
Document types usually mirror the type of physical, paper document they
|
||||
represent.
|
||||
|
||||
Example document types:
|
||||
|
||||
* Letter
|
||||
* Invoice
|
||||
* Timesheet
|
||||
* Blueprint
|
||||
|
||||
.. blockdiag::
|
||||
|
||||
blockdiag {
|
||||
default_shape = roundedbox
|
||||
|
||||
document_type [ label = 'each document type' ];
|
||||
documents [ label = 'many documents' ];
|
||||
|
||||
document_type -> documents;
|
||||
}
|
||||
|
||||
|
||||
Examples:
|
||||
|
||||
.. blockdiag::
|
||||
|
||||
blockdiag {
|
||||
default_shape = roundedbox
|
||||
|
||||
document_type [ label = 'Invoice' ];
|
||||
documents_1 [ label = 'invoice_001.pdf', width=200 ];
|
||||
documents_2 [ label = 'invoice_032.pdf', width=200 ];
|
||||
|
||||
document_type -> documents_1, documents_2;
|
||||
}
|
||||
|
||||
|
||||
.. blockdiag::
|
||||
|
||||
blockdiag {
|
||||
default_shape = roundedbox
|
||||
|
||||
document_type [ label = 'Receipts' ];
|
||||
documents_1 [ label = 'groceries_18-01-11.pdf', width=200 ];
|
||||
documents_2 [ label = 'car_payment-17-01-02.png', width=200 ];
|
||||
|
||||
document_type -> documents_1, documents_2;
|
||||
}
|
||||
|
||||
|
||||
Settings and attributes are applied to document types and documents will
|
||||
inherit those settings and attributes based on the document type they were
|
||||
assigned when uploaded into Mayan EDMS. A document can only be of one
|
||||
type at a given moment, but if needed, the type of a document can be changed.
|
||||
Upon changing its type, the document will lose its previous settings and
|
||||
attributes, and will inherit the settings and attributes of its new type.
|
||||
|
||||
Document types are create in the
|
||||
:menuselection:`System --> Setup --> Document types` menu.
|
||||
@@ -1,115 +0,0 @@
|
||||
|
||||
Index examples
|
||||
--------------
|
||||
|
||||
Index of document types
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
This index will create one level for each document type in the system and place
|
||||
links to the document of each respective type.
|
||||
|
||||
#. Go to the :menuselection:`System --> Setup --> Indexes` menu.
|
||||
#. Create a new index using :menuselection:`Actions --> Create new`.
|
||||
#. Give it a label to describe it, and an internal name. The internal name is
|
||||
used when referencing this index in other parts of the system.
|
||||
#. Press the :menuselection:`Template` link of the newly created index.
|
||||
#. Select :menuselection:`New child node` to create a new level in which the
|
||||
following template code will be entered.
|
||||
::
|
||||
|
||||
{{ document.document_type }}
|
||||
|
||||
#. Save the template.
|
||||
#. Go to :menuselection:`Document types` and associate this index with
|
||||
existing document types in the system.
|
||||
#. Finally go to :menuselection:`Tools --> Rebuild indexes` to execute the
|
||||
index template. The rebuild process is only necessary when changes are
|
||||
made to the index templates. Otherwise they update automatically whenever
|
||||
a new document is uploaded or existing documents properties are modified.
|
||||
#. A new index should appear under :menuselection:`Indexes` menu.
|
||||
|
||||
You can also program different behavior based on the different document types,
|
||||
by use a comparison and a conditional statement. As the document_type itself
|
||||
is not a string you cannot directly use that for that comparison. You will have
|
||||
to use the label of the document type.
|
||||
|
||||
For example::
|
||||
|
||||
{% if document.document_type.label == "Invoice" or document.document_type.label == "Letter" %}
|
||||
Correspondence
|
||||
{% else %}
|
||||
{{ document.document_type }}
|
||||
{% endif %}
|
||||
|
||||
This will create and index level for each document type. Except for documents
|
||||
of types "Invoice" and "Letter", these will now go into the level "Correspondence".
|
||||
|
||||
|
||||
Index document by department, taken from the first character of the invoice number metadata
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Requires one index node with the template::
|
||||
|
||||
{% if document.metadata_value_of.invoice_number.0 == "A" %}Accounting
|
||||
{% if document.metadata_value_of.invoice_number.0 == "H" %}Human Resources
|
||||
{% endif %}
|
||||
|
||||
|
||||
Nested date index from a date contained in a metadata
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Assuming the metadata type is named **date_issued** with a date format
|
||||
of YYYY-MM-DD. The target is to have two levels: one for years and another
|
||||
sub level for months.
|
||||
|
||||
**First level: Year**
|
||||
::
|
||||
|
||||
{{ document.metadata_value_of.date_issued|slice:"0:4" }}
|
||||
|
||||
|
||||
**Second level: Months**
|
||||
::
|
||||
|
||||
{{ document.metadata_value_of.date_issued|slice:"5:7" }}
|
||||
|
||||
|
||||
**Optional: Third level: Day**
|
||||
::
|
||||
|
||||
{{ document.metadata_value_of.date_issued|slice:"8:10" }}
|
||||
|
||||
|
||||
Index by OCR content
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
This example indexes documents in a "quarterly report" level if they have the
|
||||
fragment “quarterly report” in the OCR text::
|
||||
|
||||
{% if "quarterly report" in document.ocr_content.lower() %}Quarterly reports{% endif %}
|
||||
|
||||
The same applies to text content extracted for the document::
|
||||
|
||||
{% if "quarterly report" in document.content.lower() %}Quarterly reports{% endif %}
|
||||
|
||||
|
||||
|
||||
Index documents not found in any cabinet
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
::
|
||||
|
||||
{% if document.cabinets.count == 0 %}No Cabinets{% endif %}
|
||||
|
||||
|
||||
Index untagged documents
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
::
|
||||
|
||||
{% if document.tags.count == 0 %}No Tags{% endif %}
|
||||
|
||||
|
||||
Index documents specifically, by the year of a metadata field otherwise by their uploaded year
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
::
|
||||
|
||||
{% for tag in document.tags.all %}{% if tag.label == "Taxes" %}{% if document.metadata_value_of.tax_year|length_is:"4" %}{{ document.metadata_value_of.tax_year }}{% else %}{{ document.date_added|date:"Y" }}{% endif %}{% endif %}{% endfor %}
|
||||
@@ -1,36 +0,0 @@
|
||||
*********
|
||||
Languages
|
||||
*********
|
||||
|
||||
The list of languages choices in the language dropdown used for documents is
|
||||
based on the current ISO 639 list. This list can be quite extensive. To reduce
|
||||
the number of languages available use the setting ``DOCUMENTS_LANGUAGE_CODES``,
|
||||
and set it to a nested list of abbreviations. This setting can be found in the
|
||||
:menuselection:`System --> Setup -> Settings -> Common` menu.
|
||||
|
||||
For example, to reduce the list to just English and Spanish use
|
||||
::
|
||||
|
||||
DOCUMENTS_LANGUAGE_CODES = ('eng', 'spa')
|
||||
|
||||
|
||||
The default language to appear on the dropdown can also be configured using::
|
||||
|
||||
DOCUMENTS_LANGUAGE = 'spa'
|
||||
|
||||
Use the correct ISO 639-3 language abbreviation (https://en.wikipedia.org/wiki/ISO_639)
|
||||
as this code is used in several subsystems in Mayan EDMS such as the OCR app
|
||||
to determine how to interpret the document.
|
||||
|
||||
If using the Docker image, these settings can also be passed to the container
|
||||
as environment variables by prepending the ``MAYAN_`` suffix.
|
||||
|
||||
Example::
|
||||
|
||||
-e MAYAN_DOCUMENTS_LANGUAGE_CODES='["eng", "spa"]'
|
||||
|
||||
For more information check out the
|
||||
:ref:`environment variables <environment_variables>` chapter of the
|
||||
:doc:`../topics/settings` topic.
|
||||
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
*****************
|
||||
Mailing documents
|
||||
*****************
|
||||
|
||||
Sending emails in Mayan EDMS is controlled by two different system depending on
|
||||
the type of email being sent. These are administrative emails like password
|
||||
reset emails and user emails sent from the application. To configure
|
||||
administrative email for things like password reset check the topic:
|
||||
:doc:`../topics/administration`
|
||||
|
||||
Application emails
|
||||
==================
|
||||
|
||||
To allow users to send emails or documents from within the web interface,
|
||||
Mayan EDMS provides its our own email system called Mailing Profiles.
|
||||
Mailing Profiles support access control per user role and can use different
|
||||
email backends. Mailing Profiles are created from the
|
||||
:menuselection:`System --> Setup` menu.
|
||||
|
||||
Once created mailing profiles allow users to send email messages from
|
||||
within the user interface containing either an URL link to the document or
|
||||
the actual document as an attachment.
|
||||
@@ -1,60 +0,0 @@
|
||||
**************
|
||||
Object storage
|
||||
**************
|
||||
|
||||
It is possible to use object storage instead of the default filesystem based
|
||||
storage. One such object storage system is Amazon S3 (Simple Storage Service)
|
||||
API compatible object storage. The following steps will configure Mayan EDMS
|
||||
to use a S3 style storage for documents.
|
||||
|
||||
1. Install the django-storages and boto3 Python libraries.
|
||||
|
||||
* For the direct deployment method of installation use::
|
||||
|
||||
pip install django-storages boto3
|
||||
|
||||
|
||||
* or if using the Docker image, add the following the command line that runs the container::
|
||||
|
||||
-e MAYAN_PIP_INSTALLS='django-storages boto3'
|
||||
|
||||
|
||||
2. From the web interface navigate to the :menuselection:`System --> Setup --> Setting --> Documents` menu.
|
||||
3. Locate the **DOCUMENTS_STORAGE_BACKEND** setting, press **Edit** and enter::
|
||||
|
||||
storages.backends.s3boto3.S3Boto3Storage
|
||||
|
||||
4. Save and locate the setting **DOCUMENTS_STORAGE_BACKEND_ARGUMENTS**, press **Edit** and enter::
|
||||
|
||||
'{access_key: <your S3 access key>, secret_key: <your S3 secret key>, bucket_name: <S3 bucket name>}'
|
||||
|
||||
5. Save and restart your Mayan EDMS installation for the setting to take effect.
|
||||
|
||||
|
||||
Storage
|
||||
=======
|
||||
Mayan EDMS stores documents in their original file format only changing the
|
||||
filename to avoid collision. For best input and output speed use a block
|
||||
based local filesystem for the ``/media`` sub folder of the path specified by
|
||||
the MEDIA_ROOT setting. For increased storage capacity use an object storage
|
||||
filesystem like S3.
|
||||
|
||||
To use a S3 compatible object storage do the following:
|
||||
|
||||
* Install the Python packages ``django-storages`` and ``boto3``:
|
||||
|
||||
* Using Python::
|
||||
|
||||
pip install django-storages boto3
|
||||
|
||||
* Using Docker::
|
||||
|
||||
-e MAYAN_PIP_INSTALLS='django-storages boto3'
|
||||
|
||||
On the Mayan EDMS user interface, go to ``System``, ``Setup``, ``Settings``,
|
||||
``Documents`` and change the following setting:
|
||||
|
||||
* ``DOCUMENTS_STORAGE_BACKEND`` to ``storages.backends.s3boto3.S3Boto3Storage``
|
||||
* ``DOCUMENTS_STORAGE_BACKEND_ARGUMENTS`` to ``'{access_key: <your access key>, secret_key: <your secret key>, bucket_name: <bucket name>}'``.
|
||||
|
||||
Restart Mayan EDMS for the changes to take effect.
|
||||
@@ -1,39 +0,0 @@
|
||||
**************
|
||||
Password reset
|
||||
**************
|
||||
|
||||
To use the password reset feature, administrative emails need to be configured.
|
||||
These are sent by the system itself and not by the users. Their usage and
|
||||
configuration is different than the
|
||||
:doc:`email system used to share documents via email<../chapters/mailing>`.
|
||||
|
||||
Sending administrative emails
|
||||
=============================
|
||||
|
||||
To be able to send password reset emails configure the Django email settings
|
||||
via the :ref:`configuration file <configuration_file>`.
|
||||
|
||||
Example::
|
||||
|
||||
DEFAULT_FROM_EMAIL: '<your administrator email>'
|
||||
EMAIL_BACKEND: django.core.mail.backends.smtp.EmailBackend
|
||||
EMAIL_HOST: '<your smtp ip address or hostname>'
|
||||
EMAIL_HOST_PASSWORD: '<your smtp password>'
|
||||
EMAIL_HOST_USER: '<your smtp username>'
|
||||
EMAIL_PORT: 25 # or 587 or your server's SMTP port
|
||||
EMAIL_TIMEOUT:
|
||||
EMAIL_USE_SSL: true
|
||||
EMAIL_USE_TLS: false
|
||||
|
||||
To change the reference URL in the password reset emails on in the
|
||||
default document mailing template modify the ``COMMON_PROJECT_URL`` setting.
|
||||
For information on the different ways to change a setting check the
|
||||
:doc:`../topics/settings` topic.
|
||||
|
||||
To test the email settings use the management command ``sendtestemail``.
|
||||
Example::
|
||||
|
||||
mayan-edms.py sendtestemail myself@example.com
|
||||
|
||||
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
*******************
|
||||
Password validation
|
||||
*******************
|
||||
|
||||
To help reduce the use of weak passwords, Mayan EDMS includes support for
|
||||
password validators. Password validator enforce policies by rejecting
|
||||
password that don't conform with the validator's logic.
|
||||
|
||||
By default, Mayan EDMS sets this password validation setup:
|
||||
|
||||
- That the password is not similar no any user attributes.
|
||||
- A minimum password size of 8 characters.
|
||||
- The password is not one of the 20,000 commonly used weak password.
|
||||
- That the password is not entirely numeric.
|
||||
|
||||
This default is coded in the following manner by the default Python setup file::
|
||||
|
||||
AUTH_PASSWORD_VALIDATORS = [
|
||||
{
|
||||
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
|
||||
},
|
||||
{
|
||||
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
|
||||
},
|
||||
{
|
||||
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
|
||||
},
|
||||
{
|
||||
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
|
||||
},
|
||||
]
|
||||
|
||||
If using the YAML configuration file the same setup would be coded in the
|
||||
following manner::
|
||||
|
||||
AUTH_PASSWORD_VALIDATORS:
|
||||
- NAME: django.contrib.auth.password_validation.UserAttributeSimilarityValidator
|
||||
- NAME: django.contrib.auth.password_validation.MinimumLengthValidator
|
||||
- NAME: django.contrib.auth.password_validation.CommonPasswordValidator
|
||||
- NAME: django.contrib.auth.password_validation.NumericPasswordValidator
|
||||
|
||||
In addition to the password validators provided by Django
|
||||
:django-docs:`validators provided by Django <topics/auth/passwords/#included-validators>`,
|
||||
Mayan EDMS adds the following validators:
|
||||
|
||||
.. autoclass:: mayan.apps.authentication.validators.MinimumCapitalLettersContentValidator
|
||||
|
||||
.. autoclass:: mayan.apps.authentication.validators.MinimumNumberContentValidator
|
||||
@@ -1,171 +0,0 @@
|
||||
**********
|
||||
Scaling up
|
||||
**********
|
||||
|
||||
The default installation method fits most use cases. If you use case requires
|
||||
more speed or capacity here are some suggestion that can help you improve the
|
||||
performance of your installation.
|
||||
|
||||
Change the database manager
|
||||
===========================
|
||||
Use PostgreSQL or MySQL as the database manager.
|
||||
Tweak the memory setting of the database manager to increase memory allocation.
|
||||
More PostgreSQL specific examples are available in their wiki page:
|
||||
https://wiki.postgresql.org/wiki/Performance_Optimization
|
||||
|
||||
Increase the number of Gunicorn workers
|
||||
=======================================
|
||||
The Gunicorn workers process HTTP requests and affect the speed at which the
|
||||
website responds.
|
||||
|
||||
If you are using the Docker image, change the value of the
|
||||
``MAYAN_GUNICORN_WORKERS`` environment variable (check the Docker image chapter:
|
||||
:ref:`docker_environment_variables`). Normally this variable defaults to 2.
|
||||
Increase this number to match the number of CPU cores + 1.
|
||||
|
||||
If you are using the direct deployment methods, change the line that reads::
|
||||
|
||||
command = /opt/mayan-edms/bin/gunicorn -w 2 mayan.wsgi --max-requests 500 --max-requests-jitter 50 --worker-class gevent --bind 0.0.0.0:8000 --timeout 120
|
||||
|
||||
And increase the value of the ``-w 2`` argument. This line is found in the
|
||||
``[program:mayan-gunicorn]`` section of the supervisor configuration file.
|
||||
|
||||
|
||||
Background task processing
|
||||
==========================
|
||||
The Celery workers are system processes that take care of the background
|
||||
tasks requested by the frontend interactions like document image rendering
|
||||
and periodic tasks like OCR. There are several dozen tasks defined in the code.
|
||||
These tasks are divided into queues based on the app of the relationship
|
||||
between the tasks. The queues by default are divided into three groups
|
||||
based on the speed at which they need to be processed. The document page
|
||||
image rendering for example is categorized as a high volume, short duration
|
||||
task. The OCR is a high volume, long duration task. Email checking is a
|
||||
low volume, medium duration tasks. It is not advisable to have the same
|
||||
worker processing OCR to process image rendering too. If the worker is
|
||||
processing several OCR tasks it will not be able to provide fast images
|
||||
when an user is browsing the user interface. This is why by default the
|
||||
queues are split into 3 workers: fast, medium, and slow.
|
||||
|
||||
The fast worker handles the queues:
|
||||
|
||||
* converter: Handles document page rendering
|
||||
* sources_fast: Does staging file image rendering
|
||||
|
||||
The medium worker handles the queues:
|
||||
|
||||
* checkouts_periodic: Scheduled tasks that check if a document's checkout
|
||||
period has expired
|
||||
* documents_periodic:
|
||||
* indexing: Does reindexing of documents in the background when their
|
||||
properties change
|
||||
* metadata:
|
||||
* sources:
|
||||
* sources_periodic: Checking email accounts and watch folders for new
|
||||
documents.
|
||||
* uploads: Processes files to turn the into Mayan documents. Processing
|
||||
encompasses MIME type detection, page count detection.
|
||||
* documents:
|
||||
|
||||
The slow worker handles the queues:
|
||||
|
||||
* mailing: Does the actual sending of documents via email as requested by
|
||||
users via the mailing profiles
|
||||
* tools: Executes in the background maintenance requests from the options
|
||||
in the tools menu
|
||||
* statistics: Recalculates statistics and charts
|
||||
* parsing: Parses documents to extract actual text content
|
||||
* ocr: Performs OCR to transcribe page images to text
|
||||
|
||||
Optimizations
|
||||
-------------
|
||||
|
||||
* Increase the number of workers and redistribute the queues among them
|
||||
(only possible with direct deployments).
|
||||
* Launch more workers to service a queue. For example for faster document
|
||||
image generation launch 2 workers to process the converter queue only
|
||||
possible with direct deployments).
|
||||
* By default each worker process uses 1 thread. You can increase the thread
|
||||
count of each worker process with the Docker environment options:
|
||||
|
||||
* MAYAN_WORKER_FAST_CONCURRENCY
|
||||
* MAYAN_WORKER_MEDIUM_CONCURRENCY
|
||||
* MAYAN_WORKER_SLOW_CONCURRENCY
|
||||
|
||||
* If using direct deployment, increase the value of the --concurrency=1
|
||||
argument of each worker in the supervisor file. You can also remove this
|
||||
argument and let the Celery algorithm choose the number of threads to
|
||||
launch. Usually this defaults to the number of CPU cores + 1.
|
||||
|
||||
Change the message broker
|
||||
=========================
|
||||
Messages are the method of communication between front end interactive code
|
||||
and background tasks. In this regard messages can be thought as homologous
|
||||
to tasks requests. Improving how many messages can be sent, stored and
|
||||
sorted will impact the number of tasks the system can handle. To save on
|
||||
memory, the basic deployment method and the Docker image default to using
|
||||
Redis as a message broker. To increase capacity and reduce volatility of
|
||||
messages (pending tasks are not lost during shutdown) use RabbitMQ to
|
||||
shuffle messages.
|
||||
|
||||
For direct installs refer to the :ref:`deployment_advanced` documentation
|
||||
section for the required changes.
|
||||
|
||||
For the Docker image, launch a separate RabbitMQ container
|
||||
(https://hub.docker.com/_/rabbitmq/)::
|
||||
|
||||
docker run -d --name mayan-edms-rabbitmq -e RABBITMQ_DEFAULT_USER=mayan -e RABBITMQ_DEFAULT_PASS=mayanrabbitmqpassword -e RABBITMQ_DEFAULT_VHOST=mayan rabbitmq:3
|
||||
|
||||
Pass the MAYAN_CELERY_BROKER_URL environment variable (https://kombu.readthedocs.io/en/latest/userguide/connections.html#connection-urls)
|
||||
to the Mayan EDMS container so that it uses the RabbitMQ container the
|
||||
message broker::
|
||||
|
||||
-e MAYAN_CELERY_BROKER_URL="amqp://mayan:mayanrabbitmqpassword@localhost:5672/mayan",
|
||||
|
||||
When tasks finish, they leave behind a return status or the result of a
|
||||
calculation, these are stored for a while so that whoever requested the
|
||||
background task, is able retrieve the result. These results are stored in the
|
||||
result storage. By default a Redis server is launched inside the Mayan EDMS
|
||||
container. You can launch a separate Docker Redis container and tell the Mayan
|
||||
EDMS container to use this via the MAYAN_CELERY_RESULT_BACKEND environment
|
||||
variable. The format of this variable is explained here: http://docs.celeryproject.org/en/3.1/configuration.html#celery-result-backend
|
||||
|
||||
Deployment type
|
||||
===============
|
||||
Docker provides a faster deployment and the overhead is not high on modern
|
||||
systems. It is however memory and CPU limited by default and you need to
|
||||
increase this limits. The settings to change the container resource limits
|
||||
are here: https://docs.docker.com/config/containers/resource_constraints/#limit-a-containers-access-to-memory
|
||||
|
||||
For the best performance possible use the advanced deployment method on a
|
||||
host dedicated to serving only Mayan EDMS.
|
||||
|
||||
Storage
|
||||
=======
|
||||
For best input and output speed use a block based local filesystem on an
|
||||
SSD drive for the ``/media`` sub folder. The location of the ``/media`` folder
|
||||
will be specified by the ``MEDIA_ROOT`` setting.
|
||||
|
||||
If capacity is your bottom line, switch to an
|
||||
:doc:`object storage <../chapters/object_storage>` system.
|
||||
|
||||
Use additional hosts
|
||||
====================
|
||||
When one host is not enough you can use multiple hosts and share the load.
|
||||
Make sure that all hosts share the ``/media`` folder as specified by the
|
||||
``MEDIA_ROOT`` setting, also the database, the broker, and the result storage.
|
||||
One setting that needs to be changed in this configuration is the lock
|
||||
manager backend.
|
||||
|
||||
Resource locking is a technique to avoid two processes or tasks to modify
|
||||
the same resource at the same time causing a race condition. Mayan EDMS uses
|
||||
its own lock manager. By default the lock manager with use a simple file
|
||||
based lock backend ideal for single host installations. For multiple hosts
|
||||
installation the database backend must be used in other to coordinate the
|
||||
resource locks between the different hosts over a share data medium. This is
|
||||
accomplished by modifying the environment variable ``LOCK_MANAGER_BACKEND`` in
|
||||
both the direct deployment or the Docker image. Use the value
|
||||
``lock_manager.backends.model_lock.ModelLock`` to switch to the database
|
||||
resource lock backend. If you can also write your own lock manager backend
|
||||
for other data sharing mediums with better performance than a relational
|
||||
database like Redis, Memcached, Zoo Keeper.
|
||||
@@ -1,114 +0,0 @@
|
||||
********
|
||||
Settings
|
||||
********
|
||||
|
||||
Mayan EDMS can be configure via environment variables or by setting files.
|
||||
|
||||
|
||||
.. _environment_variables:
|
||||
|
||||
Via environment variables
|
||||
=========================
|
||||
|
||||
To use environment variables, lookup the name of the setting you want to
|
||||
override in the "Settings" menu. The "Settings" menu is located inside the
|
||||
"Setup" main menu. To pass a value via an environment variable append
|
||||
``"MAYAN_"`` to the name of the settings option. For example, to change
|
||||
the number of documents displayed per page (COMMON_PAGINATE_BY, by default 40),
|
||||
use::
|
||||
|
||||
export MAYAN_COMMON_PAGINATE_BY=10
|
||||
|
||||
Restart Mayan EDMS and the new value will take effect. The "Settings" menu
|
||||
can be used to verify if the overridden setting value is being interpreted
|
||||
correctly.
|
||||
|
||||
|
||||
.. _configuration_file:
|
||||
|
||||
Via YAML configuration file
|
||||
===========================
|
||||
|
||||
.. versionadded:: 3.1
|
||||
|
||||
It is possible to modify the different settings by creating or editing the
|
||||
``media/config.yml`` file. This file is formatted in the YAML markup language (
|
||||
http://yaml.org/). Here is an example of what the looks like::
|
||||
|
||||
DOCUMENT_PARSING_AUTO_PARSING: true
|
||||
DOCUMENT_PARSING_PDFTOTEXT_PATH: /usr/bin/pdftotext
|
||||
DEFAUL_FROM_EMAIL: mayan.admin@example.com
|
||||
EMAIL_BACKEND: django.core.mail.backends.smtp.EmailBackend
|
||||
EMAIL_HOST: localhost
|
||||
EMAIL_HOST_PASSWORD: ''
|
||||
EMAIL_HOST_USER: ''
|
||||
EMAIL_PORT: 25
|
||||
EMAIL_TIMEOUT: null
|
||||
EMAIL_USE_SSL: false
|
||||
EMAIL_USE_TLS: false
|
||||
FILE_UPLOAD_MAX_MEMORY_SIZE: 2621440
|
||||
HOME_VIEW: common:home
|
||||
|
||||
Every time Mayan EDMS is able to start correctly it will copy the ``config.yml``
|
||||
and create a backup copy in the same directory named ``config_backup.yml``.
|
||||
This file is used to revert to the last know configuration file known
|
||||
to be valid. You can revert manually by copy the file or by using the
|
||||
``revertsettings`` management command from the command line.
|
||||
|
||||
|
||||
Via Python settings files
|
||||
=========================
|
||||
|
||||
Another way to configure Mayan EDMS is via Python-style, settings files.
|
||||
If Mayan EDMS was installed using the Python package a ``mayan_settings``
|
||||
folder will created for this purpose. If you installed Mayan EDMS
|
||||
according to the :doc:`../chapters/deploying` instructions provided in this
|
||||
documentation your ``mayan_settings`` folder should be located in the directory:
|
||||
``/usr/share/mayan-edms/mayan/media/mayan_settings``.
|
||||
|
||||
If Mayan EDMS was installed using Docker, the ``mayan_settings`` folder
|
||||
will be found inside the install Docker volume. If you installed Mayan EDMS
|
||||
according to the :doc:`../chapters/docker` instructions provided in this
|
||||
documentation your ``mayan_settings`` folder should be located in the directory:
|
||||
``/docker-volumes/mayan/mayan_settings``.
|
||||
|
||||
Create a file with any valid name and a ``.py`` extension in the
|
||||
``mayan_settings`` folder. The file must starts with a global import of
|
||||
``mayan.settings.production``. In the form::
|
||||
|
||||
from mayan.settings.production import *
|
||||
|
||||
Now add the corresponding lines to override the default settings.
|
||||
In the settings file, it is not necessary to prepend the string ``MAYAN_`` to
|
||||
the setting option. For example, to change the number of documents displayed
|
||||
per page (COMMON_PAGINATE_BY, by default 40),
|
||||
use::
|
||||
|
||||
COMMON_PAGINATE_BY=10
|
||||
|
||||
versus::
|
||||
|
||||
export MAYAN_COMMON_PAGINATE_BY=10
|
||||
|
||||
when using the environment variable method.
|
||||
|
||||
For this example let's assume the file was saved with the name ``mysettings.py``.
|
||||
|
||||
The way used to tell Mayan EDMS to import this file will vary based on the
|
||||
installation method.
|
||||
|
||||
For the :doc:`../chapters/deploying` method, the full import path will be
|
||||
``mayan.media.mayan_settings.mysettings`` and can be passed via the
|
||||
``--settings`` command line argument like this::
|
||||
|
||||
python manage.py runserver --settings=mayan.media.mayan_settings.mysettings
|
||||
|
||||
or via the ``DJANGO_SETTINGS_MODULE`` environment variable like this::
|
||||
|
||||
export DJANGO_SETTINGS_MODULE=mayan.media.mayan_settings.mysettings
|
||||
|
||||
For the :doc:`../chapters/docker` installation method, the full import path will be
|
||||
``mayan_settings.mysettings`` and can only be passed via the
|
||||
``MAYAN_SETTINGS_MODULE`` environment variable like this::
|
||||
|
||||
docker run <...> -e MAYAN_SETTINGS_MODULE=mayan_settings.mysettings
|
||||
@@ -1,23 +0,0 @@
|
||||
Tags
|
||||
====
|
||||
|
||||
Tags are color coded properties that can be attached or removed from documents.
|
||||
Tags allow giving documents a binary property. Documents can also be tagged
|
||||
with more than one tag.
|
||||
|
||||
Tags are created from the :menuselection:`Tags --> Create` menu.
|
||||
|
||||
To view all created tags use the :menuselection:`Tags --> All` menu.
|
||||
|
||||
Once tagged, documents can be searched by their tags. It is also possible to
|
||||
show all the documents tagged with a particular
|
||||
tag via the **Documents** link of each tag.
|
||||
|
||||
To view, add, or remove tags from a specific document, go to the document view
|
||||
and click on the **Tags** tab. This view will show the current tags of a
|
||||
document. The **Actions** menu will now show two new options: one to attach
|
||||
more tags to the document and another to remove tags from the document.
|
||||
|
||||
It is also possible to tag documents in bulk by selecting several documents
|
||||
from any view that displays a list documents and selecting the **Attach tag**
|
||||
or **Remove tags** from the dropdown menu.
|
||||
@@ -1,91 +0,0 @@
|
||||
*********
|
||||
Workflows
|
||||
*********
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
Workflows provide a structure method for storing a sequence of states over
|
||||
which the a document will progress. Workflows keep track how a document has
|
||||
been processed so far.
|
||||
|
||||
Workflows work by storing a series of states to help you know the "status"
|
||||
of a document. To move a workflow from one state to another, transitions are
|
||||
used.
|
||||
|
||||
Transitions connect two different states and help provide context to know
|
||||
which state is possible to transition to, from a previous state. Transitions
|
||||
provide and order for the sequence of possible states changes.
|
||||
|
||||
Transitions can be executed manually by users if they have the required access
|
||||
level as configure by the system administrator.
|
||||
|
||||
|
||||
Automation
|
||||
==========
|
||||
|
||||
Besides being able to be executed manually by users, transitions can also be
|
||||
programmed execute automatically based on system events. This is called in
|
||||
Mayan EDMS transition triggering and is one of the tools available to
|
||||
automate business processes.
|
||||
|
||||
For example:
|
||||
|
||||
* Move a document from a "scanned" state to a "billed" state
|
||||
when a tag is attached to the document.
|
||||
* Move a document from a "uploaded" state to a "OCR ready" state
|
||||
when the OCR engine finishes processing the document.
|
||||
|
||||
The other tool provided for process automation is being able to execute an
|
||||
action when a workflow state is reached or leaved. These are called state
|
||||
events.
|
||||
|
||||
Some examples of state actions currently provided are:
|
||||
|
||||
* Attach a tag to a document
|
||||
* Remove a tag from a document
|
||||
* Do an HTTP POST request to an external IP address
|
||||
* Edit the label or the description of a document.
|
||||
|
||||
Other time more state actions are being added. Some state actions like the one
|
||||
that creates an HTTP POST request allow Mayan EDMS to trigger processes in
|
||||
external systems based on the state of a document. One example of this is
|
||||
triggering the billing process of an accounting system when an invoice is
|
||||
scanned in Mayan EDMS.
|
||||
|
||||
Workflow state actions and transitions triggers are new features and are still
|
||||
evolving.
|
||||
|
||||
Workflows allow translating business logic into a series of states. With the
|
||||
addition of state actions and transition triggers, the workflows in Mayan EDMS
|
||||
are no longer just informative but can be part of your actual business
|
||||
automation process.
|
||||
|
||||
|
||||
Implementation
|
||||
==============
|
||||
|
||||
Internally, workflows are implemented as a finite state machines
|
||||
(https://en.wikipedia.org/wiki/Finite-state_machine). And have the limitation
|
||||
that only one state can be the current active state for a workflow being
|
||||
executed. The other limitation of the current implementation is that every
|
||||
workflow needs at least one state marked as the initial state. These limitations
|
||||
are the result of a compromised in the design between flexibility and ease of
|
||||
use.
|
||||
|
||||
|
||||
Visualizations
|
||||
==============
|
||||
|
||||
The graphical representation of a workflow (or a finite state machine style
|
||||
in Mayan EDMS's case) is similar to a flowchart. The states are represented
|
||||
with circles. The transitions are represented with arrows. Circle with a
|
||||
double border represent the initial state of the workflow.
|
||||
|
||||
To view the graphical representations of workflow use **Preview** button of
|
||||
the workflow in the setup view.
|
||||
|
||||
|
||||
|
||||
We are working now on workflow transition trigger filters to have
|
||||
the trigger move the state of the workflow on certain conditions. For example: Attach a tag if there is a specific word found in the OCR text.
|
||||
106
docs/conf.py
106
docs/conf.py
@@ -13,8 +13,7 @@ from __future__ import unicode_literals
|
||||
# All configuration values have a default; values that are commented out
|
||||
# serve to show the default.
|
||||
|
||||
import os
|
||||
import sys
|
||||
import sys, os
|
||||
|
||||
sys.path.insert(0, os.path.abspath('..'))
|
||||
|
||||
@@ -23,25 +22,22 @@ import mayan
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
sys.path.append(
|
||||
os.path.abspath(os.path.join(os.path.dirname(__file__), '_ext'))
|
||||
)
|
||||
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "_ext")))
|
||||
|
||||
# -- General configuration -----------------------------------------------------
|
||||
|
||||
# If your documentation needs a minimal Sphinx version, state it here.
|
||||
# needs_sphinx = '1.0'
|
||||
#needs_sphinx = '1.0'
|
||||
|
||||
# Add any Sphinx extension module names here, as strings. They can be extensions
|
||||
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
||||
extensions = [
|
||||
'sphinx.ext.autodoc', 'sphinx.ext.extlinks', 'sphinxcontrib.blockdiag',
|
||||
'sphinxcontrib.spelling', 'sphinx.ext.viewcode'
|
||||
]
|
||||
#extensions = ['sphinx.ext.autodoc', 'sphinx.ext.viewcode']
|
||||
#extensions = ["djangodocs", "sphinx.ext.intersphinx"]
|
||||
extensions = ['sphinxcontrib.blockdiag']
|
||||
|
||||
blockdiag_antialias = True
|
||||
blockdiag_html_image_format = 'SVG'
|
||||
blockdiag_latex_image_format = 'PDF'
|
||||
blockdiag_html_image_format = "SVG"
|
||||
blockdiag_latex_image_format = "PDF"
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
@@ -71,20 +67,20 @@ release = version
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
# language = None
|
||||
#language = None
|
||||
|
||||
# There are two options for replacing |today|: either, you set today to some
|
||||
# non-false value, then it is used:
|
||||
# today = ''
|
||||
#today = ''
|
||||
# Else, today_fmt is used as the format for a strftime call.
|
||||
# today_fmt = '%B %d, %Y'
|
||||
#today_fmt = '%B %d, %Y'
|
||||
|
||||
# List of patterns, relative to source directory, that match files and
|
||||
# directories to ignore when looking for source files.
|
||||
exclude_patterns = ['_build']
|
||||
|
||||
# The reST default role (used for this markup: `text`) to use for all documents.
|
||||
# default_role = None
|
||||
#default_role = None
|
||||
|
||||
# If true, '()' will be appended to :func: etc. cross-reference text.
|
||||
add_function_parentheses = True
|
||||
@@ -101,7 +97,7 @@ show_authors = False
|
||||
pygments_style = 'sphinx'
|
||||
|
||||
# A list of ignored prefixes for module index sorting.
|
||||
# modindex_common_prefix = []
|
||||
#modindex_common_prefix = []
|
||||
|
||||
|
||||
# -- Options for HTML output ---------------------------------------------------
|
||||
@@ -113,26 +109,26 @@ html_theme = 'classic'
|
||||
# Theme options are theme-specific and customize the look and feel of a theme
|
||||
# further. For a list of options available for each theme, see the
|
||||
# documentation.
|
||||
# html_theme_options = {}
|
||||
#html_theme_options = {}
|
||||
|
||||
# Add any paths that contain custom themes here, relative to this directory.
|
||||
# html_theme_path = []
|
||||
#html_theme_path = []
|
||||
|
||||
# The name for this set of Sphinx documents. If None, it defaults to
|
||||
# "<project> v<release> documentation".
|
||||
# html_title = None
|
||||
#html_title = None
|
||||
|
||||
# A shorter title for the navigation bar. Default is the same as html_title.
|
||||
# html_short_title = None
|
||||
#html_short_title = None
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top
|
||||
# of the sidebar.
|
||||
# html_logo = None
|
||||
#html_logo = None
|
||||
|
||||
# The name of an image file (within the static path) to use as favicon of the
|
||||
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
|
||||
# pixels large.
|
||||
# html_favicon = None
|
||||
#html_favicon = None
|
||||
|
||||
# Add any paths that contain custom static files (such as style sheets) here,
|
||||
# relative to this directory. They are copied after the builtin static files,
|
||||
@@ -141,44 +137,44 @@ html_static_path = ['_static']
|
||||
|
||||
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
||||
# using the given strftime format.
|
||||
# html_last_updated_fmt = '%b %d, %Y'
|
||||
#html_last_updated_fmt = '%b %d, %Y'
|
||||
|
||||
# If true, SmartyPants will be used to convert quotes and dashes to
|
||||
# typographically correct entities.
|
||||
# html_use_smartypants = True
|
||||
#html_use_smartypants = True
|
||||
|
||||
# Custom sidebar templates, maps document names to template names.
|
||||
# html_sidebars = {}
|
||||
#html_sidebars = {}
|
||||
|
||||
# Additional templates that should be rendered to pages, maps page names to
|
||||
# template names.
|
||||
# html_additional_pages = {}
|
||||
#html_additional_pages = {}
|
||||
|
||||
# If false, no module index is generated.
|
||||
# html_domain_indices = True
|
||||
#html_domain_indices = True
|
||||
|
||||
# If false, no index is generated.
|
||||
# html_use_index = True
|
||||
#html_use_index = True
|
||||
|
||||
# If true, the index is split into individual pages for each letter.
|
||||
# html_split_index = False
|
||||
#html_split_index = False
|
||||
|
||||
# If true, links to the reST sources are added to the pages.
|
||||
# html_show_sourcelink = True
|
||||
#html_show_sourcelink = True
|
||||
|
||||
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
|
||||
# html_show_sphinx = True
|
||||
#html_show_sphinx = True
|
||||
|
||||
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
|
||||
# html_show_copyright = True
|
||||
#html_show_copyright = True
|
||||
|
||||
# If true, an OpenSearch description file will be output, and all pages will
|
||||
# contain a <link> tag referring to it. The value of this option must be the
|
||||
# base URL from which the finished HTML is served.
|
||||
# html_use_opensearch = ''
|
||||
#html_use_opensearch = ''
|
||||
|
||||
# This is the file name suffix for HTML files (e.g. ".xhtml").
|
||||
# html_file_suffix = None
|
||||
#html_file_suffix = None
|
||||
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = 'MayanEDMSdoc'
|
||||
@@ -190,42 +186,41 @@ html_show_sphinx = False
|
||||
# -- Options for LaTeX output --------------------------------------------------
|
||||
|
||||
# The paper size ('letter' or 'a4').
|
||||
# latex_paper_size = 'letter'
|
||||
#latex_paper_size = 'letter'
|
||||
|
||||
# The font size ('10pt', '11pt' or '12pt').
|
||||
# latex_font_size = '10pt'
|
||||
#latex_font_size = '10pt'
|
||||
|
||||
# Grouping the document tree into LaTeX files. List of tuples
|
||||
# (source start file, target name, title, author, documentclass [howto/manual]).
|
||||
latex_documents = [
|
||||
(
|
||||
'index', 'MayanEDMS.tex', 'Mayan EDMS Documentation',
|
||||
mayan.__author__, 'manual'
|
||||
),
|
||||
('index', 'MayanEDMS.tex', 'Mayan EDMS Documentation',
|
||||
mayan.__author__, 'manual'),
|
||||
]
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top of
|
||||
# the title page.
|
||||
# latex_logo = None
|
||||
#latex_logo = None
|
||||
|
||||
# For "manual" documents, if this is true, then toplevel headings are parts,
|
||||
# not chapters.
|
||||
# latex_use_parts = False
|
||||
#latex_use_parts = False
|
||||
|
||||
# If true, show page references after internal links.
|
||||
# latex_show_pagerefs = False
|
||||
#latex_show_pagerefs = False
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
# latex_show_urls = False
|
||||
#latex_show_urls = False
|
||||
|
||||
# Additional stuff for the LaTeX preamble.
|
||||
# latex_preamble = ''
|
||||
#latex_preamble = ''
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
# latex_appendices = []
|
||||
#latex_appendices = []
|
||||
|
||||
# If false, no module index is generated.
|
||||
# latex_domain_indices = True
|
||||
#latex_domain_indices = True
|
||||
|
||||
|
||||
# -- Options for manual page output --------------------------------------------
|
||||
|
||||
@@ -237,18 +232,3 @@ man_pages = [
|
||||
]
|
||||
|
||||
html_theme = 'sphinx_rtd_theme'
|
||||
|
||||
# -- External links --
|
||||
extlinks = {
|
||||
'django-docs': (
|
||||
'https://docs.djangoproject.com/en/{}/%s'.format(
|
||||
mayan.__django_version__
|
||||
), 'Django documentation section: '
|
||||
),
|
||||
'github-issue': (
|
||||
'https://github.com/mayan-edms/mayan-edms/issues/%s', 'GitHub issue #'
|
||||
),
|
||||
'gitlab-issue': (
|
||||
'https://gitlab.com/mayan-edms/mayan-edms/issues/%s', 'GitLab issue #'
|
||||
)
|
||||
}
|
||||
|
||||
@@ -17,22 +17,45 @@ repository for electronic documents.
|
||||
.. toctree::
|
||||
:hidden:
|
||||
|
||||
topics/features
|
||||
topics/installation
|
||||
releases/index
|
||||
topics/getting_started
|
||||
topics/access_control
|
||||
topics/categorization
|
||||
topics/collaboration
|
||||
topics/settings
|
||||
topics/storage
|
||||
topics/integration
|
||||
topics/advanced
|
||||
topics/administration
|
||||
topics/development
|
||||
topics/faq
|
||||
topics/license
|
||||
topics/contact
|
||||
Installation <topics/installation>
|
||||
Features <topics/features>
|
||||
Release notes and upgrading <releases/index>
|
||||
|
||||
ACLs <topics/acls>
|
||||
Backups <topics/backups>
|
||||
Checkouts <topics/checkouts>
|
||||
Document types <topics/document_types>
|
||||
File storage <topics/file_storage>
|
||||
Document indexes <topics/indexes>
|
||||
Document languages <topics/languages>
|
||||
Document signatures <topics/signatures>
|
||||
Mailing <topics/mailing>
|
||||
Metadata <topics/metadata>
|
||||
OCR <topics/ocr_backend>
|
||||
Permissions <topics/permissions>
|
||||
Settings <topics/settings>
|
||||
Sources <topics/sources>
|
||||
Smart links <topics/smart_links>
|
||||
Tags <topics/tags>
|
||||
Transformations <topics/transformations>
|
||||
Upload wizard <topics/upload_wizard>
|
||||
Versioning <topics/versioning>
|
||||
|
||||
Docker image <topics/docker>
|
||||
Advanced deployment <topics/deploying>
|
||||
|
||||
Development <topics/development>
|
||||
App creation <topics/app_creation>
|
||||
Pending work <topics/pending_work>
|
||||
Code statistics <topics/code_statistics>
|
||||
Translations <topics/translations>
|
||||
Licensing <topics/license>
|
||||
FAQ <topics/faq>
|
||||
Contact <topics/contact>
|
||||
MERCs <mercs/index>
|
||||
Pending work <topics/pending_work>
|
||||
Individual Contributor Assignment Agreement <topics/caa_individual>
|
||||
Entity Contributor Assignment Agreement <topics/caa_entity>
|
||||
|
||||
.. _Docker: https://www.docker.com/
|
||||
.. _Django: http://www.djangoproject.com/
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
==============================
|
||||
MERC 1: Purpose and Guidelines
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
==============================
|
||||
|
||||
:MERC: 1
|
||||
:Author: Michael Price
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
==================================
|
||||
MERC 3: Using JavaScript libraries
|
||||
MERC 3: Using javascript libraries
|
||||
==================================
|
||||
|
||||
:MERC: 3
|
||||
@@ -17,13 +17,13 @@ MERC 3: Using JavaScript libraries
|
||||
Abstract
|
||||
========
|
||||
|
||||
This MERC proposes a standard way to use JavaScript libraries.
|
||||
This MERC proposes a standard way to use javascript libraries.
|
||||
|
||||
Rationale
|
||||
=========
|
||||
|
||||
Mayan EDMS uses several JavaScript libraries for user interface features.
|
||||
Currently, the libraries are not installed using any JavaScript package
|
||||
Mayan EDMS uses several javascript libraries for user interface features.
|
||||
Currently, the libraries are not installed using any javascript package
|
||||
manager but copied uncompressed. Installing the libraries in this manner
|
||||
carries some disadvantages.
|
||||
|
||||
@@ -32,7 +32,7 @@ Motivation
|
||||
|
||||
The inclusion of the libraries in source form is required by many licenses
|
||||
if the library is not installed by a package manager in distributable form.
|
||||
There are several disadvantages with the current approach:
|
||||
There are several disavantages with the current approach:
|
||||
|
||||
1. Having the library in source form means that the entire weight of the
|
||||
library's size carries over the overall size of the Mayan EDMS distribution files.
|
||||
@@ -42,7 +42,7 @@ There are several disadvantages with the current approach:
|
||||
installed in the project and manually searching, downloading, compressing
|
||||
and adding the files to the repository.
|
||||
3. The source form of the libraries includes normal and minified versions
|
||||
of the code and the accompanying CSS files. There is no define preference
|
||||
of the code and the accompaning CSS files. There is no define preference
|
||||
and through the project both versions of the libraries are loaded
|
||||
interchangeably. Using a packager manager the minified version would be
|
||||
used of a pipeline to minify the installed libraries should be added.
|
||||
@@ -58,10 +58,10 @@ Specification
|
||||
|
||||
Changes needed:
|
||||
|
||||
1. Python based JavaScript package manager. Alternatively a Python wrapper
|
||||
for a JavaScript package manager could be used.
|
||||
2. Package manifest for the JavaScript libraries used.
|
||||
3. Installation pipeline to install the JavaScript libraries during the
|
||||
1. Python based javascript package manager. Alternatively a Python wrapper
|
||||
for a javascript package manager could be used.
|
||||
2. Package manifest for the javascript libraries used.
|
||||
3. Installation pipeline to install the javascript libraries during the
|
||||
installation and setup of the project.
|
||||
|
||||
References:
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
=====================
|
||||
MERC 4: Support forum
|
||||
=====================
|
||||
|
||||
:MERC: 4
|
||||
:Author: Michael Price
|
||||
:Status: Accepted
|
||||
:Type: Process
|
||||
:Created: 2018-02-27
|
||||
:Last-Modified: 2018-09-04
|
||||
|
||||
.. contents:: Table of Contents
|
||||
:depth: 3
|
||||
:local:
|
||||
|
||||
Abstract
|
||||
========
|
||||
|
||||
This MERC proposes the move of the official community meeting place
|
||||
from Google Group to a self hosted forum platform.
|
||||
|
||||
Motivation
|
||||
==========
|
||||
|
||||
Google Groups is not a proper forum platform and as such is lacking many
|
||||
features that would increase participation. Google Groups has not had any
|
||||
significant update in years and the age of the platform is visible. There
|
||||
are no official mobile apps for Google Groups, no responsible template
|
||||
is not provided. There are not integration options. These factors
|
||||
contribute to the problems of knowledge dilution and one time
|
||||
participation being experienced in the Mayan EDMS community.
|
||||
|
||||
Other concerns for moving the community to a self hosted forum solution
|
||||
are that Google Groups presents a single point of failure by relying on
|
||||
a free product hosted by a commercial company with no continuation plan
|
||||
for the product. Google Groups doesn't provide archiving features and
|
||||
the current archive solution relies on other third party services, one
|
||||
of which (GMANE) has stopped working. Recent user privacy and censorship
|
||||
issues regarding Google, reinforce the need for a self hosted solution.
|
||||
|
||||
|
||||
Specification
|
||||
=============
|
||||
|
||||
Platform chosen was phpBB. Factors were: written in PHP, ease of installation,
|
||||
compatible with several database managers, mature, extensive development history.
|
||||
@@ -1,6 +1,6 @@
|
||||
*****
|
||||
=====
|
||||
MECRs
|
||||
*****
|
||||
=====
|
||||
|
||||
Mayan EDMS Request For Comment documents index.
|
||||
|
||||
@@ -17,9 +17,9 @@ Accepted
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
../mercs/0001-merc-process
|
||||
../mercs/0002-test-writing
|
||||
../mercs/0003-using-javascript-libraries
|
||||
0001-merc-process
|
||||
0002-test-writing
|
||||
0003-using-javascript-libraries
|
||||
|
||||
Draft
|
||||
-----
|
||||
@@ -27,7 +27,8 @@ Draft
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
../mercs/merging-roles-and-groups
|
||||
merging-roles-and-groups
|
||||
support-forum
|
||||
|
||||
|
||||
Type
|
||||
@@ -38,8 +39,7 @@ Process
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
../mercs/0001-merc-process
|
||||
../mercs/0004-support-forum
|
||||
0001-merc-process
|
||||
|
||||
|
||||
Feature
|
||||
@@ -47,5 +47,5 @@ Feature
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
../mercs/0002-test-writing
|
||||
../mercs/0003-using-javascript-libraries
|
||||
0002-test-writing
|
||||
0003-using-javascript-libraries
|
||||
|
||||
@@ -30,7 +30,7 @@ overheads without providing advantages in the day to day operations.
|
||||
|
||||
In reality there is almost a 1 to 1 correlation between Roles and Groups.
|
||||
Other permissions systems already use Groups as permission units without
|
||||
disadvantages. An example of this is LDAP and its commercial counterpart
|
||||
disavantages. An example of this is LDAP and its commercial counterpart
|
||||
Active Directory.
|
||||
|
||||
Motivation
|
||||
@@ -43,7 +43,7 @@ favor of using a native Django model for the same task.
|
||||
Merging the Role and Group models will also provide a speed boost in every
|
||||
permission check and queryset filtering. These checks are nested in nature.
|
||||
Since the access checks are performed for every view and for every link
|
||||
in the view the performance gain should be substantial.
|
||||
in the view the performace gain should be substantial.
|
||||
|
||||
Backwards Compatibility
|
||||
=======================
|
||||
|
||||
48
docs/mercs/support-forum.rst
Normal file
48
docs/mercs/support-forum.rst
Normal file
@@ -0,0 +1,48 @@
|
||||
======================
|
||||
MERC XX: Support forum
|
||||
======================
|
||||
|
||||
:MERC: XX
|
||||
:Author: Michael Price
|
||||
:Status: Draft
|
||||
:Type: Process
|
||||
:Created: 2018-02-27
|
||||
:Last-Modified: 2018-02-27
|
||||
|
||||
.. contents:: Table of Contents
|
||||
:depth: 3
|
||||
:local:
|
||||
|
||||
Abstract
|
||||
========
|
||||
|
||||
This MERC proposes the move of the official community meeting place
|
||||
from Google Group to a self hosted forum platform.
|
||||
|
||||
Motivation
|
||||
==========
|
||||
|
||||
Google Groups is not a proper forum platform and as such is lacking many
|
||||
features that would increase participation. Google Groups has not had any
|
||||
significant update in years and the age of the platform is visible. There
|
||||
are no official mobile apps for Google Groups, no responsible template
|
||||
is not provided. There are not integration options. These factors
|
||||
contribute to the problems of knowledge dilution and one time
|
||||
participation being experienced in the Mayan EDMS community.
|
||||
|
||||
Other concerns for moving the community to a self hosted forum solution
|
||||
are that Google Groups presents a single point of failure by relying on
|
||||
a free product hosted by a commercial company with no continuation plan
|
||||
for the product. Google Groups doesn't provide archiving features and
|
||||
the current archive solution relies on other third party services, one
|
||||
of which (GMANE) has stopped working. Recent user privacy and censorship
|
||||
issues regarding Google, reinforce the need for a self hosted solution.
|
||||
|
||||
|
||||
Specification
|
||||
=============
|
||||
|
||||
The proposed solution is to use the bbPress (https://wordpress.org/plugins/bbpress/)
|
||||
forum plugin for Wordpress. After 14 years, Wordpress dominance continues
|
||||
unrivaled. The wealth of material, themes, templates and professional avaialbe make
|
||||
it a safe option.
|
||||
@@ -16,36 +16,36 @@ Version 0.10
|
||||
* LibreOffice (https://www.libreoffice.org/)
|
||||
* unoconv [version 0.5] (https://github.com/dagwieers/unoconv)
|
||||
|
||||
* The new office documents converter won't convert files with the extension
|
||||
.docx because these files are recognized as zip files instead. This
|
||||
* The new office documents converter won't convert files with the extension
|
||||
.docx because these files are recognized as zip files instead. This
|
||||
is an issue of the libmagic library.
|
||||
|
||||
* New configuration option added ``CONVERTER_UNOCONV_USE_PIPE`` that controls
|
||||
how unoconv handles the communication with LibreOffice. The default of
|
||||
``True`` causes unoconv to use **pipes**, this approach is slower than using
|
||||
* New configuration option added ``CONVERTER_UNOCONV_USE_PIPE`` that controls
|
||||
how unoconv handles the communication with LibreOffice. The default of
|
||||
``True`` causes unoconv to use **pipes**, this approach is slower than using
|
||||
**TCP/IP** ports but it is more stable.
|
||||
|
||||
* Initial `REST` `API` that exposes documents properties and one method, this
|
||||
new `API` is used by the new smart document widget and requires the
|
||||
|
||||
* Initial `REST` `API` that exposes documents properties and one method, this
|
||||
new `API` is used by the new smart document widget and requires the
|
||||
package ``djangorestframework``, users must issue a::
|
||||
|
||||
|
||||
$ pip install -r requirements/production.txt
|
||||
|
||||
|
||||
to install this new requirement.
|
||||
|
||||
|
||||
* MIME type detection and caching performance updates.
|
||||
* Updated the included version of ``jQuery`` to 1.7
|
||||
* Updated the included version of ``JqueryAsynchImageLoader`` to 0.9.7
|
||||
* Document image serving response now specifies a MIME type for increased
|
||||
* Document image serving response now specifies a MIME type for increased
|
||||
browser compatibility.
|
||||
* Small change in the scheduler that increases stability.
|
||||
* Russian translation updates Sergey Glita
|
||||
* Improved and generalized the OCR queue locking mechanism, this should
|
||||
eliminate any possibility of race conditions between Mayan EDMS OCR nodes.
|
||||
* Improved and generalized the OCR queue locking mechanism, this should
|
||||
eliminate any posibility of race conditions between Mayan EDMS OCR nodes.
|
||||
* Added support for signals to the OCR queue, this results in instant OCR
|
||||
processing upon submittal of a document to the OCR queue, this works in
|
||||
addition to the current polling processing which eliminates the
|
||||
possibility of stale documents in the OCR queue.
|
||||
posibility of stale documents in the OCR queue.
|
||||
* Added multiple document OCR submit link
|
||||
* Re enabled Tesseract language specific OCR processing and added a one
|
||||
* Re enabled tesseract language specific OCR processing and added a one
|
||||
(1) time language neutral retry for failed language specific OCR
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
Version 0.12.1
|
||||
==============
|
||||
================================
|
||||
Mayan EDMS v0.12.1 release notes
|
||||
================================
|
||||
|
||||
*May 2012*
|
||||
|
||||
This is the first maintenance release of the 0.12 series.
|
||||
|
||||
Overview
|
||||
--------
|
||||
========
|
||||
|
||||
While bug fixes and minor feature were the focus for this release, some
|
||||
bigger changes were included because of their importance. The parsing of
|
||||
@@ -18,12 +19,11 @@ environments where users don't have the ability to install OS level
|
||||
binaries.
|
||||
|
||||
|
||||
Changes
|
||||
-------
|
||||
What's new in Mayan EDMS v0.12.1
|
||||
================================
|
||||
|
||||
Fabric file (fabfile)
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
A Fabric file is included to help users not very familiar with Ubuntu,
|
||||
Python and Django install Mayan EDMS, or for system administrators
|
||||
looking to automate the install whether in local or remote systems.
|
||||
@@ -33,66 +33,54 @@ Feel free to submit your configuration settings and files for different database
|
||||
webserver or Linux distribution. More configurations will be added to
|
||||
the fabfile as more are tested.
|
||||
|
||||
|
||||
Documentation update
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
The installation instructions were updated to include the installation of
|
||||
the libpng-dev and libjpeg-dev libraries as well as the installation of
|
||||
the ``poppler-utils`` package. An additional step to help users test their
|
||||
the poppler-utils package. An additional step to help users test their
|
||||
new installation of Mayan EDMS was also added.
|
||||
|
||||
|
||||
Translations
|
||||
^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~
|
||||
The Italian translation has been synchronized with the source files at
|
||||
Transifex and finished to %100 completion.
|
||||
|
||||
|
||||
Usability improvements
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
The index instance view now feature the same multi document action
|
||||
buttons (Submit to OCR, delete, download, etc) as the mail and recent
|
||||
document views.
|
||||
|
||||
|
||||
Better office document conversion
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
A new method of converting office documents has been implemented, this
|
||||
new method doesn't require the use of the command line utility ``UNOCONV``.
|
||||
If this new method proves to work better than previous solutions the use
|
||||
of ``UNOCONV`` may be deprecated in the future. The conversion method
|
||||
adds just one new configuration option: ``CONVERTER_LIBREOFFICE_PATH``
|
||||
which defaults to ``/usr/bin/libreoffice``.
|
||||
|
||||
adds just one new configuration option: `CONVERTER_LIBREOFFICE_PATH`
|
||||
which defaults to '/usr/bin/libreoffice'.
|
||||
|
||||
Better PDF text parsing
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Brian E. submitted a patch to use the Poppler package pdftotext utility to
|
||||
extract text from PDF files. This is now the default method Mayan EDMS
|
||||
will execute to try to extract text from a PDF and failing that will
|
||||
fallback to the previous method. This change add a new configuration
|
||||
option: ``OCR_PDFTOTEXT_PATH`` to specify the location of the ``pdftotext``
|
||||
executable, it defaults to ``/usr/bin/pdftotext``. Be sure to install the
|
||||
option: `OCR_PDFTOTEXT_PATH` to specify the location of the ``pdftotext``
|
||||
executable, it defaults to '/usr/bin/pdftotext'. Be sure to install the
|
||||
``poppler-utils`` os package to take advantage of this new parser.
|
||||
|
||||
|
||||
Changed defaults
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~
|
||||
The OCR queue is now active by default when first created during the
|
||||
``syncdb`` phase and the ``OCR_AUTOMATIC_OCR`` option now defaults
|
||||
``syncdb`` phase and the `OCR_AUTOMATIC_OCR` option now defaults
|
||||
to ``True``. These two changes are made to reduce the steps required for
|
||||
new users to start enjoying the benefits of automatic text extraction from
|
||||
uploaded documents without having to read the documentation and have a more
|
||||
functional default install.
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
=================================
|
||||
|
||||
Start off by adding the new requirements::
|
||||
|
||||
@@ -116,17 +104,13 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
|
||||
=============================
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed
|
||||
----------
|
||||
:github-issue:`25` "Office document conversion error"
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
==========
|
||||
* Issue #25 "Office document conversion error"
|
||||
|
||||
Stuff removed
|
||||
=============
|
||||
* None
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
Version 0.12.2
|
||||
==============
|
||||
================================
|
||||
Mayan EDMS v0.12.2 release notes
|
||||
================================
|
||||
|
||||
*June 2012*
|
||||
|
||||
This is the second maintenance release of the 0.12 series.
|
||||
|
||||
Overview
|
||||
--------
|
||||
========
|
||||
|
||||
|
||||
As with the previous release bug fixes and minor feature were the focus
|
||||
for this release too. `issue #24`_ has been fixed and document
|
||||
@@ -17,28 +19,24 @@ the diagnosis of installation of runtime error a simple view showing the
|
||||
number of internal interval jobs being used by Mayan EDMS as well as a
|
||||
new app which shows a detail of the current installation enviroment were added.
|
||||
|
||||
|
||||
Changes
|
||||
-------
|
||||
What's new in Mayan EDMS v0.12.2
|
||||
================================
|
||||
|
||||
Smarter auto admin creation
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Mayan EDMS creates a administrator user during the
|
||||
database creation phase to reduce the amount of steps required for a
|
||||
functional install. The creation of this account is controlled by the configuration
|
||||
option ``COMMON_AUTO_CREATE_ADMIN``, the username of the account is
|
||||
specified with the configuration option ``COMMON_AUTO_ADMIN_USERNAME``
|
||||
and the password of this account by the option ``COMMON_AUTO_ADMIN_PASSWORD``.
|
||||
Previously the ``COMMON_AUTO_ADMIN_PASSWORD`` defaulted to 'admin' which
|
||||
option `COMMON_AUTO_CREATE_ADMIN`, the username of the account is
|
||||
specified with the configuration option `COMMON_AUTO_ADMIN_USERNAME`
|
||||
and the password of this account by the option `COMMON_AUTO_ADMIN_PASSWORD`.
|
||||
Previously the `COMMON_AUTO_ADMIN_PASSWORD` defaulted to 'admin' which
|
||||
created an administrator account of username 'admin' with a password of
|
||||
'admin'. The new default is to randomize an initial password and show this password
|
||||
at the login screen until the administrator password is changed.
|
||||
|
||||
|
||||
Document check outs
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
As per the feature request filed under `issue #26`_, a new document
|
||||
check out and check in functionality has been added. Users can now
|
||||
check out a document and lock new version of it from being uploaded to avoid
|
||||
@@ -49,10 +47,8 @@ new versions of it or check the document back in before the expiration period,
|
||||
unless being granted the ``Allow overriding check out restrictions`` or
|
||||
``Forcefully check in documents`` permission respectively.
|
||||
|
||||
|
||||
Installation environment app
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Diagnosting remote installations of web based applications without access to the
|
||||
command line can be a bit hard, to alleviate this situation a new installation
|
||||
environment details app has been added. The purpose of this app is to provide
|
||||
@@ -60,25 +56,19 @@ support staff information about the physical environment where Mayan EDMS has
|
||||
been installed. To avoid possible security compromises only administrators
|
||||
can access this app.
|
||||
|
||||
|
||||
Editable compressed documents filename
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Previously when downloading more than one document in a compressed manner,
|
||||
Mayan EDMS would produce a file with the name ``document_bundle.zip`` for
|
||||
download. A different filename can now be specified at the same download dialog.
|
||||
|
||||
|
||||
German translation
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
A German language translation has been added thanks to Tetja Rediske
|
||||
and Tilmann Sittig.
|
||||
|
||||
|
||||
Statistics gathering
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
Previous attempts at gathering usage statistics have been met with deficient results.
|
||||
User participation in surveys as well as the quality of the data entered by users
|
||||
was disappointing. That is why this version of Mayan EDMS features an
|
||||
@@ -86,7 +76,7 @@ anonymous statistics gathering functionality.
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
=================================
|
||||
|
||||
Start off by adding the new requirements::
|
||||
|
||||
@@ -107,22 +97,19 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
|
||||
=============================
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed
|
||||
----------
|
||||
|
||||
:github-issue:`24 "Duplicated filename extension when uploading a new version of a document"
|
||||
:github-issue:`26` "checkout feature request"
|
||||
|
||||
Removals
|
||||
--------
|
||||
==========
|
||||
* `issue #24`_ "Duplicated filename extension when uploading a new version of a document"
|
||||
* `issue #26`_ "checkout feature request"
|
||||
|
||||
Stuff removed
|
||||
=============
|
||||
* Feedback app
|
||||
|
||||
|
||||
|
||||
.. _issue #24: https://github.com/rosarior/mayan/issues/24
|
||||
.. _issue #26: https://github.com/rosarior/mayan/issues/26
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
Version 0.12
|
||||
============
|
||||
==============================
|
||||
Mayan EDMS v0.12 release notes
|
||||
==============================
|
||||
|
||||
*February 2012*
|
||||
|
||||
Welcome to Mayan EDMS v0.12!
|
||||
|
||||
This release commemorates Mayan EDMS first aniversary!
|
||||
|
||||
Overview
|
||||
--------
|
||||
========
|
||||
|
||||
Aside from new features, the focus of this release of Mayan EDMS also
|
||||
been about improving the code and documentation quality standard
|
||||
@@ -23,7 +26,7 @@ releases:
|
||||
* All app permissions have been move to a separate permissions.py file
|
||||
per app
|
||||
* Complete permission system refactor.
|
||||
* Document signing code moved to it's own app
|
||||
* Document signining code move to it's own app
|
||||
* Initial unit tests
|
||||
* A lot of logging used throught the entire project.
|
||||
* Much functionality moved to model managers.
|
||||
@@ -35,17 +38,16 @@ releases:
|
||||
* Removal of remarked code.
|
||||
|
||||
|
||||
Changes
|
||||
-------
|
||||
What's new in Mayan EDMS v0.12
|
||||
==============================
|
||||
|
||||
ACL support
|
||||
^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~
|
||||
* Object level access control is now in place for documents, folders,
|
||||
tags and smart links. What this means is that administrators can now
|
||||
grant permissions to users, groups or roles on for specific objects.
|
||||
A more in-depth explanation of how this new ACL system can be found in
|
||||
the :doc:`3 tier access control <../chapters/permissions>` section of the
|
||||
the :doc:`3 tier access control <../topics/permissions>` section of the
|
||||
permissions chapter.
|
||||
|
||||
* Default class ACL support. Administrators can setup the access control
|
||||
@@ -55,72 +57,57 @@ ACL support
|
||||
allow the access control list that the actual creator of an object will
|
||||
inherit.
|
||||
|
||||
|
||||
Anonymous user support
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
Anonymous user support is a two tier function, first is the addition of
|
||||
the ``COMMON_ALLOW_ANONYMOUS_ACCESS`` configuration option that
|
||||
allows non authenticated user to browse all the pages of a Mayan EDMS
|
||||
installation. The second part of this support is the ability to assign
|
||||
permissions or individual access to objects to anonymous users.
|
||||
|
||||
the `COMMON_ALLOW_ANONYMOUS_ACCESS` configuration option that
|
||||
allows non authenticated user to browse all the pages of a Mayan EDMS installation.
|
||||
The second part of this support is the ability to assign permissions
|
||||
or individual access to objects to anonymous users.
|
||||
|
||||
Translations
|
||||
^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
A new Italian translation is available, provided by SeeOpen.IT
|
||||
(www.seeopen.it, info@seeopen.it) as well as complete Russian translation
|
||||
update by Sergei Glita. Included in this release also the initial translation
|
||||
to Polish by mic.
|
||||
|
||||
|
||||
Usability improvements
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
* Detached signature behavior improved, uploading a new detached signature
|
||||
erases the previous one.
|
||||
* Usability improvement in the role member's add/removal form, by using
|
||||
HTML's option groups tag property
|
||||
|
||||
|
||||
2 Step download process
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
The code for downloading single and multiple document and document versions
|
||||
has been merged with compression support also added. This allows for the
|
||||
download of documents in their original format or compressed and well as
|
||||
the download of several documents in a single compressed file.
|
||||
|
||||
|
||||
Customizable GPG home directory
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Addition of the ``SIGNATURES_GPG_HOME`` configuration option to let
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Addition of the `SIGNATURES_GPG_HOME` configuration option to let
|
||||
administrators set Mayan EDMS's GPG instance home directory, used to
|
||||
store keyrings and other GPG configuration files.
|
||||
|
||||
|
||||
Out of process bulk uploading
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
A management command has been added to help upload a large number of documents
|
||||
from a compressed file. For information about this new feature check the
|
||||
Initial data loading chapter.
|
||||
from a compressed file. For information about this new feature check the Initial data loading chapter.
|
||||
|
||||
|
||||
Out of process user import
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
A management command has been added to import a large number users
|
||||
from a CSV file. More information about this new feature can also be found
|
||||
in the Initial data loading chapter.
|
||||
|
||||
|
||||
Refactored document indexing
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
:doc:`The document indexing <../chapters/indexes>` functionality has been
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
:doc:`The document indexing <../topics/indexes>` functionality has been
|
||||
improved and moved from experimental
|
||||
stage to beta stage. Index configuration menus are now available on the
|
||||
``Setup`` menu and allows administrators to create skeleton trees that will
|
||||
@@ -129,14 +116,12 @@ These populated trees can also be mirrored on the physical filesystem and shared
|
||||
using Samba or another filesharing server giving users a structured view
|
||||
of the documents contained within Mayan EDMS from the ``Indexes`` tab
|
||||
or from a mirrored index shared via the network. A new configuration option
|
||||
has been added, ``DOCUMENT_INDEXING_FILESYSTEM_SERVING``, which maps
|
||||
has been added, `DOCUMENT_INDEXING_FILESYSTEM_SERVING`, which maps
|
||||
the index internal name with the physical directory where such index will be
|
||||
mirrored on disk.
|
||||
|
||||
|
||||
Help shape Mayan EDMS's future
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Included in this version is a small feedback application, found under the
|
||||
``About`` main menu, where users by just answering some questions can
|
||||
help determine the priority of the next planned features on the pipeline,
|
||||
@@ -144,10 +129,8 @@ or even help add new features if enough requests are received. All questions
|
||||
are optional but answering as many as possible will help greatly understand
|
||||
the need of the Mayan EDMS user base.
|
||||
|
||||
|
||||
Staging file previews
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
The staging file previews now show the filename for easier
|
||||
identification and speedier upload selection. The staging files previews
|
||||
are now treated as a gallery which means that users can preview an entire
|
||||
@@ -155,23 +138,8 @@ page of staging files without having to click and close each one
|
||||
individually.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* Support for Celery and Sentry has been drop
|
||||
for now.
|
||||
* Removed the 'db_index' argument from Text fields definition and
|
||||
migrations as it was causing error messages for MySQL users, thanks to
|
||||
Sergei Glita for reporting this one.
|
||||
* Configuration options removed:
|
||||
|
||||
* OCR_CACHE_URI
|
||||
* DOCUMENT_INDEXING_FILESYSTEM_FILESERVING_PATH - Use the newest `DOCUMENT_INDEXING_FILESYSTEM_SERVING`
|
||||
* DOCUMENT_INDEXING_FILESYSTEM_FILESERVING_ENABLE - Use the newest `DOCUMENT_INDEXING_FILESYSTEM_SERVING`
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
=================================
|
||||
|
||||
Start off by adding the new requirements::
|
||||
|
||||
@@ -233,20 +201,31 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
|
||||
=============================
|
||||
The permission system has been completely reworked so sadly this is a
|
||||
place where even data migration can't help and the permissions assigned
|
||||
to roles will be lost during the upgrade to version 0.12. Users, groups
|
||||
to roles will be lost during the upgrade to version 0.12. Users, groups
|
||||
and roles will be preserved only permissions need to be assigned again,
|
||||
so write down your role permission setup before upgrading.
|
||||
|
||||
|
||||
Bugs fixed
|
||||
----------
|
||||
|
||||
* :github-issue:`17` special thanks to Dave Herring for all the help including
|
||||
access to a machine suffering with the issue, and to Sergei Glita for
|
||||
his research and eventual find of the core cause.
|
||||
==========
|
||||
* Issue #17, special thanks to Dave Herring for all the help including
|
||||
access to a machine suffering with the issue, and to Sergei Glita for
|
||||
his research and eventual find of the core cause.
|
||||
* Statistics fixes.
|
||||
* Fixed get_image_cache_name regression in the OCR app.
|
||||
|
||||
Stuff removed
|
||||
=============
|
||||
* Support for Celery and Sentry has been drop
|
||||
for now.
|
||||
* Removed the 'db_index' argument from Text fields definition and
|
||||
migrations as it was causing error messages for MySQL users, thanks to
|
||||
Sergei Glita for reporting this one.
|
||||
* Configuration options removed:
|
||||
|
||||
* OCR_CACHE_URI
|
||||
* DOCUMENT_INDEXING_FILESYSTEM_FILESERVING_PATH - Use the newest `DOCUMENT_INDEXING_FILESYSTEM_SERVING`
|
||||
* DOCUMENT_INDEXING_FILESYSTEM_FILESERVING_ENABLE - Use the newest `DOCUMENT_INDEXING_FILESYSTEM_SERVING`
|
||||
|
||||
|
||||
@@ -1,132 +1,110 @@
|
||||
Version 0.13
|
||||
============
|
||||
================================
|
||||
Mayan EDMS v0.13 release notes
|
||||
================================
|
||||
|
||||
*December 2012*
|
||||
|
||||
Welcome to Mayan EDMS v0.13!
|
||||
|
||||
Overview
|
||||
--------
|
||||
========
|
||||
|
||||
Initially this version was meant as a the third maintenance release of
|
||||
the 0.12 series, but with the amount of changes and updates that were included
|
||||
it was obvious this was not just a bug fix version anymore hence the version
|
||||
jump to 0.13 instead of 0.12.3
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
What's new in Mayan EDMS v0.13
|
||||
================================
|
||||
|
||||
Django 1.3.5
|
||||
^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~
|
||||
This release updates the required version of Django to 1.3.5 to take advantage
|
||||
of the security fixes added to that version of the framework.
|
||||
|
||||
|
||||
Bulk document tagging and untagging
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
As requested by issue `issue #31`_ this feature has been implemented and
|
||||
enabled in this version. Attaching or removing tags from a large number of
|
||||
documents is now much easier.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
As requested by issue `issue #31`_ this feature has been implemented and enabled in this version.
|
||||
Attaching or removing tags from a large number of documents is now much easier.
|
||||
|
||||
Registration
|
||||
^^^^^^^^^^^^
|
||||
|
||||
Based on requests made by the community for greater commercial support and
|
||||
services for Mayan EDMS, a new feature has been added that allows users
|
||||
register their copies of Mayan EDMS and better help users with commercial
|
||||
support packages. Registration for non commercial users is voluntary and
|
||||
optional, and in no way affects the functionality of Mayan EDMS. However
|
||||
even for non commercial users registration offers the advantage of
|
||||
automatically branding the user's copy of Mayan EDMS with their name or the
|
||||
company name in the title area.
|
||||
|
||||
~~~~~~~~~~~~
|
||||
Based on requests made by the community for greater commercial support and services for
|
||||
Mayan EDMS, a new feature has been added that allows users to register their
|
||||
copies of Mayan EDMS and better help users with commercial support packages.
|
||||
Registration for non commercial users is voluntary and optional, and in no way
|
||||
affects the functionality of Mayan EDMS. However even for non commercial users
|
||||
registration offers the advantage of automatically branding the user's copy
|
||||
of Mayan EDMS with their name or the company name in the title area.
|
||||
|
||||
Per document type indexing
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Index can now be restricted to update only on specific document types, this
|
||||
greatly increases the usefulness of indexes, and prevents unwanted index
|
||||
updates.
|
||||
|
||||
|
||||
Bootstrap
|
||||
^^^^^^^^^
|
||||
|
||||
~~~~~~~~~
|
||||
Setting up Mayan EDMS after installation has been indetified by users as the
|
||||
main difficulty when knowledge about Mayan EDMS is relatively low. To
|
||||
main difficulty when knowledge about Mayan EDMS is relatively low. To
|
||||
address this situation a new feature that provides preconfigured setups has been
|
||||
added. These preconfigured setups are published in the Mayan EDMS website and
|
||||
added. These preconfigured setups are published in the Mayan EDMS website and
|
||||
upon synchonization are available to users, this gives users access and integrators
|
||||
access to new setups without having to wait for new versions of Mayan EDMS.
|
||||
Aside from including preconfigured setups, the new bootstrap app
|
||||
has the ability of dumping an user's current setup into a serialized text file
|
||||
which can be tweaked by hand and sent via email to other users. The possibilities
|
||||
which can be tweaked by hand and sent via email to other users. The possibilities
|
||||
enabled by this range from company wide defaults setups to consultants providing
|
||||
their clients with customized setups without having to access their clients'
|
||||
Mayan EDMS instances. ``JSON``, ``YAML`` and a custom ``YAML`` format
|
||||
(http://djangosnippets.org/snippets/2461/) are supported by this new app.
|
||||
|
||||
|
||||
Add documents to folders in bulk
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
As requested, the ability to add more than one document at a time to a selected
|
||||
folder has been added.
|
||||
|
||||
|
||||
Translation updates
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
The translation for all the current languages were synchronized to the
|
||||
latest transifex project sources.
|
||||
|
||||
|
||||
Model updates
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~
|
||||
Several small fixes to the behavior of some model were added, namely that
|
||||
the names of some models should be unique. The document type name as well
|
||||
as the metadata set name were two models that were updated to behave this way.
|
||||
|
||||
|
||||
Navigation updates
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
There were some additions and changes to the navigation to make it more intuitive
|
||||
or to add an alternate way to access the same information better. The bulk
|
||||
attachment of tags was one of these. Previously users were added or removed
|
||||
from groups, now users can be assigned to groups without leaving the user view.
|
||||
The name of an existing metadata set can now be edited and what was previously
|
||||
called metadata set edit is now more aptly named metadata members which adds
|
||||
or removes metadata types into a single organizational unit. An error that
|
||||
caused a duplicate menu link in the document type filename view was also fixed.
|
||||
|
||||
or to add an alternate way to access the same information better. The bulk
|
||||
attachment of tags was one of these. Previously users were added or removed from groups,
|
||||
now users can be assigned to groups without leaving the user view. The name of an
|
||||
existing metadata set can now be edited and what was previously called metadata set edit
|
||||
is now more aptly named metadata members which adds or removes metadata types into a
|
||||
single organizational unit. An error that caused a duplicate menu link in the
|
||||
document type filename view was also fixed.
|
||||
|
||||
Support for UNOCONV dropped
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Support for converting office documents by calling LibreOffice via ``UNOCONV``
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Support for converting office documents by calling LibreOffice via UNOCONV
|
||||
has been disabled for a while ever since LibreOffice start including
|
||||
document conversion support from the command line. This version completly
|
||||
removes any traces of code and configuration options related to ``UNOCONV``.
|
||||
|
||||
removes any traces of code and configuration options related to UNOCONV.
|
||||
|
||||
Optimizations
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
Inspired by the idea of getting Mayan EDMS running effectively on low power
|
||||
hardware such as the Raspberry Pi, several rounds or profiling and
|
||||
optimization were done.
|
||||
~~~~~~~~~~~~~
|
||||
Inspired by the idea of getting Mayan EDMS running effectively on low power hardware such as
|
||||
the Raspberry Pi, several rounds or profiling and optimization were done.
|
||||
|
||||
Some caching optimization were introduced to the permission model, resulting in
|
||||
a speed increase of 33% in rendering time on views with heavy permission checking
|
||||
and a 18% query reduction on cache hits.
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
=================================
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
$ git reset --hard HEAD
|
||||
@@ -155,24 +133,21 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
|
||||
=============================
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
|
||||
* :github-issue:`28` "Document indexing based on filesystem problem"
|
||||
* :github-issue:`29` Default ACL documentation
|
||||
* :github-issue:`30` "Ubuntu 12.0.4 LTS complaining about mising 'fabfile/templates/settings_local.py' (master branch)"
|
||||
* :github-issue:`31` "Bulk add tags Feature request"
|
||||
* :github-issue:`32` "Error run $python manage.py syncdb"
|
||||
* :github-issue:`33` "Fetches translations from Transifex. "
|
||||
* :github-issue:`34` "Initial syncdb fails because of import time database access"
|
||||
* :github-issue:`35` "Fix first install syncdb on Postgres"
|
||||
* :github-issue:`37` "When 19 >= &document_type_id >= 10 in url, error page not found"
|
||||
* :github-issue:`39` * `issue #39`_ Feature request "Bulk move folders"
|
||||
===========================
|
||||
* `issue #28`_ "Document indexing based on filesystem problem"
|
||||
* `issue #29`_ Default ACL documentation
|
||||
* `issue #30`_ "Ubuntu 12.0.4 LTS complaining about mising 'fabfile/templates/settings_local.py' (master branch)"
|
||||
* `issue #31`_ "Bulk add tags Feature request"
|
||||
* `issue #32`_ "Error run $python manage.py syncdb"
|
||||
* `issue #33`_ "Fetches translations from Transifex. "
|
||||
* `issue #34`_ "Initial syncdb fails because of import time database access"
|
||||
* `issue #35`_ "Fix first install syncdb on Postgres"
|
||||
* `issue #37`_ "When 19 >= &document_type_id >= 10 in url, error page not found"
|
||||
* `issue #39`_ Feature request "Bulk move folders"
|
||||
|
||||
|
||||
.. _issue #28: https://github.com/rosarior/mayan/issues/28
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
Version 1.0
|
||||
===========
|
||||
=============================
|
||||
Mayan EDMS v1.0 release notes
|
||||
=============================
|
||||
|
||||
*August 26, 2014*
|
||||
|
||||
Welcome to Mayan EDMS v1.0!
|
||||
|
||||
Overview
|
||||
--------
|
||||
========
|
||||
After a year of low activity the focus of this release was to get the code
|
||||
updated to work with the most recent version of Django and the most recent
|
||||
version of the dependencies Mayan EDMS uses. The goal was to have a strong
|
||||
@@ -13,30 +16,25 @@ fixes were the primary focus of this cycle. Because of this not much
|
||||
emphasis was placed on adding new features, or at least new features
|
||||
that could have the potential to break things.
|
||||
|
||||
Changes
|
||||
-------
|
||||
What's new in Mayan EDMS v1.0
|
||||
=============================
|
||||
|
||||
New home
|
||||
^^^^^^^^
|
||||
|
||||
~~~~~~~~
|
||||
The growth and reach of the project has necessitaded for a while the move
|
||||
of the project to its own organization in Github. This move has finally been
|
||||
done, the new URL of the project is: https://github.com/mayan-edms/mayan-edms
|
||||
|
||||
|
||||
Django 1.6
|
||||
^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~
|
||||
This release updates the required version of Django to 1.6, bringing with it
|
||||
not only new features, but also a lot of security updates, a new project
|
||||
directory structure and new deployment methods.
|
||||
|
||||
|
||||
Translation updates
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The translation for all languages were synchronized to the latest transifex
|
||||
project sources. Translation completion as reported by Transifex:
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
The translation for all languages were synchronized to the latest transifex project sources.
|
||||
Translation completion as reported by Transifex:
|
||||
|
||||
* English - 100%
|
||||
* Spanish - 100%
|
||||
@@ -61,127 +59,96 @@ project sources. Translation completion as reported by Transifex:
|
||||
* Croatian - 3%
|
||||
* Turkish - 3%
|
||||
|
||||
|
||||
Model updates
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~
|
||||
There were some convenience properties created to allow quick access to
|
||||
a document's version and pages. These custom properties were removed and
|
||||
an official method to access these properties as provided by Django is now
|
||||
used.
|
||||
|
||||
|
||||
Source code improvements
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
A circular import of metadata and document_index apps code from the documents app
|
||||
was removed. Document index updates are now handled via signals, not called
|
||||
directly as before. Hundreds of PEP8 style fixes, unused import removals,
|
||||
unused variables removals and removal of remarked or unused code. Removal of the
|
||||
``DEVELOPMENT`` flag (was used to trigger static media serving during development),
|
||||
this is now handled by the ``DEBUG`` flag. The ``DEBUG`` flag is now set to ``True`` by
|
||||
DEVELOPMENT flag (was used to trigger static media serving during development),
|
||||
this is now handled by the DEBUG flag. The DEBUG flag is now set to `True` by
|
||||
default as per Django 1.6 defaults. Removed usage of Django's JSON libraries
|
||||
using Python's JSON library instead. Update of time and date use to use Django's
|
||||
new timezone aware data and time handling. Removal of custom code in favor of using
|
||||
modules provided by Django or by existing 3rd party libraries. Unification of code
|
||||
used for equal or similar purpose in various modules.
|
||||
|
||||
|
||||
Removal of included 3rd party modules
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
One last 3rd party module was included with the source code of Mayan EDMS.
|
||||
This module is now available on PyPI and fetched during the installation instead
|
||||
of being included.
|
||||
|
||||
|
||||
Automatic testing and code coverage check
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Some initial tests were added, which will help with the detection of
|
||||
regressions or bugs when adding new features. More tests are needed, but
|
||||
the initial work has being started.
|
||||
|
||||
|
||||
Update of required modules and libraries versions
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Many of the required modules and libraries have been updated to a more
|
||||
recent version if not to their most recent released version.
|
||||
|
||||
|
||||
Database connection leaks
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Stale database connection being left open by scheduler tasks are now explictly
|
||||
closed. This avoids consumption of the pool of database connections, increases
|
||||
stability and reduces memory usage.
|
||||
|
||||
|
||||
Deletion of detached signatures
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Detached signatures can now be deleted, if accidentally added to the wrong
|
||||
document.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Detached signatures can now be deleted, if accidentally added to the wrong document.
|
||||
|
||||
Removal of fabric based installations
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
These files are now part of their own project and located at https://github.com/mayan-edms/mayan-fabric
|
||||
|
||||
|
||||
Pluggable OCR backends
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
A commonly requested feature, it is now possible to write backends drivers
|
||||
to do document OCR using software or services other than Tesseract.
|
||||
|
||||
|
||||
OCR improvements
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~
|
||||
OCR queue state is now reset when reloading Mayan EMDS, avoiding the OCR queue
|
||||
to remain locked. `unpaper` binary is now an optional pre OCR requirement, the OCR
|
||||
queue will now continue working is ``unpaper`` is not installed. Addition of post
|
||||
queue will now continue working is `unpaper` is not installed. Addition of post
|
||||
OCR processing support for French and German.
|
||||
|
||||
|
||||
License change
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~
|
||||
Mayan EDMS is now licensed under the Apache 2.0 license. This means many
|
||||
things but the main change is that inclusion of Mayan EDMS into
|
||||
commercial products is now explicitly allowed.
|
||||
|
||||
|
||||
PyPI package
|
||||
^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~
|
||||
Mayan EDMS has been packaged and submitted to the PyPI_ Python Package Index
|
||||
making it even easier to install and use.
|
||||
|
||||
|
||||
New REST API
|
||||
^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~
|
||||
This release feature a completely new REST API and automatic API documentation.
|
||||
This new API is also used internally by Mayan EDMS itself.
|
||||
|
||||
This new API is also used internally by *Mayan EDMS* itself.
|
||||
|
||||
Other changes
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~
|
||||
More office document types are now recognized and supported. More file types are now
|
||||
supported as text files and properly previewed and parsed. Removal of the legacy
|
||||
runserver.sh and runserver_plus.sh scripts. New document preview generation and
|
||||
display pipeline, faster, simpler. Inclusion of a proof of concept compressed storage
|
||||
backend.
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
=================================
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
$ git reset --hard HEAD
|
||||
@@ -208,8 +175,7 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
|
||||
=============================
|
||||
* If using the SQLite3 database option, rename the file named `mayan.sqlite` file to `db.sqlite3` and
|
||||
move it to the new `media` provided folder.
|
||||
* Also move to the `media` folder any `gpg_home`, `document_storage` and `image_cache` folders
|
||||
@@ -217,8 +183,7 @@ Backward incompatible changes
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
|
||||
===========================
|
||||
* None
|
||||
|
||||
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
Version 1.1.1
|
||||
=============
|
||||
===============================
|
||||
Mayan EDMS v1.1.1 release notes
|
||||
===============================
|
||||
|
||||
Released: May 21, 2015
|
||||
|
||||
Changes
|
||||
-------
|
||||
What's new
|
||||
==========
|
||||
|
||||
Update to Django 1.6.11
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
The required version of Django has been updated to version 1.6.11_.
|
||||
|
||||
Minor changes
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
~~~~~~~~~~~~~
|
||||
- Fix make_dist.sh script
|
||||
- Add test for issue #163
|
||||
- Activate tests for the sources app
|
||||
@@ -26,12 +25,11 @@ Minor changes
|
||||
- Increase size of the lock name field
|
||||
- New style documentation
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
=================================
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -39,9 +37,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -54,9 +51,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Add new static media::
|
||||
|
||||
@@ -66,14 +62,11 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
|
||||
* None
|
||||
|
||||
=============================
|
||||
None
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
|
||||
* None
|
||||
===========================
|
||||
None
|
||||
|
||||
.. _1.6.11: https://docs.djangoproject.com/en/1.8/releases/1.6.11/
|
||||
|
||||
@@ -1,14 +1,17 @@
|
||||
Version 1.1
|
||||
===========
|
||||
=============================
|
||||
Mayan EDMS v1.1 release notes
|
||||
=============================
|
||||
|
||||
Released: February 10, 2015
|
||||
|
||||
Changes
|
||||
-------
|
||||
Welcome to Mayan EDMS v1.1
|
||||
|
||||
|
||||
What's new in Mayan EDMS v1.1
|
||||
=============================
|
||||
|
||||
Celery
|
||||
^^^^^^
|
||||
|
||||
~~~~~~
|
||||
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
|
||||
@@ -16,83 +19,72 @@ 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.
|
||||
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 ajusted 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
|
||||
@@ -100,16 +92,14 @@ 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
|
||||
@@ -120,36 +110,29 @@ 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.
|
||||
~~~~~~~~~~~
|
||||
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.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
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::
|
||||
|
||||
@@ -162,71 +145,64 @@ Instead the fully qualified name of the class must be passed as the setting valu
|
||||
|
||||
|
||||
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 the MAIN_SIDE_BAR_SEARCH setting
|
||||
* Removal of THEMES 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 the MAIN_DISABLE_ICONS setting
|
||||
* Removal of specialized Sentry support
|
||||
* Removal of the ``MAIN_ENABLE_SCROLL_JS`` setting
|
||||
* Removal of the MAIN_ENABLE_SCROLL_JS setting
|
||||
* Remove hardcoded root (/) redirections
|
||||
* Removal of ``APSCheduler`` as a requirement
|
||||
* Removal of APSCheduler as a requirement
|
||||
* Removal of the scheduled jobs view
|
||||
* Removal of the ``web_theme`` app
|
||||
* 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
|
||||
@@ -236,8 +212,7 @@ Other changes
|
||||
|
||||
|
||||
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.
|
||||
@@ -265,7 +240,7 @@ Migrate existing database schema with::
|
||||
|
||||
During the migration several messages of stale content types can occur:
|
||||
|
||||
::
|
||||
.. code-block:: bash
|
||||
|
||||
The following content types are stale and need to be deleted:
|
||||
|
||||
@@ -303,7 +278,7 @@ 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.
|
||||
@@ -312,80 +287,80 @@ Backward incompatible changes
|
||||
|
||||
|
||||
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
|
||||
* `issue #30 <https://github.com/mayan-edms/mayan-edms/issues/30>`_ Document workflows
|
||||
* `issue #32 <https://github.com/mayan-edms/mayan-edms/issues/32>`_ Watched folders
|
||||
* `issue #34 <https://github.com/mayan-edms/mayan-edms/issues/34>`_ Postprocessing document queue
|
||||
* `issue #35 <https://github.com/mayan-edms/mayan-edms/issues/35>`_ Metadata validation
|
||||
* `issue #37 <https://github.com/mayan-edms/mayan-edms/issues/37>`_ Add from __future__ import unicode_literals
|
||||
* `issue #39 <https://github.com/mayan-edms/mayan-edms/issues/39>`_ Capitalization of messages
|
||||
* `issue #40 <https://github.com/mayan-edms/mayan-edms/issues/40>`_ Update references to root ('/') path
|
||||
* `issue #46 <https://github.com/mayan-edms/mayan-edms/issues/46>`_ Advanced search past 1st page
|
||||
* `issue #49 <https://github.com/mayan-edms/mayan-edms/issues/49>`_ Problems with large pdf files
|
||||
* `issue #50 <https://github.com/mayan-edms/mayan-edms/issues/50>`_ raise CommandNotFound(path)
|
||||
* `issue #51 <https://github.com/mayan-edms/mayan-edms/issues/51>`_ Search with ANONYMOUS error
|
||||
* `issue #55 <https://github.com/mayan-edms/mayan-edms/issues/55>`_ Document approval cicle?
|
||||
* `issue #56 <https://github.com/mayan-edms/mayan-edms/issues/56>`_ Removal of non essential features, views, models
|
||||
* `issue #57 <https://github.com/mayan-edms/mayan-edms/issues/57>`_ Migrate to Celery for task query and periodic tasks
|
||||
* `issue #64 <https://github.com/mayan-edms/mayan-edms/issues/64>`_ Pluralize messages properly
|
||||
* `issue #65 <https://github.com/mayan-edms/mayan-edms/issues/65>`_ Backport the ability to receive documents via email
|
||||
* `issue #66 <https://github.com/mayan-edms/mayan-edms/issues/66>`_ Python 3 compatibility: Add from __future__ import unicode_literals and remove all u''
|
||||
* `issue #68 <https://github.com/mayan-edms/mayan-edms/issues/68>`_ Revise and update the use gettext vs. gettext_lazy
|
||||
* `issue #69 <https://github.com/mayan-edms/mayan-edms/issues/69>`_ Feature removal: remove "Unregistered" message from the title bar
|
||||
* `issue #71 <https://github.com/mayan-edms/mayan-edms/issues/71>`_ Add retry support to the converter task
|
||||
* `issue #72 <https://github.com/mayan-edms/mayan-edms/issues/72>`_ Delete unused static icons
|
||||
* `issue #74 <https://github.com/mayan-edms/mayan-edms/issues/74>`_ Cache a document's first document version
|
||||
* `issue #75 <https://github.com/mayan-edms/mayan-edms/issues/75>`_ Move automatic OCR queueing from a configuration settings to a property of Document Type model
|
||||
* `issue #77 <https://github.com/mayan-edms/mayan-edms/issues/77>`_ Add document view permission support to the search app
|
||||
* `issue #78 <https://github.com/mayan-edms/mayan-edms/issues/78>`_ COMMON_TEMPORARY_DIRECTORY seems not to be used everywhere
|
||||
* `issue #79 <https://github.com/mayan-edms/mayan-edms/issues/79>`_ Error installing
|
||||
* `issue #82 <https://github.com/mayan-edms/mayan-edms/issues/82>`_ Make document type a required field
|
||||
* `issue #83 <https://github.com/mayan-edms/mayan-edms/issues/83>`_ Simplify source app views and navigation
|
||||
* `issue #84 <https://github.com/mayan-edms/mayan-edms/issues/84>`_ Remove template context variable 'object_name' to improve translations
|
||||
* `issue #85 <https://github.com/mayan-edms/mayan-edms/issues/85>`_ Reset page count for a single document
|
||||
* `issue #86 <https://github.com/mayan-edms/mayan-edms/issues/86>`_ Move migrations to new 'south_migrations' folders
|
||||
* `issue #87 <https://github.com/mayan-edms/mayan-edms/issues/87>`_ Per document language selection
|
||||
* `issue #88 <https://github.com/mayan-edms/mayan-edms/issues/88>`_ Remove metadata type selection from the upload wizard
|
||||
* `issue #89 <https://github.com/mayan-edms/mayan-edms/issues/89>`_ Allow metadata types to be required for specific document types
|
||||
* `issue #90 <https://github.com/mayan-edms/mayan-edms/issues/90>`_ Remove the app_registry app
|
||||
* `issue #91 <https://github.com/mayan-edms/mayan-edms/issues/91>`_ Don't preserve the ?page= URL query string value when switching sources during document upload
|
||||
* `issue #92 <https://github.com/mayan-edms/mayan-edms/issues/92>`_ Make register_multi_item_links class aware
|
||||
* `issue #95 <https://github.com/mayan-edms/mayan-edms/issues/95>`_ Installation error on Mac OSX; OSError: [Errno 2] No such file or directory
|
||||
* `issue #96 <https://github.com/mayan-edms/mayan-edms/issues/96>`_ Remove hard code User model references
|
||||
* `issue #97 <https://github.com/mayan-edms/mayan-edms/issues/97>`_ Make multi item links a drop down list
|
||||
* `issue #104 <https://github.com/mayan-edms/mayan-edms/issues/104>`_ Finish polishing metadata validation patch
|
||||
* `issue #105 <https://github.com/mayan-edms/mayan-edms/issues/105>`_ Tie smart links setups to document types
|
||||
* `issue #106 <https://github.com/mayan-edms/mayan-edms/issues/106>`_ Convert document indexing app actions to Celery
|
||||
* `issue #107 <https://github.com/mayan-edms/mayan-edms/issues/107>`_ Restrict document metadata addition and removal
|
||||
* `issue #108 <https://github.com/mayan-edms/mayan-edms/issues/108>`_ New home screen
|
||||
* `issue #109 <https://github.com/mayan-edms/mayan-edms/issues/109>`_ Add Roles API endpoints
|
||||
* `issue #111 <https://github.com/mayan-edms/mayan-edms/issues/111>`_ Add Checkouts API endpoints
|
||||
* `issue #112 <https://github.com/mayan-edms/mayan-edms/issues/112>`_ Add OCR API endpoints
|
||||
* `issue #114 <https://github.com/mayan-edms/mayan-edms/issues/114>`_ Implement UI language as user preference
|
||||
* `issue #116 <https://github.com/mayan-edms/mayan-edms/issues/116>`_ Add documentation topic explicitly noting the binary requirements
|
||||
* `issue #118 <https://github.com/mayan-edms/mayan-edms/issues/118>`_ When a metadata type is removed from a document type, remove it from all the documents of that type
|
||||
* `issue #119 <https://github.com/mayan-edms/mayan-edms/issues/119>`_ When a required metadata type is added to a document type, add it to all documents of that type
|
||||
* `issue #126 <https://github.com/mayan-edms/mayan-edms/issues/126>`_ Failing migration with SQLite
|
||||
* `issue #127 <https://github.com/mayan-edms/mayan-edms/issues/127>`_ Failing migration with Postgres
|
||||
* `issue #128 <https://github.com/mayan-edms/mayan-edms/issues/128>`_ Add Indexes API endpoints
|
||||
* `issue #129 <https://github.com/mayan-edms/mayan-edms/issues/129>`_ Search api shouldn't memorize requested page as part of the query
|
||||
* `issue #130 <https://github.com/mayan-edms/mayan-edms/issues/130>`_ Users API is not working correctly
|
||||
* `issue #131 <https://github.com/mayan-edms/mayan-edms/issues/131>`_ Is there an API to update a user's password?
|
||||
* `issue #137 <https://github.com/mayan-edms/mayan-edms/issues/137>`_ Enhancement of language selection
|
||||
* `issue #138 <https://github.com/mayan-edms/mayan-edms/issues/138>`_ Possibility to keep zoom factor
|
||||
* `issue #139 <https://github.com/mayan-edms/mayan-edms/issues/139>`_ Translatability of language selection
|
||||
* `issue #140 <https://github.com/mayan-edms/mayan-edms/issues/140>`_ Thumbnail creation for ods crashing
|
||||
* `issue #143 <https://github.com/mayan-edms/mayan-edms/issues/143>`_ Exception Value: 'exceptions.ValueError' object has no attribute 'messages'
|
||||
* `issue #144 <https://github.com/mayan-edms/mayan-edms/issues/144>`_ Behavior of 'Edit metadata' (Recent Documents)
|
||||
* `issue #146 <https://github.com/mayan-edms/mayan-edms/issues/146>`_ Periodic task not initiated for mail boxes and watch folders
|
||||
* `issue #149 <https://github.com/mayan-edms/mayan-edms/issues/149>`_ Attribute error in document download
|
||||
* `issue #150 <https://github.com/mayan-edms/mayan-edms/issues/150>`_ Double second menu entry
|
||||
* `issue #152 <https://github.com/mayan-edms/mayan-edms/issues/152>`_ Document content empty
|
||||
* `issue #153 <https://github.com/mayan-edms/mayan-edms/issues/153>`_ south migration with postgres: documents: 031_remove_orphan_documents
|
||||
* `issue #154 <https://github.com/mayan-edms/mayan-edms/issues/154>`_ south migration with postgres: tags: 0002_auto__add_tag__chg_field_tagproperties_tag
|
||||
* `issue #157 <https://github.com/mayan-edms/mayan-edms/issues/157>`_ upload new version of a document not working
|
||||
* `issue #158 <https://github.com/mayan-edms/mayan-edms/issues/158>`_ Plural form not matching singular form in ocr app bug i18n
|
||||
|
||||
|
||||
.. _Celery: http://www.celeryproject.org/
|
||||
|
||||
@@ -1,34 +1,31 @@
|
||||
Version 2.0.1
|
||||
=============
|
||||
===============================
|
||||
Mayan EDMS v2.0.1 release notes
|
||||
===============================
|
||||
|
||||
Released: January 22, 2016
|
||||
|
||||
Changes
|
||||
-------
|
||||
Welcome to Mayan EDMS v2.0.1
|
||||
|
||||
|
||||
What's new in Mayan EDMS v2.0.1
|
||||
===============================
|
||||
|
||||
Required metadata was not enforce correctly
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
-------------------------------------------
|
||||
Fixed a situation where documents having required metadata could still be
|
||||
uploaded without entering a value for the required metadata.
|
||||
|
||||
|
||||
Fix multiple document metadata adding
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
-------------------------------------
|
||||
Fixed a bug when adding metadata to multiple documents.
|
||||
|
||||
|
||||
Fix multiple document metadata editing
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
--------------------------------------
|
||||
Fixed a bug that made it impossible to edit multiple documents' metadata values
|
||||
if one of the documents had no previous value for it's metadata.
|
||||
|
||||
|
||||
Updated Vagrant file
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
--------------------
|
||||
The included Vagrant file now provide 2 boxes: development and production.
|
||||
Selection which kind of box to provision is as easy as executing::
|
||||
|
||||
@@ -40,22 +37,18 @@ or
|
||||
|
||||
|
||||
Other changes
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
-------------
|
||||
* None
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -63,9 +56,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -79,9 +71,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -95,15 +86,14 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* :gitlab-issue:`243` System allows a user to skip entering values for a required metadata field while uploading a new document
|
||||
* :gitlab-issue:`245` Add multiple metadata not possible
|
||||
* `GitLab issue #243 <https://gitlab.com/mayan-edms/mayan-edms/issues/243>`_ System allows a user to skip entering values for a required metadata field while uploading a new document
|
||||
* `GitLab issue #245 <https://gitlab.com/mayan-edms/mayan-edms/issues/245>`_ Add multiple metadata not possible
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -1,39 +1,34 @@
|
||||
Version 2.0.2
|
||||
=============
|
||||
===============================
|
||||
Mayan EDMS v2.0.2 release notes
|
||||
===============================
|
||||
|
||||
Released: February 15, 2016
|
||||
|
||||
Changes
|
||||
-------
|
||||
Welcome to Mayan EDMS v2.0.2
|
||||
|
||||
What's new
|
||||
==========
|
||||
|
||||
Fine tune "Update" checkbox from the metadata entry form
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
--------------------------------------------------------
|
||||
Previously the update checkbox was ignored during the metadata step of the
|
||||
document upload wizard with the wizard always creating a metadata entry for the
|
||||
new document even if the entry was left blank. The checkbox now controls whether
|
||||
or not the wizard will store try to create the metadata entry.
|
||||
|
||||
|
||||
Fix empty optional lookup metadata fields behavior
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
--------------------------------------------------
|
||||
An edge case was fixed that caused validation to be executed for empty metadata
|
||||
fields that had a value lookup list.
|
||||
|
||||
|
||||
Remove Docker files
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
-------------------
|
||||
Included Docker and Docker Compose files were removed since the Mayan EDMS Docker
|
||||
(https://gitlab.com/mayan-edms/mayan-edms-docker) repository is stable.
|
||||
|
||||
|
||||
Other changes
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
- Only extract validation error messages from ``ValidationError`` exception
|
||||
instances.
|
||||
-------------
|
||||
- Only extract validation error messages from ValidationError exception instances.
|
||||
- Add 2 second delay to document version tests to workaround MySQL not storing
|
||||
the millisecond part of the document version's timestamp.
|
||||
- Install testing dependencies when installing development dependencies.
|
||||
@@ -41,18 +36,15 @@ Other changes
|
||||
- Move metadata form value validation to .clean() method.
|
||||
- Add HTML tags stripping to the browser title generation template.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -60,9 +52,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -76,9 +67,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -92,14 +82,13 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* :gitlab-issue:`250` Empty optional lookup metadata trigger validation error.
|
||||
* `GitLab issue #250 <https://gitlab.com/mayan-edms/mayan-edms/issues/250>`_ Empty optional lookup metadata trigger validation error.
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,46 +1,41 @@
|
||||
Version 2.1.1
|
||||
=============
|
||||
===============================
|
||||
Mayan EDMS v2.1.1 release notes
|
||||
===============================
|
||||
|
||||
Released: May 17, 2016
|
||||
|
||||
What's new
|
||||
==========
|
||||
|
||||
This is a bugfix release and all users are encouraged to upgrade.
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
Fix object column resolution issue in navigation app
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
----------------------------------------------------
|
||||
Version 2.1 includes a navigation feature that allows model instances from a
|
||||
queryset generated using the .defer() or .only() Django filter optimization
|
||||
features to resolve to their parent class transparently. This optimization
|
||||
caused problems with the sources app which uses a
|
||||
|
||||
|
||||
Missing Tesseract language files
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
--------------------------------
|
||||
The Tesseract OCR backend now reports if the tesseract language file is missing
|
||||
for the requested document's language.
|
||||
|
||||
|
||||
Other changes
|
||||
^^^^^^^^^^^^^
|
||||
-------------
|
||||
|
||||
- Ensure the automatic default index is created after the default document type.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -48,9 +43,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -64,9 +58,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -80,16 +73,15 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* :gitlab-issue:`288` Can't add sources in mayan-edms 2.1.
|
||||
* :gitlab-issue:`289` OCR fails with Exception.
|
||||
* `GitLab issue #288 <https://gitlab.com/mayan-edms/mayan-edms/issues/288>`_ Can't add sources in mayan-edms 2.1.
|
||||
* `GitLab issue #289 <https://gitlab.com/mayan-edms/mayan-edms/issues/289>`_ OCR fails with Exception.
|
||||
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -1,30 +1,31 @@
|
||||
Version 2.1.10
|
||||
==============
|
||||
================================
|
||||
Mayan EDMS v2.1.10 release notes
|
||||
================================
|
||||
|
||||
Released: February 13, 2017
|
||||
|
||||
What's new
|
||||
==========
|
||||
|
||||
This is a micro release equal to the previews version from the user's point of view.
|
||||
The version number was increase to workaround some issues with the Python
|
||||
Package Index not allowing re-uploads.
|
||||
|
||||
Changes
|
||||
-------
|
||||
-------------
|
||||
|
||||
- Update Makefile to use twine for releases.
|
||||
- Add Makefile target to make test releases.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -32,9 +33,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -48,9 +48,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -64,13 +63,12 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
Version 2.1.11
|
||||
==============
|
||||
================================
|
||||
Mayan EDMS v2.1.11 release notes
|
||||
================================
|
||||
|
||||
Released: March 14, 2017
|
||||
|
||||
What's new
|
||||
==========
|
||||
|
||||
This is a bug-fix release and all users are encouraged to upgrade. The focus
|
||||
of this micro release was REST API improvement.
|
||||
|
||||
Changes
|
||||
-------
|
||||
-------------
|
||||
|
||||
- Added a quick rename serializer to the document type API serializer.
|
||||
- Added per document type, workflow list API view. The URL for this endpoint is
|
||||
@@ -20,7 +24,7 @@ Changes
|
||||
- Implemented document workflows transition ACLs. GitLab issue #321.
|
||||
- Add document comments API endpoints. GitHub issue #249.
|
||||
- Add support for overriding the Celery class. The setting is named
|
||||
``MAYAN_CELERY_CLASS`` and expects a dotted python path to the class to use.
|
||||
MAYAN_CELERY_CLASS and expects a dotted python path to the class to use.
|
||||
- Changed the document upload view in source app to not use the HTTP referer
|
||||
URL blindly, but instead recompose the URL using known view name. Needed
|
||||
when integrating Mayan EDMS into other app via using iframes.
|
||||
@@ -30,18 +34,15 @@ Changes
|
||||
- Added support for adding or editing document types to smart links via the
|
||||
API.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -49,9 +50,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -65,9 +65,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -81,16 +80,15 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* :github-issue:`355` Add document comments API [$50 US]
|
||||
* :gitlab-issue:`321` Transition ACLS
|
||||
* :gitlab-issue:`357` It should be possible to retrieve all workflows for a given DocumentType from the API
|
||||
* `Github issue #249 <https://github.com/mayan-edms/mayan-edms/issues/249>`_ Add document comments API [$50 US]
|
||||
* `GitLab issue #321 <https://gitlab.com/mayan-edms/mayan-edms/issues/321>`_ Transition ACLS
|
||||
* `GitLab issue #357 <https://gitlab.com/mayan-edms/mayan-edms/issues/357>`_ It should be possible to retrieve all workflows for a given DocumentType from the API
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -1,45 +1,40 @@
|
||||
Version 2.1.2
|
||||
=============
|
||||
===============================
|
||||
Mayan EDMS v2.1.2 release notes
|
||||
===============================
|
||||
|
||||
Released: May 20, 2016
|
||||
|
||||
What's new
|
||||
==========
|
||||
|
||||
This is a bugfix release and all users are encouraged to upgrade.
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
Language list sorting
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
---------------------
|
||||
The document language list and the user locale profile language list are now
|
||||
sorted to make it easier to find the desired language.
|
||||
|
||||
|
||||
Fixed the metadata lookup options: {{ users }} and {{ groups }}
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
---------------------------------------------------------------
|
||||
When configuring metadata type lookup options the {{ users }} and {{ groups }}
|
||||
special options can be used to display a list of users or a list of groups.
|
||||
These options where producing a list in the wrong format and were updated.
|
||||
|
||||
|
||||
Other changes
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
-------------
|
||||
- Add Makefile for common development tasks
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -47,9 +42,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -63,9 +57,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -79,15 +72,15 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* `GitLab issue #290 <https://gitlab.com/mayan-edms/mayan-edms/issues/290>`_ Unicode characters not supported as metadata values
|
||||
* `GitLab issue #292 <https://gitlab.com/mayan-edms/mayan-edms/issues/292>`_ Sort languages by name not by abbreviation
|
||||
|
||||
* :gitlab-issue:`290` Unicode characters not supported as metadata values
|
||||
* :gitlab-issue:`292` Sort languages by name not by abbreviation
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -1,26 +1,24 @@
|
||||
Version 2.1.3
|
||||
=============
|
||||
===============================
|
||||
Mayan EDMS v2.1.3 release notes
|
||||
===============================
|
||||
|
||||
Released: June 29, 2016
|
||||
|
||||
What's new
|
||||
==========
|
||||
|
||||
This is a bug-fix release and all users are encouraged to upgrade.
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
Temporary files cleanup
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
-----------------------
|
||||
When uploading PDF files that had been OCRed by previous software, the text
|
||||
parser backend that uses Poppler, would leave behind some temporary files in
|
||||
the /tmp folder. The issue has been resolved and from the fix a test mixin
|
||||
system check has been devised that will identify places in the codebase with
|
||||
similar behaviors, reducing the recurrence of similar issues in the future.
|
||||
|
||||
|
||||
Other changes
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
-------------
|
||||
- Add help message when initialsetup migration phase fails. Relates to GitLab issue #296
|
||||
- Start using self.setdout instead of print as per documentation.
|
||||
- Fix GitLab issue #295, "When editing a user the top bar jumps to the name of the user".
|
||||
@@ -29,18 +27,15 @@ Other changes
|
||||
- Add missing temporary file cleanup for office documents.
|
||||
- Fix file descriptor leak in the document signature download test.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -48,9 +43,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -64,9 +58,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -80,16 +73,15 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* :gitlab-issue:`295` When editing a user the top bar jumps to the name of the user
|
||||
* :gitlab-issue:`309` Temp files quickly filling-up my /tmp (1GB tmpfs)
|
||||
* `GitLab issue #295 <https://gitlab.com/mayan-edms/mayan-edms/issues/295>`_ When editing a user the top bar jumps to the name of the user
|
||||
* `GitLab issue #309 <https://gitlab.com/mayan-edms/mayan-edms/issues/309>`_ Temp files quickly filling-up my /tmp (1GB tmpfs)
|
||||
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
Version 2.1.4
|
||||
=============
|
||||
===============================
|
||||
Mayan EDMS v2.1.4 release notes
|
||||
===============================
|
||||
|
||||
Released: October 28, 2016
|
||||
|
||||
What's new
|
||||
==========
|
||||
|
||||
This is a bug-fix release and all users are encouraged to upgrade.
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
- Fix statistics namespace list display view
|
||||
- Fix events list display view
|
||||
- Update required Django version to 1.8.15
|
||||
@@ -18,18 +21,15 @@ Changes
|
||||
- New GPG backend system
|
||||
- Minor documentation updates
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -37,9 +37,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -53,9 +52,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -69,16 +67,15 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* :gitlab-issue:`311` acl page return ContentType:Document
|
||||
* :gitlab-issue:`316` Error when trying to access the statistics
|
||||
* :gitlab-issue:`324` Document signature tests fail in Ubuntu 16.10
|
||||
* `GitLab issue #311 <https://gitlab.com/mayan-edms/mayan-edms/issues/311>`_ acl page return ContentType:Document
|
||||
* `GitLab issue #316 <https://gitlab.com/mayan-edms/mayan-edms/issues/316>`_ Error when trying to access the statistics
|
||||
* `GitLab issue #324 <https://gitlab.com/mayan-edms/mayan-edms/issues/324>`_ Document signature tests fail in Ubuntu 16.10
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
Version 2.1.5
|
||||
=============
|
||||
===============================
|
||||
Mayan EDMS v2.1.5 release notes
|
||||
===============================
|
||||
|
||||
Released: November 8, 2016
|
||||
|
||||
What's new
|
||||
==========
|
||||
|
||||
This is a bug-fix release and all users are encouraged to upgrade.
|
||||
|
||||
Changes
|
||||
-------
|
||||
Other changes
|
||||
-------------
|
||||
|
||||
- Backport resize transformation math operation fix (GitLab #319).
|
||||
- Update Pillow to 3.1.2
|
||||
@@ -20,18 +24,15 @@ Changes
|
||||
- Fix ACL create view HTML response type. (GitLab #335).
|
||||
- Expland staging folder and watch folder explanation.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -39,9 +40,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -55,9 +55,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -71,18 +70,18 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* `GitLab issue #319 <https://gitlab.com/mayan-edms/mayan-edms/issues/319>`_ TransformationResize issue with very "long" image
|
||||
* `GitLab issue #331 <https://gitlab.com/mayan-edms/mayan-edms/issues/331>`_ Trash List View: Items actions should be limited
|
||||
* `GitLab issue #333 <https://gitlab.com/mayan-edms/mayan-edms/issues/333>`_ "Unable to run gpg - it may not be available."
|
||||
* `GitLab issue #334 <https://gitlab.com/mayan-edms/mayan-edms/issues/334>`_ Perfomance improvment: prevent unnecessary image.resize in TransformationZoom
|
||||
* `GitLab issue #335 <https://gitlab.com/mayan-edms/mayan-edms/issues/335>`_ Wrong HTML Content-Type in ACL->NEW
|
||||
|
||||
* :gitlab-issue:`319` TransformationResize issue with very "long" image
|
||||
* :gitlab-issue:`331` Trash List View: Items actions should be limited
|
||||
* :gitlab-issue:`333` "Unable to run gpg - it may not be available."
|
||||
* :gitlab-issue:`334` Perfomance improvment: prevent unnecessary image.resize in TransformationZoom
|
||||
* :gitlab-issue:`335` Wrong HTML Content-Type in ACL->NEW
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -1,28 +1,29 @@
|
||||
Version 2.1.6
|
||||
=============
|
||||
===============================
|
||||
Mayan EDMS v2.1.6 release notes
|
||||
===============================
|
||||
|
||||
Released: November 23, 2016
|
||||
|
||||
What's new
|
||||
==========
|
||||
|
||||
This is a bug-fix release and all users are encouraged to upgrade.
|
||||
|
||||
Changes
|
||||
-------
|
||||
-------------
|
||||
|
||||
- Fix variable name typo in the rotation transformation class.
|
||||
- Update translations
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -30,9 +31,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -46,9 +46,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -62,13 +61,12 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
Version 2.1.7
|
||||
=============
|
||||
===============================
|
||||
Mayan EDMS v2.1.7 release notes
|
||||
===============================
|
||||
|
||||
Released: February 2, 2017
|
||||
|
||||
What's new
|
||||
==========
|
||||
|
||||
This is a bug-fix release and all users are encouraged to upgrade. The focus
|
||||
of this micro release was REST API improvement.
|
||||
|
||||
Changes
|
||||
-------
|
||||
-------------
|
||||
|
||||
- Improved user management API endpoints (initial work by @lokeshmanmode):
|
||||
|
||||
@@ -40,18 +44,15 @@ Changes
|
||||
- The parser and validation fields of the metadata type model have been enable
|
||||
in the metadata type API serializer.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -59,9 +60,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -75,9 +75,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -91,13 +90,12 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
Version 2.1.8
|
||||
=============
|
||||
===============================
|
||||
Mayan EDMS v2.1.8 release notes
|
||||
===============================
|
||||
|
||||
Released: February 12, 2017
|
||||
|
||||
What's new
|
||||
==========
|
||||
|
||||
This is a bug-fix release and all users are encouraged to upgrade. The focus
|
||||
of this micro release was REST API improvement.
|
||||
|
||||
Changes
|
||||
-------
|
||||
-------------
|
||||
|
||||
- Fixes in the trashed document API endpoints.
|
||||
- Improved tags API PUT and PATCH endpoints.
|
||||
@@ -19,18 +23,15 @@ Changes
|
||||
- Add Smart link API endpoints.
|
||||
- Add writable versions of the Document and Document Type serializers (GitLab issues #348 and #349).
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -38,9 +39,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -54,9 +54,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -70,16 +69,15 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* :gitlab-issue:`310` Metadata's lookup with chinese messages when new document
|
||||
* :gitlab-issue:`348` REST API: Document version comments are not getting updated
|
||||
* :gitlab-issue:`349` REST API: Document Label, Description are not able to update
|
||||
* `GitLab issue #310 <https://gitlab.com/mayan-edms/mayan-edms/issues/310>`_ Metadata's lookup with chinese messages when new document
|
||||
* `GitLab issue #348 <https://gitlab.com/mayan-edms/mayan-edms/issues/348>`_ REST API: Document version comments are not getting updated
|
||||
* `GitLab issue #349 <https://gitlab.com/mayan-edms/mayan-edms/issues/349>`_ REST API: Document Label, Description are not able to update
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
Version 2.1.9
|
||||
=============
|
||||
===============================
|
||||
Mayan EDMS v2.1.9 release notes
|
||||
===============================
|
||||
|
||||
Released: February 13, 2017
|
||||
|
||||
What's new
|
||||
==========
|
||||
|
||||
This is a micro release equal to the previews version from the user's point of view.
|
||||
The version number was increase to workaround some issues with the Python
|
||||
Package Index not allowing re-uploads.
|
||||
|
||||
|
||||
Changes
|
||||
-------
|
||||
-------------
|
||||
|
||||
- Update make file to Workaround long standing pypa wheel bug #99
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -32,9 +32,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -48,9 +47,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -64,13 +62,12 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
Version 2.1
|
||||
===========
|
||||
=============================
|
||||
Mayan EDMS v2.1 release notes
|
||||
=============================
|
||||
|
||||
Released: May 14, 2016
|
||||
|
||||
Changes
|
||||
-------
|
||||
What's new
|
||||
==========
|
||||
|
||||
Upgrade to use Django 1.8.13
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
----------------------------
|
||||
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
|
||||
@@ -16,35 +16,28 @@ 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.
|
||||
|
||||
|
||||
Remove remaining references to Django's User model
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
--------------------------------------------------
|
||||
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.
|
||||
|
||||
|
||||
Remove included login required middleware
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
-----------------------------------------
|
||||
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/).
|
||||
|
||||
|
||||
Improve generation of success and error messages for class based views
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
----------------------------------------------------------------------
|
||||
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.
|
||||
|
||||
|
||||
Remove ownership concept from folders
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
-------------------------------------
|
||||
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
|
||||
@@ -52,10 +45,8 @@ 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.
|
||||
|
||||
|
||||
Replacement of strip_spaces middleware with the spaceless template tag
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
----------------------------------------------------------------------
|
||||
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
|
||||
@@ -66,64 +57,50 @@ 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.
|
||||
|
||||
|
||||
Deselect the update checkbox for optional metadata by default
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
-------------------------------------------------------------
|
||||
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.
|
||||
|
||||
|
||||
Implement per document type document creation permission
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
--------------------------------------------------------
|
||||
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.
|
||||
|
||||
|
||||
Make document type delete time period optional
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
----------------------------------------------
|
||||
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.
|
||||
|
||||
|
||||
Fixed date locale handling in document properties, checkout and user detail views
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
---------------------------------------------------------------------------------
|
||||
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.
|
||||
|
||||
|
||||
Default index
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
-------------
|
||||
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.
|
||||
|
||||
|
||||
HTML5 upload widget
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
-------------------
|
||||
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.
|
||||
|
||||
|
||||
Message of the Day app
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
----------------------
|
||||
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
|
||||
@@ -131,10 +108,8 @@ 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.
|
||||
|
||||
|
||||
Document signing
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
----------------
|
||||
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
|
||||
@@ -154,10 +129,8 @@ 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.
|
||||
|
||||
|
||||
Other changes
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
=============
|
||||
- Upgrade Python requirements to recent versions.
|
||||
- Rename 'Content' search box to 'OCR'.
|
||||
- Silence all Django 1.8 model import warnings.
|
||||
@@ -188,12 +161,11 @@ Removals
|
||||
--------
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -201,9 +173,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -217,9 +188,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -233,37 +203,36 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* :gitlab-issue:`137` Add app creation chapter to documentation.
|
||||
* :gitlab-issue:`147` Add in app document signing.
|
||||
* :gitlab-issue:`161` Email backend setup documentation.
|
||||
* :gitlab-issue:`162` Add HTML5 file uploader.
|
||||
* :gitlab-issue:`191` Split index contents title into title and path/breadcrumb widget.
|
||||
* :gitlab-issue:`206` Support for dynamic LOGIN_EXEMPT_URLS.
|
||||
* :gitlab-issue:`208` Add tagging step to upload wizard.
|
||||
* :gitlab-issue:`218` Cookie cutter template for Mayan apps.
|
||||
* :gitlab-issue:`222` Add notice board or Message of the Day.
|
||||
* :gitlab-issue:`255` Remove hard coded User model.
|
||||
* :gitlab-issue:`232` "Create documents" is a blanket permission for a user to create a document of any document type.
|
||||
* :gitlab-issue:`246` Upgrade to Django version 1.8 as Django 1.7 is end-of-life.
|
||||
* :gitlab-issue:`251` Add method to disable metadata edit form "update" checkbox when not needed.
|
||||
* :gitlab-issue:`255` UnicodeDecodeError in apps/common/middleware/strip_spaces_widdleware.py.
|
||||
* :gitlab-issue:`256` typo in locale settings (Dutch).
|
||||
* :gitlab-issue:`261` Feature: Document Access Audit Logging.
|
||||
* :gitlab-issue:`265` Indexes show list (show indexe only if the user has ACLs on document type).
|
||||
* :gitlab-issue:`266` Smart links : Dynamic label with Postgresql.
|
||||
* :gitlab-issue:`267` Release 2.1 RC1 : Notes and ideas.
|
||||
* :gitlab-issue:`268` Release 2.1 RC1 : Bug to access inside an indexes.
|
||||
* :gitlab-issue:`270` Release 2.1 RC1 : Bug statistics.
|
||||
* :gitlab-issue:`274` [Release 2.1 RC2] Web Tests.
|
||||
* :gitlab-issue:`275` [Release 2.1 RC2] Notes.
|
||||
* :gitlab-issue:`276` [Release 2.1 RC2] API Tests.
|
||||
* `GitLab issue #137 <https://gitlab.com/mayan-edms/mayan-edms/issues/137>`_ Add app creation chapter to documentation.
|
||||
* `GitLab issue #147 <https://gitlab.com/mayan-edms/mayan-edms/issues/147>`_ Add in app document signing.
|
||||
* `GitLab issue #161 <https://gitlab.com/mayan-edms/mayan-edms/issues/161>`_ Email backend setup documentation.
|
||||
* `GitLab issue #162 <https://gitlab.com/mayan-edms/mayan-edms/issues/162>`_ Add HTML5 file uploader.
|
||||
* `GitLab issue #191 <https://gitlab.com/mayan-edms/mayan-edms/issues/191>`_ Split index contents title into title and path/breadcrumb widget.
|
||||
* `GitLab issue #206 <https://gitlab.com/mayan-edms/mayan-edms/issues/206>`_ Support for dynamic LOGIN_EXEMPT_URLS.
|
||||
* `GitLab issue #208 <https://gitlab.com/mayan-edms/mayan-edms/issues/208>`_ Add tagging step to upload wizard.
|
||||
* `GitLab issue #218 <https://gitlab.com/mayan-edms/mayan-edms/issues/218>`_ Cookie cutter template for Mayan apps.
|
||||
* `GitLab issue #222 <https://gitlab.com/mayan-edms/mayan-edms/issues/222>`_ Add notice board or Message of the Day.
|
||||
* `GitLab issue #225 <https://gitlab.com/mayan-edms/mayan-edms/issues/225>`_ Remove hard coded User model.
|
||||
* `GitLab issue #232 <https://gitlab.com/mayan-edms/mayan-edms/issues/232>`_ "Create documents" is a blanket permission for a user to create a document of any document type.
|
||||
* `GitLab issue #246 <https://gitlab.com/mayan-edms/mayan-edms/issues/246>`_ Upgrade to Django version 1.8 as Django 1.7 is end-of-life.
|
||||
* `GitLab issue #251 <https://gitlab.com/mayan-edms/mayan-edms/issues/251>`_ Add method to disable metadata edit form "update" checkbox when not needed.
|
||||
* `GitLab issue #255 <https://gitlab.com/mayan-edms/mayan-edms/issues/255>`_ UnicodeDecodeError in apps/common/middleware/strip_spaces_widdleware.py.
|
||||
* `GitLab issue #256 <https://gitlab.com/mayan-edms/mayan-edms/issues/256>`_ typo in locale settings (Dutch).
|
||||
* `GitLab issue #261 <https://gitlab.com/mayan-edms/mayan-edms/issues/261>`_ Feature: Document Access Audit Logging.
|
||||
* `GitLab issue #265 <https://gitlab.com/mayan-edms/mayan-edms/issues/265>`_ Indexes show list (show indexe only if the user has ACLs on document type).
|
||||
* `GitLab issue #266 <https://gitlab.com/mayan-edms/mayan-edms/issues/266>`_ Smart links : Dynamic label with Postgresql.
|
||||
* `GitLab issue #267 <https://gitlab.com/mayan-edms/mayan-edms/issues/267>`_ Release 2.1 RC1 : Notes and ideas.
|
||||
* `GitLab issue #268 <https://gitlab.com/mayan-edms/mayan-edms/issues/268>`_ Release 2.1 RC1 : Bug to access inside an indexes.
|
||||
* `GitLab issue #270 <https://gitlab.com/mayan-edms/mayan-edms/issues/270>`_ Release 2.1 RC1 : Bug statistics.
|
||||
* `GitLab issue #274 <https://gitlab.com/mayan-edms/mayan-edms/issues/274>`_ [Release 2.1 RC2] Web Tests.
|
||||
* `GitLab issue #275 <https://gitlab.com/mayan-edms/mayan-edms/issues/275>`_ [Release 2.1 RC2] Notes.
|
||||
* `GitLab issue #276 <https://gitlab.com/mayan-edms/mayan-edms/issues/276>`_ [Release 2.1 RC2] API Tests.
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
Version 2.2
|
||||
===========
|
||||
=============================
|
||||
Mayan EDMS v2.2 release notes
|
||||
=============================
|
||||
|
||||
Released: April 26, 2017
|
||||
|
||||
Changes
|
||||
-------
|
||||
What's new
|
||||
==========
|
||||
|
||||
API changes
|
||||
^^^^^^^^^^^
|
||||
|
||||
-----------
|
||||
Refactor of the metadata API URLs to use the resource/sub resource paradigm.
|
||||
|
||||
Before:
|
||||
@@ -66,10 +66,8 @@ resolved to '/api/documents/<pk>/pages/<page_pk>/pages'.
|
||||
- API endpoint to view or change a role's groups.
|
||||
- API endpoint to view or change a role's permissions.
|
||||
|
||||
|
||||
Code cleanups
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
-------------
|
||||
As with every release time was dedicated to improve the organization, size, and
|
||||
readability of code. To this end the licenses of each app were moved to their
|
||||
own module in every app, called licenses.py. As part of the code cleanup the
|
||||
@@ -78,10 +76,8 @@ installed alongside Mayan EDMS for debugging purposes has been removed. The
|
||||
dependency on django-filetransfer has been removed by using
|
||||
django-downloadviews which allows the creation of class based download views.
|
||||
|
||||
|
||||
Performance
|
||||
^^^^^^^^^^^
|
||||
|
||||
-----------
|
||||
The document language list has been moved from the document model to the
|
||||
document form. This change speeds up loading time, document properties views
|
||||
and API documentation views. This version includes the new image caching
|
||||
@@ -90,36 +86,28 @@ document's images resulting in an overall display loading speed up. The fonts
|
||||
used are now loaded from Mayan EDMS itself and not from the web. This change
|
||||
also allow Mayan EDMS to work in a completely off-line manner.
|
||||
|
||||
|
||||
Searching
|
||||
^^^^^^^^^
|
||||
|
||||
---------
|
||||
Support for searching pages as well as documents has been added. This
|
||||
functionality has been exposed in the API too.
|
||||
|
||||
|
||||
Security
|
||||
^^^^^^^^
|
||||
|
||||
--------
|
||||
This release enables the password validation for the user password validation
|
||||
support provided by Django. This change allows administrator to set password
|
||||
policies limiting the minimum amount of characters needed for example. For
|
||||
more information on how to configure the password validation feature refer
|
||||
to the :django-docs:`topics/auth/passwords/#enabling-password-validation`
|
||||
|
||||
to Django's documentation at: https://docs.djangoproject.com/en/1.11/topics/auth/passwords/#enabling-password-validation
|
||||
|
||||
Sources
|
||||
^^^^^^^
|
||||
|
||||
-------
|
||||
To help test the interval sources (POP3 Email, IMAP Email, Watch folders) a
|
||||
"Check now" button was added that allows users to trigger the source's
|
||||
document fetching code instantly. Previously users had to wait until the next
|
||||
scheduled interval to verify if their source's settings were correct.
|
||||
|
||||
|
||||
Testing
|
||||
^^^^^^^
|
||||
|
||||
-------
|
||||
The testing process has been simplified by adding a new option '--mayan-apps'
|
||||
to the test runner that automatically tests all Mayan EDMS apps that report to
|
||||
include tests. The app flag that indicates when an app has test was changed
|
||||
@@ -130,13 +118,11 @@ to 81%.
|
||||
|
||||
A custom test runner replacing the previous custom management command
|
||||
called `runtests`. Testing for orphaned temporary files and orphaned file
|
||||
handles is now optional and controlled by the ``COMMON_TEST_FILE_HANDLES`` and
|
||||
``COMMON_TEST_FILE_HANDLES`` settings.
|
||||
|
||||
handles is now optional and controlled by the COMMON_TEST_FILE_HANDLES and
|
||||
COMMON_TEST_FILE_HANDLES settings.
|
||||
|
||||
User interface
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
--------------
|
||||
To avoid warping on long full names or usernames, the user's full name or
|
||||
username is no longer displayed in the main menu. Instead the word "Profile"
|
||||
is displayed and the users's full name or username is displayed when the
|
||||
@@ -155,10 +141,8 @@ A new workflow view that lists documents currently executing a workflow and
|
||||
documents by their specific current workflow state has been added to the
|
||||
main menu.
|
||||
|
||||
|
||||
Other changes
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
-------------
|
||||
- Cabinets app is now integrated as a core app.
|
||||
- Now that the Cabinets app is included, the Folders app has been disabled
|
||||
by default. To enable the Folders apps add the following line to your
|
||||
@@ -172,22 +156,17 @@ Other changes
|
||||
- Add support for attaching multiple tags to single or multiple documents.
|
||||
- Refactor the workflow for removing tags from single and multiple documents.
|
||||
- Move new version creation blocking from the documents app to the checkouts app.
|
||||
- ``DEBUG`` now defaults to ``False``.
|
||||
- Production settings don't override the ``DEBUG`` variable. ``DEBUG`` can be
|
||||
set to ``True`` on production install to debug errors live.
|
||||
- Refactor add document to folder view to allow adding a documents to multiple
|
||||
folders at the same time.
|
||||
- Refactor the remove document from folder view to allow removing documents
|
||||
from multiple folders at the same time.
|
||||
- Refactor the document mailing views and add support for sending multiple
|
||||
documents via email at the same time.
|
||||
- Refactor the document metadata views and add support for adding multiple
|
||||
metadata types to a document at the same time.
|
||||
- Addition of a new OCR backend using ``PyOCR``. This backend tries first to
|
||||
do OCR using ``libtesseract``. If ``libtesseract`` is not available the
|
||||
backend defaults to calling the ``tesseract`` executable.
|
||||
- Make the ``lock_manager.backends.file_lock.FileLock`` the new default
|
||||
locking backend.
|
||||
- DEBUG now defaults to False.
|
||||
- Production settings don't override the DEBUG variable. DEBUG can be set to True
|
||||
on production install to debug errors live.
|
||||
- Refactor add document to folder view to allow adding a documents to multiple folders at the same time.
|
||||
- Refactor the remove document from folder view to allow removing documents from multiple folders at the same time.
|
||||
- Refactor the document mailing views and add support for sending multiple documents via email at the same time.
|
||||
- Refactor the document metadata views and add support for adding multiple metadata types to a document at the same time.
|
||||
- Addition of a new OCR backend using PyOCR. This backend tries first to do OCR
|
||||
using libtesseract. If libtesseract is not available the backend defaults to
|
||||
calling the Tesseract executable.
|
||||
- Make the lock_manager.backends.file_lock.FileLock the new default locking backend.
|
||||
- New transformations added:
|
||||
|
||||
- Rotate 90 degrees
|
||||
@@ -200,22 +179,19 @@ Other changes
|
||||
|
||||
- Add tool to launch all workflows. GitLab issue #355
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
- Removal of the ``OCR_TESSERACT_PATH`` configuration setting.
|
||||
- Removal of the Tesseract OCR backend. Replaced with a ``PyOCR`` backend.
|
||||
- Removal of the OCR_TESSERACT_PATH configuration setting.
|
||||
- Removal of the Tesseract OCR backend. Replaced with a PyOCR backend.
|
||||
- Remove usage of pytesseract Python library.
|
||||
- Installation app.
|
||||
- Recent searches feature.
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
If installed via PIP
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -223,9 +199,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
If installed using Git
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -243,9 +218,8 @@ Remove deprecated requirements::
|
||||
|
||||
$ pip uninstall -y -r removals.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -259,27 +233,26 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* :gitlab-issue:`185` Add support for nested menus
|
||||
* :gitlab-issue:`285` Dashboard widgets
|
||||
* :gitlab-issue:`294` Move new version creation blocking from the documents app to the checkouts app
|
||||
* :gitlab-issue:`301` Remove the installation app
|
||||
* :gitlab-issue:`303` Update urlpatterns in urls.py files to be a list of django.conf.urls.url() instances instead.
|
||||
* :gitlab-issue:`304` Remove string view arguments of url() in urls.py files.
|
||||
* :gitlab-issue:`307` Enter multiple Tags at once
|
||||
* :gitlab-issue:`310` Metadata's lookup with chinese messages when new document
|
||||
* :gitlab-issue:`311` acl page return ContentType:Document
|
||||
* :gitlab-issue:`319` TransformationResize issue with very "long" image
|
||||
* :gitlab-issue:`328` Upgrade Warning/Error during performupgrade (v2.1.3 to v2.1.4)
|
||||
* :gitlab-issue:`342` Tags should be of unordered / unsorted data type
|
||||
* :gitlab-issue:`343` Bootstrap's dependency on fonts.googleapis.com causes Mayan EDMS web interface load slowly if public internet is unreachable
|
||||
* :gitlab-issue:`355` Workflow changes only on new added documents
|
||||
* `GitLab issue #185 <https://gitlab.com/mayan-edms/mayan-edms/issues/185>`_ Add support for nested menus
|
||||
* `GitLab issue #285 <https://gitlab.com/mayan-edms/mayan-edms/issues/285>`_ Dashboard widgets
|
||||
* `GitLab issue #294 <https://gitlab.com/mayan-edms/mayan-edms/issues/294>`_ Move new version creation blocking from the documents app to the checkouts app
|
||||
* `GitLab issue #301 <https://gitlab.com/mayan-edms/mayan-edms/issues/301>`_ Remove the installation app
|
||||
* `GitLab issue #303 <https://gitlab.com/mayan-edms/mayan-edms/issues/303>`_ Update urlpatterns in urls.py files to be a list of django.conf.urls.url() instances instead.
|
||||
* `GitLab issue #304 <https://gitlab.com/mayan-edms/mayan-edms/issues/304>`_ Remove string view arguments of url() in urls.py files.
|
||||
* `GitLab issue #307 <https://gitlab.com/mayan-edms/mayan-edms/issues/307>`_ Enter multiple Tags at once
|
||||
* `GitLab issue #310 <https://gitlab.com/mayan-edms/mayan-edms/issues/310>`_ Metadata's lookup with chinese messages when new document
|
||||
* `GitLab issue #311 <https://gitlab.com/mayan-edms/mayan-edms/issues/311>`_ acl page return ContentType:Document
|
||||
* `GitLab issue #319 <https://gitlab.com/mayan-edms/mayan-edms/issues/319>`_ TransformationResize issue with very "long" image
|
||||
* `GitLab issue #328 <https://gitlab.com/mayan-edms/mayan-edms/issues/328>`_ Upgrade Warning/Error during performupgrade (v2.1.3 to v2.1.4)
|
||||
* `GitLab issue #342 <https://gitlab.com/mayan-edms/mayan-edms/issues/342>`_ Tags should be of unordered / unsorted data type
|
||||
* `GitLab issue #343 <https://gitlab.com/mayan-edms/mayan-edms/issues/343>`_ Bootstrap's dependency on fonts.googleapis.com causes Mayan EDMS web interface load slowly if public internet is unreachable
|
||||
* `GitLab issue #355 <https://gitlab.com/mayan-edms/mayan-edms/issues/355>`_ Workflow changes only on new added documents
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -1,14 +1,17 @@
|
||||
Version 2.3
|
||||
===========
|
||||
=============================
|
||||
Mayan EDMS v2.3 release notes
|
||||
=============================
|
||||
|
||||
Released: June 08, 2017
|
||||
|
||||
What's new
|
||||
==========
|
||||
|
||||
This is a bug-fix and minor feature release and all users are encouraged to
|
||||
upgrade.
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
-------------
|
||||
- Index node expression template field changed from a 128 character field to an
|
||||
unlimited size text field to allow for complex indexing expressions.
|
||||
- When updating the metadata of a document, any input in the value form field
|
||||
@@ -37,18 +40,15 @@ Changes
|
||||
can be accessed using {{ document.workflow.publish_workflow.get_current_state }}.
|
||||
- Added a new API endpoint to display a list of all the available search models.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -56,9 +56,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -72,9 +71,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -88,17 +86,16 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* :gitlab-issue:`371` Auto select checkbox when updating metadata
|
||||
* :gitlab-issue:`372` (Feature request) Allow 'rebuild index' to rebuild only a selected index
|
||||
* :gitlab-issue:`383` Page not found when deployed to sub-uri
|
||||
* :gitlab-issue:`385` mountindex: how to specify FUSE mount option allow_other?
|
||||
* `GitLab issue #371 <https://gitlab.com/mayan-edms/mayan-edms/issues/371>`_ Auto select checkbox when updating metadata
|
||||
* `GitLab issue #372 <https://gitlab.com/mayan-edms/mayan-edms/issues/372>`_ (Feature request) Allow 'rebuild index' to rebuild only a selected index
|
||||
* `GitLab issue #383 <https://gitlab.com/mayan-edms/mayan-edms/issues/383>`_ Page not found when deployed to sub-uri
|
||||
* `GitLab issue #385 <https://gitlab.com/mayan-edms/mayan-edms/issues/385>`_ mountindex: how to specify FUSE mount option allow_other?
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
Version 2.4
|
||||
===========
|
||||
=============================
|
||||
Mayan EDMS v2.4 release notes
|
||||
=============================
|
||||
|
||||
Released: June 23, 2017
|
||||
|
||||
Changes
|
||||
-------
|
||||
What's new
|
||||
==========
|
||||
|
||||
SANE document source
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
--------------------
|
||||
A new document source has been added with the ability to retrieve documents from
|
||||
scanners directly. This new document source uses the SANE (Scanner Access Now Easy)
|
||||
(https://en.wikipedia.org/wiki/Scanner_Access_Now_Easy) API client to communicate
|
||||
@@ -16,32 +16,26 @@ with USB and network scanners. SANE must be properly installed for this document
|
||||
source to work. Your scanner must also be supported by the SANE API
|
||||
(http://www.sane-project.org/sane-supported-devices.html).
|
||||
|
||||
|
||||
Automatic PDF orientation detection
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
-----------------------------------
|
||||
The orientation of PDF documents is now detected at creation and a rotation
|
||||
transformation applied to each of the document's pages to correct the orientation.
|
||||
|
||||
|
||||
Environment variables
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
---------------------
|
||||
Configuration options can now be updated from environment variables. To update
|
||||
a configuration option, prepend the string ``MAYAN_`` to the name of the configuration
|
||||
a configuration option, prepend the string `MAYAN_` to the name of the configuration
|
||||
option. For example, to increase the number of documents displayed per search results
|
||||
page (from a default of 40) to 50 documents, set the environment variable
|
||||
``MAYAN_COMMON_PAGINATE_BY`` to 50 with::
|
||||
MAYAN_COMMON_PAGINATE_BY to 50 with::
|
||||
|
||||
$ export MAYAN_COMMON_PAGINATE_BY=50
|
||||
|
||||
and restart Mayan EDMS. A list of the configuration options can be found in the
|
||||
:menuselection:`Setup --> Settings` menu.
|
||||
|
||||
`Setup` menu, under `Settings`.
|
||||
|
||||
Math filters
|
||||
^^^^^^^^^^^^
|
||||
|
||||
------------
|
||||
The django-mathfilters (https://pypi.python.org/pypi/django-mathfilters) package
|
||||
has been included to provide proper math filters in the indexes. An example of
|
||||
this is indexing documents by quarter::
|
||||
@@ -50,46 +44,39 @@ this is indexing documents by quarter::
|
||||
|
||||
|
||||
Expand searchable objects
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
-------------------------
|
||||
Previously, only documents and later on document pages were searchable. This release
|
||||
add support for searching for tags, metadata types and cabinets. This search support
|
||||
is available via the dynamic search API.
|
||||
|
||||
|
||||
Management command to reset locks
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
---------------------------------
|
||||
During testing or development error occur and locks can remain behind, blocking
|
||||
execution of a process or task until they expire. To help resolve this a
|
||||
management command has been added called `purgelocks` that will delete all locks
|
||||
in the system.
|
||||
|
||||
|
||||
Index by workflow state
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
-----------------------
|
||||
Support was added to update the a document indexes from workflow state changes.
|
||||
To make workflow referencing easier from the index template, a new fields was
|
||||
added to the workflow model called internal_name. For example, for a workflow
|
||||
called "Publishing Workflow" with an internal name of ``publishing_workflow``,
|
||||
called `Publishing Workflow` with an internal name of `publishing_workflow`,
|
||||
use the following string to reference the current state in an index::
|
||||
|
||||
{{ document.workflow.publishing_workflow.get_current_state }}
|
||||
|
||||
|
||||
Task manager
|
||||
^^^^^^^^^^^^
|
||||
|
||||
------------
|
||||
A new app to monitor the distribution and consumption of background task has been
|
||||
added. This app is call "Task manager" and can be found in the "Tools" menu.
|
||||
added. This app is call `Task manager` and can be found in the `Tools` menu.
|
||||
Use this new tool to diagnose your background task workers or to determine when
|
||||
to scale up the number of workers.
|
||||
|
||||
|
||||
Other Changes
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
-------------
|
||||
- Improve render of documents with no pages.
|
||||
- Fix repeated permission list API URL. GitLab issue #389.
|
||||
- Fix role creation API endpoint not returning id. GitLab issue #390.
|
||||
@@ -97,22 +84,19 @@ Other Changes
|
||||
- Add hardware requirements. GitHub issue #247.
|
||||
- Fix URL query string encoding for the document page navigation views. GitLab
|
||||
issue #383.
|
||||
- Truncate views titles via the ``APPEARANCE_MAXIMUM_TITLE_LENGTH`` setting.
|
||||
- Truncate views titles via the APPEARANCE_MAXIMUM_TITLE_LENGTH setting.
|
||||
GitLab issue #217.
|
||||
- Add link to show a document's OCR errors. GitLab issue #291.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -120,9 +104,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -136,9 +119,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -152,24 +134,23 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* :github-issue:`247` Hardware requirements
|
||||
* :gitlab-issue:`132` Task queue viewer
|
||||
* :gitlab-issue:`217` [Documents] Truncate document label for avoid double lines in mobile or reduce font
|
||||
* :gitlab-issue:`221` Add flush lock management command
|
||||
* :gitlab-issue:`291` Link to OCR error log from document OCR tab
|
||||
* :gitlab-issue:`344` Add support for searching folders, tags, metadata.
|
||||
* :gitlab-issue:`383` Page not found when deployed to sub-uri
|
||||
* :gitlab-issue:`387` Document Scanning not Functioning on rotated landscape PDF's
|
||||
* :gitlab-issue:`389` How can we map permissions with a particular role using REST API?
|
||||
* :gitlab-issue:`390` Id is not getting in response
|
||||
* :gitlab-issue:`391` "Rebuild indexes" does not work in Mayan EDMS 2.3
|
||||
* `GitHub issue #247 <https://github.com/mayan-edms/mayan-edms/issues/247>`_ Hardware requirements
|
||||
* `GitLab issue #132 <https://gitlab.com/mayan-edms/mayan-edms/issues/132>`_ Task queue viewer
|
||||
* `GitLab issue #217 <https://gitlab.com/mayan-edms/mayan-edms/issues/217>`_ [Documents] Truncate document label for avoid double lines in mobile or reduce font
|
||||
* `GitLab issue #221 <https://gitlab.com/mayan-edms/mayan-edms/issues/221>`_ Add flush lock management command
|
||||
* `GitLab issue #291 <https://gitlab.com/mayan-edms/mayan-edms/issues/291>`_ Link to OCR error log from document OCR tab
|
||||
* `GitLab issue #344 <https://gitlab.com/mayan-edms/mayan-edms/issues/344>`_ Add support for searching folders, tags, metadata.
|
||||
* `GitLab issue #383 <https://gitlab.com/mayan-edms/mayan-edms/issues/383>`_ Page not found when deployed to sub-uri
|
||||
* `GitLab issue #387 <https://gitlab.com/mayan-edms/mayan-edms/issues/387>`_ Document Scanning not Functioning on rotated landscape PDF's
|
||||
* `GitLab issue #389 <https://gitlab.com/mayan-edms/mayan-edms/issues/389>`_ How can we map permissions with a particular role using REST API?
|
||||
* `GitLab issue #390 <https://gitlab.com/mayan-edms/mayan-edms/issues/390>`_ Id is not getting in response
|
||||
* `GitLab issue #391 <https://gitlab.com/mayan-edms/mayan-edms/issues/391>`_ "Rebuild indexes" does not work in Mayan EDMS 2.3
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -1,26 +1,24 @@
|
||||
Version 2.5.1
|
||||
=============
|
||||
===============================
|
||||
Mayan EDMS v2.5.1 release notes
|
||||
===============================
|
||||
|
||||
Released: July 07, 2017
|
||||
|
||||
Changes
|
||||
-------
|
||||
What's new
|
||||
==========
|
||||
|
||||
This version is identical to version 2.5. It was released to workaround some
|
||||
issues with the recent migration of PyPI (https://mail.python.org/pipermail/distutils-sig/2017-June/030766.html)
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -28,9 +26,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -44,9 +41,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -60,15 +56,14 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* :gitlab-issue:`378` Add metadata widget changes from @Macrobb
|
||||
* :gitlab-issue:`379` Add new document version list view permission.
|
||||
* `GitLab issue #378 <https://gitlab.com/mayan-edms/mayan-edms/issues/378>`_ Add metadata widget changes from @Macrobb
|
||||
* `GitLab issue #379 <https://gitlab.com/mayan-edms/mayan-edms/issues/379>`_ Add new document version list view permission.
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
Version 2.5.2
|
||||
=============
|
||||
===============================
|
||||
Mayan EDMS v2.5.2 release notes
|
||||
===============================
|
||||
|
||||
Released: July 08, 2017
|
||||
|
||||
Changes
|
||||
-------
|
||||
What's new
|
||||
==========
|
||||
|
||||
Improve duplicate document scan
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
-------------------------------
|
||||
Previously the way document creation code was enclosed in a single database
|
||||
transactions. This cause the duplicate scan at upload code to received a
|
||||
document reference to uncommitted database data. The single database
|
||||
@@ -18,15 +18,13 @@ recevies saved and committed data.
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -34,9 +32,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -50,9 +47,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -66,13 +62,12 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
@@ -1,30 +1,26 @@
|
||||
Version 2.5
|
||||
===========
|
||||
=============================
|
||||
Mayan EDMS v2.5 release notes
|
||||
=============================
|
||||
|
||||
Released: July 07, 2017
|
||||
|
||||
Changes
|
||||
-------
|
||||
What's new
|
||||
==========
|
||||
|
||||
OCR text download
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
-----------------
|
||||
A link and view were added to download the entire OCR text of a document as a
|
||||
separate file. The link can be found under the "Actions" dropdown when the
|
||||
"OCR" tab of a document is selected.
|
||||
|
||||
|
||||
SANE document source
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
--------------------
|
||||
A validation error was being raised when the resolution field of the SANE
|
||||
document source was left blank. This issue has been fixed and works as expected
|
||||
now.
|
||||
|
||||
|
||||
Mailing profiles
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
----------------
|
||||
Previously, the way documents were emailed was controlled by configuration
|
||||
settings that only system administrator could change as the OS level. It is
|
||||
now possible to create mailing profiles from within the user interface. This
|
||||
@@ -40,19 +36,15 @@ which could be taxing email quota limits or triggering spam filters. For
|
||||
more information on the multi-tenant plugin visit the Mayan app store at:
|
||||
http://www.mayan-edms.com/store/
|
||||
|
||||
|
||||
New transformation
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
------------------
|
||||
A lineart transformation was added to reduce the amount of colors in a
|
||||
document's image to just 2. This is useful to increase the OCR accuracy on
|
||||
some kind of documents whose color or layout may confuse the OCR engine
|
||||
and lower the accuracy of the text recognition.
|
||||
|
||||
|
||||
UI reorganization
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
-----------------
|
||||
The main menu was been reorganization for clarity of function. The "About" menu
|
||||
has been renamed to "System" to signify that the items in this menu relate
|
||||
to system configuration topics. The "Tools" and "Setup" sub-menus, were moved
|
||||
@@ -61,28 +53,22 @@ renamed to "User". Additionally, the "User" menu is now part of the main menu
|
||||
instead of floating right on the layout. This change along with others
|
||||
improve the usability on small devices like tablets and smartphones.
|
||||
|
||||
|
||||
PDF compatibility updates
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
-------------------------
|
||||
Support for non-compliant, "broken", and PDFs encrypted with no passwords has
|
||||
been added. Previously no effort was made to process the images for these
|
||||
files. The code for detecting the number of pages in a PDF has also been
|
||||
improved to retry several methods when failing on non-compliant PDF documents.
|
||||
|
||||
|
||||
Office documents compatibility updates
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
--------------------------------------
|
||||
Improvements to the Libre Office conversion code were added, including a
|
||||
workaround for Libre Office bug #37531 (https://bugs.documentfoundation.org/show_bug.cgi?id=37531)
|
||||
which sometimes manifested when uploading multiple office documents
|
||||
sequentially.
|
||||
|
||||
|
||||
Metadata setup UI improvements
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
------------------------------
|
||||
A new widget to define the document type to metadata type relationship has been
|
||||
added. The new widget provides a method to switch between required metadata
|
||||
and optional metadata for a document type. This new method is not only faster
|
||||
@@ -93,10 +79,8 @@ type view but also from the metadata type view eliminating travel between these
|
||||
two views when creating new metadata types and assigning them to document
|
||||
types.
|
||||
|
||||
|
||||
Duplicated document scanning
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
----------------------------
|
||||
Support to scan and list duplicated document scanning was added in the form of
|
||||
a new document list link under the "Documents" main menu. Every time a document
|
||||
is uploaded, a document scan will be triggered to determine if the new document
|
||||
@@ -110,31 +94,27 @@ addition of being able to search documents by their checksum. This was done by
|
||||
indexing the checksum database field and by adding the checksum as a search
|
||||
field in the advanced document search view and via the API.
|
||||
|
||||
|
||||
Login session control
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
---------------------
|
||||
Support was added to control the length of time a log in session lasts. First
|
||||
from the user interface side of things a "Remember me" checkbox was added to
|
||||
the log in form that will cause the session to persist after the browser is
|
||||
closed. If this checkbox is left blank the session will be destroyed when the
|
||||
browser closes and the user will need to log in again when accessing any of the
|
||||
URLs. The second part of this feature is for administrators. The configuration
|
||||
setting ``AUTHENTICATION_MAXIMUM_SESSION_LENGTH`` was added to control the
|
||||
maximum time a logged in session will persist when users click the "Remember me"
|
||||
setting AUTHENTICATION_MAXIMUM_SESSION_LENGTH was added to control the maximum
|
||||
time a logged in session will persist when users click the "Remember me"
|
||||
checkbox. The default of this setting is 30 days.
|
||||
|
||||
|
||||
Document image cache disabling
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
------------------------------
|
||||
It is now possible to disable the document page image caching. The document
|
||||
image cache works on two level and hence two setting options were added.
|
||||
The first is the ``DOCUMENTS_DISABLE_BASE_IMAGE_CACHE`` option which disables the
|
||||
The first is the DOCUMENTS_DISABLE_BASE_IMAGE_CACHE option which disables the
|
||||
first layer of caching, the generation of a master image file for each document
|
||||
page. This means that subsequent request for a page's image will trigger the
|
||||
conversion of the document from its original uploaded file. The second option,
|
||||
``DOCUMENTS_DISABLE_TRANSFORMED_IMAGE_CACHE``, disables just the caching of the
|
||||
DOCUMENTS_DISABLE_TRANSFORMED_IMAGE_CACHE, disables just the caching of the
|
||||
transformed (rotated, resized, zoomed) images of document pages. The settings
|
||||
can be used together or separately depending on how much disk space saving is
|
||||
desired. These settings give control over the trade-off between disk space
|
||||
@@ -142,24 +122,19 @@ savings and higher CPU utilization. These settings are ideal for installations
|
||||
with a lot of documents, that want to conserve disk space, and have CPU capacity
|
||||
to spare. Multi-tenant installations can also benefit from these new settings.
|
||||
|
||||
|
||||
Document filter by workflow state
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
---------------------------------
|
||||
A few versions over, a main menu item was added to list documents by their
|
||||
workflow and/or their current workflow state. Support for filtering by the
|
||||
initial workflow state has been added to this feature.
|
||||
|
||||
Support for restoring forgotten password
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
----------------------------------------
|
||||
Views and templates were added to enable the typical "Forgotten
|
||||
password" worflow using a signed token via email.
|
||||
|
||||
|
||||
Other Changes
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
-------------
|
||||
- Add missing OCR migration.
|
||||
- Improve error output of the performupgrade command to debug upgrade errors
|
||||
that could stop an upgrade (missing document files, etc).
|
||||
@@ -178,14 +153,14 @@ Other Changes
|
||||
- Make sure lookup selection widgets also trigger the metadata update
|
||||
checkbox on change.
|
||||
- Usability improvements on small displays.
|
||||
- Removal of the ``CONVERTER_LIBREOFFICE_PATH`` and ``CONVERTER_PDFTOPPM_PATH``
|
||||
- Removal of the CONVERTER_LIBREOFFICE_PATH and CONVERTER_PDFTOPPM_PATH
|
||||
settings. These setting have been consolidated into
|
||||
``CONVERTER_GRAPHICS_BACKEND_CONFIG``.
|
||||
CONVERTER_GRAPHICS_BACKEND_CONFIG.
|
||||
- Improve the documentation of the document creation API endpoint.
|
||||
GitHub issue #255. Thanks to @lcerliani opening the issue.
|
||||
- Libre Office conversion improvements. Give every libreoffice instance
|
||||
its own separate ``$HOME`` directory. Additionally give every libreoffice
|
||||
its own UserInstallation file in the ``$HOME`` directory. Works around
|
||||
its own separate $HOME directory. Additionally give every libreoffice
|
||||
its own UserInstallation file in the $HOME directory. Works around
|
||||
Libre Office issue: https://bugs.documentfoundation.org/show_bug.cgi?id=37531
|
||||
Solves or affects GitLab issues #393 #258 #198 #175
|
||||
- The trashed document deletion action is now a background task. This
|
||||
@@ -206,18 +181,15 @@ Other Changes
|
||||
- Unicode handling improvements.
|
||||
- Update required versions of Pillow and django-suit.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -225,9 +197,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -241,9 +212,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -257,18 +227,17 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* :github-issue:`255` Uploading a local file via api
|
||||
* :gitlab-issue:`215` Download text contents
|
||||
* :gitlab-issue:`286` User configurable mailer
|
||||
* :gitlab-issue:`337` Better way to switch Optional to Required Metadata
|
||||
* :gitlab-issue:`373` (feature request) Allow selecting document types for metadata
|
||||
* `GitHub issue #255 <https://github.com/mayan-edms/mayan-edms/issues/255>`_ Uploading a local file via api
|
||||
* `GitLab issue #215 <https://gitlab.com/mayan-edms/mayan-edms/issues/215>`_ Download text contents
|
||||
* `GitLab issue #286 <https://gitlab.com/mayan-edms/mayan-edms/issues/286>`_ User configurable mailer
|
||||
* `GitLab issue #337 <https://gitlab.com/mayan-edms/mayan-edms/issues/337>`_ Better way to switch Optional to Required Metadata
|
||||
* `GitLab issue #373 <https://gitlab.com/mayan-edms/mayan-edms/issues/373>`_ (feature request) Allow selecting document types for metadata
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
Version 2.6
|
||||
===========
|
||||
=============================
|
||||
Mayan EDMS v2.6 release notes
|
||||
=============================
|
||||
|
||||
Released: July 18, 2017
|
||||
|
||||
Changes
|
||||
-------
|
||||
What's new
|
||||
==========
|
||||
|
||||
Other Changes
|
||||
-------------
|
||||
- Fix issue when editing or removing metadata from multiple documents.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -27,9 +27,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -43,9 +42,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -59,15 +57,13 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
Version 2.6.2
|
||||
=============
|
||||
===============================
|
||||
Mayan EDMS v2.6.2 release notes
|
||||
===============================
|
||||
|
||||
Released: July 22, 2017
|
||||
|
||||
What's new
|
||||
==========
|
||||
|
||||
This is a bug fix release and users are encouraged to upgrade.
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
Other Changes
|
||||
-------------
|
||||
- Fix deprecation warning to prepare upgrade to Django 1.11 and 2.0.
|
||||
- Fix zoom feature in document page view.
|
||||
- Add support to run tests against a MySQL or Postgres container.
|
||||
@@ -17,18 +20,15 @@ Changes
|
||||
- Allow total page number instrospection of encrypted PDF with non ASCII
|
||||
user properties. GitLab issue #411.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -36,9 +36,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -52,9 +51,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -68,15 +66,13 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
Version 2.6.3
|
||||
=============
|
||||
===============================
|
||||
Mayan EDMS v2.6.3 release notes
|
||||
===============================
|
||||
|
||||
Released: July 25, 2017
|
||||
|
||||
What's new
|
||||
==========
|
||||
|
||||
This is a bug fix release and users are encouraged to upgrade.
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
- Add makefile target to launch a PostgreSQL container.
|
||||
- Use resolve_url instead of redirect to resolve the post login URL.
|
||||
- Make the intialsetup and performupgrade management tasks work
|
||||
@@ -23,18 +26,15 @@ Changes
|
||||
#149 #200.
|
||||
- Add fade in animation to document images.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -42,9 +42,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -58,9 +57,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -74,17 +72,16 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* :gitlab-issue:`149` Autogenerate setup.py
|
||||
* :gitlab-issue:`200` dependencies in setup.py not up to date with requirements
|
||||
* :gitlab-issue:`402` Make permissions and roles searchable.
|
||||
* :gitlab-issue:`413` source.models.Source.handle_upload does not support tag_ids but upload_document does
|
||||
* `GitLab issue #149 <https://gitlab.com/mayan-edms/mayan-edms/issues/149>`_ Autogenerate setup.py
|
||||
* `GitLab issue #200 <https://gitlab.com/mayan-edms/mayan-edms/issues/200>`_ dependencies in setup.py not up to date with requirements
|
||||
* `GitLab issue #402 <https://gitlab.com/mayan-edms/mayan-edms/issues/402>`_ Make permissions and roles searchable.
|
||||
* `GitLab issue #413 <https://gitlab.com/mayan-edms/mayan-edms/issues/413>`_ source.models.Source.handle_upload does not support tag_ids but upload_document does
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -1,28 +1,27 @@
|
||||
Version 2.6.4
|
||||
=============
|
||||
===============================
|
||||
Mayan EDMS v2.6.4 release notes
|
||||
===============================
|
||||
|
||||
Released: July 25, 2017
|
||||
|
||||
This is a bug fix release and users are encouraged to upgrade.
|
||||
What's new
|
||||
==========
|
||||
|
||||
This is a bug fix release and users are encouraged to upgrade.
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
- Add missing replacements of reverse to resolve_url.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -30,9 +29,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -46,9 +44,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -62,13 +59,12 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
@@ -1,22 +1,20 @@
|
||||
Version 2.6
|
||||
===========
|
||||
=============================
|
||||
Mayan EDMS v2.6 release notes
|
||||
=============================
|
||||
|
||||
Released: July 18, 2017
|
||||
|
||||
Changes
|
||||
-------
|
||||
What's new
|
||||
==========
|
||||
|
||||
Sending documents to multiple recipients
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
----------------------------------------
|
||||
Support was added to send a document as an attachment, or a link to a document
|
||||
to multiple email recipients. To use this feature enter a comman separated
|
||||
list of email recipients in the "Email address" field.
|
||||
|
||||
|
||||
Visual changes
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
--------------
|
||||
Several patches to change and improve the user interface landed on this release.
|
||||
The first, by Macrobb Simpson @Macrobb, makes the content area width, match
|
||||
window area. This means that on almost all device screen sizes the content area
|
||||
@@ -30,27 +28,21 @@ requires two axis navigation on small screens. The height of the dashboard
|
||||
items is now adjusted via javascript to ensure correct layout regardless of
|
||||
screen size of message length when translated.
|
||||
|
||||
|
||||
Search
|
||||
^^^^^^
|
||||
|
||||
------
|
||||
This release adds users and groups to the list of objects that are searchable
|
||||
via the API. The current list of searchable objects is: metadata types,
|
||||
users, groups, tags, documents, document pages, and cabinets.
|
||||
|
||||
|
||||
Logging
|
||||
^^^^^^^
|
||||
|
||||
-------
|
||||
The logging configuration was improved to create a log for critical errors
|
||||
when running on production mode. The default location for this log file is:
|
||||
/mayan/error.log. This path can be changed with the COMMON_PRODUCTION_ERROR_LOG_PATH
|
||||
setting. This log file will capture application errors and request exceptions.
|
||||
|
||||
|
||||
Cabinets
|
||||
^^^^^^^^
|
||||
|
||||
--------
|
||||
The access control for cabinets has been fixed in some regards and improved in
|
||||
others. The permission to add and remove documents can now be applied to
|
||||
individual root cabinets instead of globally for a role. Also, the permission
|
||||
@@ -59,37 +51,30 @@ or document type. In other words, to add a document to a cabinet, the user's
|
||||
role must have the permission to add documents to cabinet, for the cabinet
|
||||
to recieve the document and for the document about to be added.
|
||||
|
||||
|
||||
New permission
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
--------------
|
||||
The patch to add a permission to view a document's version list was backported
|
||||
from the development branch to make it accesible now. Like cabinets, the tag
|
||||
access control now works on two levels. Now to attach a tag to a document,
|
||||
the permission to attach tags must be granted to the tag to attach and to the
|
||||
document that will receive the tag.
|
||||
|
||||
|
||||
ACL changes
|
||||
^^^^^^^^^^^
|
||||
|
||||
-----------
|
||||
The document type permissions namespace was renamed from "Document setup" to
|
||||
"Document types" for clarity. Along with that change, support was added
|
||||
"Document types" for clarity. Along with that change, support was added
|
||||
for granting the document type edit, document type delete, and document type view
|
||||
permissions to individual document type instances instead of just globally.
|
||||
|
||||
|
||||
Testing
|
||||
^^^^^^^
|
||||
|
||||
-------
|
||||
The documents app view tests now test for view access and not just permission.
|
||||
Testing against access is more robust and also tests for permissions
|
||||
implicitly.
|
||||
|
||||
|
||||
Other Changes
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
-------------
|
||||
- Fix HTML mark up in window title. GitLab #397.
|
||||
- Sort setting by namespace label and by global name second.
|
||||
- Sort indexes by label.
|
||||
@@ -97,17 +82,15 @@ Other Changes
|
||||
- Improve code to unbind menu entries.
|
||||
- Increase the size of the mailing profile label field to 128 characters.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -115,9 +98,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -131,9 +113,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -147,18 +128,16 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
|
||||
* :gitlab-issue:`378` Add metadata widget changes from @Macrobb
|
||||
* :gitlab-issue:`396` Add support for emailing documents to a recipient list.
|
||||
* :gitlab-issue:`397` Title on Index Page is Broken
|
||||
* :gitlab-issue:`400` Django REST framework's BasicAuthentication doesn't work with Oauth2_proxy
|
||||
===========================
|
||||
|
||||
* `GitLab issue #378 <https://gitlab.com/mayan-edms/mayan-edms/issues/378>`_ Add metadata widget changes from @Macrobb
|
||||
* `GitLab issue #396 <https://gitlab.com/mayan-edms/mayan-edms/issues/396>`_ Add support for emailing documents to a recipient list.
|
||||
* `GitLab issue #397 <https://gitlab.com/mayan-edms/mayan-edms/issues/397>`_ Title on Index Page is Broken
|
||||
* `GitLab issue #400 <https://gitlab.com/mayan-edms/mayan-edms/issues/400>`_ Django REST framework's BasicAuthentication doesn't work with Oauth2_proxy
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -1,24 +1,22 @@
|
||||
Version 2.7.1
|
||||
=============
|
||||
===============================
|
||||
Mayan EDMS v2.7.1 release notes
|
||||
===============================
|
||||
|
||||
Released: September 3, 2017
|
||||
|
||||
Changes
|
||||
-------
|
||||
What's new
|
||||
==========
|
||||
|
||||
Unicode metadata when uploading a document
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
------------------------------------------
|
||||
An issue with Django's unquote_plus caused documents being uploaded with an
|
||||
unicode, no English character in an initial metadata value field to fail.
|
||||
The unquote_plus usage was remove in favor of a dedicate URL parsing library
|
||||
called furl. GitLab issue #423. Thanks to Gustavo Teixeira (@gsteixei) for the
|
||||
find.
|
||||
|
||||
|
||||
Silent errors during initialization
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
-----------------------------------
|
||||
When Python raises an ImportError exception, it is not possible to determine
|
||||
the cause of the error. The local.py import code was updated to interpret the
|
||||
text of the ImportError exception and ignore it only if the local.py was
|
||||
@@ -26,32 +24,28 @@ missing, which is the case during the initialization commands execute after
|
||||
the initial installation. Any error in the local.py file will now cause Mayan
|
||||
to exit. Thanks to MacRobb Simpson for the report and solution.
|
||||
|
||||
|
||||
String usage in the local.py file
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
---------------------------------
|
||||
Python 2.7 uses byte strings by default. Byte strings cannot be used in
|
||||
conjunction with unicode strings. A missing import was causing strings in
|
||||
the local.py file to be interpreted as byte string while the rest of Mayan
|
||||
uses unicode strings. Using non English special characters in a string located
|
||||
in the local.py file would have cause a Unicode errors. For new installations
|
||||
from Mayan version 2.7.1 onwards, the line
|
||||
``from __future__ import absolute_imports, unicode_literals`` is included when
|
||||
`from __future__ import absolute_imports, unicode_literals` is included when
|
||||
generating the local.py for the first time. For existing installations,
|
||||
adding this line at the top is all that's needed. GitLab issue #424. Thanks to
|
||||
Gustavo Teixeira (@gsteixei) for the find and researching the cause.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -59,9 +53,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -75,9 +68,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -91,15 +83,15 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* `GitLab issue #423 <https://gitlab.com/mayan-edms/mayan-edms/issues/423>`_ Metadata can't handle non ascii chars on upload
|
||||
* `GitLab issue #424 <https://gitlab.com/mayan-edms/mayan-edms/issues/424>`_ DjangoUnicodeDecodeError on document proprieties due document language field
|
||||
|
||||
* :gitlab-issue:`423` Metadata can't handle non ascii chars on upload
|
||||
* :gitlab-issue:`424` DjangoUnicodeDecodeError on document proprieties due document language field
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -1,23 +1,21 @@
|
||||
Version 2.7.2
|
||||
=============
|
||||
===============================
|
||||
Mayan EDMS v2.7.2 release notes
|
||||
===============================
|
||||
|
||||
Released: September 06, 2017
|
||||
|
||||
Changes
|
||||
-------
|
||||
What's new
|
||||
==========
|
||||
|
||||
Fixes to the new mailer creation view
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
-------------------------------------
|
||||
Some last minute changes to the dynamic form creation code added to support
|
||||
workflow state actions broke the creation of new mailer profiles. This is fixed
|
||||
now and a test was added to avoid future regressions. GitLab issue #431.
|
||||
Thanks to Robert Schöftner (@robert.schoeftner) for the report and the solution.
|
||||
|
||||
|
||||
Event consolidation
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
-------------------
|
||||
Several events were created to audit the creation of new documents. These events
|
||||
caused some confusion and were improved. When creating a new document the two
|
||||
'document properties edited' events were removed as this is an internal process
|
||||
@@ -26,41 +24,32 @@ submits the file to create the document. Now instead of 'System' the actual
|
||||
username of the user that uploaded the document will appear in the events log.
|
||||
GitLab issue #433. Thanks to Jesaja Everling (@jeverling) for the report.
|
||||
|
||||
|
||||
Cabinet list sorting
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
--------------------
|
||||
The root cabinet list is now displayed alphabetically sorted. The list of
|
||||
cabinets to which a document belongs to is now displayed sorted too. Thanks
|
||||
to Thomas Plotkowiak for the request.
|
||||
|
||||
|
||||
Visual cue for the document cabinet list
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
----------------------------------------
|
||||
In the document list item view, a simple visual cue in the form of italized
|
||||
text was added to the document cabinet list. GitLab issue #435. Thanks to LeVon
|
||||
Smoker for the request.
|
||||
|
||||
|
||||
Easier testing of production deployments
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
----------------------------------------
|
||||
The testing library mock is now installed by default, making it easier to run
|
||||
the entire test suit on deployed instances.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -68,9 +57,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -84,9 +72,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -100,16 +87,15 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* :gitlab-issue:`431` can't create new mailer
|
||||
* :gitlab-issue:`433` Events are not created correctly for document upload
|
||||
* :gitlab-issue:`435` Add visual cue to differentiate the Cabinet list on a document's preview card.
|
||||
* `GitLab issue #431 <https://gitlab.com/mayan-edms/mayan-edms/issues/431>`_ can't create new mailer
|
||||
* `GitLab issue #433 <https://gitlab.com/mayan-edms/mayan-edms/issues/433>`_ Events are not created correctly for document upload
|
||||
* `GitLab issue #435 <https://gitlab.com/mayan-edms/mayan-edms/issues/435>`_ Add visual cue to differentiate the Cabinet list on a document's preview card.
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
Version 2.7.3
|
||||
=============
|
||||
===============================
|
||||
Mayan EDMS v2.7.3 release notes
|
||||
===============================
|
||||
|
||||
Released: September 11, 2017
|
||||
|
||||
Changes
|
||||
-------
|
||||
What's new
|
||||
==========
|
||||
|
||||
- Fix task manager queue list view. Thanks to LeVon Smoker for
|
||||
the report.
|
||||
@@ -13,18 +14,15 @@ Changes
|
||||
Nick Douma (LordGaav) for the report and diagnostic information. GitLab
|
||||
issue #436.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -32,9 +30,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -48,9 +45,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -64,16 +60,15 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* :gitlab-issue:`431` can't create new mailer
|
||||
* :gitlab-issue:`436` New document source menu does not contain source_ids
|
||||
* `GitLab issue #431 <https://gitlab.com/mayan-edms/mayan-edms/issues/431>`_ can't create new mailer
|
||||
* `GitLab issue #436 <https://gitlab.com/mayan-edms/mayan-edms/issues/436>`_ New document source menu does not contain source_ids
|
||||
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
Version 2.7
|
||||
===========
|
||||
=============================
|
||||
Mayan EDMS v2.7 release notes
|
||||
=============================
|
||||
|
||||
Released: August 30, 2017
|
||||
|
||||
Changes
|
||||
-------
|
||||
What's new
|
||||
==========
|
||||
|
||||
Beta Python 3 support
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
---------------------
|
||||
Preliminary support for Python 3 has landed in this version. More testing
|
||||
is still needed but for the most part seems to be usable. This is just
|
||||
initial support and not meant for production. Please submit any issue with
|
||||
@@ -16,16 +16,14 @@ Python 3 to help improve the support for it.
|
||||
|
||||
|
||||
PDF introspection improvements
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
------------------------------
|
||||
Some PDF files encode their page rotation information using indirect values
|
||||
instead of actually storing the rotation value as an integer. Support these
|
||||
types of PDF files was added.
|
||||
|
||||
|
||||
3rd party apps
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
--------------
|
||||
Support was added to allow 3rd party app adding data columns to existing
|
||||
models to specify the order in which such new columns will appear. Support
|
||||
was also added to allow any app to remove existing main menus. App can now in
|
||||
@@ -35,8 +33,7 @@ create multiple dashboards.
|
||||
|
||||
|
||||
Converter customization improvements
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
------------------------------------
|
||||
For users wanting more control over the document image conversion process,
|
||||
support was added to change the internal format used for image conversion.
|
||||
By default JPG used but via the `pdftoppm_format` and `pillow_format` entries
|
||||
@@ -48,8 +45,7 @@ value is `pdftoppm_dpi`.
|
||||
|
||||
|
||||
Workflow refactor
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
-----------------
|
||||
This version includes a preview release of the workflow refactor that includes
|
||||
three new features: transition triggers, state actions, and graphical previews.
|
||||
The transition triggers allow setting document events as triggers to perform
|
||||
@@ -68,8 +64,7 @@ debugging workflows.
|
||||
|
||||
|
||||
OCR refactor
|
||||
^^^^^^^^^^^^
|
||||
|
||||
------------
|
||||
As part of the plan to add OCR zone and barcode support the first set of
|
||||
changes was included in this version. These initial changes bring the OCR
|
||||
app up to standard with the rest of the system and splits the OCR app into two
|
||||
@@ -83,8 +78,7 @@ by OCR.
|
||||
|
||||
|
||||
Document parsing
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
----------------
|
||||
Historically Mayan has had two methods to extract text from PDF files. First
|
||||
it will try the program called `pdftotext` and failing that will try the
|
||||
PDFMiner Python library. The official PDFMiner library is unmaintained and
|
||||
@@ -98,8 +92,7 @@ extraction strategy.
|
||||
|
||||
|
||||
Document version UI
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
-------------------
|
||||
The list of versions of a document was updated to use the new item list
|
||||
view templated added in version 2.6 for document lists. Along with this update
|
||||
preview support was added for individual document version. It is also possible
|
||||
@@ -109,8 +102,7 @@ example the difference in a document's versions.
|
||||
|
||||
|
||||
Events system
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
-------------
|
||||
The events system has been updated to provide more information and improve
|
||||
navigation. The `Actor` field will now display `System` when an event was
|
||||
performed by the system instead of displaying the document name. The
|
||||
@@ -144,40 +136,37 @@ to trigger a workflow transition. The current list:
|
||||
|
||||
|
||||
Metadata on document type change
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
--------------------------------
|
||||
Changing document types will no longer delete all metadata from the document.
|
||||
Any existing metadata whose type matches the metadata in the new type will be
|
||||
preserved.
|
||||
|
||||
|
||||
Permission rebalance
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
--------------------
|
||||
In order to attach or remove a tag to a document, the tag view permissions
|
||||
was needed. This has been update to required the tag attach and remove
|
||||
permissions respectively.
|
||||
|
||||
|
||||
Other Changes
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
- Add workaround for PDF with ``IndirectObject`` as the
|
||||
-------------
|
||||
- Add workaround for PDF with IndirectObject as the
|
||||
rotation value. GitHub #261.
|
||||
- Add ACL list link with icon and use it for the document facet menu.
|
||||
- Fix mailing app permissions labels.
|
||||
- Add ACLs link and ACLs permissions to the mailer profile model.
|
||||
- Improve mailer URL regex.
|
||||
- Add ordering support to the ``SourceColumn`` class. GitLab issue #417.
|
||||
- Add ordering support to the SourceColumn class. GitLab issue #417.
|
||||
- Shows the cabinets in the document list. GitLab #417 @corneliusludmann
|
||||
- Update the index information columns to show the
|
||||
- Update the index information colums to show the
|
||||
total number of documents and nodes contained in a level.
|
||||
- Add workaround for pycountry versions without the bibliographical key.
|
||||
GitHub issue #250.
|
||||
- Skip UUID migration on Oracle backends. GitHub issue #251.
|
||||
- Allow changing the output format, DPI of the pdftoppm command, and
|
||||
the output format of the converter via the ``CONVERTER_GRAPHICS_BACKEND_CONFIG``
|
||||
setting sub options: ``pdftoppm_dpi: 300, pdftoppm_format: jpeg, pillow_format: jpeg``
|
||||
the output format of the converter via the CONVERTER_GRAPHICS_BACKEND_CONFIG
|
||||
setting sub options: pdftoppm_dpi: 300, pdftoppm_format: jpeg, pillow_format: jpeg
|
||||
GitHub issues #256 #257 GitLab issue #416.
|
||||
- Add support for workflow triggers.
|
||||
- Add support for workflow actions. Includes actions to attach and remove tags,
|
||||
@@ -191,7 +180,7 @@ Other Changes
|
||||
- Convert document version view to item list view.
|
||||
- Add support for browsing individual document versions.
|
||||
- Add support for dropdown menus to the item list view template.
|
||||
- Add support for preserving the file extension when downloading a document
|
||||
- Add support for preserving the file extenstion when downloading a document
|
||||
version. GitLab #415.
|
||||
- Split OCR app into OCR and parsing.
|
||||
- Use the literal 'System' instead of the target name when
|
||||
@@ -211,27 +200,24 @@ Other Changes
|
||||
- Implement field order for the action dynamic forms.
|
||||
Perform action class validation by importing the class and
|
||||
not relying on an instance of action model, which might not
|
||||
exist when still creating the action.
|
||||
exisit when still creating the action.
|
||||
- Navigation improvements in the workflow app.
|
||||
- Rename index nodes to index levels.
|
||||
- Avoid Maximum recursion depth exceeded exception on index document
|
||||
list view.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
- Folders app.
|
||||
- The view to submit all document for OCR. The view to submit documents by type
|
||||
substitutes this once.
|
||||
- The ``PDFMiner`` parser.
|
||||
|
||||
- The PDFMiner parser.
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -239,9 +225,8 @@ Type in the console::
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -255,9 +240,8 @@ Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -271,26 +255,25 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* :github-issue:`250` migrate fails on documents.0025_auto_20150718_0742
|
||||
* :github-issue:`251` migrate fails on documents.0032_auto_20160315_0537
|
||||
* :github-issue:`256` Make it possible to adjust values in apps\converter\literals.py from Settings
|
||||
* :github-issue:`257` Use the DEFAULT_FILE_FORMAT from literals.py in python.py
|
||||
* :github-issue:`261` fix_orientation method causes document add to crash
|
||||
* :github-issue:`263` Typo in mayan/apps/ocr/migrations/0004_documenttypesettings.py
|
||||
* `GitHub issue #250 <https://github.com/mayan-edms/mayan-edms/issues/250>`_ migrate fails on documents.0025_auto_20150718_0742
|
||||
* `GitHub issue #251 <https://github.com/mayan-edms/mayan-edms/issues/251>`_ migrate fails on documents.0032_auto_20160315_0537
|
||||
* `GitHub issue #256 <https://github.com/mayan-edms/mayan-edms/issues/256>`_ Make it possible to adjust values in apps\converter\literals.py from Settings
|
||||
* `GitHub issue #257 <https://github.com/mayan-edms/mayan-edms/issues/257>`_ Use the DEFAULT_FILE_FORMAT from literals.py in python.py
|
||||
* `GitHub issue #261 <https://github.com/mayan-edms/mayan-edms/issues/261>`_ fix_orientation method causes document add to crash
|
||||
* `GitHub issue #263 <https://github.com/mayan-edms/mayan-edms/issues/263>`_ Typo in mayan/apps/ocr/migrations/0004_documenttypesettings.py
|
||||
* `GitLab issue #172 <https://gitlab.com/mayan-edms/mayan-edms/issues/172>`_ Metadata default value ignored when changing document type
|
||||
* `GitLab issue #329 <https://gitlab.com/mayan-edms/mayan-edms/issues/329>`_ Move code to Python 3
|
||||
* `GitLab issue #415 <https://gitlab.com/mayan-edms/mayan-edms/issues/415>`_ Wrong filename when downloading document version
|
||||
* `GitLab issue #416 <https://gitlab.com/mayan-edms/mayan-edms/issues/416>`_ DPI value for OCR not taken from document metadata
|
||||
* `GitLab issue #417 <https://gitlab.com/mayan-edms/mayan-edms/issues/417>`_ Display document cabinets in documents list
|
||||
* `GitLab issue #421 <https://gitlab.com/mayan-edms/mayan-edms/issues/421>`_ Metadata lost when changing document type
|
||||
|
||||
* :gitlab-issue:`172` Metadata default value ignored when changing document type
|
||||
* :gitlab-issue:`329` Move code to Python 3
|
||||
* :gitlab-issue:`415` Wrong filename when downloading document version
|
||||
* :gitlab-issue:`416` DPI value for OCR not taken from document metadata
|
||||
* :gitlab-issue:`417` Display document cabinets in documents list
|
||||
* :gitlab-issue:`421` Metadata lost when changing document type
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -1,76 +0,0 @@
|
||||
Version 3.0.1
|
||||
=============
|
||||
|
||||
Released: July 08, 2018
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
- Pin javascript libraries to specific versions to avoid using
|
||||
potentianlly broken updates automatically. GitLab issue #486.
|
||||
- French and Polish language translation updates.
|
||||
- Merge request #25. Thanks to Daniel Albert @esclear
|
||||
for the patch.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
- None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
|
||||
Type in the console::
|
||||
|
||||
$ pip install mayan-edms==3.0.1
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
|
||||
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
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
$ mayan-edms.py performupgrade
|
||||
|
||||
Add new static media::
|
||||
|
||||
$ mayan-edms.py collectstatic --noinput
|
||||
|
||||
The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
|
||||
* :gitlab-issue:`486` Docker Verison 3.0 not working
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
@@ -1,149 +0,0 @@
|
||||
Version 3.0.2
|
||||
=============
|
||||
|
||||
Released: August 16, 2018
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
This bug fix release also includes a few tweaks to improve user experience.
|
||||
|
||||
|
||||
Docker install script
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
- Default to verbose.
|
||||
- Increase startup timer from 5 to 10 seconds to give more time to users to
|
||||
examine the settings of the installation to be performed.
|
||||
- Add support for configuring the PostgreSQL port. Useful when there are
|
||||
existing PostgreSQL installations.
|
||||
- Docker install script: Detect if Docker installed and provide help
|
||||
text if not.
|
||||
|
||||
|
||||
Documentation
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
Add deployment step that configures Redis to discard unused task data when
|
||||
it runs out of memory. Redis is only used for volatile data therefore
|
||||
configuring it to discard data doesn't affect functionality but increases
|
||||
response time and reduced memory consumption.
|
||||
|
||||
The default timeout for gunicorn has been increased from from 30 to 120
|
||||
seconds.
|
||||
|
||||
The code statistics and pending work chapters have been removed from the
|
||||
documentation. The pending work list has been divided into a pending and a
|
||||
planned feature list and moved to the new Wiki at wiki.mayan-edms.com
|
||||
|
||||
Builds
|
||||
^^^^^^
|
||||
|
||||
Limit the number of branches that trigger the full test suit. Makes better use
|
||||
of the amount of free continous integration available in GitLab.
|
||||
|
||||
|
||||
Program code
|
||||
^^^^^^^^^^^^
|
||||
|
||||
- Index app: Add natural key support to the Index model.
|
||||
- Mailer app: Add natural key support to the mailer app.
|
||||
- Cabinets: Redirect to the cabinet list view after creating a new cabinet.
|
||||
- Converter app: Fix crop transformation argument parsing.
|
||||
- Converter app: Add error checking to the crop transformation arguments.
|
||||
Thanks to Jordan Wages (@wagesj45) for the report and investigation on the issue.
|
||||
Closes GitLab issue #490
|
||||
- Common app: Fix post login redirection to honor the ``?next=`` URL query string
|
||||
argument. Thanks go to K.C. Wong (@dvusboy1). Closes GitLab
|
||||
issue #489.
|
||||
- Sources app: Update dropzone.js' timeout from 30 seconds to 120 to allow
|
||||
upload of large files on slow connections.
|
||||
- Documents app: Display error when attempting to recalculate the page
|
||||
count of an empty
|
||||
document (document stub that has no document version).
|
||||
- Appearance app: Include querystring when force reload of a bare template view.
|
||||
- Documents app: Fix trashed document count and document page count swapped
|
||||
dashboard icons.
|
||||
- Documents app: Rename the multi document download link from "Download" to
|
||||
"Advanced download" for consistency.
|
||||
- Appearance app: Add support for hiding a links icon. Hide all object menu
|
||||
links' icons.
|
||||
- Documents app: Hide the title link of documents in the trash.
|
||||
- Workflow app: Define a redirection after workflow actions are edited.
|
||||
|
||||
|
||||
Security
|
||||
^^^^^^^^
|
||||
- Appearance app: avoid setting window.location directly to avoid exploit
|
||||
of cross site scripting. Thanks to Lokesh (@lokesh1095) for the report
|
||||
and solution. Closes GitLab issue #494.
|
||||
- Cabinets app: Escape cabinet labels to avoid possible exploit of
|
||||
cross site scripting. Thanks to Lokesh (@lokesh1095) for the report
|
||||
and proposed solutions. Closes GitLab issue #495.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
- None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
|
||||
Type in the console::
|
||||
|
||||
$ pip install mayan-edms==3.0.2
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
|
||||
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
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
$ mayan-edms.py performupgrade
|
||||
|
||||
Add new static media::
|
||||
|
||||
$ mayan-edms.py collectstatic --noinput
|
||||
|
||||
The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
|
||||
* :gitlab-issue:`489` "next" parameter is not honored after login
|
||||
* :gitlab-issue:`490` Crop Transformation seems to not convert input to numeric values
|
||||
* :gitlab-issue:`491` "Warning Your database backend is set to use SQLite[...]" with docker compose
|
||||
* :gitlab-issue:`494` DOM based Cross Site Scripting
|
||||
* :gitlab-issue:`495` Persistent Cross Site Scripting
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
@@ -1,84 +0,0 @@
|
||||
Versin 3.0.3
|
||||
============
|
||||
|
||||
Released: August 17, 2018
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
Program code
|
||||
^^^^^^^^^^^^
|
||||
|
||||
- Tags app: Add explicit post action redirect for the tag attach and
|
||||
tag remove actions when working on a single document.
|
||||
|
||||
|
||||
Security
|
||||
^^^^^^^^
|
||||
|
||||
- Tags app: Add explicit casting of escaped tag labels to prevent exploit
|
||||
of cross site scripting. Thanks to Lokesh (@lokesh1095) for
|
||||
the report and proposed solutions. Closes GitLab issue #496.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
- None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
|
||||
Type in the console::
|
||||
|
||||
$ pip install mayan-edms==3.0.3
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
|
||||
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
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
$ mayan-edms.py performupgrade
|
||||
|
||||
Add new static media::
|
||||
|
||||
$ mayan-edms.py collectstatic --noinput
|
||||
|
||||
The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
|
||||
* :gitlab-issue:`496` Persistent Cross Site Scripting
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
@@ -1,15 +1,15 @@
|
||||
Version 3.0
|
||||
===========
|
||||
=============================
|
||||
Mayan EDMS v3.0 release notes
|
||||
=============================
|
||||
|
||||
Released: June 29, 2018
|
||||
Released: March 19, 2018
|
||||
|
||||
Changes
|
||||
-------
|
||||
What's new
|
||||
==========
|
||||
|
||||
Turning Mayan EDMS into a single page app
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Historically, Mayan EDMS has steered away from adding too much JavaScript
|
||||
-----------------------------------------
|
||||
Historically, Mayan EDMS has steered away from adding too much Javascript
|
||||
in its code. The goal was to be able to maintain a robust, backend-based
|
||||
page rendering method that will be as future-proof as possible.
|
||||
This approach comes at the cost of some page loading speed, and reduced
|
||||
@@ -19,7 +19,7 @@ The whole system has been update to work as a modern Single Page App.
|
||||
Single Page Applications (SPAs) rewrite the current page dynamically
|
||||
rather than loading the entire page on each click of the mouse. This
|
||||
makes the web application feel and behave more like a desktop
|
||||
application. Because the majority of the styling and JavaScript code
|
||||
application. Because the majority of the styling and Javascript code
|
||||
is loaded only once, there is also the added benefit of less data down
|
||||
the wire. Thus the application becomes lighter and provides a faster
|
||||
response time to user events. Because the style is loaded and
|
||||
@@ -33,8 +33,7 @@ improvements are now possible.
|
||||
|
||||
|
||||
Upgrading to Django 1.11
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
------------------------
|
||||
The move to Django 1.11 proved to be a real challenge. Even though
|
||||
Django 1.11 is a minor release, it breaks compatibility and interfaces
|
||||
in several key areas. Among these were templates and form widgets.
|
||||
@@ -50,8 +49,7 @@ warning were fixed in preparation for an eventual upgrade to Django 2.0.
|
||||
|
||||
|
||||
Notification improvements
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
-------------------------
|
||||
These work by allowing users to subscribe to a particular event like Document
|
||||
Uploads or to an event of a particular document like when an invoice is edited.
|
||||
If these events occurs, the user gets a reminder next to the bell icon in the
|
||||
@@ -59,8 +57,7 @@ main menu bar.
|
||||
|
||||
|
||||
Dependencies upgrades
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
---------------------
|
||||
Most of the requirements, dependencies and libraries were upgraded to
|
||||
their latest release.
|
||||
|
||||
@@ -84,8 +81,7 @@ their latest release.
|
||||
|
||||
|
||||
Search syntax
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
-------------
|
||||
Searching without using a specialized search database is difficult.
|
||||
Mayan’s design calls avoiding a separate search engine at the cost of some
|
||||
missing search syntax. The OR and the negative term support are the first
|
||||
@@ -119,8 +115,7 @@ This will return only documents with the exact phrase “blue car”.
|
||||
|
||||
|
||||
Running multiple instances of Mayan EDMS
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
----------------------------------------
|
||||
If you've ever tried running two instances of Mayan EDMS, you would
|
||||
have noticed that they both try to create a lock file in the ``/tmp``
|
||||
directory with the same name. Only the first instance will be able to run.
|
||||
@@ -135,8 +130,7 @@ all practical purposes.
|
||||
|
||||
|
||||
Display resolution settings
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
---------------------------
|
||||
Display sizes for document display, previews, and thumbnail were specified
|
||||
as a string that included the horizontal and the vertical resolution
|
||||
separated by the character “x”. Using an “x” character to separate
|
||||
@@ -154,7 +148,7 @@ The settings are now:
|
||||
|
||||
|
||||
Dynamic upload wizard steps
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
---------------------------
|
||||
The steps needed to upgrade a document using form-tools' SessionWizard
|
||||
were hardcoded in the source app. This made it very difficult to add or remove
|
||||
wizard steps.
|
||||
@@ -233,13 +227,12 @@ module. Example::
|
||||
WizardStep.deregister(WizardStepTags)
|
||||
|
||||
|
||||
This will cause the tags assignment step to not be assigned to the upload
|
||||
This will cause the tags assigment step to not be assigned to the upload
|
||||
wizard anymore.
|
||||
|
||||
|
||||
New upload step
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
---------------
|
||||
Using the new ``WizardStep`` class a new upload wizard step was added
|
||||
to assign documents being uploaded to any number of cabinets while
|
||||
being uploaded. This step was been assigned number 4 in the order of
|
||||
@@ -247,23 +240,20 @@ step for uploading a file.
|
||||
|
||||
|
||||
Fix carousel item height issues
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
-------------------------------
|
||||
On some devices the height of the pages on the document preview view were
|
||||
squashed. The CSS for this view was updated to fix this issue.
|
||||
|
||||
|
||||
Orientation detection
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
---------------------
|
||||
After reports that it is not working in 100% of the cases, the feature that
|
||||
detects and fixes the orientation of PDF has been marked experimental and
|
||||
now defaults to being disabled.
|
||||
|
||||
|
||||
New proposal system
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
-------------------
|
||||
The Mayan EDMS Request for Comments or MERCs will be use to propose and or
|
||||
document the new features, the existing code, and the processes governing the
|
||||
project. MERCs 1 and 2 have been approved. MERC-1 outlines the MERC process
|
||||
@@ -271,8 +261,7 @@ itself and MERC-2 documents the way API tests are to be written for Mayan EDMS.
|
||||
|
||||
|
||||
Duplicated documents
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
--------------------
|
||||
The duplicated documents system has been improved to also better detect when
|
||||
the duplicate of a primary document has been move to the trash. In this
|
||||
instance the duplicate count of the primary document would be zero and will
|
||||
@@ -282,10 +271,8 @@ If the duplicated document is deleted from the trash the system now will launch
|
||||
a background clean up task to permanently delete the empty primary document's
|
||||
duplicate document entry from the database.
|
||||
|
||||
|
||||
Storage
|
||||
^^^^^^^
|
||||
|
||||
-------
|
||||
It is now possible to pass arguments to the document, document cache and
|
||||
document signatures storage backends. To pass the arguments, use the new
|
||||
settings: ``DOCUMENTS_STORAGE_BACKEND_ARGUMENTS``,
|
||||
@@ -308,54 +295,44 @@ If no path is specified the backend will default to ``mayan/media/document_stora
|
||||
Finally, to standardize the way app use storage, the ``storages.py`` modules is now used
|
||||
instead of the ``runtime.py`` module.
|
||||
|
||||
|
||||
User event filtering
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
--------------------
|
||||
When viewing the event list, the Actor (user) column is not displayed
|
||||
as a link. Clicking this link will filter the event list and display
|
||||
the events performed by that user. The view of event for each user can
|
||||
also be viewed using a new link added to the user list view in the setup
|
||||
menu.
|
||||
|
||||
|
||||
Smart checkbox selection
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
------------------------
|
||||
A faster way to select multiple item has been added. Click the checkbox of the first,
|
||||
hold the Shift key, and then click the checkbox of the last item of the selection.
|
||||
This will select the first, the last and all items in between. To deselect multiple
|
||||
items the same procedure is used. This code was donated by the Paperattor
|
||||
project (www.paperattor.com).
|
||||
|
||||
|
||||
Add JavaScript dependency manager
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
---------------------------------
|
||||
An internal utility to install and upgrade the JavaScript dependencies was added.
|
||||
This depency manager allows for the easier maintenance of the JavaScript libraries
|
||||
This depency manager allows for the easier maintenace of the JavaScript libraries
|
||||
used through the project.
|
||||
|
||||
Previously JavaScript libraries we downloaded and installed by manually. These
|
||||
libraries were them checked into the Git repository. Finally to enable them
|
||||
the corresponding imports were added to the base templates in the appeance app.
|
||||
the correspoding imports were added to the base templates in the apppeance app.
|
||||
|
||||
This new manager is the first step to start resolving these issues. The manager
|
||||
allows apps to specify their own dependencies. These dependencies are then
|
||||
allows apps to specify their own dependencies. These dependecies are then
|
||||
downloaded when the project is installed or upgraded. As such they are not
|
||||
part of the repository and lower the file size of the project.
|
||||
|
||||
|
||||
Workflow changes
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
----------------
|
||||
Removing a document type from a workflow will now also remove all running
|
||||
instances of that workflow for documents of the document type just removed.
|
||||
|
||||
|
||||
Adoption of Contributor Assignment Agreements
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
---------------------------------------------
|
||||
To facilitate the inclusion of submissions provided by third parties,
|
||||
the project has adopted the use of individual and entity contributor
|
||||
assignment agreements. These agreements make clear the process to
|
||||
@@ -363,10 +340,8 @@ transfer the rights to submissions. With these agreements in place
|
||||
we now have a documented and legally sound method to accept
|
||||
submissions that we couldn't before.
|
||||
|
||||
|
||||
SQLite
|
||||
^^^^^^
|
||||
|
||||
------
|
||||
Starting with version 3.0, a warning message will be shown in the console and
|
||||
in the user interface when using SQLite as the database engine. When it comes to
|
||||
Mayan EDMS, SQLite should only be used for development or testing, never for
|
||||
@@ -375,10 +350,8 @@ SQLite. The results are duplicated documents, frequency database locked errors,
|
||||
among other issues. Suggested database backends are PostgreSQL and MySQL
|
||||
(or MariaDB) using a transaction aware storage engine like InnoDB.
|
||||
|
||||
|
||||
Received email processing
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
-------------------------
|
||||
Parsing email messages is a complex task. To increase compatibility with the
|
||||
many interpretations of the standards that govern email messaging, Mayan EDMS
|
||||
now uses Mailgun's flanker library (https://github.com/mailgun/flanker).
|
||||
@@ -386,10 +359,8 @@ Thanks to flanker, Mayan EDMS now gains new capabilities when it comes to
|
||||
parsing incoming email. For example, in addition to mail attachments, it is now
|
||||
possible to process files included in emails as inline content.
|
||||
|
||||
|
||||
Other changes worth mentioning
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
------------------------------
|
||||
- Add Makefile target to check the format of the README.rst file.
|
||||
- Fix permission filtering when performing document page searching
|
||||
- base.js was splitted into mayan_app.js, mayan_image.js, and
|
||||
@@ -418,7 +389,7 @@ Other changes worth mentioning
|
||||
- Unify all document widgets.
|
||||
- Printed pages are now full width.
|
||||
- Move the invalid document markup to a separate HTML template.
|
||||
- Move transformations to their own module.
|
||||
- Move transfomations to their own module.
|
||||
- Split documents.tests.test_views into:
|
||||
|
||||
- base.py
|
||||
@@ -437,7 +408,7 @@ Other changes worth mentioning
|
||||
- Fix documentation formatting.
|
||||
- Add upload wizard step documentation chapter.
|
||||
- Improve and add additional diagrams.
|
||||
- Change documentation theme to rtd.
|
||||
- Change documenation theme to rtd.
|
||||
- Add the "to=" keyword argument to all ForeignKey, ManayToMany and
|
||||
OneToOne Fields.
|
||||
- Rename the role groups link label from "Members" to "Groups".
|
||||
@@ -517,19 +488,18 @@ Other changes worth mentioning
|
||||
- Add a new setting option to enable automatic parsing for each new document
|
||||
type created.
|
||||
- Add support for HTML bodies to the user mailers.
|
||||
- Production ``ALLOWED_HOSTS`` settings now defaults to a safer
|
||||
``['127.0.0.1', 'localhost', '[::1]']``
|
||||
- Production ALLOWED_HOSTS settings now defaults to a safer
|
||||
['127.0.0.1', 'localhost', '[::1]']
|
||||
- Capture menu resolution errors on invalid URLs. Closes GitLab issue #420.
|
||||
- New environment variables: ``MAYAN_SECRET_KEY``,
|
||||
``MAYAN_CELERY_ALWAYS_EAGER``, ``MAYAN_CELERY_RESULT_BACKEND``,
|
||||
``MAYAN_BROKER_URL``, ``MAYAN_DATABASE_ENGINE``,
|
||||
``MAYAN_DATABASE_CONN_MAX_AGE``, ``MAYAN_DATABASE_NAME``,
|
||||
``MAYAN_DATABASE_USER``, ``MAYAN_DATABASE_PASSWORD``,
|
||||
``MAYAN_DATABASE_HOST``, ``MAYAN_DATABASE_PORT``, ``MAYAN_DEBUG``.
|
||||
- Stricter defaults. CELERY_ALWAYS_EAGER to False, ``ALLOWED_HOSTS`` to
|
||||
``['127.0.0.1', 'localhost', '[::1]']``.
|
||||
- New environment variables: MAYAN_SECRET_KEY, MAYAN_CELERY_ALWAYS_EAGER,
|
||||
MAYAN_CELERY_RESULT_BACKEND, MAYAN_BROKER_URL, MAYAN_DATABASE_ENGINE,
|
||||
MAYAN_DATABASE_CONN_MAX_AGE, MAYAN_DATABASE_NAME, MAYAN_DATABASE_USER,
|
||||
MAYAN_DATABASE_PASSWORD, MAYAN_DATABASE_HOST, MAYAN_DATABASE_PORT,
|
||||
MAYAN_DEBUG.
|
||||
- Stricter defaults. CELERY_ALWAYS_EAGER to False, ALLOWED_HOSTS to
|
||||
['127.0.0.1', 'localhost', '[::1]'].
|
||||
- New initialization command. Creates media/system and populates the
|
||||
``SECRET_KEY`` and ``VERSION`` files.
|
||||
SECRET_KEY and VERSION files.
|
||||
- Sane scanner source paper source now defaults to blank.
|
||||
- Merge Docker image creation back into the main repository.
|
||||
- Docker image now uses gunicorn and whitenoise instead of NGINX to server
|
||||
@@ -537,43 +507,30 @@ Other changes worth mentioning
|
||||
- All installation artifact are now created and read from the media folder.
|
||||
- Debian is now the Linux distribution used for the Docker image.
|
||||
- Most Docker Celery workers are now execute using a lower OS priority number.
|
||||
- Add ``COMMON_PRODUCTION_ERROR_LOGGING`` setting to control the logging of
|
||||
- Add COMMON_PRODUCTION_ERROR_LOGGING setting to control the logging of
|
||||
errors in production. Defaults to False.
|
||||
- Change the error log file handle class to RotatingFileHandle to avoid an
|
||||
indefinitely growing log file.
|
||||
- Disable embedded signature verification during the perform upgrade command.
|
||||
- Replace the ``DOCUMENTS_LANGUAGE_CHOICES`` setting option. Replaced with the
|
||||
new ``DOCUMENTS_LANGUAGE_CODES``.
|
||||
- Disable embedded signatute verification during the perform upgrade command.
|
||||
- Replace the DOCUMENTS_LANGUAGE_CHOICES setting option. Replaced with the
|
||||
new DOCUMENTS_LANGUAGE_CODES.
|
||||
- Reduce default language code choice from 7800 to the top 100 spoken
|
||||
languages and related
|
||||
(https://en.wikipedia.org/wiki/List_of_languages_by_number_of_native_speakers)
|
||||
- Fix error when trying to upload a document from and email account with
|
||||
'from' and 'subject' metadata.
|
||||
languages and related (https://en.wikipedia.org/wiki/List_of_languages_by_number_of_native_speakers)
|
||||
- Fix error when trying to upload a document from and email account with 'from' and 'subject' metadata.
|
||||
- Fix typo on message.header get from 'Suject' to 'Subject'.
|
||||
- On multi part emails keep the original From and Subject properties for
|
||||
all subsequent parts if the sub parts don't specify them. Fixes issue
|
||||
#481. Thanks to Robert Schöftner @robert.schoeftner for the report and
|
||||
debug information.
|
||||
- Don't provide a default for the scanner source adf_mode. Some scanners
|
||||
throw an error even when the selection if supported.
|
||||
- Add a "Quick Download" action to reduce the number of steps to download
|
||||
a single document. GitLab issue #338.
|
||||
- Recalculate a document's indexes when attaching or removing a tag from or
|
||||
to it.
|
||||
- Recalculate all of a tag's documents when a tag is about to be deleted.
|
||||
|
||||
- On multi part emails keep the original From and Subject properties for all subsequent parts if the sub parts don't specify them. Fixes issue #481. Thanks to Robert Schöftner @robert.schoeftner for the report and debug information.
|
||||
- Don't provide a default for the scanner source adf_mode. Some scanners throw an error even when the selection
|
||||
if supported.
|
||||
- Add a "Quick Download" action to reduce the number of steps to download a single document. GitLab issue #338.
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* Data filters app.
|
||||
* ``DOCUMENTS_LANGUAGE_CHOICES`` setting option. Replaced with
|
||||
``DOCUMENTS_LANGUAGE_CODES``.
|
||||
|
||||
* DOCUMENTS_LANGUAGE_CHOICES setting option. Replaced with
|
||||
DOCUMENTS_LANGUAGE_CODES.
|
||||
|
||||
Known issues
|
||||
------------
|
||||
|
||||
The newly added 'flanker' dependency used to process email, produces a number
|
||||
of warnings on the console that are imposible to turn off. These are not
|
||||
critical and are related to coding practices in the library. All warning
|
||||
@@ -585,8 +542,9 @@ Example: "WARNING:flanker.addresslib._parser.parser:Symbol 'domain' is unreachab
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
|
||||
Using PIP
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
Type in the console::
|
||||
|
||||
@@ -596,7 +554,7 @@ the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
||||
|
||||
@@ -612,7 +570,7 @@ Next upgrade/add the new requirements::
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
@@ -626,45 +584,42 @@ The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
=============================
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
===========================
|
||||
|
||||
* :gitlab-issue:`211` Remove all workflows when removing them from a document type
|
||||
* :gitlab-issue:`262` Event notifications
|
||||
* :gitlab-issue:`278` Detect non migrated models
|
||||
* :gitlab-issue:`302` 'New Document' button available to users who do not have permission
|
||||
* :gitlab-issue:`332` Add option to pass configuration parameters to the OCR backend as mentioned in #319
|
||||
* :gitlab-issue:`338` Quick download link in documents list view
|
||||
* :gitlab-issue:`370` Advanced search appears to OR the fields instead of AND them
|
||||
* :gitlab-issue:`380` Features removal for version 3.0
|
||||
* :gitlab-issue:`405` Add wizard steps from external apps
|
||||
* :gitlab-issue:`407` Improve search syntax to support search query types: AND, OR
|
||||
* :gitlab-issue:`408` Improve document checkbox selection.
|
||||
* :gitlab-issue:`420` Mayan raises a 500 instead of 404 in production mode
|
||||
* :gitlab-issue:`427` /tmp/mayan_locks.tmp is always owned by root
|
||||
* :gitlab-issue:`430` Can't use STATICFILES_STORAGE that requires running collectstatic first
|
||||
* :gitlab-issue:`437` Record users who upload or edit documents
|
||||
* :gitlab-issue:`439` Toastr library missing after update
|
||||
* :gitlab-issue:`444` Error in retrieving documents via POP3
|
||||
* :gitlab-issue:`446` Document searcher
|
||||
* :gitlab-issue:`447` API Security Bug Chinese wall breach
|
||||
* :gitlab-issue:`449` OCR Error: 'int' object has no attribute 'split'
|
||||
* :gitlab-issue:`452` Workflow ACL Doesn't works
|
||||
* :gitlab-issue:`454` Invalid next month calculation in statistics app, causes failstop
|
||||
* :gitlab-issue:`467` mail attachments without content-disposition are lost
|
||||
* :gitlab-issue:`468` plain text e-mails without charset do not work
|
||||
* :gitlab-issue:`470` Enable Django variable for HTML encoded emails
|
||||
* :gitlab-issue:`474` Provide option to serve Mayan EDMS without a webserver (using Tornado o similar).
|
||||
* :gitlab-issue:`480` Wrong Environment Variables names in documentation
|
||||
* :gitlab-issue:`481` IMAP sources with metadata not working in 3.0rc1
|
||||
* :gitlab-issue:`484` Document upload wizard only works as admin
|
||||
|
||||
* :github-issue:`264` migrate fails on document_states 0004_workflow_internal_name
|
||||
* :github-issue:`269` Lack of authentication for document previews
|
||||
* `GitLab issue #211 <https://gitlab.com/mayan-edms/mayan-edms/issues/211>`_ Remove all workflows when removing them from a document type
|
||||
* `GitLab issue #262 <https://gitlab.com/mayan-edms/mayan-edms/issues/262>`_ Event notifications
|
||||
* `GitLab issue #278 <https://gitlab.com/mayan-edms/mayan-edms/issues/278>`_ Detect non migrated models
|
||||
* `GitLab issue #302 <https://gitlab.com/mayan-edms/mayan-edms/issues/302>`_ 'New Document' button available to users who do not have permission
|
||||
* `GitLab issue #332 <https://gitlab.com/mayan-edms/mayan-edms/issues/332>`_ Add option to pass configuration parameters to the OCR backend as mentioned in #319
|
||||
* `GitLab issue #338 <https://gitlab.com/mayan-edms/mayan-edms/issues/338>`_ Quick download link in documents list view
|
||||
* `GitLab issue #370 <https://gitlab.com/mayan-edms/mayan-edms/issues/370>`_ Advanced search appears to OR the fields instead of AND them
|
||||
* `GitLab issue #380 <https://gitlab.com/mayan-edms/mayan-edms/issues/380>`_ Features removal for version 3.0
|
||||
* `GitLab issue #405 <https://gitlab.com/mayan-edms/mayan-edms/issues/405>`_ Add wizard steps from external apps
|
||||
* `GitLab issue #407 <https://gitlab.com/mayan-edms/mayan-edms/issues/407>`_ Improve search syntax to support search query types: AND, OR
|
||||
* `GitLab issue #408 <https://gitlab.com/mayan-edms/mayan-edms/issues/408>`_ Improve document checkbox selection.
|
||||
* `GitLab issue #420 <https://gitlab.com/mayan-edms/mayan-edms/issues/420>`_ Mayan raises a 500 instead of 404 in production mode
|
||||
* `GitLab issue #427 <https://gitlab.com/mayan-edms/mayan-edms/issues/427>`_ /tmp/mayan_locks.tmp is always owned by root
|
||||
* `GitLab issue #430 <https://gitlab.com/mayan-edms/mayan-edms/issues/430>`_ Can't use STATICFILES_STORAGE that requires running collectstatic first
|
||||
* `GitLab issue #437 <https://gitlab.com/mayan-edms/mayan-edms/issues/437>`_ Record users who upload or edit documents
|
||||
* `GitLab issue #439 <https://gitlab.com/mayan-edms/mayan-edms/issues/439>`_ Toastr library missing after update
|
||||
* `GitLab issue #444 <https://gitlab.com/mayan-edms/mayan-edms/issues/444>`_ Error in retrieving documents via POP3
|
||||
* `GitLab issue #446 <https://gitlab.com/mayan-edms/mayan-edms/issues/446>`_ Document searcher
|
||||
* `GitLab issue #447 <https://gitlab.com/mayan-edms/mayan-edms/issues/447>`_ API Security Bug Chinese wall breach
|
||||
* `GitLab issue #449 <https://gitlab.com/mayan-edms/mayan-edms/issues/449>`_ OCR Error: 'int' object has no attribute 'split'
|
||||
* `GitLab issue #452 <https://gitlab.com/mayan-edms/mayan-edms/issues/452>`_ Workflow ACL Doesn't works
|
||||
* `GitLab issue #454 <https://gitlab.com/mayan-edms/mayan-edms/issues/454>`_ Invalid next month calculation in statistics app, causes failstop
|
||||
* `GitLab issue #467 <https://gitlab.com/mayan-edms/mayan-edms/issues/467>`_ mail attachments without content-disposition are lost
|
||||
* `GitLab issue #468 <https://gitlab.com/mayan-edms/mayan-edms/issues/468>`_ plain text e-mails without charset do not work
|
||||
* `GitLab issue #470 <https://gitlab.com/mayan-edms/mayan-edms/issues/470>`_ Enable Django variable for HTML encoded emails
|
||||
* `GitLab issue #474 <https://gitlab.com/mayan-edms/mayan-edms/issues/474>`_ Provide option to serve Mayan EDMS without a webserver (using Tornado o similar).
|
||||
* `GitLab issue #480 <https://gitlab.com/mayan-edms/mayan-edms/issues/480>`_ Wrong Environment Variables names in documentation
|
||||
* `GitLab issue #481 <https://gitlab.com/mayan-edms/mayan-edms/issues/481>`_ IMAP sources with metadata not working in 3.0rc1
|
||||
* `GitHub issue #264 <https://github.com/mayan-edms/mayan-edms/issues/264>`_ migrate fails on document_states 0004_workflow_internal_name
|
||||
* `GitHub issue #269 <https://github.com/mayan-edms/mayan-edms/issues/269>`_ Lack of authentication for document previews
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
|
||||
@@ -1,83 +0,0 @@
|
||||
Version 3.1.1
|
||||
=============
|
||||
|
||||
Released: September 18, 2018
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
- CSS tweak to make sure the AJAX spinner stays in place.
|
||||
- Fix 90, 180 and 270 degrees rotation transformations.
|
||||
|
||||
|
||||
Removals
|
||||
--------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Upgrading from a previous version
|
||||
---------------------------------
|
||||
|
||||
If installed via Python's PIP
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Remove deprecated requirements::
|
||||
|
||||
$ curl https://gitlab.com/mayan-edms/mayan-edms/raw/master/removals.txt | pip uninstall -r /dev/stdin
|
||||
|
||||
Type in the console::
|
||||
|
||||
$ pip install mayan-edms==3.1.1
|
||||
|
||||
the requirements will also be updated automatically.
|
||||
|
||||
|
||||
Using Git
|
||||
^^^^^^^^^
|
||||
|
||||
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.
|
||||
|
||||
Remove deprecated requirements::
|
||||
|
||||
$ pip uninstall -y -r removals.txt
|
||||
|
||||
Next upgrade/add the new requirements::
|
||||
|
||||
$ pip install --upgrade -r requirements.txt
|
||||
|
||||
|
||||
Common steps
|
||||
^^^^^^^^^^^^
|
||||
|
||||
Perform these steps after updating the code from either step above.
|
||||
|
||||
Migrate existing database schema with::
|
||||
|
||||
$ mayan-edms.py performupgrade
|
||||
|
||||
Add new static media::
|
||||
|
||||
$ mayan-edms.py collectstatic --noinput
|
||||
|
||||
The upgrade procedure is now complete.
|
||||
|
||||
|
||||
Backward incompatible changes
|
||||
-----------------------------
|
||||
|
||||
* None
|
||||
|
||||
|
||||
Bugs fixed or issues closed
|
||||
---------------------------
|
||||
|
||||
* None
|
||||
|
||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user