Compare commits
2 Commits
developmen
...
feature/pc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bbcf7f53fb | ||
|
|
7e67a2384f |
38
.gitignore
vendored
@@ -3,28 +3,26 @@
|
|||||||
*.pyo
|
*.pyo
|
||||||
*.sqlite
|
*.sqlite
|
||||||
*.sqlite3
|
*.sqlite3
|
||||||
*egg-info*
|
|
||||||
.coverage
|
|
||||||
.coverage.tox*
|
|
||||||
.idea/
|
|
||||||
.tox/
|
|
||||||
.vagrant
|
|
||||||
_build/
|
|
||||||
/build/
|
|
||||||
coverage.xml
|
|
||||||
document_storage/
|
|
||||||
gpg_home/
|
|
||||||
htmlcov/
|
|
||||||
mayan/media/
|
|
||||||
mayan/media/document_cache/
|
|
||||||
mayan/settings/local.py
|
|
||||||
mayan/error.log
|
|
||||||
settings_local.py
|
settings_local.py
|
||||||
static_collected/
|
|
||||||
/celerybeat-schedule
|
/celerybeat-schedule
|
||||||
/fabfile_install
|
document_storage/
|
||||||
/dist/
|
|
||||||
/misc/mayan.geany
|
/misc/mayan.geany
|
||||||
|
mayan/media/document_cache/
|
||||||
|
build/
|
||||||
|
_build/
|
||||||
|
gpg_home/
|
||||||
/mayan/media/static/
|
/mayan/media/static/
|
||||||
/venv/
|
|
||||||
/whoosh_index/
|
/whoosh_index/
|
||||||
|
/fabfile_install
|
||||||
|
/venv/
|
||||||
|
.coverage
|
||||||
|
/dist/
|
||||||
|
.idea/
|
||||||
|
static_collected/
|
||||||
|
*egg-info*
|
||||||
|
mayan/settings/local.py
|
||||||
|
.vagrant
|
||||||
|
.tox/
|
||||||
|
coverage.xml
|
||||||
|
.coverage.tox*
|
||||||
|
htmlcov/
|
||||||
|
|||||||
@@ -1,14 +1,10 @@
|
|||||||
image: ubuntu:16.10
|
image: python:2.7
|
||||||
services:
|
services:
|
||||||
- mysql:latest
|
- mysql
|
||||||
- postgres
|
- postgres
|
||||||
before_script:
|
before_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
|
|
||||||
- apt-get update -qq
|
- apt-get update -qq
|
||||||
- apt-get install -qq curl graphviz python-dev python-pip gcc gnupg1 tesseract-ocr tesseract-ocr-deu ghostscript libjpeg-dev libpng-dev libtiff-dev poppler-utils libreoffice
|
- apt-get install -qq python-dev gcc tesseract-ocr tesseract-ocr-deu unpaper ghostscript libjpeg-dev libpng-dev libtiff-dev poppler-utils libreoffice
|
||||||
variables:
|
variables:
|
||||||
POSTGRES_DB: "mayan_edms"
|
POSTGRES_DB: "mayan_edms"
|
||||||
POSTGRES_PASSWORD: "postgres"
|
POSTGRES_PASSWORD: "postgres"
|
||||||
@@ -16,26 +12,24 @@ variables:
|
|||||||
MYSQL_DATABASE: "mayan_edms"
|
MYSQL_DATABASE: "mayan_edms"
|
||||||
test:mysql:
|
test:mysql:
|
||||||
script:
|
script:
|
||||||
- apt-get install -qq libmysqlclient-dev
|
|
||||||
- pip install -r requirements/testing.txt
|
- pip install -r requirements/testing.txt
|
||||||
- pip install mysql-python
|
- pip install -q mysql-python
|
||||||
- apt-get install -qq mysql-client
|
- apt-get install -qq mysql-client
|
||||||
- mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD" -e "set global character_set_server=utf8mb4;"
|
- mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD" -e "ALTER DATABASE $MYSQL_DATABASE CHARACTER SET utf8 COLLATE utf8_unicode_ci;"
|
||||||
- coverage run manage.py test --mayan-apps --settings=mayan.settings.testing.gitlab-ci.db_mysql --nomigrations
|
- coverage run manage.py runtests --settings=mayan.settings.testing.gitlab-ci.db_mysql --nomigrations
|
||||||
- codecov
|
- bash <(curl https://raw.githubusercontent.com/codecov/codecov-bash/master/codecov) -t $CODECOV_TOKEN
|
||||||
tags:
|
tags:
|
||||||
- mysql
|
- mysql
|
||||||
test:postgres:
|
test:postgres:
|
||||||
script:
|
script:
|
||||||
- apt-get install -qq libpq-dev
|
|
||||||
- pip install -r requirements/testing.txt
|
- pip install -r requirements/testing.txt
|
||||||
- pip install psycopg2
|
- pip install -q psycopg2
|
||||||
- coverage run manage.py test --mayan-apps --settings=mayan.settings.testing.gitlab-ci.db_postgres --nomigrations
|
- coverage run manage.py runtests --settings=mayan.settings.testing.gitlab-ci.db_postgres --nomigrations
|
||||||
- codecov
|
- bash <(curl https://raw.githubusercontent.com/codecov/codecov-bash/master/codecov) -t $CODECOV_TOKEN
|
||||||
tags:
|
tags:
|
||||||
- postgres
|
- postgres
|
||||||
test:sqlite:
|
test:sqlite:
|
||||||
script:
|
script:
|
||||||
- pip install -r requirements/testing.txt
|
- pip install -r requirements/testing.txt
|
||||||
- coverage run manage.py test --mayan-apps --settings=mayan.settings.testing.gitlab-ci --nomigrations
|
- coverage run manage.py runtests --settings=mayan.settings.testing.gitlab-ci --nomigrations
|
||||||
- codecov
|
- bash <(curl https://raw.githubusercontent.com/codecov/codecov-bash/master/codecov) -t $CODECOV_TOKEN
|
||||||
|
|||||||
10
.travis.yml
@@ -1,5 +1,3 @@
|
|||||||
dist: trusty
|
|
||||||
sudo: required
|
|
||||||
language: python
|
language: python
|
||||||
python:
|
python:
|
||||||
- 2.7
|
- 2.7
|
||||||
@@ -10,7 +8,7 @@ env:
|
|||||||
- DB=sqlite
|
- DB=sqlite
|
||||||
before_install:
|
before_install:
|
||||||
- sudo apt-get update -qq
|
- sudo apt-get update -qq
|
||||||
- sudo apt-get install -qq python-dev python-pip gcc tesseract-ocr tesseract-ocr-deu ghostscript libjpeg-dev libpng-dev libtiff-dev poppler-utils libreoffice
|
- sudo apt-get install -qq python-dev gcc tesseract-ocr tesseract-ocr-deu unpaper ghostscript libjpeg-dev libpng-dev poppler-utils libreoffice
|
||||||
install:
|
install:
|
||||||
- "pip install -r requirements/testing.txt"
|
- "pip install -r requirements/testing.txt"
|
||||||
- if [[ $DB == mysql ]]; then pip install -q mysql-python; fi
|
- if [[ $DB == mysql ]]; then pip install -q mysql-python; fi
|
||||||
@@ -19,9 +17,9 @@ before_script:
|
|||||||
- mysql -e 'create database mayan_edms;'
|
- mysql -e 'create database mayan_edms;'
|
||||||
- psql -c 'create database mayan_edms;' -U postgres
|
- psql -c 'create database mayan_edms;' -U postgres
|
||||||
script:
|
script:
|
||||||
- if [[ $DB == mysql ]]; then coverage run manage.py test --mayan-apps --settings=mayan.settings.testing.travis.db_mysql --nomigrations; fi
|
- if [[ $DB == mysql ]]; then coverage run manage.py runtests --settings=mayan.settings.testing.travis.db_mysql --nomigrations; fi
|
||||||
- if [[ $DB == postgres ]]; then coverage run manage.py test --mayan-apps --settings=mayan.settings.testing.travis.db_postgres --nomigrations; fi
|
- if [[ $DB == postgres ]]; then coverage run manage.py runtests --settings=mayan.settings.testing.travis.db_postgres --nomigrations; fi
|
||||||
- if [[ $DB == sqlite ]]; then coverage run manage.py test --mayan-apps --settings=mayan.settings.testing.base --nomigrations; fi
|
- if [[ $DB == sqlite ]]; then coverage run manage.py runtests --settings=mayan.settings.testing.base --nomigrations; fi
|
||||||
after_success:
|
after_success:
|
||||||
- coveralls
|
- coveralls
|
||||||
branches:
|
branches:
|
||||||
|
|||||||
40
.tx/config
@@ -19,12 +19,6 @@ source_lang = en
|
|||||||
source_file = mayan/apps/authentication/locale/en/LC_MESSAGES/django.po
|
source_file = mayan/apps/authentication/locale/en/LC_MESSAGES/django.po
|
||||||
type = PO
|
type = PO
|
||||||
|
|
||||||
[mayan-edms.cabinets-2-0]
|
|
||||||
file_filter = mayan/apps/cabinets/locale/<lang>/LC_MESSAGES/django.po
|
|
||||||
source_lang = en
|
|
||||||
source_file = mayan/apps/cabinets/locale/en/LC_MESSAGES/django.po
|
|
||||||
type = PO
|
|
||||||
|
|
||||||
[mayan-edms.checkouts-2-0]
|
[mayan-edms.checkouts-2-0]
|
||||||
file_filter = mayan/apps/checkouts/locale/<lang>/LC_MESSAGES/django.po
|
file_filter = mayan/apps/checkouts/locale/<lang>/LC_MESSAGES/django.po
|
||||||
source_lang = en
|
source_lang = en
|
||||||
@@ -67,12 +61,6 @@ source_lang = en
|
|||||||
source_file = mayan/apps/document_indexing/locale/en/LC_MESSAGES/django.po
|
source_file = mayan/apps/document_indexing/locale/en/LC_MESSAGES/django.po
|
||||||
type = PO
|
type = PO
|
||||||
|
|
||||||
[mayan-edms.document_parsing-2-0]
|
|
||||||
file_filter = mayan/apps/document_parsing/locale/<lang>/LC_MESSAGES/django.po
|
|
||||||
source_lang = en
|
|
||||||
source_file = mayan/apps/document_parsing/locale/en/LC_MESSAGES/django.po
|
|
||||||
type = PO
|
|
||||||
|
|
||||||
[mayan-edms.document_signatures-2-0]
|
[mayan-edms.document_signatures-2-0]
|
||||||
file_filter = mayan/apps/document_signatures/locale/<lang>/LC_MESSAGES/django.po
|
file_filter = mayan/apps/document_signatures/locale/<lang>/LC_MESSAGES/django.po
|
||||||
source_lang = en
|
source_lang = en
|
||||||
@@ -97,6 +85,18 @@ source_lang = en
|
|||||||
source_file = mayan/apps/events/locale/en/LC_MESSAGES/django.po
|
source_file = mayan/apps/events/locale/en/LC_MESSAGES/django.po
|
||||||
type = PO
|
type = PO
|
||||||
|
|
||||||
|
[mayan-edms.folders-2-0]
|
||||||
|
file_filter = mayan/apps/folders/locale/<lang>/LC_MESSAGES/django.po
|
||||||
|
source_lang = en
|
||||||
|
source_file = mayan/apps/folders/locale/en/LC_MESSAGES/django.po
|
||||||
|
type = PO
|
||||||
|
|
||||||
|
[mayan-edms.installation-2-0]
|
||||||
|
file_filter = mayan/apps/installation/locale/<lang>/LC_MESSAGES/django.po
|
||||||
|
source_lang = en
|
||||||
|
source_file = mayan/apps/installation/locale/en/LC_MESSAGES/django.po
|
||||||
|
type = PO
|
||||||
|
|
||||||
[mayan-edms.linking-2-0]
|
[mayan-edms.linking-2-0]
|
||||||
file_filter = mayan/apps/linking/locale/<lang>/LC_MESSAGES/django.po
|
file_filter = mayan/apps/linking/locale/<lang>/LC_MESSAGES/django.po
|
||||||
source_lang = en
|
source_lang = en
|
||||||
@@ -127,10 +127,10 @@ source_lang = en
|
|||||||
source_file = mayan/apps/mirroring/locale/en/LC_MESSAGES/django.po
|
source_file = mayan/apps/mirroring/locale/en/LC_MESSAGES/django.po
|
||||||
type = PO
|
type = PO
|
||||||
|
|
||||||
[mayan-edms.motd-2-0]
|
[mayan-edms.navigation-2-0]
|
||||||
file_filter = mayan/apps/motd/locale/<lang>/LC_MESSAGES/django.po
|
file_filter = mayan/apps/navigation/locale/<lang>/LC_MESSAGES/django.po
|
||||||
source_lang = en
|
source_lang = en
|
||||||
source_file = mayan/apps/motd/locale/en/LC_MESSAGES/django.po
|
source_file = mayan/apps/navigation/locale/en/LC_MESSAGES/django.po
|
||||||
type = PO
|
type = PO
|
||||||
|
|
||||||
[mayan-edms.ocr-2-0]
|
[mayan-edms.ocr-2-0]
|
||||||
@@ -164,9 +164,9 @@ source_file = mayan/apps/sources/locale/en/LC_MESSAGES/django.po
|
|||||||
type = PO
|
type = PO
|
||||||
|
|
||||||
[mayan-edms.statistics-2-0]
|
[mayan-edms.statistics-2-0]
|
||||||
file_filter = mayan/apps/mayan_statistics/locale/<lang>/LC_MESSAGES/django.po
|
file_filter = mayan/apps/statistics/locale/<lang>/LC_MESSAGES/django.po
|
||||||
source_lang = en
|
source_lang = en
|
||||||
source_file = mayan/apps/mayan_statistics/locale/en/LC_MESSAGES/django.po
|
source_file = mayan/apps/statistics/locale/en/LC_MESSAGES/django.po
|
||||||
type = PO
|
type = PO
|
||||||
|
|
||||||
[mayan-edms.storage-2-0]
|
[mayan-edms.storage-2-0]
|
||||||
@@ -181,12 +181,6 @@ source_lang = en
|
|||||||
source_file = mayan/apps/tags/locale/en/LC_MESSAGES/django.po
|
source_file = mayan/apps/tags/locale/en/LC_MESSAGES/django.po
|
||||||
type = PO
|
type = PO
|
||||||
|
|
||||||
[mayan-edms.task_manager-2-0]
|
|
||||||
file_filter = mayan/apps/task_manager/locale/<lang>/LC_MESSAGES/django.po
|
|
||||||
source_lang = en
|
|
||||||
source_file = mayan/apps/task_manager/locale/en/LC_MESSAGES/django.po
|
|
||||||
type = PO
|
|
||||||
|
|
||||||
[mayan-edms.user_management-2-0]
|
[mayan-edms.user_management-2-0]
|
||||||
file_filter = mayan/apps/user_management/locale/<lang>/LC_MESSAGES/django.po
|
file_filter = mayan/apps/user_management/locale/<lang>/LC_MESSAGES/django.po
|
||||||
source_lang = en
|
source_lang = en
|
||||||
|
|||||||
@@ -1,78 +0,0 @@
|
|||||||
Contributing to Mayan EDMS
|
|
||||||
==========================
|
|
||||||
|
|
||||||
Issues
|
|
||||||
------
|
|
||||||
|
|
||||||
- Before submitting a new issue, check for **open issues** first and join the
|
|
||||||
discussion.
|
|
||||||
- If your issue is not attended in a while, **be patient**, the core team is
|
|
||||||
small and the codebase big.
|
|
||||||
- Try to reproduce the issue using a **separate, clean installation**, sometimes
|
|
||||||
the issue can be caused by an error in a configuration file and not with the
|
|
||||||
code itself.
|
|
||||||
- **Do not upload** sensitive, private or classified information or files with
|
|
||||||
your issue. If the issue is triggered by a user file, create a dummy file with the
|
|
||||||
same properties that can trigger the issue and upload that file instead.
|
|
||||||
- Add steps that trigger the issue in a **repeatable manner**.
|
|
||||||
- **Screenshots** go a long way in helping understand problems.
|
|
||||||
- The issue must be related to the code only, do not open issues for problems
|
|
||||||
with deployments, webservers, cloud providers, etc.
|
|
||||||
- Do not open issues asking for **support or consulting**.
|
|
||||||
|
|
||||||
Code
|
|
||||||
----
|
|
||||||
|
|
||||||
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:
|
|
||||||
|
|
||||||
a. **master:** Current stable version.
|
|
||||||
a. **series/X.Y:** There will be a **series** branch for each major version
|
|
||||||
release (1.0, 2.0). The **master** branch will be in sync with the latest
|
|
||||||
**series** branch.
|
|
||||||
a. **development:** Unstable branch where the development for the next minor or
|
|
||||||
major release is happening.
|
|
||||||
a. **feature/X:** These are branches dealing with a specific bug or feature
|
|
||||||
that is not yet ready to be merged.
|
|
||||||
a. The **master** and **series** branches are stable and not braking changes
|
|
||||||
must be submitted or merged. The **development** and **feature** branches
|
|
||||||
are unstable and should not be used in production.
|
|
||||||
|
|
||||||
1. Start making your changes in your own separate branch.
|
|
||||||
1. Write a test which shows that the bug was fixed or that the feature works as
|
|
||||||
expected.
|
|
||||||
1. Sign your work. Your signature certifies your submission according to the
|
|
||||||
articles of the [Developer Certificate of Origin](https://gitlab.com/mayan-edms/mayan-edms/blob/master/DCO).
|
|
||||||
The sign-off should be in the form:
|
|
||||||
|
|
||||||
````
|
|
||||||
Signed-off-by: John Doe <john.doe@example.com>
|
|
||||||
````
|
|
||||||
|
|
||||||
You must use your real name and email, pseudonyms or anonymous contributions
|
|
||||||
are not allowed. If you set your user.name and user.email git configs, you can
|
|
||||||
sign your commit automatically with git commit -s.
|
|
||||||
1. Submit a merge request for your changes.
|
|
||||||
|
|
||||||
Feature requests
|
|
||||||
----------------
|
|
||||||
|
|
||||||
- Opening issues to start a discussion around a new feature or idea are welcomed.
|
|
||||||
- Be explicit about your idea and provide a simple scenario, others need to really
|
|
||||||
understand the concepts behind your idea if it is to be implemented.
|
|
||||||
- Be realistic in your expectation and scope of your idea.
|
|
||||||
|
|
||||||
Translations
|
|
||||||
------------
|
|
||||||
- Translations are handled using [Transifex](https://www.transifex.com/rosarior/mayan-edms/).
|
|
||||||
- Join an existing team for the language to which you wish to contribute,
|
|
||||||
if there is no team for your language, request for one to be created.
|
|
||||||
- Don't request the creation of a new language and expect others to do all the
|
|
||||||
work. If you request the creation of a new language try to do some of the
|
|
||||||
translation. Language teams that don't see activity for a while are deleted.
|
|
||||||
|
|
||||||
Code style
|
|
||||||
----------
|
|
||||||
- Refer to the [Development](http://mayan.readthedocs.io/en/latest/topics/development.html)
|
|
||||||
chapter for information and examples of the code style.
|
|
||||||
36
DCO
@@ -1,36 +0,0 @@
|
|||||||
Developer Certificate of Origin
|
|
||||||
Version 1.1
|
|
||||||
|
|
||||||
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
|
|
||||||
660 York Street, Suite 102,
|
|
||||||
San Francisco, CA 94110 USA
|
|
||||||
|
|
||||||
Everyone is permitted to copy and distribute verbatim copies of this
|
|
||||||
license document, but changing it is not allowed.
|
|
||||||
|
|
||||||
|
|
||||||
Developer's Certificate of Origin 1.1
|
|
||||||
|
|
||||||
By making a contribution to this project, I certify that:
|
|
||||||
|
|
||||||
(a) The contribution was created in whole or in part by me and I
|
|
||||||
have the right to submit it under the open source license
|
|
||||||
indicated in the file; or
|
|
||||||
|
|
||||||
(b) The contribution is based upon previous work that, to the best
|
|
||||||
of my knowledge, is covered under an appropriate open source
|
|
||||||
license and I have the right under that license to submit that
|
|
||||||
work with modifications, whether created in whole or in part
|
|
||||||
by me, under the same open source license (unless I am
|
|
||||||
permitted to submit under a different license), as indicated
|
|
||||||
in the file; or
|
|
||||||
|
|
||||||
(c) The contribution was provided directly to me by some other
|
|
||||||
person who certified (a), (b) or (c) and I have not modified
|
|
||||||
it.
|
|
||||||
|
|
||||||
(d) I understand and agree that this project and the contribution
|
|
||||||
are public and that a record of the contribution (including all
|
|
||||||
personal information I submit with it, including my sign-off) is
|
|
||||||
maintained indefinitely and may be redistributed consistent with
|
|
||||||
this project or the open source license(s) involved.
|
|
||||||
365
HISTORY.rst
@@ -1,363 +1,3 @@
|
|||||||
3.0 (2017-XX-XX)
|
|
||||||
================
|
|
||||||
- Add support for notifications. GitLab #262.
|
|
||||||
- Add quota support. GitLab #284.
|
|
||||||
|
|
||||||
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 extenstion 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)
|
2.0.2 (2016-02-09)
|
||||||
==================
|
==================
|
||||||
- Install testing dependencies when installing development dependencies.
|
- Install testing dependencies when installing development dependencies.
|
||||||
@@ -370,16 +10,15 @@
|
|||||||
- Strip HTML tags from the browser title.
|
- Strip HTML tags from the browser title.
|
||||||
- Remove Docker and Docker Compose files.
|
- Remove Docker and Docker Compose files.
|
||||||
|
|
||||||
|
|
||||||
2.0.1 (2016-01-22)
|
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 #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"
|
- Fix GitLab issue #245, "Add multiple metadata not possible"
|
||||||
- Updated Vagrantfile to provision a production box too.
|
- Updated Vagrantfile to provision a production box too.
|
||||||
|
|
||||||
|
|
||||||
2.0 (2015-12-04)
|
2.0 (2015-12-04)
|
||||||
================
|
================
|
||||||
|
|
||||||
- New source homepage: https://gitlab.com/mayan-edms/mayan-edms
|
- New source homepage: https://gitlab.com/mayan-edms/mayan-edms
|
||||||
- Update to Django 1.7
|
- Update to Django 1.7
|
||||||
- New Bootstrap Frontend UI
|
- New Bootstrap Frontend UI
|
||||||
@@ -451,6 +90,7 @@
|
|||||||
|
|
||||||
1.1 (2015-02-10)
|
1.1 (2015-02-10)
|
||||||
================
|
================
|
||||||
|
|
||||||
- Uses Celery for background tasks
|
- Uses Celery for background tasks
|
||||||
- Removal of the splash screen
|
- Removal of the splash screen
|
||||||
- Adds a home view with common function buttons
|
- Adds a home view with common function buttons
|
||||||
@@ -476,6 +116,7 @@
|
|||||||
|
|
||||||
1.0 (2014-08-27)
|
1.0 (2014-08-27)
|
||||||
================
|
================
|
||||||
|
|
||||||
- New home @ https://github.com/mayan-edms/mayan-edms
|
- New home @ https://github.com/mayan-edms/mayan-edms
|
||||||
- Updated to use Django 1.6
|
- Updated to use Django 1.6
|
||||||
- Translation updates
|
- Translation updates
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
include README.md LICENSE HISTORY.rst mayan/LICENSE
|
include README.rst LICENSE HISTORY.rst
|
||||||
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
|
recursive-include mayan *.txt *.html *.css *.ico *.png *.jpg *.js *.po *.mo *.ttf *.woff *.woff2 LICENSE
|
||||||
global-exclude mayan/settings/local.py mayan/settings/travis/* mayan/media/*
|
global-exclude mayan/settings/local.py mayan/settings/travis/* mayan/media/*
|
||||||
|
|||||||
340
Makefile
@@ -1,340 +0,0 @@
|
|||||||
.PHONY: clean-pyc clean-build
|
|
||||||
|
|
||||||
|
|
||||||
help:
|
|
||||||
@echo
|
|
||||||
@echo "clean-build - Remove build artifacts."
|
|
||||||
@echo "clean-pyc - Remove Python artifacts."
|
|
||||||
@echo "clean - Remove Python and build artifacts."
|
|
||||||
@echo "generate_setup - Create and updated setup.py"
|
|
||||||
|
|
||||||
@echo "test-all - Run all tests."
|
|
||||||
@echo "test MODULE=<python module name> - Run tests for a single app, module or test class."
|
|
||||||
@echo "test-with-postgres-all - Run all tests against a Postgres database container."
|
|
||||||
@echo "test-postgres MODULE=<python module name> - Run tests for a single app, module or test class against a Postgres database container."
|
|
||||||
@echo "test-with-mysql-all - Run all tests against a MySQL database container."
|
|
||||||
@echo "test-mysql MODULE=<python module name> - Run tests for a single app, module or test class against a MySQL database container."
|
|
||||||
@echo "test-with-oracle-all - Run all tests against a Oracle database container."
|
|
||||||
@echo "test-oracle MODULE=<python module name> - Run tests for a single app, module or test class against a Oracle database container."
|
|
||||||
|
|
||||||
@echo "docs_serve - Run the livehtml documentation generator."
|
|
||||||
|
|
||||||
@echo "translations_make - Refresh all translation files."
|
|
||||||
@echo "translations_compile - Compile all translation files."
|
|
||||||
@echo "translations_push - Upload all translation files to Transifex."
|
|
||||||
@echo "translations_pull - Download all translation files from Transifex."
|
|
||||||
|
|
||||||
@echo "requirements_dev - Install development requirements."
|
|
||||||
@echo "requirements_docs - Install documentation requirements."
|
|
||||||
@echo "requirements_testing - Install testing requirements."
|
|
||||||
|
|
||||||
@echo "sdist - Build the source distribution package."
|
|
||||||
@echo "wheel - Build the wheel distribution package."
|
|
||||||
@echo "release - Package (sdist and wheel) and upload a release."
|
|
||||||
@echo "test_release - Package (sdist and wheel) and upload to the PyPI test server."
|
|
||||||
@echo "release_test_via_docker_ubuntu - Package (sdist and wheel) and upload to the PyPI test server using an Ubuntu Docker builder."
|
|
||||||
@echo "release_test_via_docker_alpine - Package (sdist and wheel) and upload to the PyPI test server using an Alpine Docker builder."
|
|
||||||
@echo "release_via_docker_ubuntu - Package (sdist and wheel) and upload to PyPI using an Ubuntu Docker builder."
|
|
||||||
@echo "release_via_docker_alpine - Package (sdist and wheel) and upload to PyPI using an Alpine Docker builder."
|
|
||||||
@echo "test_sdist_via_docker_ubuntu - Make an sdist packange and test it using an Ubuntu Docker container."
|
|
||||||
@echo "test_wheel_via_docker_ubuntu - Make a wheel package and test it using an Ubuntu Docker container."
|
|
||||||
|
|
||||||
@echo "runserver - Run the development server."
|
|
||||||
@echo "runserver_plus - Run the Django extension's development server."
|
|
||||||
@echo "shell_plus - Run the shell_plus command."
|
|
||||||
|
|
||||||
@echo "docker_services_on - Launch and initialize production-like services using Docker (Postgres and Redis)."
|
|
||||||
@echo "docker_services_off - Stop and delete the Docker production-like services."
|
|
||||||
@echo "docker_services_frontend - Launch a front end instance that uses the production-like services."
|
|
||||||
@echo "docker_services_worker - Launch a worker instance that uses the production-like services."
|
|
||||||
@echo "docker_service_mysql_on - Launch and initialize a MySQL Docker container."
|
|
||||||
@echo "docker_service_mysql_off - Stop and delete the MySQL Docker container."
|
|
||||||
@echo "docker_service_postgres_on - Launch and initialize a PostgreSQL Docker container."
|
|
||||||
@echo "docker_service_postgres_off - Stop and delete the PostgreSQL Docker container."
|
|
||||||
|
|
||||||
@echo "safety_check - Run a package safety check."
|
|
||||||
|
|
||||||
|
|
||||||
# Cleaning
|
|
||||||
|
|
||||||
clean: clean-build clean-pyc
|
|
||||||
|
|
||||||
clean-build:
|
|
||||||
rm -fr build/
|
|
||||||
rm -fr dist/
|
|
||||||
rm -fr *.egg-info
|
|
||||||
|
|
||||||
clean-pyc:
|
|
||||||
find . -name '*.pyc' -exec rm -f {} +
|
|
||||||
find . -name '*.pyo' -exec rm -f {} +
|
|
||||||
find . -name '*~' -exec rm -f {} +
|
|
||||||
|
|
||||||
|
|
||||||
# Testing
|
|
||||||
|
|
||||||
test:
|
|
||||||
./manage.py test $(MODULE) --settings=mayan.settings.testing --nomigrations
|
|
||||||
|
|
||||||
test-all:
|
|
||||||
./manage.py test --mayan-apps --settings=mayan.settings.testing --nomigrations
|
|
||||||
|
|
||||||
test-launch-postgres:
|
|
||||||
@docker rm -f test-postgres || true
|
|
||||||
@docker volume rm test-postgres || true
|
|
||||||
docker run -d --name test-postgres -p 5432:5432 -v test-postgres:/var/lib/postgresql/data healthcheck/postgres
|
|
||||||
sudo apt-get install -qq libpq-dev
|
|
||||||
pip install psycopg2
|
|
||||||
while ! docker inspect --format='{{json .State.Health}}' test-postgres|grep 'Status":"healthy"'; do sleep 1; done
|
|
||||||
|
|
||||||
test-with-postgres: test-launch-postgres
|
|
||||||
./manage.py test $(MODULE) --settings=mayan.settings.testing.docker.db_postgres --nomigrations
|
|
||||||
@docker rm -f test-postgres || true
|
|
||||||
@docker volume rm test-postgres || true
|
|
||||||
|
|
||||||
test-with-postgres-all: test-launch-postgres
|
|
||||||
./manage.py test --mayan-apps --settings=mayan.settings.testing.docker.db_postgres --nomigrations
|
|
||||||
@docker rm -f test-postgres || true
|
|
||||||
@docker volume rm test-postgres || true
|
|
||||||
|
|
||||||
test-launch-mysql:
|
|
||||||
@docker rm -f test-mysql || true
|
|
||||||
@docker volume rm test-mysql || true
|
|
||||||
docker run -d --name test-mysql -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=True -e MYSQL_DATABASE=mayan -v test-mysql:/var/lib/mysql healthcheck/mysql
|
|
||||||
sudo apt-get install -qq libmysqlclient-dev mysql-client
|
|
||||||
pip install mysql-python
|
|
||||||
while ! docker inspect --format='{{json .State.Health}}' test-mysql|grep 'Status":"healthy"'; do sleep 1; done
|
|
||||||
mysql -h 127.0.0.1 -P 3306 -uroot -e "set global character_set_server=utf8mb4;"
|
|
||||||
|
|
||||||
test-with-mysql: test-launch-mysql
|
|
||||||
./manage.py test $(MODULE) --settings=mayan.settings.testing.docker.db_mysql --nomigrations
|
|
||||||
@docker rm -f test-mysql || true
|
|
||||||
@docker volume rm test-mysql || true
|
|
||||||
|
|
||||||
test-with-mysql-all: test-launch-mysql
|
|
||||||
./manage.py test --mayan-apps --settings=mayan.settings.testing.docker.db_mysql --nomigrations
|
|
||||||
@docker rm -f test-mysql || true
|
|
||||||
@docker volume rm test-mysql || true
|
|
||||||
|
|
||||||
test-launch-oracle:
|
|
||||||
@docker rm -f test-oracle || true
|
|
||||||
@docker volume rm test-oracle || true
|
|
||||||
docker run -d --name test-oracle -p 49160:22 -p 49161:1521 -e ORACLE_ALLOW_REMOTE=true -v test-oracle:/u01/app/oracle wnameless/oracle-xe-11g
|
|
||||||
# https://gist.github.com/kimus/10012910
|
|
||||||
pip install cx_Oracle
|
|
||||||
while ! nc -z 127.0.0.1 49161; do sleep 1; done
|
|
||||||
sleep 10
|
|
||||||
|
|
||||||
test-with-oracle: test-launch-oracle
|
|
||||||
./manage.py test $(MODULE) --settings=mayan.settings.testing.docker.db_oracle --nomigrations
|
|
||||||
@docker rm -f test-oracle || true
|
|
||||||
@docker volume rm test-oracle || true
|
|
||||||
|
|
||||||
test-with-oracle-all: test-launch-oracle
|
|
||||||
./manage.py test --mayan-apps --settings=mayan.settings.testing.docker.db_oracle --nomigrations
|
|
||||||
@docker rm -f test-oracle || true
|
|
||||||
@docker volume rm test-oracle || true
|
|
||||||
|
|
||||||
# Documentation
|
|
||||||
|
|
||||||
docs_serve:
|
|
||||||
cd docs;make livehtml
|
|
||||||
|
|
||||||
|
|
||||||
# Translations
|
|
||||||
|
|
||||||
translations_make:
|
|
||||||
contrib/scripts/process_messages.py -m
|
|
||||||
|
|
||||||
translations_compile:
|
|
||||||
contrib/scripts/process_messages.py -c
|
|
||||||
|
|
||||||
translations_push:
|
|
||||||
tx push -s
|
|
||||||
|
|
||||||
translations_pull:
|
|
||||||
tx pull -f
|
|
||||||
|
|
||||||
|
|
||||||
# Requirements
|
|
||||||
|
|
||||||
requirements_dev:
|
|
||||||
pip install -r requirements/development.txt
|
|
||||||
|
|
||||||
requirements_docs:
|
|
||||||
pip install -r requirements/documentation.txt
|
|
||||||
|
|
||||||
requirements_testing:
|
|
||||||
pip install -r requirements/testing.txt
|
|
||||||
|
|
||||||
generate_setup:
|
|
||||||
@./generate_setup.py
|
|
||||||
@echo "Complete."
|
|
||||||
|
|
||||||
# Releases
|
|
||||||
|
|
||||||
|
|
||||||
test_release: clean wheel
|
|
||||||
twine upload dist/* -r testpypi
|
|
||||||
@echo "Test with: pip install -i https://testpypi.python.org/pypi mayan-edms"
|
|
||||||
|
|
||||||
release: clean wheel
|
|
||||||
twine upload dist/* -r pypi
|
|
||||||
|
|
||||||
sdist: clean
|
|
||||||
python setup.py sdist
|
|
||||||
ls -l dist
|
|
||||||
|
|
||||||
wheel: clean sdist
|
|
||||||
pip wheel --no-index --no-deps --wheel-dir dist dist/*.tar.gz
|
|
||||||
ls -l dist
|
|
||||||
|
|
||||||
release_test_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 "\
|
|
||||||
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 && \
|
|
||||||
make test_release"
|
|
||||||
|
|
||||||
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 "\
|
|
||||||
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 && \
|
|
||||||
make release"
|
|
||||||
|
|
||||||
release_test_via_docker_alpine:
|
|
||||||
docker run --rm --name mayan_release -v $(HOME):/host_home:ro -v `pwd`:/host_source -w /source alpine /bin/busybox sh -c "\
|
|
||||||
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/* . && \
|
|
||||||
apk update && \
|
|
||||||
apk add python2 py2-pip make && \
|
|
||||||
pip install -r requirements/build.txt && \
|
|
||||||
cp -r /host_home/.pypirc ~/.pypirc && \
|
|
||||||
make test_release"
|
|
||||||
|
|
||||||
release_via_docker_alpine:
|
|
||||||
docker run --rm --name mayan_release -v $(HOME):/host_home:ro -v `pwd`:/host_source -w /source alpine /bin/busybox sh -c "\
|
|
||||||
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/* . && \
|
|
||||||
apk update && \
|
|
||||||
apk add python2 py2-pip make && \
|
|
||||||
pip install -r requirements/build.txt && \
|
|
||||||
cp -r /host_home/.pypirc ~/.pypirc && \
|
|
||||||
make release"
|
|
||||||
|
|
||||||
test_sdist_via_docker_ubuntu:
|
|
||||||
docker run --rm --name mayan_sdist_test -v $(HOME):/host_home:ro -v `pwd`:/host_source -w /source ubuntu:16.04 /bin/bash -c "\
|
|
||||||
cp -r /host_source/* . && \
|
|
||||||
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 && \
|
|
||||||
apt-get update && \
|
|
||||||
apt-get install make python-pip libreoffice tesseract-ocr tesseract-ocr-deu poppler-utils -y && \
|
|
||||||
pip install -r requirements/development.txt && \
|
|
||||||
make sdist_test_suit \
|
|
||||||
"
|
|
||||||
|
|
||||||
test_wheel_via_docker_ubuntu:
|
|
||||||
docker run --rm --name mayan_wheel_test -v $(HOME):/host_home:ro -v `pwd`:/host_source -w /source ubuntu:16.04 /bin/bash -c "\
|
|
||||||
cp -r /host_source/* . && \
|
|
||||||
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 && \
|
|
||||||
apt-get update && \
|
|
||||||
apt-get install make python-pip libreoffice tesseract-ocr tesseract-ocr-deu poppler-utils -y && \
|
|
||||||
pip install -r requirements/development.txt && \
|
|
||||||
make wheel_test_suit \
|
|
||||||
"
|
|
||||||
|
|
||||||
sdist_test_suit: sdist
|
|
||||||
rm -f -R _virtualenv
|
|
||||||
virtualenv _virtualenv
|
|
||||||
sh -c '\
|
|
||||||
. _virtualenv/bin/activate; \
|
|
||||||
pip install `ls dist/*.gz`; \
|
|
||||||
_virtualenv/bin/mayan-edms.py initialsetup; \
|
|
||||||
pip install mock==2.0.0; \
|
|
||||||
_virtualenv/bin/mayan-edms.py test --mayan-apps \
|
|
||||||
'
|
|
||||||
|
|
||||||
wheel_test_suit: wheel
|
|
||||||
rm -f -R _virtualenv
|
|
||||||
virtualenv _virtualenv
|
|
||||||
sh -c '\
|
|
||||||
. _virtualenv/bin/activate; \
|
|
||||||
pip install `ls dist/*.whl`; \
|
|
||||||
_virtualenv/bin/mayan-edms.py initialsetup; \
|
|
||||||
pip install mock==2.0.0; \
|
|
||||||
_virtualenv/bin/mayan-edms.py test --mayan-apps \
|
|
||||||
'
|
|
||||||
|
|
||||||
# Dev server
|
|
||||||
|
|
||||||
runserver:
|
|
||||||
./manage.py runserver --settings=mayan.settings.development
|
|
||||||
|
|
||||||
runserver_plus:
|
|
||||||
./manage.py runserver_plus --settings=mayan.settings.development
|
|
||||||
|
|
||||||
shell_plus:
|
|
||||||
./manage.py shell_plus --settings=mayan.settings.development
|
|
||||||
|
|
||||||
docker_services_on:
|
|
||||||
docker run -d --name redis -p 6379:6379 redis
|
|
||||||
docker run -d --name postgres -p 5432:5432 postgres
|
|
||||||
while ! nc -z 127.0.0.1 6379; do sleep 1; done
|
|
||||||
while ! nc -z 127.0.0.1 5432; do sleep 1; done
|
|
||||||
sleep 2
|
|
||||||
./manage.py initialsetup --settings=mayan.settings.staging.docker
|
|
||||||
|
|
||||||
docker_services_off:
|
|
||||||
docker stop postgres redis
|
|
||||||
docker rm postgres redis
|
|
||||||
|
|
||||||
docker_services_frontend:
|
|
||||||
./manage.py runserver --settings=mayan.settings.staging.docker
|
|
||||||
|
|
||||||
docker_services_worker:
|
|
||||||
./manage.py celery worker --settings=mayan.settings.staging.docker -B -l INFO -O fair
|
|
||||||
|
|
||||||
docker_service_mysql_on:
|
|
||||||
docker run -d --name mysql -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=True -e MYSQL_DATABASE=mayan_edms mysql
|
|
||||||
while ! nc -z 127.0.0.1 3306; do sleep 1; done
|
|
||||||
|
|
||||||
docker_service_mysql_off:
|
|
||||||
docker stop mysql
|
|
||||||
docker rm mysql
|
|
||||||
|
|
||||||
docker_service_postgres_on:
|
|
||||||
docker run -d --name postgres -p 5432:5432 postgres
|
|
||||||
while ! nc -z 127.0.0.1 5432; do sleep 1; done
|
|
||||||
|
|
||||||
docker_service_postgres_off:
|
|
||||||
docker stop postgres
|
|
||||||
docker rm postgres
|
|
||||||
|
|
||||||
|
|
||||||
# Security
|
|
||||||
|
|
||||||
safety_check:
|
|
||||||
safety check
|
|
||||||
72
README.md
@@ -1,72 +0,0 @@
|
|||||||
[![pypi][pypi]][pypi-url]
|
|
||||||
[![builds][builds]][builds-url]
|
|
||||||
[![coverage][cover]][cover-url]
|
|
||||||
![python][python]
|
|
||||||
![license][license]
|
|
||||||
|
|
||||||
[pypi]: http://img.shields.io/pypi/v/mayan-edms.svg
|
|
||||||
[pypi-url]: http://badge.fury.io/py/mayan-edms
|
|
||||||
|
|
||||||
[builds]: https://gitlab.com/mayan-edms/mayan-edms/badges/master/build.svg
|
|
||||||
[builds-url]: https://gitlab.com/mayan-edms/mayan-edms/pipelines
|
|
||||||
|
|
||||||
[cover]: https://codecov.io/gitlab/mayan-edms/mayan-edms/coverage.svg?branch=master
|
|
||||||
[cover-url]: https://codecov.io/gitlab/mayan-edms/mayan-edms?branch=master
|
|
||||||
|
|
||||||
[python]: https://img.shields.io/pypi/pyversions/mayan-edms.svg
|
|
||||||
[python-url]: https://img.shields.io/pypi/l/mayan-edms.svg?style=flat
|
|
||||||
|
|
||||||
[license]: https://img.shields.io/pypi/l/mayan-edms.svg?style=flat
|
|
||||||
[license-url]: https://img.shields.io/pypi/l/mayan-edms.svg?style=flat
|
|
||||||
|
|
||||||
|
|
||||||
<div align="center">
|
|
||||||
<a href="http://www.mayan-edms.com">
|
|
||||||
<img width="200" heigth="200" src="https://gitlab.com/mayan-edms/mayan-edms/raw/master/docs/_static/mayan_logo.png">
|
|
||||||
</a>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<p>
|
|
||||||
Mayan EDMS is a document management system. Its main purpose is to store,
|
|
||||||
introspect, and categorize files, with a strong emphasis on preserving the
|
|
||||||
contextual and business information of documents. It can also OCR, preview,
|
|
||||||
label, sign, send, and receive thoses files. Other features of interest
|
|
||||||
are its workflow system, role based access control, and REST API.
|
|
||||||
<p>
|
|
||||||
|
|
||||||
<p align="center">
|
|
||||||
<img src="https://gitlab.com/mayan-edms/mayan-edms/raw/master/docs/_static/overview.gif">
|
|
||||||
</p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h2 align="center">Installation</h2>
|
|
||||||
|
|
||||||
The easiest way to use Mayan EDMS is by using the official
|
|
||||||
[Docker](https://www.docker.com/) image. Make sure Docker is properly installed
|
|
||||||
and working before attempting to install Mayan EDMS.
|
|
||||||
|
|
||||||
For the complete set of installation, configuration, upgrade, and backup
|
|
||||||
instructions visit the Mayan EDMS Docker Hub page at:
|
|
||||||
https://hub.docker.com/r/mayanedms/mayanedms/
|
|
||||||
|
|
||||||
<h2 align="center">Hardware requirements</h2>
|
|
||||||
|
|
||||||
- 2 Gigabytes of RAM (1 Gigabyte if OCR is turned off).
|
|
||||||
- Multiple core CPU (64 bit, faster than 1 GHz recommended).
|
|
||||||
|
|
||||||
<h2 align="center">Important links</h2>
|
|
||||||
|
|
||||||
|
|
||||||
- [Homepage](http://www.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)
|
|
||||||
- [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/)
|
|
||||||
|
|
||||||
127
README.rst
@@ -1,58 +1,79 @@
|
|||||||
|pypi| |builds| |coverage| |python| |license|
|
|Build Status| |Coverage badge| |PyPI badge| |Installs badge| |License badge|
|
||||||
|
|
||||||
|
|Logo|
|
||||||
|
|
||||||
|
Description
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Free Open Source Electronic Document Management System.
|
||||||
|
|
||||||
|
`Website`_
|
||||||
|
|
||||||
|
`Video demostration`_
|
||||||
|
|
||||||
|
`Documentation`_
|
||||||
|
|
||||||
|
`Translations`_
|
||||||
|
|
||||||
|
`Mailing list (via Google Groups)`_
|
||||||
|
|
||||||
|
|Animation|
|
||||||
|
|
||||||
|
Support
|
||||||
|
-------
|
||||||
|
Help support further improvements and development by donating at: https://www.patreon.com/siloraptor
|
||||||
|
|
||||||
|
License
|
||||||
|
-------
|
||||||
|
|
||||||
|
This project is open sourced under `Apache 2.0 License`_.
|
||||||
|
|
||||||
|
Installation
|
||||||
|
------------
|
||||||
|
|
||||||
|
To install **Mayan EDMS**, simply do:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ virtualenv venv
|
||||||
|
$ source venv/bin/activate
|
||||||
|
$ pip install mayan-edms
|
||||||
|
$ mayan-edms.py initialsetup
|
||||||
|
$ mayan-edms.py runserver
|
||||||
|
|
||||||
|
Point your browser to 127.0.0.1:8000 and use the automatically created admin
|
||||||
|
account.
|
||||||
|
|
||||||
|
Contribute
|
||||||
|
----------
|
||||||
|
|
||||||
|
- Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug.
|
||||||
|
- Fork `the repository`_ on GitLab to start making your changes to the **development** branch (or branch off of it).
|
||||||
|
- Write a test which shows that the bug was fixed or that the feature works as expected.
|
||||||
|
- Add yourself to the `contributors file`_.
|
||||||
|
- Send a merge request.
|
||||||
|
|
||||||
|
|
||||||
.. image:: https://gitlab.com/mayan-edms/mayan-edms/raw/master/docs/_static/mayan_logo.png
|
.. _Website: http://www.mayan-edms.com
|
||||||
:align: center
|
.. _Video demostration: http://bit.ly/pADNXv
|
||||||
:width: 200
|
.. _Documentation: http://readthedocs.org/docs/mayan/en/latest/
|
||||||
:height: 200
|
.. _Translations: https://www.transifex.com/projects/p/mayan-edms/
|
||||||
|
.. _Mailing list (via Google Groups): http://groups.google.com/group/mayan-edms
|
||||||
|
.. _Apache 2.0 License: https://www.apache.org/licenses/LICENSE-2.0.txt
|
||||||
|
.. _`the repository`: http://gitlab.com/mayan-edms/mayan-edms
|
||||||
|
.. _`contributors file`: https://gitlab.com/mayan-edms/mayan-edms/blob/master/docs/topics/contributors.rst
|
||||||
|
|
||||||
Mayan EDMS is a document management system. Its main purpose is to store,
|
.. |Build Status| image:: https://gitlab.com/ci/projects/6169/status.png?ref=master
|
||||||
introspect, and categorize files, with a strong emphasis on preserving the
|
:target: https://gitlab.com/ci/projects/6169?ref=master
|
||||||
contextual and business information of documents. It can also OCR, preview,
|
.. |Logo| image:: https://gitlab.com/mayan-edms/mayan-edms/raw/master/docs/_static/mayan_logo.png
|
||||||
label, sign, send, and receive thoses files. Other features of interest
|
.. |Animation| image:: https://gitlab.com/mayan-edms/mayan-edms/raw/master/docs/_static/overview.gif
|
||||||
are its workflow system, role based access control, and REST API.
|
.. |Installs badge| image:: http://img.shields.io/pypi/dm/mayan-edms.svg?style=flat
|
||||||
|
:target: https://crate.io/packages/mayan-edms/
|
||||||
.. image:: https://gitlab.com/mayan-edms/mayan-edms/raw/master/docs/_static/overview.gif
|
.. |PyPI badge| image:: http://img.shields.io/pypi/v/mayan-edms.svg?style=flat
|
||||||
:align: center
|
|
||||||
|
|
||||||
|
|
||||||
The easiest way to use Mayan EDMS is by using the official Docker_ image.
|
|
||||||
Make sure Docker is properly installed and working before attempting to install
|
|
||||||
Mayan EDMS.
|
|
||||||
|
|
||||||
For the complete set of installation, configuration, upgrade, and backup
|
|
||||||
instructions visit the Mayan EDMS Docker Hub page at:
|
|
||||||
https://hub.docker.com/r/mayanedms/mayanedms/
|
|
||||||
|
|
||||||
.. _Docker: https://www.docker.com/
|
|
||||||
|
|
||||||
Hardware requirements
|
|
||||||
|
|
||||||
- 2 Gigabytes of RAM (1 Gigabyte if OCR is turned off).
|
|
||||||
- Multiple core CPU (64 bit, faster than 1 GHz recommended).
|
|
||||||
|
|
||||||
|
|
||||||
Important links
|
|
||||||
|
|
||||||
- `Homepage <http://www.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>`__
|
|
||||||
- `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/>`__
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.. |pypi| image:: http://img.shields.io/pypi/v/mayan-edms.svg
|
|
||||||
:target: http://badge.fury.io/py/mayan-edms
|
:target: http://badge.fury.io/py/mayan-edms
|
||||||
.. |builds| image:: https://gitlab.com/mayan-edms/mayan-edms/badges/master/build.svg
|
.. |License badge| image:: http://img.shields.io/badge/license-Apache%202.0-green.svg?style=flat
|
||||||
:target: https://gitlab.com/mayan-edms/mayan-edms/pipelines
|
.. |Analytics| image:: https://ga-beacon.appspot.com/UA-52965619-2/mayan-edms/readme?pixel
|
||||||
.. |coverage| image:: https://codecov.io/gitlab/mayan-edms/mayan-edms/coverage.svg?branch=master
|
.. |Coverage badge| image:: https://codecov.io/gitlab/mayan-edms/mayan-edms/coverage.svg?branch=master
|
||||||
:target: https://codecov.io/gitlab/mayan-edms/mayan-edms?branch=master
|
:target: https://codecov.io/gitlab/mayan-edms/mayan-edms?branch=master
|
||||||
.. |python| image:: https://img.shields.io/pypi/pyversions/mayan-edms.svg
|
|
||||||
.. |license| image:: https://img.shields.io/pypi/l/mayan-edms.svg?style=flat
|
|Analytics|
|
||||||
|
|||||||
33
Vagrantfile
vendored
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
# -*- mode: ruby -*-
|
||||||
|
# vi: set ft=ruby :
|
||||||
|
|
||||||
|
VAGRANTFILE_API_VERSION = "2"
|
||||||
|
|
||||||
|
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
||||||
|
config.vm.box = "ubuntu/trusty64"
|
||||||
|
|
||||||
|
config.vm.provider :lxc do |v, override|
|
||||||
|
override.vm.box = "fgrehm/trusty64-lxc"
|
||||||
|
end
|
||||||
|
|
||||||
|
config.vm.provider :virtualbox do |vb|
|
||||||
|
vb.customize ["modifyvm", :id, "--memory", "1024"]
|
||||||
|
end
|
||||||
|
|
||||||
|
# Development box
|
||||||
|
config.vm.define "development", autostart: false do |development|
|
||||||
|
development.vm.network "forwarded_port", guest: 8000, host: 8000
|
||||||
|
development.vm.synced_folder ".", "/mayan-edms-repository"
|
||||||
|
development.vm.provision :shell, :path => "contrib/scripts/install/development.sh", privileged: false
|
||||||
|
|
||||||
|
development.vm.provision "file", destination: "/home/vagrant/mayan-edms/mayan/settings/celery_redis.py", source: "contrib/settings/celery_redis.py"
|
||||||
|
development.vm.provision "file", destination: "/home/vagrant/mayan-edms/mayan_edms_worker.sh", source: "contrib/misc/mayan_edms_worker.sh"
|
||||||
|
end
|
||||||
|
|
||||||
|
# Production box
|
||||||
|
config.vm.define "production", autostart: false do |production|
|
||||||
|
production.vm.network "forwarded_port", guest: 80, host: 8080
|
||||||
|
production.vm.provision :shell, :path => "contrib/scripts/install/production.sh", privileged: true
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
3
contrib/misc/mayan_edms_worker.sh
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
DJANGO_SETTINGS_MODULE='mayan.settings.celery_redis' celery -A mayan worker -l DEBUG -Ofair -B
|
||||||
22
contrib/nginx/mayan
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
server_name localhost;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
include uwsgi_params;
|
||||||
|
uwsgi_pass unix:/usr/share/mayan-edms/uwsgi.sock;
|
||||||
|
|
||||||
|
client_max_body_size 30M; # Increse if your plan to upload bigger documents
|
||||||
|
proxy_read_timeout 30s; # Increase if your document uploads take more than 30 seconds
|
||||||
|
}
|
||||||
|
|
||||||
|
location /static {
|
||||||
|
alias /usr/share/mayan-edms/mayan/media/static;
|
||||||
|
expires 1h;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /favicon.ico {
|
||||||
|
alias /usr/share/mayan-edms/mayan/media/static/appearance/images/favicon.ico;
|
||||||
|
expires 1h;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
1
contrib/scripts/PEP8_check.sh
Executable file
@@ -0,0 +1 @@
|
|||||||
|
flake8 --ignore=E501 mayan/apps | grep -v "F401 'models' imported but unused" | grep -v "F811 redefinition of unused 'models'"| grep -v "F401 'db' imported but unused" | grep -v "F812 list comprehension redefines 'user_id'" | grep -v "F812 list comprehension redefines 'document_id'" |less
|
||||||
@@ -18,7 +18,7 @@ sudo apt-get -qq update
|
|||||||
sudo apt-get -y upgrade
|
sudo apt-get -y upgrade
|
||||||
|
|
||||||
echo -e "\n -> Installing core binaries \n"
|
echo -e "\n -> Installing core binaries \n"
|
||||||
sudo apt-get -y install 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 unpaper libreoffice
|
||||||
|
|
||||||
echo -e "\n -> Cloning development branch of repository \n"
|
echo -e "\n -> Cloning development branch of repository \n"
|
||||||
git clone /mayan-edms-repository/ $INSTALLATION_DIRECTORY
|
git clone /mayan-edms-repository/ $INSTALLATION_DIRECTORY
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ apt-get -qq update
|
|||||||
apt-get -y upgrade
|
apt-get -y upgrade
|
||||||
|
|
||||||
echo -e "\n -> Installing core binaries \n"
|
echo -e "\n -> Installing core binaries \n"
|
||||||
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
|
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 unpaper poppler-utils -y
|
||||||
|
|
||||||
echo -e "\n -> Setting up virtualenv \n"
|
echo -e "\n -> Setting up virtualenv \n"
|
||||||
rm -f ${INSTALLATION_DIRECTORY}
|
rm -f ${INSTALLATION_DIRECTORY}
|
||||||
|
|||||||
4
contrib/scripts/make_dists.sh
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
python setup.py sdist
|
||||||
|
pip wheel --no-index --no-deps --wheel-dir dist dist/*.tar.gz
|
||||||
3
contrib/scripts/make_fabfile_tar.sh
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
find 'fabfile' -depth -name '*.pyc' -exec rm {} \;
|
||||||
|
tar -czvf contrib/fabfile.tar.gz fabfile
|
||||||
@@ -4,23 +4,24 @@ import optparse
|
|||||||
|
|
||||||
import sh
|
import sh
|
||||||
|
|
||||||
|
|
||||||
APP_LIST = (
|
APP_LIST = (
|
||||||
'acls', 'appearance', 'authentication', 'cabinets', 'checkouts', 'common',
|
'acls', 'appearance', 'authentication', 'checkouts', 'common',
|
||||||
'converter', 'django_gpg', 'document_comments', 'document_indexing',
|
'converter', 'django_gpg', 'document_comments', 'document_indexing',
|
||||||
'document_parsing', 'document_signatures', 'document_states', 'documents',
|
'document_signatures', 'document_states', 'documents', 'dynamic_search',
|
||||||
'dynamic_search', 'events', 'linking', 'lock_manager', 'mayan_statistics',
|
'events', 'folders', 'installation', 'linking', 'lock_manager', 'mailer',
|
||||||
'mailer', 'metadata', 'mirroring', 'motd', 'navigation', 'ocr',
|
'metadata', 'mirroring', 'navigation', 'ocr', 'permissions', 'rest_api',
|
||||||
'permissions', 'rest_api', 'smart_settings', 'sources', 'storage', 'tags',
|
'smart_settings', 'sources', 'statistics', 'storage', 'tags',
|
||||||
'task_manager', 'user_management'
|
'user_management'
|
||||||
)
|
)
|
||||||
|
|
||||||
LANGUAGE_LIST = (
|
LANGUAGE_LIST = (
|
||||||
'ar', 'bg', 'bs_BA', 'da', 'de_DE', 'en', 'es', 'fa', 'fr', 'hu', 'id',
|
'ar', 'bg', 'bs_BA', 'da', 'de_DE', 'en', 'es', 'fa', 'fr', 'hu', 'id',
|
||||||
'it', 'nl_NL', 'pl', 'pt', 'pt_BR', 'ro_RO', 'ru', 'sl_SI', 'tr_TR',
|
'it', 'nl_NL', 'pl', 'pt', 'pt_BR', 'ro_RO', 'ru', 'sl_SI', 'vi_VN',
|
||||||
'vi_VN', 'zh_CN',
|
'zh_CN',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Inactive translations
|
||||||
|
# 'de_CH', 'hr_HR', 'lv', 'nb', 'sq', 'tr_TR', 'zh_TW'
|
||||||
|
|
||||||
makemessages = sh.Command('django-admin.py')
|
makemessages = sh.Command('django-admin.py')
|
||||||
makemessages = makemessages.bake('makemessages')
|
makemessages = makemessages.bake('makemessages')
|
||||||
|
|
||||||
|
|||||||
5
contrib/settings/celery_redis.py
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
from .local import *
|
||||||
|
|
||||||
|
CELERY_ALWAYS_EAGER = False
|
||||||
|
BROKER_URL = 'redis://127.0.0.1:6379/0'
|
||||||
|
CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/0'
|
||||||
@@ -1,63 +0,0 @@
|
|||||||
from __future__ import absolute_import
|
|
||||||
|
|
||||||
import ldap
|
|
||||||
from django_auth_ldap.config import LDAPSearch
|
|
||||||
|
|
||||||
from .base import *
|
|
||||||
from django.conf import settings
|
|
||||||
from django.contrib.auth import get_user_model
|
|
||||||
|
|
||||||
SECRET_KEY = '<your secret key>'
|
|
||||||
|
|
||||||
# makes sure this works in Active Directory
|
|
||||||
ldap.set_option(ldap.OPT_REFERRALS, 0)
|
|
||||||
|
|
||||||
# This is the default, but I like to be explicit.
|
|
||||||
AUTH_LDAP_ALWAYS_UPDATE_USER = True
|
|
||||||
|
|
||||||
LDAP_USER_AUTO_CREATION = "False"
|
|
||||||
LDAP_URL = "ldap://<your ldap server IP>:389/"
|
|
||||||
LDAP_BASE_DN = "dc=paramatrix,dc=co,dc=in"
|
|
||||||
LDAP_ADDITIONAL_USER_DN = "dc=people"
|
|
||||||
LDAP_ADMIN_DN = ""
|
|
||||||
LDAP_PASSWORD = ""
|
|
||||||
|
|
||||||
AUTH_LDAP_SERVER_URI = LDAP_URL
|
|
||||||
AUTH_LDAP_BIND_DN = LDAP_ADMIN_DN
|
|
||||||
AUTH_LDAP_BIND_PASSWORD = LDAP_PASSWORD
|
|
||||||
|
|
||||||
|
|
||||||
AUTH_LDAP_USER_SEARCH = LDAPSearch('%s,%s'%(LDAP_ADDITIONAL_USER_DN, LDAP_BASE_DN), ldap.SCOPE_SUBTREE, "(uid=%(user)s)")
|
|
||||||
AUTH_LDAP_USER_ATTR_MAP = {
|
|
||||||
"first_name": "cn",
|
|
||||||
"last_name": "sn",
|
|
||||||
"email": "mail"
|
|
||||||
}
|
|
||||||
|
|
||||||
AUTHENTICATION_BACKENDS = (
|
|
||||||
'django_auth_ldap.backend.LDAPBackend',
|
|
||||||
'mayan.settings.settings_local.EmailOrUsernameModelBackend',
|
|
||||||
)
|
|
||||||
|
|
||||||
class EmailOrUsernameModelBackend(object):
|
|
||||||
"""
|
|
||||||
This is a ModelBacked that allows authentication with either a username or an email address.
|
|
||||||
|
|
||||||
"""
|
|
||||||
def authenticate(self, username=None, password=None):
|
|
||||||
if '@' in username:
|
|
||||||
kwargs = {'email': username}
|
|
||||||
else:
|
|
||||||
kwargs = {'username': username}
|
|
||||||
try:
|
|
||||||
user = get_user_model().objects.get(**kwargs)
|
|
||||||
if user.check_password(password):
|
|
||||||
return user
|
|
||||||
except User.DoesNotExist:
|
|
||||||
return None
|
|
||||||
|
|
||||||
def get_user(self, username):
|
|
||||||
try:
|
|
||||||
return get_user_model().objects.get(pk=username)
|
|
||||||
except get_user_model().DoesNotExist:
|
|
||||||
return None
|
|
||||||
26
contrib/supervisor/mayan-celery.conf
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
[program:mayan-worker]
|
||||||
|
command = /usr/share/mayan-edms/bin/python /usr/share/mayan-edms/bin/mayan-edms.py celery --settings=mayan.settings.production worker -Ofair -l ERROR
|
||||||
|
directory = /usr/share/mayan-edms
|
||||||
|
user = www-data
|
||||||
|
stdout_logfile = /var/log/mayan/worker-stdout.log
|
||||||
|
stderr_logfile = /var/log/mayan/worker-stderr.log
|
||||||
|
autostart = true
|
||||||
|
autorestart = true
|
||||||
|
startsecs = 10
|
||||||
|
stopwaitsecs = 10
|
||||||
|
killasgroup = true
|
||||||
|
priority = 998
|
||||||
|
|
||||||
|
[program:mayan-beat]
|
||||||
|
command = /usr/share/mayan-edms/bin/python /usr/share/mayan-edms/bin/mayan-edms.py celery --settings=mayan.settings.production beat -l ERROR
|
||||||
|
directory = /usr/share/mayan-edms
|
||||||
|
user = www-data
|
||||||
|
numprocs = 1
|
||||||
|
stdout_logfile = /var/log/mayan/beat-stdout.log
|
||||||
|
stderr_logfile = /var/log/mayan/beat-stderr.log
|
||||||
|
autostart = true
|
||||||
|
autorestart = true
|
||||||
|
startsecs = 10
|
||||||
|
stopwaitsecs = 1
|
||||||
|
killasgroup = true
|
||||||
|
priority = 998
|
||||||
6
contrib/supervisor/mayan-uwsgi.conf
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
[program:mayan-uwsgi]
|
||||||
|
command = /usr/share/mayan-edms/bin/uwsgi --ini /usr/share/mayan-edms/uwsgi.ini
|
||||||
|
user = root
|
||||||
|
autostart = true
|
||||||
|
autorestart = true
|
||||||
|
redirect_stderr = true
|
||||||
BIN
docs/_static/api.png
vendored
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
docs/_static/document_view.png
vendored
Normal file
|
After Width: | Height: | Size: 67 KiB |
BIN
docs/_static/main.png
vendored
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
docs/_static/page_view.png
vendored
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
docs/_static/setup.png
vendored
Normal file
|
After Width: | Height: | Size: 61 KiB |
BIN
docs/_static/statistics.png
vendored
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
docs/_static/tools.png
vendored
Normal file
|
After Width: | Height: | Size: 67 KiB |
29
docs/_templates/donate.html
vendored
@@ -1,16 +1,15 @@
|
|||||||
<h3>Support</h3>
|
<h3>Donate</h3>
|
||||||
<p>
|
<p>Help support further improvements and development, via:
|
||||||
<a href='http://www.mayan-edms.com/providers/'>Consulting and support plans are available, click here</a>.
|
<ul>
|
||||||
|
<li>
|
||||||
|
- <a href="https://www.paypal.me/RobertoRosario">PayPal.Me</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
- <a href="https://www.patreon.com/siloraptor">Patreon</a>
|
||||||
|
</li>
|
||||||
|
<li>- or Gumroad:
|
||||||
|
<script type="text/javascript" src="https://gumroad.com/js/gumroad.js"></script>
|
||||||
|
<a href="https://gumroad.com/l/UNApl" class="gumroad-button">Buy Mayan EDMS</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
</p>
|
</p>
|
||||||
<hr />
|
|
||||||
<p>
|
|
||||||
Or consider supporting Mayan EDMS by contributing to its development. (US tax payers, please note this contribution is not tax deductible).
|
|
||||||
</p>
|
|
||||||
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
|
|
||||||
<input type="hidden" name="cmd" value="_s-xclick">
|
|
||||||
<input type="hidden" name="hosted_button_id" value="3PXN336XFXQNN">
|
|
||||||
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
|
|
||||||
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1" style="display: none !important;">
|
|
||||||
</form>
|
|
||||||
|
|
||||||
<hr />
|
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ extensions = ['djangodocs', 'sphinxcontrib.blockdiag']
|
|||||||
blockdiag_antialias = True
|
blockdiag_antialias = True
|
||||||
blockdiag_html_image_format = "SVG"
|
blockdiag_html_image_format = "SVG"
|
||||||
blockdiag_latex_image_format = "PDF"
|
blockdiag_latex_image_format = "PDF"
|
||||||
|
blockdiag_tex_image_format = "PDF"
|
||||||
|
|
||||||
# Add any paths that contain templates here, relative to this directory.
|
# Add any paths that contain templates here, relative to this directory.
|
||||||
templates_path = ['_templates']
|
templates_path = ['_templates']
|
||||||
|
|||||||
@@ -1,10 +1,24 @@
|
|||||||
Welcome to Mayan EDMS!
|
Welcome to Mayan EDMS!
|
||||||
======================
|
======================
|
||||||
|
|
||||||
Mayan EDMS is a `Free Open Source`_ `Electronic Document Management System`_,
|
**Mayan EDMS** is a `Free Open Source`_ `Electronic Document Management System`_, coded in
|
||||||
coded in the Python language using the Django_ web application framework and
|
the Python language using the Django_ web application framework and released
|
||||||
released under the `Apache 2.0 License`_. It provides an electronic vault or
|
under the `Apache 2.0 License`_. It provides an electronic vault or repository for electronic documents.
|
||||||
repository for electronic documents.
|
|
||||||
|
The easiest way to install and try **Mayan EDMS** is by using a Debian based Linux distribution
|
||||||
|
and installing it from PyPI with the following commands:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
sudo apt-get install libjpeg-dev libmagic1 libpng-dev libreoffice libtiff-dev gcc ghostscript gpgv python-dev python-virtualenv tesseract-ocr unpaper poppler-utils -y
|
||||||
|
virtualenv venv
|
||||||
|
source venv/bin/activate
|
||||||
|
pip install mayan-edms
|
||||||
|
mayan-edms.py initialsetup
|
||||||
|
mayan-edms.py runserver
|
||||||
|
|
||||||
|
Point your browser to 127.0.0.1:8000 and use the automatically created admin
|
||||||
|
account.
|
||||||
|
|
||||||
.. image:: /_static/overview.gif
|
.. image:: /_static/overview.gif
|
||||||
:alt: Overview
|
:alt: Overview
|
||||||
@@ -12,21 +26,20 @@ repository for electronic documents.
|
|||||||
.. toctree::
|
.. toctree::
|
||||||
:hidden:
|
:hidden:
|
||||||
|
|
||||||
Installation <topics/installation>
|
|
||||||
Features <topics/features>
|
Features <topics/features>
|
||||||
Advanced deployment <topics/deploying>
|
Installation <topics/installation>
|
||||||
|
Deploying <topics/deploying>
|
||||||
Release notes and upgrading <releases/index>
|
Release notes and upgrading <releases/index>
|
||||||
Concepts <topics/index>
|
Concepts <topics/index>
|
||||||
Development <topics/development>
|
Development <topics/development>
|
||||||
App creation <topics/app_creation>
|
App creation <topics/app_creation>
|
||||||
Roadmap <topics/roadmap>
|
|
||||||
Translations <topics/translations>
|
Translations <topics/translations>
|
||||||
Contributors <topics/contributors>
|
Contributors <topics/contributors>
|
||||||
|
Screenshots <topics/screenshots>
|
||||||
Licensing <topics/license>
|
Licensing <topics/license>
|
||||||
FAQ <topics/faq>
|
FAQ <topics/faq>
|
||||||
Contact <topics/contact>
|
Contact <topics/contact>
|
||||||
|
|
||||||
.. _Docker: https://www.docker.com/
|
|
||||||
.. _Django: http://www.djangoproject.com/
|
.. _Django: http://www.djangoproject.com/
|
||||||
.. _Free Open Source: http://en.wikipedia.org/wiki/Open_source
|
.. _Free Open Source: http://en.wikipedia.org/wiki/Open_source
|
||||||
.. _Electronic Document Management System: https://en.wikipedia.org/wiki/Document_management_system
|
.. _Electronic Document Management System: https://en.wikipedia.org/wiki/Document_management_system
|
||||||
|
|||||||
@@ -25,9 +25,9 @@ What's new in Mayan EDMS v0.12.1
|
|||||||
Fabric file (fabfile)
|
Fabric file (fabfile)
|
||||||
~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
A Fabric file is included to help users not very familiar with Ubuntu,
|
A Fabric file is included to help users not very familiar with Ubuntu,
|
||||||
Python and Django install Mayan EDMS, or for system administrators
|
Python and Django install **Mayan EDMS**, or for system administrators
|
||||||
looking to automate the install whether in local or remote systems.
|
looking to automate the install whether in local or remote systems.
|
||||||
At the moment the fabfile will install Mayan EDMS in the same configurations
|
At the moment the fabfile will install **Mayan EDMS** in the same configurations
|
||||||
listed in this documentation, that is: (Ubuntu/Debian/Fedora) + virtualenv + Apache + MySQL.
|
listed in this documentation, that is: (Ubuntu/Debian/Fedora) + virtualenv + Apache + MySQL.
|
||||||
Feel free to submit your configuration settings and files for different databases,
|
Feel free to submit your configuration settings and files for different databases,
|
||||||
webserver or Linux distribution. More configurations will be added to
|
webserver or Linux distribution. More configurations will be added to
|
||||||
@@ -38,7 +38,7 @@ Documentation update
|
|||||||
The installation instructions were updated to include the installation of
|
The installation instructions were updated to include the installation of
|
||||||
the libpng-dev and libjpeg-dev libraries as well as 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.
|
new installation of **Mayan EDMS** was also added.
|
||||||
|
|
||||||
Translations
|
Translations
|
||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ What's new in Mayan EDMS v0.12.2
|
|||||||
|
|
||||||
Smarter auto admin creation
|
Smarter auto admin creation
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
Mayan EDMS creates a administrator user during the
|
**Mayan EDMS** creates a administrator user during the
|
||||||
database creation phase to reduce the amount of steps required for a
|
database creation phase to reduce the amount of steps required for a
|
||||||
functional install. The creation of this account is controlled by the configuration
|
functional install. The creation of this account is controlled by the configuration
|
||||||
option `COMMON_AUTO_CREATE_ADMIN`, the username of the account is
|
option `COMMON_AUTO_CREATE_ADMIN`, the username of the account is
|
||||||
@@ -41,7 +41,7 @@ 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 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
|
check out a document and lock new version of it from being uploaded to avoid
|
||||||
editing conflicts. Document check outs have an expiration period after which
|
editing conflicts. Document check outs have an expiration period after which
|
||||||
Mayan EDMS will automatically check them back in to avoid a permanent
|
**Mayan EDMS** will automatically check them back in to avoid a permanent
|
||||||
document lockout. Only the user who has checked out a document can upload
|
document lockout. Only the user who has checked out a document can upload
|
||||||
new versions of it or check the document back in before the expiration period,
|
new versions of it or check the document back in before the expiration period,
|
||||||
unless being granted the ``Allow overriding check out restrictions`` or
|
unless being granted the ``Allow overriding check out restrictions`` or
|
||||||
@@ -52,14 +52,14 @@ Installation environment app
|
|||||||
Diagnosting remote installations of web based applications without access to the
|
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
|
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
|
environment details app has been added. The purpose of this app is to provide
|
||||||
support staff information about the physical environment where Mayan EDMS has
|
support staff information about the physical environment where **Mayan EDMS** has
|
||||||
been installed. To avoid possible security compromises only administrators
|
been installed. To avoid possible security compromises only administrators
|
||||||
can access this app.
|
can access this app.
|
||||||
|
|
||||||
Editable compressed documents filename
|
Editable compressed documents filename
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
Previously when downloading more than one document in a compressed manner,
|
Previously when downloading more than one document in a compressed manner,
|
||||||
Mayan EDMS would produce a file with the name ``document_bundle.zip`` for
|
**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.
|
download. A different filename can now be specified at the same download dialog.
|
||||||
|
|
||||||
German translation
|
German translation
|
||||||
@@ -71,7 +71,7 @@ Statistics gathering
|
|||||||
~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
Previous attempts at gathering usage statistics have been met with deficient results.
|
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
|
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
|
was disappointing. That is why this version of **Mayan EDMS** features an
|
||||||
anonymous statistics gathering functionality.
|
anonymous statistics gathering functionality.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -6,12 +6,12 @@ Mayan EDMS v0.12 release notes
|
|||||||
|
|
||||||
Welcome to Mayan EDMS v0.12!
|
Welcome to Mayan EDMS v0.12!
|
||||||
|
|
||||||
This release commemorates Mayan EDMS first aniversary!
|
This release commemorates **Mayan EDMS** first aniversary!
|
||||||
|
|
||||||
Overview
|
Overview
|
||||||
========
|
========
|
||||||
|
|
||||||
Aside from new features, the focus of this release of Mayan EDMS also
|
Aside from new features, the focus of this release of **Mayan EDMS** also
|
||||||
been about improving the code and documentation quality standard
|
been about improving the code and documentation quality standard
|
||||||
even further. The permission system has been completely overhauled to make
|
even further. The permission system has been completely overhauled to make
|
||||||
it entire class based. The other big change is the addition of object
|
it entire class based. The other big change is the addition of object
|
||||||
@@ -61,7 +61,7 @@ Anonymous user support
|
|||||||
~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~
|
||||||
Anonymous user support is a two tier function, first is the addition of
|
Anonymous user support is a two tier function, first is the addition of
|
||||||
the `COMMON_ALLOW_ANONYMOUS_ACCESS` configuration option that
|
the `COMMON_ALLOW_ANONYMOUS_ACCESS` configuration option that
|
||||||
allows non authenticated user to browse all the pages of a Mayan EDMS installation.
|
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
|
The second part of this support is the ability to assign permissions
|
||||||
or individual access to objects to anonymous users.
|
or individual access to objects to anonymous users.
|
||||||
|
|
||||||
@@ -89,7 +89,7 @@ the download of several documents in a single compressed file.
|
|||||||
Customizable GPG home directory
|
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
|
administrators set **Mayan EDMS**'s GPG instance home directory, used to
|
||||||
store keyrings and other GPG configuration files.
|
store keyrings and other GPG configuration files.
|
||||||
|
|
||||||
Out of process bulk uploading
|
Out of process bulk uploading
|
||||||
@@ -114,7 +114,7 @@ stage to beta stage. Index configuration menus are now available on the
|
|||||||
be populated with document links depending on their metadata and properties.
|
be populated with document links depending on their metadata and properties.
|
||||||
These populated trees can also be mirrored on the physical filesystem and shared
|
These populated trees can also be mirrored on the physical filesystem and shared
|
||||||
using Samba or another filesharing server giving users a structured view
|
using Samba or another filesharing server giving users a structured view
|
||||||
of the documents contained within Mayan EDMS from the ``Indexes`` tab
|
of the documents contained within **Mayan EDMS** from the ``Indexes`` tab
|
||||||
or from a mirrored index shared via the network. A new configuration option
|
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
|
the index internal name with the physical directory where such index will be
|
||||||
@@ -127,7 +127,7 @@ Included in this version is a small feedback application, found under the
|
|||||||
help determine the priority of the next planned features on the pipeline,
|
help determine the priority of the next planned features on the pipeline,
|
||||||
or even help add new features if enough requests are received. All questions
|
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
|
are optional but answering as many as possible will help greatly understand
|
||||||
the need of the Mayan EDMS user base.
|
the need of the **Mayan EDMS** user base.
|
||||||
|
|
||||||
Staging file previews
|
Staging file previews
|
||||||
~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|||||||
@@ -31,39 +31,39 @@ Attaching or removing tags from a large number of documents is now much easier.
|
|||||||
Registration
|
Registration
|
||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
Based on requests made by the community for greater commercial support and services for
|
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
|
**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.
|
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
|
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
|
affects the functionality of **Mayan EDMS**. However even for non commercial users
|
||||||
registration offers the advantage of automatically branding the user's copy
|
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.
|
of **Mayan EDMS** with their name or the company name in the title area.
|
||||||
|
|
||||||
Per document type indexing
|
Per document type indexing
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
Index can now be restricted to update only on specific document types, this
|
Index can now be restricted to update only on specific document types, this
|
||||||
greatly increases the usefulness of indexes, and prevents unwanted index
|
greatly increases the usefulness of indexes, and prevents unwanted index
|
||||||
updates.
|
updates.
|
||||||
|
|
||||||
Bootstrap
|
Bootstrap
|
||||||
~~~~~~~~~
|
~~~~~~~~~
|
||||||
Setting up Mayan EDMS after installation has been indetified by users as the
|
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
|
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
|
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.
|
access to new setups without having to wait for new versions of **Mayan EDMS**.
|
||||||
Aside from including preconfigured setups, the new bootstrap app
|
Aside from including preconfigured setups, the new bootstrap app
|
||||||
has the ability of dumping an user's current setup into a serialized text file
|
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
|
enabled by this range from company wide defaults setups to consultants providing
|
||||||
their clients with customized setups without having to access their clients'
|
their clients with customized setups without having to access their clients'
|
||||||
Mayan EDMS instances. ``JSON``, ``YAML`` and a custom ``YAML`` format
|
**Mayan EDMS** instances. ``JSON``, ``YAML`` and a custom ``YAML`` format
|
||||||
(http://djangosnippets.org/snippets/2461/) are supported by this new app.
|
(http://djangosnippets.org/snippets/2461/) are supported by this new app.
|
||||||
|
|
||||||
Add documents to folders in bulk
|
Add documents to folders in bulk
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
As requested, the ability to add more than one document at a time to a selected
|
As requested, the ability to add more than one document at a time to a selected
|
||||||
folder has been added.
|
folder has been added.
|
||||||
|
|
||||||
Translation updates
|
Translation updates
|
||||||
~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~
|
||||||
@@ -96,7 +96,7 @@ removes any traces of code and configuration options related to UNOCONV.
|
|||||||
|
|
||||||
Optimizations
|
Optimizations
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
Inspired by the idea of getting Mayan EDMS running effectively on low power hardware such as
|
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.
|
the Raspberry Pi, several rounds or profiling and optimization were done.
|
||||||
|
|
||||||
Some caching optimization were introduced to the permission model, resulting in
|
Some caching optimization were introduced to the permission model, resulting in
|
||||||
@@ -105,13 +105,13 @@ and a 18% query reduction on cache hits.
|
|||||||
|
|
||||||
Upgrading from a previous version
|
Upgrading from a previous version
|
||||||
=================================
|
=================================
|
||||||
If you installed Mayan EDMS by cloning the Git repository issue the commands::
|
If you installed **Mayan EDMS** by cloning the Git repository issue the commands::
|
||||||
|
|
||||||
$ git reset --hard HEAD
|
$ git reset --hard HEAD
|
||||||
$ git pull
|
$ git pull
|
||||||
|
|
||||||
otherwise download the compressed archived and uncompress it overriding the existing installation.
|
otherwise download the compressed archived and uncompress it overriding the existing installation.
|
||||||
|
|
||||||
Next add the new requirements::
|
Next add the new requirements::
|
||||||
|
|
||||||
$ pip install -r requirements/production.txt
|
$ pip install -r requirements/production.txt
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ to do document OCR using software or services other than Tesseract.
|
|||||||
|
|
||||||
OCR improvements
|
OCR improvements
|
||||||
~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~
|
||||||
OCR queue state is now reset when reloading Mayan EMDS, avoiding the OCR queue
|
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
|
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.
|
OCR processing support for French and German.
|
||||||
@@ -131,7 +131,7 @@ commercial products is now explicitly allowed.
|
|||||||
|
|
||||||
PyPI package
|
PyPI package
|
||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
Mayan EDMS has been packaged and submitted to the PyPI_ Python Package Index
|
**Mayan EDMS** has been packaged and submitted to the PyPI_ Python Package Index
|
||||||
making it even easier to install and use.
|
making it even easier to install and use.
|
||||||
|
|
||||||
New REST API
|
New REST API
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ What's new in Mayan EDMS v1.1
|
|||||||
Celery
|
Celery
|
||||||
~~~~~~
|
~~~~~~
|
||||||
All background tasks processing has been converted to use Celery_. By default
|
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
|
**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
|
as per `Celery's documentation`_. This change made the built-in scheduler and
|
||||||
job_processing apps obsolete, both were removed.
|
job_processing apps obsolete, both were removed.
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@ job_processing apps obsolete, both were removed.
|
|||||||
Views namespaces
|
Views namespaces
|
||||||
~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~
|
||||||
All views are namespaced_ with the name of the app which defines them. If you have
|
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
|
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.
|
by prepending the app name to the view name.
|
||||||
|
|
||||||
|
|
||||||
@@ -43,7 +43,7 @@ mail serving.
|
|||||||
|
|
||||||
Update to Django 1.6.8
|
Update to Django 1.6.8
|
||||||
~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~
|
||||||
Mayan EDMS has been updated to use Django 1.6.8.
|
**Mayan EDMS** has been updated to use Django 1.6.8.
|
||||||
|
|
||||||
|
|
||||||
Events app
|
Events app
|
||||||
@@ -55,13 +55,13 @@ for `Django activity stream`_
|
|||||||
Watch folders
|
Watch folders
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
Filesystem folders can be monitored for change and their files automatically
|
Filesystem folders can be monitored for change and their files automatically
|
||||||
uploaded as documents in Mayan EDMS.
|
uploaded as documents in **Mayan EDMS**.
|
||||||
|
|
||||||
|
|
||||||
Vagrant file included
|
Vagrant file included
|
||||||
~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
A vagrant file is now included to allow developers to provision a virtual machine
|
A vagrant file is now included to allow developers to provision a virtual machine
|
||||||
with the latest development version of Mayan EDMS.
|
with the latest development version of **Mayan EDMS**.
|
||||||
|
|
||||||
|
|
||||||
User locale profile (language and timezone)
|
User locale profile (language and timezone)
|
||||||
@@ -101,7 +101,7 @@ the metadata types of the new document type are automatically assigned.
|
|||||||
New release cycle
|
New release cycle
|
||||||
~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~
|
||||||
Starting with this version a new release cycle methodology will come into effect.
|
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
|
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
|
active at a given time: A new major version with new functionality and a minor version
|
||||||
providing upgrades and fixes. This release (1.1) will be active and supported
|
providing upgrades and fixes. This release (1.1) will be active and supported
|
||||||
during releases of versions 2.x, but will go into end-of-life as soon as
|
during releases of versions 2.x, but will go into end-of-life as soon as
|
||||||
@@ -111,24 +111,24 @@ maintenance mode.
|
|||||||
|
|
||||||
Deprecation of Python 2.6
|
Deprecation of Python 2.6
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
Series 1.0 of Mayan EDMS will be the last series supporting Python 2.6. Series
|
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.
|
2.0 will be using Django 1.7.x which itself requires Python 2.7 or later.
|
||||||
|
|
||||||
|
|
||||||
Improved testings
|
Improved testings
|
||||||
~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~
|
||||||
Mayan EDMS is now automatically tested against SQLite, MySQL and PostgreSQL.
|
**Mayan EDMS** is now automatically tested against SQLite, MySQL and PostgreSQL.
|
||||||
|
|
||||||
|
|
||||||
API updates
|
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
|
Messages contextual improvements
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
Many updates and simplifications were made to the source text messages to reduce the
|
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
|
difficulty of translating **Mayan EDMS** and maintaing the contextual meaning of the
|
||||||
text messages.
|
text messages.
|
||||||
|
|
||||||
Improved method for custom settings
|
Improved method for custom settings
|
||||||
@@ -186,7 +186,7 @@ More technical documentation
|
|||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
Many new sub topics were added to the development section of the 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
|
to allow developers to better understand the inner workings and philosophies
|
||||||
of Mayan EDMS.
|
of **Mayan EDMS**.
|
||||||
|
|
||||||
|
|
||||||
Other changes
|
Other changes
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ What's new in Mayan EDMS v2.0
|
|||||||
Update to Django 1.7
|
Update to Django 1.7
|
||||||
--------------------
|
--------------------
|
||||||
The biggest change of this release comes in the form of support for Django 1.7.
|
The biggest change of this release comes in the form of support for Django 1.7.
|
||||||
Mayan EDMS makes use of several new features of Django 1.7 like: migrations,
|
**Mayan EDMS** makes use of several new features of Django 1.7 like: migrations,
|
||||||
app config and transaction handling. The version of Django supported in this
|
app config and transaction handling. The version of Django supported in this
|
||||||
version is 1.7.10. With the move to Django 1.7, support for South migrations
|
version is 1.7.10. With the move to Django 1.7, support for South migrations
|
||||||
and Python 2.6 is removed. The switch to Django 1.7's app config means that
|
and Python 2.6 is removed. The switch to Django 1.7's app config means that
|
||||||
@@ -27,10 +27,10 @@ update a lot of legacy HTML and CSS was removed, greatly simplifying the
|
|||||||
existing template and allowing the removal of some.
|
existing template and allowing the removal of some.
|
||||||
|
|
||||||
Theming and re-branding
|
Theming and re-branding
|
||||||
-----------------------
|
----------------------
|
||||||
All the presentation logic and markup has been moved into it's own app, the
|
All the presentation logic and markup has been moved into it's own app, the
|
||||||
'appearance' app. All modifications required to customize the entire look of
|
'appearance' app. All modifications required to customize the entire look of
|
||||||
the Mayan EDMS can now be done in a single app. Very little markup remains
|
the **Mayan EDMS** can now be done in a single app. Very little markup remains
|
||||||
in the other apps, and it's usually because of necessity, namely the widgets.py
|
in the other apps, and it's usually because of necessity, namely the widgets.py
|
||||||
modules.
|
modules.
|
||||||
|
|
||||||
@@ -98,7 +98,7 @@ app are no longer required. These are:
|
|||||||
* slate
|
* slate
|
||||||
|
|
||||||
ACL system re-factor
|
ACL system re-factor
|
||||||
--------------------
|
-------------------
|
||||||
The Access Control System has been greatly simplified and optimized. The
|
The Access Control System has been greatly simplified and optimized. The
|
||||||
logistics to grant and revoke permissions are now as follows: Only Roles can
|
logistics to grant and revoke permissions are now as follows: Only Roles can
|
||||||
hold permissions, groups and user can no longer on their own be granted a
|
hold permissions, groups and user can no longer on their own be granted a
|
||||||
@@ -135,7 +135,7 @@ support. Administrators wanting to make a group of documents public are
|
|||||||
encouraged to create an user, group and role for that purpose.
|
encouraged to create an user, group and role for that purpose.
|
||||||
|
|
||||||
Metadata validators re-factor
|
Metadata validators re-factor
|
||||||
-----------------------------
|
----------------------------
|
||||||
The metadata validators have been split into: Validators and Parsers.
|
The metadata validators have been split into: Validators and Parsers.
|
||||||
Validators will just check that the input value conforms to certain
|
Validators will just check that the input value conforms to certain
|
||||||
specification, raising a validation error is not and blocking the user from
|
specification, raising a validation error is not and blocking the user from
|
||||||
@@ -194,11 +194,11 @@ Failure tolerance
|
|||||||
-----------------
|
-----------------
|
||||||
Previous versions made use of transactions to prevent data loss in the event of
|
Previous versions made use of transactions to prevent data loss in the event of
|
||||||
an unexpected error. This release improves on that approach by also reacting
|
an unexpected error. This release improves on that approach by also reacting
|
||||||
to infrastructure failures. Mayan EDMS can now recover without any or
|
to infrastructure failures. **Mayan EDMS** can now recover without any or
|
||||||
minimal data loss from critical events such as loss of connectivity to the
|
minimal data loss from critical events such as loss of connectivity to the
|
||||||
database manager. This changes allow installation of using database managers
|
database manager. This changes allow installation of using database managers
|
||||||
that do not provide guaranteed concurrency such as SQLite, to scale to thousand
|
that do not provide guaranteed concurrency such as SQLite, to scale to thousand
|
||||||
of documents. While this configuration is still not recommended, Mayan EDMS
|
of documents. While this configuration is still not recommended, **Mayan EDMS**
|
||||||
will now work and scale much better in environments where parts of the
|
will now work and scale much better in environments where parts of the
|
||||||
infrastructure cannot be changed (such as the database manager).
|
infrastructure cannot be changed (such as the database manager).
|
||||||
|
|
||||||
@@ -219,7 +219,7 @@ new scheme.
|
|||||||
Default document type and default document source
|
Default document type and default document source
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
After installation a default document type and document source are created,
|
After installation a default document type and document source are created,
|
||||||
this means that users can start uploading documents as soon as Mayan EDMS
|
this means that users can start uploading documents as soon as **Mayan EDMS**
|
||||||
is installed without having to do any configuration setting changes. The
|
is installed without having to do any configuration setting changes. The
|
||||||
default document type and default document source are both called 'Default'.
|
default document type and default document source are both called 'Default'.
|
||||||
|
|
||||||
@@ -229,7 +229,7 @@ Support for allowing 3rd party apps to unbind links binded by the core apps
|
|||||||
was added to further improve re-branding and customization.
|
was added to further improve re-branding and customization.
|
||||||
|
|
||||||
Statistics re-factor
|
Statistics re-factor
|
||||||
--------------------
|
-------------------
|
||||||
Statistics gathering and generation has been overhauled to allow for the
|
Statistics gathering and generation has been overhauled to allow for the
|
||||||
creation of scheduled statistics. This allows statistics computation to be
|
creation of scheduled statistics. This allows statistics computation to be
|
||||||
scheduled during low load times. A new management command was added to
|
scheduled during low load times. A new management command was added to
|
||||||
|
|||||||
@@ -1,87 +0,0 @@
|
|||||||
===============================
|
|
||||||
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.
|
|
||||||
|
|
||||||
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::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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 #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,75 +0,0 @@
|
|||||||
================================
|
|
||||||
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::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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
|
|
||||||
===========================
|
|
||||||
|
|
||||||
* None
|
|
||||||
|
|
||||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
|
||||||
@@ -1,94 +0,0 @@
|
|||||||
================================
|
|
||||||
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
|
|
||||||
GET /api/document_states/document_type/{pk}/workflows/
|
|
||||||
- Added Developer Certificate of Origin. Mayan EDMS was adopted a version 1.1 of
|
|
||||||
the Linux Foundation Developer Certificate of Origin. All commits must be
|
|
||||||
signed (`git commit -s`) in order to be merged.
|
|
||||||
- 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. The setting is named
|
|
||||||
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.
|
|
||||||
- Addes size field to the document version serializer.
|
|
||||||
- Removed the serializer from the deleted document restore API endpoint
|
|
||||||
it doesn't need a serializer being just an action POST endpoint.
|
|
||||||
- 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::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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
|
|
||||||
===========================
|
|
||||||
|
|
||||||
* `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,86 +0,0 @@
|
|||||||
===============================
|
|
||||||
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.
|
|
||||||
|
|
||||||
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::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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 #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
|
|
||||||
|
|
||||||
|
|
||||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
===============================
|
|
||||||
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.
|
|
||||||
|
|
||||||
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".
|
|
||||||
- Normalize handling of temporary file and directory creation.
|
|
||||||
- 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.
|
|
||||||
|
|
||||||
Removals
|
|
||||||
--------
|
|
||||||
* None
|
|
||||||
|
|
||||||
Upgrading from a previous version
|
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
Using PIP
|
|
||||||
~~~~~~~~~
|
|
||||||
|
|
||||||
Type in the console::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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 #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,81 +0,0 @@
|
|||||||
===============================
|
|
||||||
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.
|
|
||||||
|
|
||||||
Other changes
|
|
||||||
-------------
|
|
||||||
- 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
|
|
||||||
|
|
||||||
Removals
|
|
||||||
--------
|
|
||||||
* None
|
|
||||||
|
|
||||||
Upgrading from a previous version
|
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
Using PIP
|
|
||||||
~~~~~~~~~
|
|
||||||
|
|
||||||
Type in the console::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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 #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,87 +0,0 @@
|
|||||||
===============================
|
|
||||||
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.
|
|
||||||
|
|
||||||
Other changes
|
|
||||||
-------------
|
|
||||||
|
|
||||||
- Backport resize transformation math operation fix (GitLab #319).
|
|
||||||
- Update Pillow to 3.1.2
|
|
||||||
|
|
||||||
- https://pillow.readthedocs.io/en/3.4.x/releasenotes/3.1.1.html
|
|
||||||
- https://pillow.readthedocs.io/en/3.4.x/releasenotes/3.1.2.html
|
|
||||||
|
|
||||||
- Backport zoom 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.
|
|
||||||
|
|
||||||
Removals
|
|
||||||
--------
|
|
||||||
* None
|
|
||||||
|
|
||||||
Upgrading from a previous version
|
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
Using PIP
|
|
||||||
~~~~~~~~~
|
|
||||||
|
|
||||||
Type in the console::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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 #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
|
|
||||||
|
|
||||||
|
|
||||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
|
||||||
@@ -1,73 +0,0 @@
|
|||||||
===============================
|
|
||||||
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::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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
|
|
||||||
===========================
|
|
||||||
|
|
||||||
* None
|
|
||||||
|
|
||||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
|
||||||
@@ -1,102 +0,0 @@
|
|||||||
===============================
|
|
||||||
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):
|
|
||||||
|
|
||||||
- Improved user creation API endpoint to allow specifying the group
|
|
||||||
membership.
|
|
||||||
- Improved user editing API endpoint to allow specifying the group
|
|
||||||
membership.
|
|
||||||
|
|
||||||
- Improved permissions API endpoints (initial work by @lokeshmanmode):
|
|
||||||
|
|
||||||
- Add permission list API endpoint. This API endpoint lists all possible
|
|
||||||
permissions in the system.
|
|
||||||
- Improved role creation API endpoint to allow specifying the role's group
|
|
||||||
membership and role's permissions.
|
|
||||||
- Improved role editing API endpoint to allow specifying the role's group
|
|
||||||
membership and role's permissions.
|
|
||||||
|
|
||||||
- Improvements in the API tests of a few apps.
|
|
||||||
- Add content type list API view to the common app. Content type is required
|
|
||||||
when querying the events of an object, this view show list of content types
|
|
||||||
available.
|
|
||||||
- Add event type list api view. This API view shows all the possible events
|
|
||||||
that are registered in the system.
|
|
||||||
- Add event list API view. This view shows all the events that have taken
|
|
||||||
place in the system.
|
|
||||||
- Add object event list API view. This view show all the events for a specific
|
|
||||||
object (document, etc). The content type of the object whose events are being
|
|
||||||
requested must be specified. The list of available content types is provided
|
|
||||||
now by the common app API.
|
|
||||||
- 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::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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
|
|
||||||
===========================
|
|
||||||
|
|
||||||
* None
|
|
||||||
|
|
||||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
|
||||||
@@ -1,83 +0,0 @@
|
|||||||
===============================
|
|
||||||
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.
|
|
||||||
- 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 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).
|
|
||||||
|
|
||||||
Removals
|
|
||||||
--------
|
|
||||||
* None
|
|
||||||
|
|
||||||
Upgrading from a previous version
|
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
Using PIP
|
|
||||||
~~~~~~~~~
|
|
||||||
|
|
||||||
Type in the console::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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 #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,74 +0,0 @@
|
|||||||
===============================
|
|
||||||
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::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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
|
|
||||||
===========================
|
|
||||||
|
|
||||||
* None
|
|
||||||
|
|
||||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
|
||||||
@@ -1,238 +0,0 @@
|
|||||||
=============================
|
|
||||||
Mayan EDMS v2.1 release notes
|
|
||||||
=============================
|
|
||||||
|
|
||||||
Released: May 14, 2016
|
|
||||||
|
|
||||||
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
|
|
||||||
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
|
|
||||||
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
|
|
||||||
tags were stripped. An edge case was found where this did not worked always.
|
|
||||||
The approached has been changed to use Django's official tag to strip spaces.
|
|
||||||
In addition to using an official approach, the removal of spaces only happens
|
|
||||||
when the template is compiled and not at each HTTP response. The optimization
|
|
||||||
is minimal but since it happened at every response a small increase in speed
|
|
||||||
is expected for all deployment scenarios.
|
|
||||||
|
|
||||||
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
|
|
||||||
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
|
|
||||||
Mayan EDMS had the ability to automatically check if a document was signed and
|
|
||||||
if signed, verify the validity of the signature. However, to sign documents
|
|
||||||
user had to download the document, sign the document offline, and either
|
|
||||||
re-upload the signed document as a new version or upload a detached
|
|
||||||
signature for the existing document version. Aside from being now able to sign
|
|
||||||
documents from the web user interface, the way keys are handled has been
|
|
||||||
rewritten from scratch to support distributed key storage. This means that
|
|
||||||
a key uploaded in one computer by one user can be used transparently by
|
|
||||||
other users in other computers to sign documents. The relevant access control
|
|
||||||
updates were added to the new document signing system. Users wanting to sign a
|
|
||||||
document need the singing permission for the document (or document type),
|
|
||||||
for the private key they intend to use, and the passphrase (if the key has one).
|
|
||||||
Finally documents are now checked just once for signatures and not every time
|
|
||||||
they are accessed, this provides a very sizable speed improvement in document
|
|
||||||
access and availability.
|
|
||||||
|
|
||||||
Other changes
|
|
||||||
=============
|
|
||||||
- Upgrade Python requirements to recent versions.
|
|
||||||
- Rename 'Content' search box to 'OCR'.
|
|
||||||
- Silence all Django 1.8 model import warnings.
|
|
||||||
- Add icons to the document face menu links.
|
|
||||||
- Increase icon to text spacing to 3px.
|
|
||||||
- Add new permission: checkout details view.
|
|
||||||
- Add HTML tags stripping to the browser title generation template.
|
|
||||||
- Folder and Tag creation API calls now return the id of the created instances.
|
|
||||||
- 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.
|
|
||||||
- Start migration from django-sendfile to django-downloadview.
|
|
||||||
- Index more model fields.
|
|
||||||
- Navigation system support querysets using .defer() or .only() optimizations.
|
|
||||||
- API fixes and improvements.
|
|
||||||
- Increase total test count to 311.
|
|
||||||
- Increase test coverage to 77%.
|
|
||||||
- Documentation improvements.
|
|
||||||
- Handle unicode filenames in staging folders.
|
|
||||||
- Add staging file deletion permission.
|
|
||||||
- New document_signature_view permission.
|
|
||||||
- Instead of multiple keyservers only one keyserver is now supported.
|
|
||||||
- Replace document type selection widget with an opened selection list.
|
|
||||||
- Add roadmap documentation chapter.
|
|
||||||
|
|
||||||
|
|
||||||
Removals
|
|
||||||
--------
|
|
||||||
* None
|
|
||||||
|
|
||||||
Upgrading from a previous version
|
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
Using PIP
|
|
||||||
~~~~~~~~~
|
|
||||||
|
|
||||||
Type in the console::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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 #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,258 +0,0 @@
|
|||||||
=============================
|
|
||||||
Mayan EDMS v2.2 release notes
|
|
||||||
=============================
|
|
||||||
|
|
||||||
Released: April 26, 2017
|
|
||||||
|
|
||||||
What's new
|
|
||||||
==========
|
|
||||||
|
|
||||||
API changes
|
|
||||||
-----------
|
|
||||||
Refactor of the metadata API URLs to use the resource/sub resource paradigm.
|
|
||||||
|
|
||||||
Before:
|
|
||||||
|
|
||||||
/api/metadata/metadata_types/
|
|
||||||
/api/metadata/metadata_types/{pk}/
|
|
||||||
/api/metadata/document/metadata/{pk}/
|
|
||||||
/api/metadata/document/{pk}/metadata/
|
|
||||||
/api/metadata/document_type/{document_type_pk}/metadata_types/optional/
|
|
||||||
/api/metadata/document_type/{document_type_pk}/metadata_types/required/
|
|
||||||
|
|
||||||
After:
|
|
||||||
|
|
||||||
/api/metadata/metadata_types/
|
|
||||||
/api/metadata/metadata_types/{metadata_type_pk}/
|
|
||||||
/api/metadata/document_types/{document_type_pk}/metadata_types/
|
|
||||||
/api/metadata/document_types/{document_type_pk}/metadata_types/{metadata_type_pk}/
|
|
||||||
/api/metadata/documents/{document_pk}/metadata/
|
|
||||||
/api/metadata/documents/{document_pk}/metadata/{metadata_pk}/
|
|
||||||
|
|
||||||
|
|
||||||
Document API URLs updated to use the resource/sub resource paradigm.
|
|
||||||
Before:
|
|
||||||
|
|
||||||
/api/documents/document_version<pk>
|
|
||||||
/api/documents/document_pages<pk>
|
|
||||||
|
|
||||||
After:
|
|
||||||
/api/documents/<pk>/version/<version_pk>
|
|
||||||
/api/documents/<pk>/version/<version_pk>/pages/<page_pk>
|
|
||||||
|
|
||||||
Fields that reference a resource by URL now have the suffix '_url' to differentiate
|
|
||||||
then from fields include the resource.
|
|
||||||
|
|
||||||
Before:
|
|
||||||
|
|
||||||
'document': '/api/documents/10'
|
|
||||||
|
|
||||||
After:
|
|
||||||
|
|
||||||
'document_url': '/api/documents/10'
|
|
||||||
|
|
||||||
Removal of the document version revert API endpoint. To revert a document to a
|
|
||||||
previous version using the API, use the DELETE verb to delete the most recent
|
|
||||||
document version to be discarded.
|
|
||||||
|
|
||||||
Pages data is no longer included as part of the version data. Instead a link to
|
|
||||||
the document version's pages has been added by the name 'pages_url'. This
|
|
||||||
resolved to '/api/documents/<pk>/pages/<page_pk>/pages'.
|
|
||||||
|
|
||||||
- New API endpoints (initial work by @lokeshmanmode):
|
|
||||||
|
|
||||||
- API endpoint to change an user's groups subscription.
|
|
||||||
- API endpoint that list all available permissions types.
|
|
||||||
- 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
|
|
||||||
seldom used app called 'installation' which tracked runtime Python packages
|
|
||||||
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
|
|
||||||
pipeline which stores transformed (rotated, scaled, etc) versions of the
|
|
||||||
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 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
|
|
||||||
from 'test' to the more explicit 'has_test'. The packaging manifest now
|
|
||||||
includes test files, this means that tests can now be executed in production.
|
|
||||||
The total number of tests was raised to 359 and the total coverage increased
|
|
||||||
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.
|
|
||||||
|
|
||||||
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
|
|
||||||
"Profile" icon is clicked. Drop down menus support has been added and enabled
|
|
||||||
for several apps like documents, folders, and tags. This change make navigation
|
|
||||||
much faster and required less mouse travel.
|
|
||||||
|
|
||||||
Support was added for a dashboard widgets and several default widgets are
|
|
||||||
included and enabled.
|
|
||||||
|
|
||||||
A view to clone a document page transformation to other pages has been added.
|
|
||||||
A document page transformation navigation bug has been fixed. To aid visual
|
|
||||||
lookup, tags are now alphabetically ordered by label.
|
|
||||||
|
|
||||||
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
|
|
||||||
settings/local.py file::
|
|
||||||
|
|
||||||
INSTALLED_APPS += ('folders',)
|
|
||||||
|
|
||||||
- Fix height calculation in resize transformation.
|
|
||||||
- Improve upgrade instructions.
|
|
||||||
- Update project to work with Django 1.10.
|
|
||||||
- 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.
|
|
||||||
- New transformations added:
|
|
||||||
|
|
||||||
- Rotate 90 degrees
|
|
||||||
- Rotate 180 degrees
|
|
||||||
- Rotate 270 degrees
|
|
||||||
- Mirror (horizontal)
|
|
||||||
- Flip (vertical)
|
|
||||||
- Gaussian blur
|
|
||||||
- Unsharp masking
|
|
||||||
|
|
||||||
- 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.
|
|
||||||
- Remove usage of pytesseract Python library.
|
|
||||||
- Installation app.
|
|
||||||
- Recent searches feature.
|
|
||||||
|
|
||||||
Upgrading from a previous version
|
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
If installed via PIP
|
|
||||||
~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
Type in the console::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
the requirements will also be updated automatically.
|
|
||||||
|
|
||||||
If installed 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.
|
|
||||||
|
|
||||||
Manually upgrade/add the new requirements::
|
|
||||||
|
|
||||||
$ pip install --upgrade -r requirements.txt
|
|
||||||
|
|
||||||
Remove deprecated requirements::
|
|
||||||
|
|
||||||
$ pip uninstall -y -r removals.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 #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,101 +0,0 @@
|
|||||||
=============================
|
|
||||||
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
|
|
||||||
will select the adjacent checkbox.
|
|
||||||
- Support for passing the FUSE option `allow-other` and `allow-root` was added
|
|
||||||
to the index mirroring management command.
|
|
||||||
- Added support for checking for the latest released version of Mayan from the
|
|
||||||
About menu.
|
|
||||||
- Added support for rebuilding specific indexes instead of only being able to
|
|
||||||
rebuild all index. GitLab issue #372.
|
|
||||||
- Rewrite document indexing code to be faster and use less locking. Thanks to
|
|
||||||
Macrobb Simpson (@Macrobb) for the initial implementation.
|
|
||||||
- Use a predefined file path for the file lock.
|
|
||||||
- Catch documents with not document version when displaying their thumbnails.
|
|
||||||
- Add custom script_prefix aware resolve function and use it for the
|
|
||||||
document page navigation views. Fixes an issue when Mayan is installed
|
|
||||||
as a sub URL app. Thanks to Gustavo Teixeira(@gsteixei) for the issue and
|
|
||||||
investigation.
|
|
||||||
- Support was added to update document indexes after workflow state changes.
|
|
||||||
- An helper was added to access a documents workflow by name. To this end
|
|
||||||
a new field was added to the Workflow class called `Internal name`.
|
|
||||||
This new field makes it much easier to get a document's workflow instance.
|
|
||||||
If for example a document has a workflow called `Publish` with the internal
|
|
||||||
name `publish_workflow`, it will be accessible in the indexing template as
|
|
||||||
{{ document.workflow.publish_workflow }}. The latest state of the workflow
|
|
||||||
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::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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 #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,156 +0,0 @@
|
|||||||
=============================
|
|
||||||
Mayan EDMS v2.4 release notes
|
|
||||||
=============================
|
|
||||||
|
|
||||||
Released: June 23, 2017
|
|
||||||
|
|
||||||
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
|
|
||||||
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
|
|
||||||
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::
|
|
||||||
|
|
||||||
$ export MAYAN_COMMON_PAGINATE_BY=50
|
|
||||||
|
|
||||||
and restart Mayan EDMS. A list of the configuration options can be found in the
|
|
||||||
`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::
|
|
||||||
|
|
||||||
{% load mathfilters %}{{ document.metadata_value_of.date|date:"Y"}}Q{{ document.metadata_value_of.date|date:"m"|sub:1|intdiv:3|add:1 }}
|
|
||||||
|
|
||||||
|
|
||||||
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`,
|
|
||||||
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.
|
|
||||||
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.
|
|
||||||
- Fix index rebuilding for multi value first levels. GitLab issue #391.
|
|
||||||
- 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.
|
|
||||||
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::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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
|
|
||||||
===========================
|
|
||||||
|
|
||||||
* `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,71 +0,0 @@
|
|||||||
===============================
|
|
||||||
Mayan EDMS v2.5.1 release notes
|
|
||||||
===============================
|
|
||||||
|
|
||||||
Released: July 07, 2017
|
|
||||||
|
|
||||||
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::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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
|
|
||||||
===========================
|
|
||||||
|
|
||||||
* None
|
|
||||||
=======
|
|
||||||
* `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,74 +0,0 @@
|
|||||||
===============================
|
|
||||||
Mayan EDMS v2.5.2 release notes
|
|
||||||
===============================
|
|
||||||
|
|
||||||
Released: July 08, 2017
|
|
||||||
|
|
||||||
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
|
|
||||||
transaction was split into smaller units to make sure the duplicate scan
|
|
||||||
recevies saved and committed data.
|
|
||||||
|
|
||||||
|
|
||||||
Removals
|
|
||||||
--------
|
|
||||||
* None
|
|
||||||
|
|
||||||
Upgrading from a previous version
|
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
Using PIP
|
|
||||||
~~~~~~~~~
|
|
||||||
|
|
||||||
Type in the console::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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
|
|
||||||
===========================
|
|
||||||
|
|
||||||
* None
|
|
||||||
|
|
||||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
|
||||||
@@ -1,243 +0,0 @@
|
|||||||
=============================
|
|
||||||
Mayan EDMS v2.5 release notes
|
|
||||||
=============================
|
|
||||||
|
|
||||||
Released: July 07, 2017
|
|
||||||
|
|
||||||
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
|
|
||||||
allows for Mayan administrators to add mailing profiles without the
|
|
||||||
intervention system administrators. It also provides the opportunity to create
|
|
||||||
multiple mailing profiles. This is useful for sending documents via different
|
|
||||||
email providers depending on things like priority of delivery, or email size
|
|
||||||
limitations. For multi-tenant environments, this also means that each tenant
|
|
||||||
can now send documents via email with their own respective email accounts.
|
|
||||||
For system administrators, this means there is no longer a need to rely on a
|
|
||||||
single email profile for the entirety of all the tenants in a deployment,
|
|
||||||
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
|
|
||||||
from the "Profile" menu to the new "System" menu. The "Profile" menu has been
|
|
||||||
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
|
|
||||||
but does not force users to remove a metadata type before making the switch
|
|
||||||
and thus avoid deletion of existing metadata entries. A new view was also added
|
|
||||||
to change the document type to metadata type relation not only the document
|
|
||||||
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
|
|
||||||
is a duplicate of an existing document. Duplicate documents will be listed
|
|
||||||
in a new "Duplicated documents" link in the main menu. A full document list
|
|
||||||
scan can also be triggered by using the new "Duplicated document scan" button
|
|
||||||
in the tools menu. Finally, a new tab in the document view has been added
|
|
||||||
called "Duplicates" that will list all duplicates of the currently
|
|
||||||
selected document when in the document's view. Related to this feature is the
|
|
||||||
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"
|
|
||||||
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
|
|
||||||
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
|
|
||||||
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
|
|
||||||
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).
|
|
||||||
- Enable the django-mathfilters app added in version 2.4.
|
|
||||||
- Do a complete pull and synchronization of the translations to fix missing
|
|
||||||
translations for Polish. Thanks to Wojtek Warczakowski for the report.
|
|
||||||
- Allow null for the SANE source resolution field. Even though the field was
|
|
||||||
marked as allowing blank values it was failing because it is a number field
|
|
||||||
and number fields need to allow explicit null values when left blank.
|
|
||||||
- Rename the mayan_task_manager app to task_manager.
|
|
||||||
- Make the task manager translatable.
|
|
||||||
- Add Turkish to the list of processes languages.
|
|
||||||
- Use Toastr libary for screen messages.
|
|
||||||
- Reduce verbosity of some debug messages in the MayanAppConfig, settings and,
|
|
||||||
mailing discovery.
|
|
||||||
- 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
|
|
||||||
settings. These setting have been consolidated into
|
|
||||||
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
|
|
||||||
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
|
|
||||||
feature results is much faster trashed document deletion and trash
|
|
||||||
can emptying.
|
|
||||||
- Remove animated spinners to lower browser memory usage and increase
|
|
||||||
responsiveness.
|
|
||||||
- Render a document page placeholder while the real document page
|
|
||||||
loads. This change avoids "jumping" effect when loading many thumbnails.
|
|
||||||
- Increase lazy load thresholds. More thumbnails and document pages
|
|
||||||
will be loaded and visible by default when a view loads.
|
|
||||||
- Improve usability and appearance on medium and small devices like
|
|
||||||
tablets and smartphones.
|
|
||||||
- Do hard word break on form titles to avoid horizontal scroll on
|
|
||||||
small displays.
|
|
||||||
- Python3 compatilibty improvements by removing all explicit conversion
|
|
||||||
using the unicode() function.
|
|
||||||
- Unicode handling improvements.
|
|
||||||
- Update required versions of Pillow and django-suit.
|
|
||||||
|
|
||||||
Removals
|
|
||||||
--------
|
|
||||||
* None
|
|
||||||
|
|
||||||
Upgrading from a previous version
|
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
Using PIP
|
|
||||||
~~~~~~~~~
|
|
||||||
|
|
||||||
Type in the console::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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
|
|
||||||
===========================
|
|
||||||
|
|
||||||
* `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,69 +0,0 @@
|
|||||||
=============================
|
|
||||||
Mayan EDMS v2.6 release notes
|
|
||||||
=============================
|
|
||||||
|
|
||||||
Released: July 18, 2017
|
|
||||||
|
|
||||||
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::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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
|
|
||||||
===========================
|
|
||||||
|
|
||||||
* None
|
|
||||||
|
|
||||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
===============================
|
|
||||||
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.
|
|
||||||
|
|
||||||
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.
|
|
||||||
- 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.
|
|
||||||
|
|
||||||
Removals
|
|
||||||
--------
|
|
||||||
* None
|
|
||||||
|
|
||||||
Upgrading from a previous version
|
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
Using PIP
|
|
||||||
~~~~~~~~~
|
|
||||||
|
|
||||||
Type in the console::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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
|
|
||||||
===========================
|
|
||||||
|
|
||||||
* None
|
|
||||||
|
|
||||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
===============================
|
|
||||||
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
|
|
||||||
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.
|
|
||||||
|
|
||||||
Removals
|
|
||||||
--------
|
|
||||||
* None
|
|
||||||
|
|
||||||
Upgrading from a previous version
|
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
Using PIP
|
|
||||||
~~~~~~~~~
|
|
||||||
|
|
||||||
Type in the console::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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 #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,71 +0,0 @@
|
|||||||
===============================
|
|
||||||
Mayan EDMS v2.6.4 release notes
|
|
||||||
===============================
|
|
||||||
|
|
||||||
Released: July 25, 2017
|
|
||||||
|
|
||||||
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::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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
|
|
||||||
===========================
|
|
||||||
|
|
||||||
* None
|
|
||||||
|
|
||||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
|
||||||
@@ -1,143 +0,0 @@
|
|||||||
=============================
|
|
||||||
Mayan EDMS v2.6 release notes
|
|
||||||
=============================
|
|
||||||
|
|
||||||
Released: July 18, 2017
|
|
||||||
|
|
||||||
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
|
|
||||||
will be almost fullscreen. Another path from Macrobb Simpson, improves the
|
|
||||||
visual appearance of the document metadata widget. The other big change is the
|
|
||||||
new list item view template which lists documents in an column, row layout.
|
|
||||||
With this layout document thumbnails are more clearly visible, much more
|
|
||||||
information can be displayed for each document, and works much better on small
|
|
||||||
screen devices like tablets and smartphone than a responsive table which
|
|
||||||
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
|
|
||||||
to add or remove documents from cabinets must also now be granted to a document
|
|
||||||
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
|
|
||||||
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.
|
|
||||||
- Switch the order of the DEFAULT_AUTHENTICATION_CLASSES of DRF. GitLab #400.
|
|
||||||
- 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::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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 #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,97 +0,0 @@
|
|||||||
===============================
|
|
||||||
Mayan EDMS v2.7.1 release notes
|
|
||||||
===============================
|
|
||||||
|
|
||||||
Released: September 3, 2017
|
|
||||||
|
|
||||||
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
|
|
||||||
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
|
|
||||||
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::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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 #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
|
|
||||||
|
|
||||||
|
|
||||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
|
||||||
@@ -1,101 +0,0 @@
|
|||||||
===============================
|
|
||||||
Mayan EDMS v2.7.2 release notes
|
|
||||||
===============================
|
|
||||||
|
|
||||||
Released: September 06, 2017
|
|
||||||
|
|
||||||
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
|
|
||||||
and not an user event. Another change is the preservation of the user ID that
|
|
||||||
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::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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 #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,279 +0,0 @@
|
|||||||
=============================
|
|
||||||
Mayan EDMS v2.7 release notes
|
|
||||||
=============================
|
|
||||||
|
|
||||||
Released: August 30, 2017
|
|
||||||
|
|
||||||
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
|
|
||||||
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
|
|
||||||
addition to adding their own dashboard widget, remove existing widgets. As
|
|
||||||
part of the dashboard updates support was also added to allow app developers to
|
|
||||||
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
|
|
||||||
of the CONVERTER_GRAPHICS_BACKEND_CONFIG setting option any other format
|
|
||||||
support by Python's Pillow can use used. Support was also added to change the
|
|
||||||
DPI value used by the conversion process of PDF files to images. The default
|
|
||||||
value for this coversion was set to 300 DPI. The entry used to specify this
|
|
||||||
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
|
|
||||||
a workflow transition automatically. State actions allow performing system
|
|
||||||
actions when a workflow enters or leaves a specify state. For this release
|
|
||||||
5 actions were included: attaching and removing tags to a document, granting
|
|
||||||
or revoking access via the ACL, and performing a HTTP POST request. As the
|
|
||||||
feature matures more actions will be added. These two features make the
|
|
||||||
workflow app the automation center for Mayan. This feature allow users to program
|
|
||||||
behaviors to perform, even provoke changes in 3rd party software using the HTTP
|
|
||||||
POST. This feature works very much like services like IFTTT [ifttt.com]
|
|
||||||
(If This Then That) or conditionals in programming languages. The last
|
|
||||||
improvement added to the workflow app is the ability to render a workflow
|
|
||||||
in a graphical manner, useful for visually understanding, explaining and
|
|
||||||
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
|
|
||||||
new apps: the OCR app and the Document parsing app. The document parsing app
|
|
||||||
will read text content from documents that provide them and display the result
|
|
||||||
under the "Content" document tab. The OCR app will also launch for each
|
|
||||||
document even if they provide text content to recognize any text on images.
|
|
||||||
This separation gives users the two choices of text information one extracted
|
|
||||||
from the document (not always available or of quality) and the other recognized
|
|
||||||
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
|
|
||||||
doesn't support Python 3 will be a requirement for Django 2.0, which will
|
|
||||||
force Mayan to move to Python 3 exclusively in the near future. For this
|
|
||||||
reason the PDFMiner parser has been removed. A new library called PyPDF2 was
|
|
||||||
added in a past version to improve the PDF page count and rotation detection,
|
|
||||||
initial experience with this library has been positive and since it supports
|
|
||||||
text extraction might also replace PDFMiner as the secondary PDF text
|
|
||||||
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
|
|
||||||
to explore and navigate different versions of a document much easier and with
|
|
||||||
more information that previously available, being able to visually see for
|
|
||||||
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
|
|
||||||
column `Action object` was added to help identify via which object the
|
|
||||||
event was performed. This is significant when performing actions on objects
|
|
||||||
which are children of another like document versions. The number and types
|
|
||||||
of events that are monitored has been increased all of which can also be used
|
|
||||||
to trigger a workflow transition. The current list:
|
|
||||||
|
|
||||||
- Document added to cabinet
|
|
||||||
- Document removed from cabinet
|
|
||||||
- Document automatically checked in
|
|
||||||
- Document checked in
|
|
||||||
- Document checked out
|
|
||||||
- Document forcefully checked in
|
|
||||||
- Document comment created
|
|
||||||
- Document comment deleted
|
|
||||||
- Document created
|
|
||||||
- Document downloaded
|
|
||||||
- Document properties edited
|
|
||||||
- New version uploaded
|
|
||||||
- Document type changed
|
|
||||||
- Document version reverted
|
|
||||||
- Document viewed
|
|
||||||
- Document version OCR finished
|
|
||||||
- Document version submitted for OCR
|
|
||||||
- Document version parsing finished
|
|
||||||
- Document version submitted for parsing
|
|
||||||
- Tag attached to document
|
|
||||||
- Tag removed from document
|
|
||||||
|
|
||||||
|
|
||||||
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
|
|
||||||
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
|
|
||||||
- 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
|
|
||||||
GitHub issues #256 #257 GitLab issue #416.
|
|
||||||
- Add support for workflow triggers.
|
|
||||||
- Add support for workflow actions. Includes actions to attach and remove tags,
|
|
||||||
grant and remove access and perform an HTTP POST request.
|
|
||||||
- Add support for rendering workflows. Required graphviz binary.
|
|
||||||
- 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 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
|
|
||||||
the action user in unknown.
|
|
||||||
- When changing document types, don't delete the old metadata that is
|
|
||||||
also found in the new document type. GitLab issue #421.
|
|
||||||
- Change the permission needed to attach and remove tags.
|
|
||||||
- Reduces debug verbosity during tests.
|
|
||||||
- Remove the NoMimetype match exception. Not needed now that this is
|
|
||||||
a separate app from the OCR app.
|
|
||||||
- Make error messages persistent.
|
|
||||||
- Add 'Action object' column to the event list. Display the
|
|
||||||
object or target type (document, tag, etc).
|
|
||||||
- Rebalance tag permissions. Change the required permission to attach
|
|
||||||
and remove a tag from view to attach and remove respectively.
|
|
||||||
- Start of error log consolidation sub project.
|
|
||||||
- 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
|
|
||||||
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.
|
|
||||||
|
|
||||||
Upgrading from a previous version
|
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
Using PIP
|
|
||||||
~~~~~~~~~
|
|
||||||
|
|
||||||
Type in the console::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
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
|
|
||||||
===========================
|
|
||||||
|
|
||||||
* `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
|
|
||||||
|
|
||||||
|
|
||||||
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/
|
|
||||||
@@ -1,79 +0,0 @@
|
|||||||
=============================
|
|
||||||
Mayan EDMS v3.0 release notes
|
|
||||||
=============================
|
|
||||||
|
|
||||||
Released: XX XX, 2017
|
|
||||||
|
|
||||||
What's new
|
|
||||||
==========
|
|
||||||
|
|
||||||
|
|
||||||
Other changes
|
|
||||||
-------------
|
|
||||||
- Resource based API endpoints
|
|
||||||
- Update required versions of Pillow to 4.1.1, django-compressor to 2.1.1, django-suit to 0.2.25, pyocr to 0.4.7, sh to 1.12.13
|
|
||||||
- Add notifications support.
|
|
||||||
|
|
||||||
Removals
|
|
||||||
--------
|
|
||||||
- None
|
|
||||||
|
|
||||||
Upgrading from a previous version
|
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
If installed via PIP
|
|
||||||
~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
Type in the console::
|
|
||||||
|
|
||||||
$ pip install -U mayan-edms
|
|
||||||
|
|
||||||
the requirements will also be updated automatically.
|
|
||||||
|
|
||||||
If installed 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.
|
|
||||||
|
|
||||||
Manually upgrade/add the new requirements::
|
|
||||||
|
|
||||||
$ pip install --upgrade -r requirements.txt
|
|
||||||
|
|
||||||
Remove deprecated requirements::
|
|
||||||
|
|
||||||
$ pip uninstall -y -r removals.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 #366 <https://gitlab.com/mayan-edms/mayan-edms/issues/366>`_ Proofread documentation
|
|
||||||
* `GitLab issue #379 <https://gitlab.com/mayan-edms/mayan-edms/issues/379>`_ Add new document version list view permission.
|
|
||||||
* `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/
|
|
||||||
@@ -2,19 +2,19 @@
|
|||||||
Release notes
|
Release notes
|
||||||
=============
|
=============
|
||||||
|
|
||||||
Release notes for the official Mayan EDMS releases. Each release note will tell you
|
Release notes for the official **Mayan EDMS** releases. Each release note will tell you
|
||||||
what's new in each version, and will also describe any backwards-incompatible
|
what's new in each version, and will also describe any backwards-incompatible
|
||||||
changes made in that version.
|
changes made in that version.
|
||||||
|
|
||||||
For those upgrading to a new version of Mayan EDMS, you will need to check
|
For those upgrading to a new version of **Mayan EDMS**, you will need to check
|
||||||
all the backwards-incompatible changes and deprecated features for
|
all the backwards-incompatible changes and deprecated features for
|
||||||
each 'final' release from the one after your current Mayan EDMS version,
|
each 'final' release from the one after your current **Mayan EDMS** version,
|
||||||
up to and including the latest version.
|
up to and including the latest version.
|
||||||
|
|
||||||
Final releases
|
Final releases
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Below are release notes through Mayan EDMS |version| and its minor releases. Newer
|
Below are release notes through **Mayan EDMS** |version| and its minor releases. Newer
|
||||||
versions of the documentation contain the release notes for any later releases.
|
versions of the documentation contain the release notes for any later releases.
|
||||||
|
|
||||||
2.0 series
|
2.0 series
|
||||||
@@ -22,35 +22,9 @@ versions of the documentation contain the release notes for any later releases.
|
|||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
2.7.2
|
|
||||||
2.7.1
|
|
||||||
2.7
|
|
||||||
2.6.4
|
|
||||||
2.6.3
|
|
||||||
2.6.2
|
|
||||||
2.6.1
|
|
||||||
2.6
|
|
||||||
2.5.2
|
|
||||||
2.5.1
|
|
||||||
2.5
|
|
||||||
2.4
|
|
||||||
2.3
|
|
||||||
2.2
|
|
||||||
2.1.11
|
|
||||||
2.1.10
|
|
||||||
2.1.9
|
|
||||||
2.1.8
|
|
||||||
2.1.7
|
|
||||||
2.1.6
|
|
||||||
2.1.5
|
|
||||||
2.1.4
|
|
||||||
2.1.3
|
|
||||||
2.1.2
|
|
||||||
2.1.1
|
|
||||||
2.1
|
|
||||||
2.0.2
|
|
||||||
2.0.1
|
|
||||||
2.0
|
2.0
|
||||||
|
2.0.1
|
||||||
|
2.0.2
|
||||||
|
|
||||||
1.0 series
|
1.0 series
|
||||||
----------
|
----------
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Access control lists
|
Access control lists
|
||||||
====================
|
====================
|
||||||
|
|
||||||
Besides the permissions system explained in :doc:`permissions`, Mayan EDMS
|
Besides the permissions system explained in :doc:`permissions`, **Mayan EDMS**
|
||||||
provides per object permission granting. This feature is used to grant a
|
provides per object permission granting. This feature is used to grant a
|
||||||
permission to a role, but this permission can only be executed for a limited
|
permission to a role, but this permission can only be executed for a limited
|
||||||
number of objects (documents, folders, tags) instead of being effective
|
number of objects (documents, folders, tags) instead of being effective
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
App creation
|
App creation
|
||||||
============
|
============
|
||||||
|
|
||||||
Mayan EDMS apps are essentially Django app with some extra code to register
|
**Mayan EDMS** apps are essentially Django app with some extra code to register
|
||||||
navigation, permissions and other relationships.
|
navigation, permissions and other relationships.
|
||||||
|
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@ App modules
|
|||||||
|
|
||||||
- api_views.py
|
- api_views.py
|
||||||
|
|
||||||
REST API views go here. Mayan EDMS uses Django REST Framework API view
|
REST API views go here. **Mayan EDMS** uses Django REST Framework API view
|
||||||
classes.
|
classes.
|
||||||
|
|
||||||
- apps.py
|
- apps.py
|
||||||
@@ -135,7 +135,7 @@ Views
|
|||||||
=====
|
=====
|
||||||
|
|
||||||
The module common.generics provides custom generic class based views to be used.
|
The module common.generics provides custom generic class based views to be used.
|
||||||
The basic views used to create, edit, view and delete objects in Mayan EDMS
|
The basic views used to create, edit, view and delete objects in **Mayan EDMS**
|
||||||
are: SingleObjectCreateView, SingleObjectDetailView, SingleObjectEditView,
|
are: SingleObjectCreateView, SingleObjectDetailView, SingleObjectEditView,
|
||||||
and SingleObjectListView
|
and SingleObjectListView
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +0,0 @@
|
|||||||
=======
|
|
||||||
Backups
|
|
||||||
=======
|
|
||||||
|
|
||||||
To backup your install of Mayan EDMS just copy the actual document files and
|
|
||||||
the database content. If you are using the default storage backend, the
|
|
||||||
document files should be found in ``mayan/media/document_storage/``.
|
|
||||||
|
|
||||||
To dump the content of your database manager refer to the documentation chapter
|
|
||||||
regarding database data "dumping".
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
- Postgresl: http://www.postgresql.org/docs/current/static/backup.html
|
|
||||||
- MySQL: https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html
|
|
||||||
- SQLite: Just copy the file ``mayan/media/db.sqlite3``
|
|
||||||
@@ -15,14 +15,14 @@ Search for information in the `archives of the mayan-edms mailing list`_, or
|
|||||||
`post a question`_. If you prefer news servers, use the gateway provided by
|
`post a question`_. If you prefer news servers, use the gateway provided by
|
||||||
Gmane_.
|
Gmane_.
|
||||||
|
|
||||||
Mayan EDMS community developers do their best to reply to basic questions.
|
**Mayan EDMS** community developers do their best to reply to basic questions.
|
||||||
Be sure to check the list archives as it may already containt the answers to
|
Be sure to check the list archives as it may already containt the answers to
|
||||||
your questions.
|
your questions.
|
||||||
|
|
||||||
Twitter
|
Twitter
|
||||||
-------
|
-------
|
||||||
|
|
||||||
Mayan EDMS has an official Twitter account, `@mayanedms
|
**Mayan EDMS** has an official Twitter account, `@mayanedms
|
||||||
<http://twitter.com/mayanedms>`_, which is used for announcements and occasional
|
<http://twitter.com/mayanedms>`_, which is used for announcements and occasional
|
||||||
related news tidbits.
|
related news tidbits.
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@ related news tidbits.
|
|||||||
Bugs/ticket tracker
|
Bugs/ticket tracker
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
Report bugs with Mayan EDMS or search existing ones using Gitlab's `ticket tracker`_.
|
Report bugs with **Mayan EDMS** or search existing ones using Github's `ticket tracker`_.
|
||||||
|
|
||||||
|
|
||||||
.. _archives of the mayan-edms mailing list: http://groups.google.com/group/mayan-edms/
|
.. _archives of the mayan-edms mailing list: http://groups.google.com/group/mayan-edms/
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ Contributors
|
|||||||
How to contribute?
|
How to contribute?
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
You can help further the development of Mayan EDMS by testing, reporting
|
You can help further the development of **Mayan EDMS** by testing, reporting
|
||||||
bugs, submitting documentation or code patches.
|
bugs, submitting documentation or code patches.
|
||||||
|
|
||||||
Lead developer
|
Lead developer
|
||||||
|
|||||||
@@ -1,106 +1,28 @@
|
|||||||
===================
|
=========
|
||||||
Advanced deployment
|
Deploying
|
||||||
===================
|
=========
|
||||||
|
|
||||||
Mayan EDMS should be deployed like any other Django_ project and
|
OS "bare metal"
|
||||||
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
|
Like other Django based projects **Mayan EDMS** can be deployed in a wide variety
|
||||||
recommended to better understand why Mayan EDMS does some of the things it
|
of ways. The method provided below is only a bare minimum example.
|
||||||
does.
|
These instructions are independent of the instructions mentioned in the
|
||||||
|
:doc:`installation` chapter but assume you have already made a test install to
|
||||||
|
test the compatibility of your operating system. These instruction are for
|
||||||
|
Ubuntu 15.04.
|
||||||
|
|
||||||
Binary dependencies
|
|
||||||
===================
|
|
||||||
|
|
||||||
Ubuntu
|
|
||||||
------
|
|
||||||
|
|
||||||
If using a Debian_ or Ubuntu_ based Linux distribution, get the executable
|
|
||||||
requirements using::
|
|
||||||
|
|
||||||
apt-get install graphviz nginx supervisor redis-server postgresql \
|
|
||||||
libpq-dev libjpeg-dev libmagic1 libpng-dev libreoffice \
|
|
||||||
libtiff-dev gcc ghostscript gnupg python-dev python-virtualenv \
|
|
||||||
tesseract-ocr poppler-utils -y
|
|
||||||
|
|
||||||
If using Ubuntu 16.10 also install GPG version 1 (as GPG version 2 is the new default for this distribution and not yet supported by Mayan EDMS) ::
|
|
||||||
|
|
||||||
apt-get install gnupg1 -y
|
|
||||||
|
|
||||||
|
|
||||||
Mac OSX
|
|
||||||
-------
|
|
||||||
|
|
||||||
Mayan EDMS is dependent on a number of binary packages and the recommended
|
|
||||||
way is to use a package manager such as `MacPorts <https://www.macports.org/>`_
|
|
||||||
or `Homebrew <http://brew.sh/>`_.
|
|
||||||
|
|
||||||
|
|
||||||
Use MacPorts to install binary dependencies
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
With MacPorts installed run the command:
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
sudo port install python-dev gcc tesseract-ocr unpaper \
|
|
||||||
python-virtualenv ghostscript libjpeg-dev libpng-dev \
|
|
||||||
poppler-utils
|
|
||||||
|
|
||||||
Set the Binary paths
|
|
||||||
********************
|
|
||||||
|
|
||||||
Mayan EDMS by default will look in /usr/bin/ for the binary files it needs
|
|
||||||
so either you can symlink the binaries installed via MacPorts in /opt/local/bin/
|
|
||||||
to /usr/bin/ with ...
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
sudo ln -s /opt/local/bin/tesseract /usr/bin/tesseract
|
|
||||||
|
|
||||||
Alternatively, set the paths in the ``settings/locals.py``
|
|
||||||
|
|
||||||
.. code-block:: python
|
|
||||||
|
|
||||||
LIBREOFFICE_PATH = '/Applications/LibreOffice.app/Contents/MacOS/soffice'
|
|
||||||
|
|
||||||
Or Use Homebrew
|
|
||||||
~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
With Homebrew installed run the command:
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
brew install python gcc tesseract unpaper poppler libpng postgresql
|
|
||||||
|
|
||||||
Set the Binary paths
|
|
||||||
********************
|
|
||||||
|
|
||||||
Mayan EDMS by default will look in /usr/bin/ for the binary files it needs.
|
|
||||||
You can symlink the binaries installed via brew in /usr/local/bin/
|
|
||||||
to /usr/bin/ with:
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
sudo ln -s /usr/local/bin/tesseract /usr/bin/tesseract && \
|
|
||||||
sudo ln -s /usr/local/bin/unpaper /usr/bin/unpaper && \
|
|
||||||
sudo ln -s /usr/local/bin/pdftotext /usr/bin/pdftotext && \
|
|
||||||
sudo ln -s /usr/local/bin/gs /usr/bin/gs
|
|
||||||
|
|
||||||
Alternatively, set the paths in the ``settings/locals.py``
|
|
||||||
|
|
||||||
.. code-block:: python
|
|
||||||
|
|
||||||
LIBREOFFICE_PATH = '/Applications/LibreOffice.app/Contents/MacOS/soffice'
|
|
||||||
|
|
||||||
|
|
||||||
Common steps
|
|
||||||
------------
|
|
||||||
Switch to superuser::
|
Switch to superuser::
|
||||||
|
|
||||||
sudo -i
|
sudo -i
|
||||||
|
|
||||||
|
Install all system dependencies::
|
||||||
|
|
||||||
|
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 unpaper poppler-utils -y
|
||||||
|
|
||||||
Change to the directory where the project will be deployed::
|
Change to the directory where the project will be deployed::
|
||||||
|
|
||||||
cd /usr/share
|
cd /usr/share
|
||||||
@@ -158,10 +80,6 @@ Append the following to the ``mayan/settings/local.py`` file, paying attention t
|
|||||||
BROKER_URL = 'redis://127.0.0.1:6379/0'
|
BROKER_URL = 'redis://127.0.0.1:6379/0'
|
||||||
CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/0'
|
CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/0'
|
||||||
|
|
||||||
If using Ubuntu 16.10, also add this line to the ``mayan/settings/local.py`` file::
|
|
||||||
|
|
||||||
SIGNATURES_GPG_PATH = '/usr/bin/gpg1'
|
|
||||||
|
|
||||||
Migrate the database or initialize the project::
|
Migrate the database or initialize the project::
|
||||||
|
|
||||||
mayan-edms.py initialsetup
|
mayan-edms.py initialsetup
|
||||||
@@ -191,7 +109,7 @@ Create the directory for the uWSGI log files::
|
|||||||
|
|
||||||
mkdir /var/log/uwsgi
|
mkdir /var/log/uwsgi
|
||||||
|
|
||||||
Create the NGINX site file for Mayan EDMS, ``/etc/nginx/sites-available/mayan``::
|
Create the NGINX site file for **Mayan EDMS**, ``/etc/nginx/sites-available/mayan``::
|
||||||
|
|
||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
@@ -216,7 +134,7 @@ Create the NGINX site file for Mayan EDMS, ``/etc/nginx/sites-available/mayan``:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Enable the NGINX site for Mayan EDMS::
|
Enable the NGINX site for **Mayan EDMS**::
|
||||||
|
|
||||||
ln -s /etc/nginx/sites-available/mayan /etc/nginx/sites-enabled/
|
ln -s /etc/nginx/sites-available/mayan /etc/nginx/sites-enabled/
|
||||||
|
|
||||||
@@ -266,18 +184,75 @@ Make the installation directory readable and writable by the webserver user::
|
|||||||
|
|
||||||
chown www-data:www-data /usr/share/mayan-edms -R
|
chown www-data:www-data /usr/share/mayan-edms -R
|
||||||
|
|
||||||
Enable and restart the services [1_]::
|
Restart the services::
|
||||||
|
|
||||||
systemctl enable supervisor
|
/etc/init.d/nginx restart
|
||||||
systemctl restart supervisor
|
/etc/init.d/supervisor restart
|
||||||
systemctl restart nginx
|
|
||||||
|
|
||||||
[1]: https://bugs.launchpad.net/ubuntu/+source/supervisor/+bug/1594740
|
Docker
|
||||||
|
======
|
||||||
|
|
||||||
|
Deploy the Docker image stack::
|
||||||
|
|
||||||
|
docker run --name postgres -e POSTGRES_DB=mayan -e POSTGRES_USER=mayan -e POSTGRES_PASSWORD=mysecretpassword -v /var/lib/postgresql/data -d postgres
|
||||||
|
docker run --name redis -d redis
|
||||||
|
docker run --name mayan-edms -p 80:80 --link postgres:postgres --link redis:redis -e POSTGRES_DB=mayan -e POSTGRES_USER=mayan -e POSTGRES_PASSWORD=mysecretpassword -v /usr/local/lib/python2.7/dist-packages/mayan/media -d mayanedms/monolithic
|
||||||
|
|
||||||
|
After the **Mayan EDMS** container finishes initializing (about 5 minutes), it will
|
||||||
|
be available by browsing to http://127.0.0.1. You can inspect the initialization
|
||||||
|
with::
|
||||||
|
|
||||||
|
docker logs mayan-edms
|
||||||
|
|
||||||
|
|
||||||
|
Docker Compose
|
||||||
|
==============
|
||||||
|
|
||||||
|
Create a file named ``environment`` with the following content::
|
||||||
|
|
||||||
|
POSTGRES_DB=mayan
|
||||||
|
POSTGRES_PASSWORD=mayanpassword
|
||||||
|
POSTGRES_USER=mayan
|
||||||
|
|
||||||
|
Create a file named ``docker-compose.yml`` with the content::
|
||||||
|
|
||||||
|
postgres:
|
||||||
|
env_file:
|
||||||
|
- ./environment
|
||||||
|
image: postgres
|
||||||
|
volumes:
|
||||||
|
- /var/lib/postgresql/data
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: redis
|
||||||
|
|
||||||
|
mayan-edms:
|
||||||
|
env_file:
|
||||||
|
- ./environment
|
||||||
|
image: mayanedms/monolithic
|
||||||
|
links:
|
||||||
|
- postgres
|
||||||
|
- redis
|
||||||
|
ports:
|
||||||
|
- "80:80"
|
||||||
|
volumes:
|
||||||
|
- /usr/local/lib/python2.7/dist-packages/mayan/media
|
||||||
|
|
||||||
|
Launch the entire stack (Postgres, Redis, and Mayan EDMS) using::
|
||||||
|
|
||||||
|
docker-compose -f docker-compose.yml -p mayanedms up -d
|
||||||
|
|
||||||
|
After the **Mayan EDMS** container finishes initializing (about 5 minutes), it will
|
||||||
|
be available by browsing to http://127.0.0.1. You can inspect the initialization
|
||||||
|
with::
|
||||||
|
|
||||||
|
docker logs mayanedms_mayan-edms_1
|
||||||
|
|
||||||
|
Vagrant
|
||||||
|
=======
|
||||||
|
Make sure you have Vagrant and a provider properly installed as per
|
||||||
|
https://docs.vagrantup.com/v2/installation/index.html
|
||||||
|
Clone the repository and execute::
|
||||||
|
|
||||||
|
vagrant up production
|
||||||
|
|
||||||
.. _Debian: http://www.debian.org/
|
|
||||||
.. _Django: http://www.djangoproject.com/
|
|
||||||
.. _Python: http://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
|
|
||||||
|
|||||||
@@ -3,11 +3,11 @@
|
|||||||
Development
|
Development
|
||||||
===========
|
===========
|
||||||
|
|
||||||
Mayan EDMS is under active development, and contributions are welcome.
|
**Mayan EDMS** is under active development, and contributions are welcome.
|
||||||
|
|
||||||
If you have a feature request, suggestion or bug report, please open a new
|
If you have a feature request, suggestion or bug report, please open a new
|
||||||
issue on the `GitLab issue tracker`_. To submit patches, please send a merge
|
issue on the `GitLab issue tracker`_. To submit patches, please send a pull
|
||||||
request on GitLab_.
|
request on GitLab_. Make sure to add yourself to the :ref:`contributors` file.
|
||||||
|
|
||||||
.. _GitLab: https://gitlab.com/mayan-edms/mayan-edms/
|
.. _GitLab: https://gitlab.com/mayan-edms/mayan-edms/
|
||||||
.. _`GitLab issue tracker`: https://gitlab.com/mayan-edms/mayan-edms/issues
|
.. _`GitLab issue tracker`: https://gitlab.com/mayan-edms/mayan-edms/issues
|
||||||
@@ -16,8 +16,8 @@ request on GitLab_.
|
|||||||
Project philosophies
|
Project philosophies
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
How to think about Mayan EDMS when doing changes or adding new features;
|
How to think about **Mayan EDMS** when doing changes or adding new features,
|
||||||
why things are the way they are in Mayan EDMS:
|
why things are the way they are in **Mayan EDMS**.
|
||||||
|
|
||||||
- Functionality must be as market/sector independent as possible, code for the
|
- Functionality must be as market/sector independent as possible, code for the
|
||||||
95% of use cases.
|
95% of use cases.
|
||||||
@@ -36,7 +36,7 @@ why things are the way they are in Mayan EDMS:
|
|||||||
not viable/mature/efficient.
|
not viable/mature/efficient.
|
||||||
- Each app is as independent and self contained as possible. Exceptions, the
|
- Each app is as independent and self contained as possible. Exceptions, the
|
||||||
basic requirements: navigation, permissions, common, main.
|
basic requirements: navigation, permissions, common, main.
|
||||||
- If an app is meant to be used by more than one other app, it should be as
|
- If an app is meant to be used by more than one other app it should be as
|
||||||
generic as possible in regard to the project and another app will bridge the functionality.
|
generic as possible in regard to the project and another app will bridge the functionality.
|
||||||
|
|
||||||
- Example: since indexing (document_indexing) only applies to documents, the
|
- Example: since indexing (document_indexing) only applies to documents, the
|
||||||
@@ -48,18 +48,12 @@ Coding conventions
|
|||||||
|
|
||||||
Follow PEP8
|
Follow PEP8
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
Whenever possible, but don't obsess over things like line length:
|
Whenever possible, but don't obsess over things like line length.
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ flake8 --ignore=E501,E128,E122 |less
|
$ flake8 --ignore=E501,E128,E122 |less
|
||||||
|
|
||||||
To perform automatic PEP8 checks, install flake8's git hook using:
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
$ flake8 --install-hook git
|
|
||||||
|
|
||||||
Imports
|
Imports
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
@@ -109,9 +103,9 @@ Example:
|
|||||||
)
|
)
|
||||||
from .models import Index, IndexInstanceNode, DocumentRenameCount
|
from .models import Index, IndexInstanceNode, DocumentRenameCount
|
||||||
|
|
||||||
All local app module imports are in relative form. Local app module name is to
|
All local app module imports are in relative form, local app module name is to
|
||||||
be referenced as little as possible, unless required by a specific feature,
|
be referenced as little as possible, unless required by a specific feature,
|
||||||
trick, restriction (e.g., Runtime modification of the module's attributes).
|
trick, restriction, ie: Runtime modification of the module's attributes.
|
||||||
|
|
||||||
Incorrect:
|
Incorrect:
|
||||||
|
|
||||||
@@ -131,10 +125,10 @@ Correct:
|
|||||||
|
|
||||||
Dependencies
|
Dependencies
|
||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
Mayan EDMS apps follow a hierarchical model of dependency. Apps import from
|
**Mayan EDMS** apps follow a hierarchical model of dependency. Apps import from
|
||||||
their parents or siblings, never from their children. Think plugins. A parent
|
their parents or siblings, never from their children. Think plugins. A parent
|
||||||
app must never assume anything about a possible existing child app. The
|
app must never assume anything about a possible existing child app. The
|
||||||
documents app and the Document model are the basic entities; they must never
|
documents app and the Document model are the basic entities they must never
|
||||||
import anything else. The common and main apps are the base apps.
|
import anything else. The common and main apps are the base apps.
|
||||||
|
|
||||||
|
|
||||||
@@ -142,7 +136,7 @@ Variables
|
|||||||
~~~~~~~~~
|
~~~~~~~~~
|
||||||
Naming of variables should follow a Major to Minor convention, usually
|
Naming of variables should follow a Major to Minor convention, usually
|
||||||
including the purpose of the variable as the first piece of the name, using
|
including the purpose of the variable as the first piece of the name, using
|
||||||
underscores as spaces. camelCase is not used in Mayan EDMS.
|
underscores as spaces. camelCase is not used in **Mayan EDMS**.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
@@ -177,7 +171,7 @@ Classes:
|
|||||||
|
|
||||||
Strings
|
Strings
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
Quotation character used in Mayan EDMS for strings is the single quote.
|
Quotation character used in **Mayan EDMS** for strings is the single quote.
|
||||||
Double quote is used for multiple line comments or HTML markup.
|
Double quote is used for multiple line comments or HTML markup.
|
||||||
|
|
||||||
Migrations
|
Migrations
|
||||||
@@ -205,17 +199,17 @@ as passed directly from the exception object.
|
|||||||
Source Control
|
Source Control
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
Mayan EDMS source is controlled with Git_.
|
**Mayan EDMS** source is controlled with Git_.
|
||||||
|
|
||||||
The project is publicly accessible, hosted and can be cloned from **GitLab** using::
|
The project is publicly accessible, hosted and can be cloned from **GitLab** using::
|
||||||
|
|
||||||
$ git clone https://gitlab.com/mayan-edms/mayan-edms.git
|
git clone https://gitlab.com/mayan-edms/mayan-edms.git
|
||||||
|
|
||||||
|
|
||||||
Git branch structure
|
Git branch structure
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
Mayan EDMS follows a simplified model layout based on Vincent Driessen's
|
**Mayan EDMS** follows a simplified model layout based on Vincent Driessen's
|
||||||
`Successful Git Branching Model`_ blog post.
|
`Successful Git Branching Model`_ blog post.
|
||||||
|
|
||||||
``develop``
|
``develop``
|
||||||
@@ -241,14 +235,55 @@ Steps to deploy a development version
|
|||||||
-------------------------------------
|
-------------------------------------
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ git clone https://gitlab.com/mayan-edms/mayan-edms.git
|
git clone https://gitlab.com/mayan-edms/mayan-edms.git
|
||||||
$ cd mayan-edms
|
cd mayan-edms
|
||||||
$ git checkout development
|
git checkout development
|
||||||
$ virtualenv venv
|
virtualenv venv
|
||||||
$ source venv/bin/activate
|
source venv/bin/activate
|
||||||
$ pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
$ ./manage.py initialsetup
|
./manage.py initialsetup
|
||||||
$ ./manage.py runserver
|
./manage.py runserver
|
||||||
|
|
||||||
|
|
||||||
|
Setting up a development version using Vagrant
|
||||||
|
----------------------------------------------
|
||||||
|
Make sure you have Vagrant and a provider properly installed as per
|
||||||
|
https://docs.vagrantup.com/v2/installation/index.html
|
||||||
|
|
||||||
|
Start and provision a machine using:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
vagrant up development
|
||||||
|
|
||||||
|
To launch a standalone development server
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
vagrant ssh
|
||||||
|
vagrant@vagrant-ubuntu-trusty-32:~$ cd ~/mayan-edms/
|
||||||
|
vagrant@vagrant-ubuntu-trusty-32:~$ source venv/bin/activate
|
||||||
|
vagrant@vagrant-ubuntu-trusty-32:~$ ./manage.py runserver 0.0.0.0:8000
|
||||||
|
|
||||||
|
To launch a development server with a celery worker and Redis as broker
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
vagrant ssh
|
||||||
|
vagrant@vagrant-ubuntu-trusty-32:~$ cd ~/mayan-edms/
|
||||||
|
vagrant@vagrant-ubuntu-trusty-32:~$ source venv/bin/activate
|
||||||
|
vagrant@vagrant-ubuntu-trusty-32:~$ ./manage.py runserver 0.0.0.0:8000 --settings=mayan.settings.celery_redis
|
||||||
|
|
||||||
|
Then on a separate console launch a celery worker from the same provisioned Vagrant machine:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
vagrant ssh
|
||||||
|
vagrant@vagrant-ubuntu-trusty-32:~$ cd ~/mayan-edms/
|
||||||
|
vagrant@vagrant-ubuntu-trusty-32:~$ source venv/bin/activate
|
||||||
|
vagrant@vagrant-ubuntu-trusty-32:~$ DJANGO_SETTINGS_MODULE='mayan.settings.celery_redis' celery -A mayan worker -l DEBUG -Q checkouts,mailing,uploads,converter,ocr,tools,indexing,metadata -Ofair -B
|
||||||
|
|
||||||
|
|
||||||
Contributing changes
|
Contributing changes
|
||||||
@@ -264,7 +299,7 @@ merged.
|
|||||||
Debugging
|
Debugging
|
||||||
---------
|
---------
|
||||||
|
|
||||||
Mayan EDMS makes extensive use of Django's new `logging capabilities`_.
|
**Mayan EDMS** makes extensive use of Django's new `logging capabilities`_.
|
||||||
By default debug logging for all apps is turned on. If you wish to customize
|
By default debug logging for all apps is turned on. If you wish to customize
|
||||||
how logging is managed turn off automatic logging by setting
|
how logging is managed turn off automatic logging by setting
|
||||||
`COMMON_AUTO_LOGGING` to ``False`` and add the following lines to your
|
`COMMON_AUTO_LOGGING` to ``False`` and add the following lines to your
|
||||||
@@ -326,12 +361,12 @@ The documentation is written in `reStructured Text`_ format, processed with
|
|||||||
Sphinx_, and resides in the ``docs`` directory. In order to build it, you will
|
Sphinx_, and resides in the ``docs`` directory. In order to build it, you will
|
||||||
first need to install the documentation editing dependencies with::
|
first need to install the documentation editing dependencies with::
|
||||||
|
|
||||||
$ pip install -r requirements/documentation.txt
|
pip install -r requirements/documentation.txt
|
||||||
|
|
||||||
Then, to build an HTML version of the documentation, run the following command
|
Then, to build an HTML version of the documentation, run the following command
|
||||||
from the **docs** directory::
|
from the **docs** directory::
|
||||||
|
|
||||||
$ make docs_serve
|
make livehtml
|
||||||
|
|
||||||
The generated documentation can be viewed by browsing to http://127.0.0.1:8000
|
The generated documentation can be viewed by browsing to http://127.0.0.1:8000
|
||||||
or by browsing to the ``docs/_build/html`` directory.
|
or by browsing to the ``docs/_build/html`` directory.
|
||||||
@@ -351,18 +386,22 @@ Source file package
|
|||||||
|
|
||||||
This is the sequence of step used to produce an installable package:
|
This is the sequence of step used to produce an installable package:
|
||||||
|
|
||||||
1. Generate the packaged version (will produce dist/mayan-edms-x.y.z.tar.gz)::
|
1. Make sure there are no lingering packages from previous attempts::
|
||||||
|
|
||||||
$ make sdist
|
rm dist -R
|
||||||
|
|
||||||
2. Do a test install::
|
2. Generate the packaged version (will produce dist/mayan-edms-x.y.z.tar.gz)::
|
||||||
|
|
||||||
$ cd /tmp
|
python setup.py sdist
|
||||||
$ virtualenv venv
|
|
||||||
$ source venv/bin/activate
|
3. Do a test install::
|
||||||
$ pip install <path of the Git repository>/dist/mayan-edms-x.y.z.tar.gz
|
|
||||||
$ mayan-edms.py initialsetup
|
cd /tmp
|
||||||
$ mayan-edms.py runserver
|
virtualenv venv
|
||||||
|
source venv/bin/activate
|
||||||
|
pip install <path of the Git repository>/dist/mayan-edms-x.y.z.tar.gz
|
||||||
|
mayan-edms.py initialsetup
|
||||||
|
mayan-edms.py runserver
|
||||||
|
|
||||||
|
|
||||||
Wheel package
|
Wheel package
|
||||||
@@ -372,9 +411,9 @@ Wheel package
|
|||||||
|
|
||||||
$ pip install -r requirements/development.txt
|
$ pip install -r requirements/development.txt
|
||||||
|
|
||||||
2. Create wheel package using the makefile::
|
2. Create wheel package using the source file package (Until issue #99 of wheel is fixed: https://bitbucket.org/pypa/wheel/issue/99/cannot-exclude-directory)::
|
||||||
|
|
||||||
$ make wheel
|
$ pip wheel --no-index --no-deps --wheel-dir dist dist/mayan-edms-x.y.z.tar.gz
|
||||||
|
|
||||||
3. Do a test install::
|
3. Do a test install::
|
||||||
|
|
||||||
@@ -384,60 +423,3 @@ Wheel package
|
|||||||
$ pip install <path of the Git repository>/dist/mayan_edms-x.y.z-py2-none-any.whl
|
$ pip install <path of the Git repository>/dist/mayan_edms-x.y.z-py2-none-any.whl
|
||||||
$ mayan-edms.py initialsetup
|
$ mayan-edms.py initialsetup
|
||||||
$ mayan-edms.py runserver
|
$ mayan-edms.py runserver
|
||||||
|
|
||||||
|
|
||||||
Version numbering
|
|
||||||
~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
Mayan EDMS uses the Semantic Versioning (http://semver.org/) method to choose
|
|
||||||
version numbers along with Python's PEP-0440 (https://www.python.org/dev/peps/pep-0440/)
|
|
||||||
to format them.
|
|
||||||
|
|
||||||
X.YaN # Alpha release
|
|
||||||
X.YbN # Beta release
|
|
||||||
X.YrcN # Release Candidate
|
|
||||||
X.Y # Final release
|
|
||||||
|
|
||||||
|
|
||||||
Release checklist
|
|
||||||
~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
1. Check for missing migrations::
|
|
||||||
|
|
||||||
$ ./manage.py makemigrations
|
|
||||||
|
|
||||||
2. Synchronize translations::
|
|
||||||
|
|
||||||
$ make translations_pull
|
|
||||||
|
|
||||||
3. Compile translations::
|
|
||||||
|
|
||||||
$ make translations_compile
|
|
||||||
|
|
||||||
4. Write release notes.
|
|
||||||
5. Update changelog.
|
|
||||||
6. Update requirements version in `setup.py`
|
|
||||||
7. Bump version in `mayan/__init__.py`
|
|
||||||
8. Build source package and test::
|
|
||||||
|
|
||||||
$ make test_sdist_via_docker_ubuntu
|
|
||||||
|
|
||||||
9. Build wheel package and test::
|
|
||||||
|
|
||||||
$ make test_whell_via_docker_ubuntu
|
|
||||||
|
|
||||||
10. Tag version::
|
|
||||||
|
|
||||||
$ git tag -a vX.Y.Z -m "Version X.Y.Z"
|
|
||||||
|
|
||||||
11. Push tag upstream::
|
|
||||||
|
|
||||||
$ git push --tags
|
|
||||||
|
|
||||||
12. Build and upload a test release::
|
|
||||||
|
|
||||||
$ make release_test_via_docker_ubuntu
|
|
||||||
|
|
||||||
13. Build and upload a final release::
|
|
||||||
|
|
||||||
$ make release_via_docker_ubuntu
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Document types
|
Document types
|
||||||
==============
|
==============
|
||||||
|
|
||||||
The basic unit of data in Mayan EDMS is the ``document type``. A document
|
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
|
type can be interpreted also as a document category, a document class, or a
|
||||||
document template. Document types need to be created before documents can be
|
document template. Document types need to be created before documents can be
|
||||||
uploaded. It is not possible to upload documents without assigning them a
|
uploaded. It is not possible to upload documents without assigning them a
|
||||||
@@ -11,7 +11,7 @@ document type. Examples of document type: **invoices**, **blueprints**,
|
|||||||
|
|
||||||
Settings and attributes are applied to document types and documents will
|
Settings and attributes are applied to document types and documents will
|
||||||
inherit those settings and attributes based on the document type they were
|
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
|
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.
|
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
|
Upon changing its type, the document will lose its previous settings and
|
||||||
attributes, and will inherit the settings and attributes of its new type.
|
attributes, and will inherit the settings and attributes of its new type.
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ Frequently asked questions and solutions
|
|||||||
**Q: PostgreSQL vs. MySQL**
|
**Q: PostgreSQL vs. MySQL**
|
||||||
|
|
||||||
Since Django abstracts database operations from a functional point of view
|
Since Django abstracts database operations from a functional point of view
|
||||||
Mayan EDMS will behave exactly the same either way. The only concern
|
**Mayan EDMS** will behave exactly the same either way. The only concern
|
||||||
would be that MySQL doesn't support transactions for schema modifying
|
would be that MySQL doesn't support transactions for schema modifying
|
||||||
commands. The only moment this could cause problems is when running
|
commands. The only moment this could cause problems is when running
|
||||||
South migrations during upgrades, if a migration fails the database
|
South migrations during upgrades, if a migration fails the database
|
||||||
@@ -90,7 +90,7 @@ When using ``MySQL`` and doing OCR on languages other than English
|
|||||||
|
|
||||||
**Q: Is virtualenv required as specified in the documentation?**
|
**Q: Is virtualenv required as specified in the documentation?**
|
||||||
|
|
||||||
* It is not necessary, but it's a strong recommendation mainly to reduce
|
* It is not necessary, it's just a strong recommendation mainly to reduce
|
||||||
dependency conflicts by isolation from the main Python system install.
|
dependency conflicts by isolation from the main Python system install.
|
||||||
If not using a virtualenv, pip would install Mayan's dependencies
|
If not using a virtualenv, pip would install Mayan's dependencies
|
||||||
globally coming in conflict with the distribution's prepackaged Python
|
globally coming in conflict with the distribution's prepackaged Python
|
||||||
@@ -116,20 +116,3 @@ http://mayan-edms-ru.blogspot.com/2011/11/blog-post_09.html
|
|||||||
**Q: Can you change the display order of documents...i.e can they be in alphabetical order?**
|
**Q: Can you change the display order of documents...i.e can they be in alphabetical order?**
|
||||||
|
|
||||||
A the moment no, but it is something being considered.
|
A the moment no, but it is something being considered.
|
||||||
|
|
||||||
**Q: Does Mayan EDMS work with Python 3?**
|
|
||||||
|
|
||||||
Not at the moment. When all the projects and libraries upon which Mayan is
|
|
||||||
dependent support Python 3 then will the project move to fully support Python 3.
|
|
||||||
|
|
||||||
**Q: The watched folder feature is not working**
|
|
||||||
|
|
||||||
Make sure that the Celery BEAT scheduler is running correctly as it is the element
|
|
||||||
that triggers the periodics tasks.
|
|
||||||
|
|
||||||
**Q: How to do LDAP authentication**
|
|
||||||
|
|
||||||
A sample settings file called ldap_connection_settings.py is included in the
|
|
||||||
contrib/settings/ folder of the repository showing how to setup LDAP
|
|
||||||
authentication.
|
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ Features
|
|||||||
|
|
||||||
* Office document format support.
|
* Office document format support.
|
||||||
|
|
||||||
* Mayan EDMS can detect the presence of Libre Office and use it to support
|
* **Mayan EDMS** can detect the presence of Libre Office and use it to support
|
||||||
word processing files, spreadsheets and presentations.
|
word processing files, spreadsheets and presentations.
|
||||||
|
|
||||||
* User defined metadata fields.
|
* User defined metadata fields.
|
||||||
@@ -30,7 +30,7 @@ Features
|
|||||||
* Dynamic default values for metadata.
|
* Dynamic default values for metadata.
|
||||||
|
|
||||||
* Metadata fields can have an initial value, which can be static or determined
|
* Metadata fields can have an initial value, which can be static or determined
|
||||||
by a template code snippet provided by the user.
|
by an user provided template code snippet.
|
||||||
|
|
||||||
* Documents can be uploaded from different sources.
|
* Documents can be uploaded from different sources.
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@ Features
|
|||||||
|
|
||||||
* Previews for many file formats.
|
* Previews for many file formats.
|
||||||
|
|
||||||
* Mayan EDMS provides image preview generation for many popular file
|
* **Mayan EDMS** provides image preview generation for many popular file
|
||||||
formats.
|
formats.
|
||||||
|
|
||||||
* Full text searching.
|
* Full text searching.
|
||||||
@@ -68,7 +68,7 @@ Features
|
|||||||
|
|
||||||
* Multi page document support.
|
* Multi page document support.
|
||||||
|
|
||||||
* Multiple page PDF and TIFF files are supported.
|
* Multiple page PDFs and TIFFs files are supported.
|
||||||
|
|
||||||
* Automatic OCR processing.
|
* Automatic OCR processing.
|
||||||
|
|
||||||
@@ -78,7 +78,7 @@ Features
|
|||||||
|
|
||||||
* Multilingual user interface.
|
* Multilingual user interface.
|
||||||
|
|
||||||
* Mayan EDMS being written using the Django_ framework, can be translated
|
* **Mayan EDMS** being written using the Django_ framework, can be translated
|
||||||
to practically any language spoken in the world. For a list of translated
|
to practically any language spoken in the world. For a list of translated
|
||||||
languages have a look at the Transifex_ project location.
|
languages have a look at the Transifex_ project location.
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
File storage
|
File storage
|
||||||
============
|
============
|
||||||
|
|
||||||
The files are stored and placed under Mayan EDMS "control" to avoid
|
The files are stored and placed under **Mayan EDMS** "control" to avoid
|
||||||
filename clashes each file gets renamed to its ``UUID`` (Universally Unique ID),
|
filename clashes each file gets renamed to its ``UUID`` (Universally Unique ID),
|
||||||
without extension, and stored in a simple flat arrangement in a directory.
|
without extension, and stored in a simple flat arrangement in a directory.
|
||||||
|
|
||||||
@@ -20,16 +20,9 @@ This doesn't stop access to the files but renaming, moving or updating
|
|||||||
directly them is not recommended because it would throw the database out
|
directly them is not recommended because it would throw the database out
|
||||||
of sync.
|
of sync.
|
||||||
|
|
||||||
Because Mayan EDMS components are as decoupled from each other as possible,
|
Because **Mayan EDMS** components are as decoupled from each other as possible,
|
||||||
storage in this case is decoupled and its behavior is controlled
|
storage in this case is decoupled and its behavior is controlled
|
||||||
not by the project but by the ``Storage`` module class. All the other
|
not by the project but by the ``Storage`` module class. All the other
|
||||||
modules don't make any assumptions about how the actual document files are
|
modules don't make any assumptions about how the actual document files are
|
||||||
stored. This way files can be saved locally, over the network or even across
|
stored. This way files can be saved locally, over the network or even across
|
||||||
the Internet and everything will still operate exactly the same.
|
the Internet and everything will still operate exactly the same.
|
||||||
|
|
||||||
The default file storage backend: ``storage.backends.filebasedstorage.FileBasedStorage``
|
|
||||||
is a simple backend that only supports paths and not IP addresses. In case you
|
|
||||||
are interested in using remote volumes to store documents (NFS, SAMBA), first
|
|
||||||
mount these volumes so that they appear as a directories to Mayan EDMS. For
|
|
||||||
direct support for remote volumes a custom backend would be needed such as those
|
|
||||||
provided by the Django Storages project (https://django-storages.readthedocs.org/en/latest/).
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
Concepts
|
Concepts
|
||||||
========
|
========
|
||||||
|
|
||||||
Introductions to all the key parts of Mayan EDMS you'll need to know:
|
Introductions to all the key parts of **Mayan EDMS** you'll need to know:
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
@@ -15,12 +15,8 @@ Introductions to all the key parts of Mayan EDMS you'll need to know:
|
|||||||
checkouts
|
checkouts
|
||||||
versioning
|
versioning
|
||||||
signatures
|
signatures
|
||||||
ocr_backend
|
|
||||||
indexes
|
indexes
|
||||||
languages
|
|
||||||
smart_links
|
smart_links
|
||||||
tags
|
tags
|
||||||
mailing
|
|
||||||
settings
|
|
||||||
file_storage
|
file_storage
|
||||||
backups
|
screenshots
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ Example:
|
|||||||
- Metadata type: ``Product year``, associated as a required metadata for the document type ``Product sheet``.
|
- Metadata type: ``Product year``, associated as a required metadata for the document type ``Product sheet``.
|
||||||
|
|
||||||
- Index: ``Product sheets per year``, and associated to the document type ``Product sheet``.
|
- Index: ``Product sheets per year``, and associated to the document type ``Product sheet``.
|
||||||
- Index slug: ``product-sheets-per-year``. Slugs are internal unique identifiers that can be used by other Mayan EDMS modules to reference each index.
|
- Index slug: ``product-sheets-per-year``. Slugs are internal unique identifiers that can be used by other **Mayan EDMS** modules to reference each index.
|
||||||
- Index tree template as follows:
|
- Index tree template as follows:
|
||||||
|
|
||||||
.. blockdiag::
|
.. blockdiag::
|
||||||
|
|||||||
@@ -1,22 +1,135 @@
|
|||||||
|
============
|
||||||
Installation
|
Installation
|
||||||
============
|
============
|
||||||
|
|
||||||
The easiest way to use Mayan EDMS is by using the official Docker_ image.
|
**Mayan EDMS** should be deployed like any other Django_ project and
|
||||||
Make sure Docker is properly installed and working before attempting to install
|
preferably using virtualenv_.
|
||||||
Mayan EDMS.
|
|
||||||
|
|
||||||
Hardware requirements
|
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.
|
||||||
|
|
||||||
- 2 Gigabytes of RAM (1 Gigabyte if OCR is turned off).
|
Bellow are the step needed for a test install.
|
||||||
- Multiple core CPU (64 bit, faster than 1 GHz recommended).
|
|
||||||
|
|
||||||
Docker procedure
|
Binary dependencies
|
||||||
----------------
|
===================
|
||||||
|
|
||||||
For the complete set of installation, configuration, upgrade, and backup
|
Ubuntu
|
||||||
instructions visit the Mayan EDMS Docker Hub page at:
|
------
|
||||||
https://hub.docker.com/r/mayanedms/mayanedms/
|
|
||||||
|
If using a Debian_ or Ubuntu_ based Linux distribution, get the executable
|
||||||
|
requirements using::
|
||||||
|
|
||||||
|
sudo apt-get install libjpeg-dev libmagic1 libpng-dev libreoffice libtiff-dev gcc ghostscript gpgv python-dev python-virtualenv tesseract-ocr unpaper poppler-utils -y
|
||||||
|
|
||||||
|
|
||||||
.. _Docker: https://www.docker.com/
|
Mac OSX
|
||||||
|
-------
|
||||||
|
|
||||||
|
**Mayan EDMS** is dependent on a number of binary packages and the recommended
|
||||||
|
way is to use a package manager such as `MacPorts <https://www.macports.org/>`_
|
||||||
|
or `Homebrew <http://brew.sh/>`_.
|
||||||
|
|
||||||
|
|
||||||
|
Use MacPorts to install binary dependencies
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
With MacPorts installed run the command:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
sudo port install python-dev gcc tesseract-ocr unpaper \
|
||||||
|
python-virtualenv ghostscript libjpeg-dev libpng-dev \
|
||||||
|
poppler-utils
|
||||||
|
|
||||||
|
Set the Binary paths
|
||||||
|
********************
|
||||||
|
|
||||||
|
**Mayan EDMS** by default will look in /usr/bin/ for the binary files it needs
|
||||||
|
so either you can symlink the binaries installed via MacPorts in /opt/local/bin/
|
||||||
|
to /usr/bin/ with ...
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
sudo ln -s /opt/local/bin/tesseract /usr/bin/tesseract
|
||||||
|
|
||||||
|
... alternatively set the paths in the ``settings/locals.py``
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
LIBREOFFICE_PATH = '/Applications/LibreOffice.app/Contents/MacOS/soffice'
|
||||||
|
|
||||||
|
Or Use Homebrew
|
||||||
|
~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
With Homebrew installed run the command:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
brew install python gcc tesseract unpaper poppler libpng postgresql
|
||||||
|
|
||||||
|
Set the Binary paths
|
||||||
|
********************
|
||||||
|
|
||||||
|
**Mayan EDMS** by default will look in /usr/bin/ for the binary files it needs
|
||||||
|
so either you can symlink the binaries installed via brew in /usr/local/bin/
|
||||||
|
to /usr/bin/ with ...
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
sudo ln -s /usr/local/bin/tesseract /usr/bin/tesseract && \
|
||||||
|
sudo ln -s /usr/local/bin/unpaper /usr/bin/unpaper && \
|
||||||
|
sudo ln -s /usr/local/bin/pdftotext /usr/bin/pdftotext && \
|
||||||
|
sudo ln -s /usr/local/bin/gs /usr/bin/gs
|
||||||
|
|
||||||
|
... alternatively set the paths in the ``settings/locals.py``
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
LIBREOFFICE_PATH = '/Applications/LibreOffice.app/Contents/MacOS/soffice'
|
||||||
|
|
||||||
|
Actual project installation
|
||||||
|
===========================
|
||||||
|
|
||||||
|
Initialize a ``virtualenv`` to deploy the project:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
virtualenv venv
|
||||||
|
source venv/bin/activate
|
||||||
|
pip install mayan-edms
|
||||||
|
|
||||||
|
By default **Mayan EDMS** will create a single file SQLite_ database, which makes
|
||||||
|
it very easy to start using **Mayan EDMS**. Populate the database with the
|
||||||
|
project's schema doing:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
mayan-edms.py initialsetup
|
||||||
|
mayan-edms.py runserver
|
||||||
|
|
||||||
|
Point your browser to http://127.0.0.1:8000. If everything was installed
|
||||||
|
correctly you should see the login screen and panel showing a randomly generated
|
||||||
|
admin password.
|
||||||
|
|
||||||
|
Note: Background tasks and scheduled tasks will not run when using the test server.
|
||||||
|
|
||||||
|
|
||||||
|
Production use
|
||||||
|
==============
|
||||||
|
|
||||||
|
After making sure everything is running correctly, stop the `runserver` command.
|
||||||
|
Deploy **Mayan EDMS** using the webserver of your preference. For more information
|
||||||
|
on deployment instructions and examples, checkout Django's official documentation
|
||||||
|
on the topic https://docs.djangoproject.com/en/1.7/howto/deployment/
|
||||||
|
For a simple production deployment setup follow the instructions in the
|
||||||
|
:doc:`deploying` chapter.
|
||||||
|
|
||||||
|
|
||||||
|
.. _Debian: http://www.debian.org/
|
||||||
|
.. _Django: http://www.djangoproject.com/
|
||||||
|
.. _Download: https://github.com/mayan-edms/mayan-edms/archives/master
|
||||||
|
.. _Python: http://www.python.org/
|
||||||
|
.. _SQLite: https://www.sqlite.org/
|
||||||
|
.. _Ubuntu: http://www.ubuntu.com/
|
||||||
|
.. _virtualenv: http://www.virtualenv.org/en/latest/index.html
|
||||||
|
|||||||
@@ -1,19 +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 settings ``DOCUMENTS_LANGUAGE_CHOICES``,
|
|
||||||
and set it to a nested list of abbreviations + languages names like::
|
|
||||||
|
|
||||||
DOCUMENTS_LANGUAGE_CHOICES = (('eng', 'English'), ('spa', 'Spanish'))
|
|
||||||
|
|
||||||
|
|
||||||
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.
|
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
License
|
License
|
||||||
=======
|
=======
|
||||||
|
|
||||||
Mayan EDMS is distributed under the `Apache 2.0 License`_.
|
**Mayan EDMS** is distributed under the `Apache 2.0 License`_.
|
||||||
The complete license terms are included below.
|
The complete license terms are included below.
|
||||||
|
|
||||||
.. _Apache 2.0 License: https://www.apache.org/licenses/LICENSE-2.0.txt
|
.. _Apache 2.0 License: https://www.apache.org/licenses/LICENSE-2.0.txt
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
=================
|
|
||||||
Mailing documents
|
|
||||||
=================
|
|
||||||
|
|
||||||
To be able to send documents via email from inside Mayan EDMS you need to add
|
|
||||||
and configure the following configuration variables in your
|
|
||||||
mayan/settings/local.py file::
|
|
||||||
|
|
||||||
EMAIL_HOST = 'smtp.gmail.com' # Or similar
|
|
||||||
EMAIL_PORT = 587
|
|
||||||
EMAIL_HOST_USER = '<your smtp username>'
|
|
||||||
EMAIL_HOST_PASSWORD = '<your smtp password>'
|
|
||||||
EMAIL_USE_TLS = True
|
|
||||||
|
|
||||||
"Mail is sent using the SMTP host and port specified in the EMAIL_HOST and EMAIL_PORT settings. The EMAIL_HOST_USER andEMAIL_HOST_PASSWORD settings, if set, are used to authenticate to the SMTP server, and the EMAIL_USE_TLS and EMAIL_USE_SSL settings control whether a secure connection is used."
|
|
||||||
|
|
||||||
For more details consult Django's documentation on the topic: https://docs.djangoproject.com/en/1.8/ref/settings/#email-host
|
|
||||||