Compare commits

..

572 Commits

Author SHA1 Message Date
Roberto Rosario
2de95b57d3 Fix translation file formatting
GitLab issue #579.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-09 02:53:24 -04:00
Roberto Rosario
cd74f6f461 Merge remote-tracking branch 'origin/hotfix' into hotfix 2019-04-09 02:51:55 -04:00
Roberto Rosario
9e1b77c5fc Revert "Language and translation file updates"
This reverts commit fbf03788a2.
2019-04-09 02:51:30 -04:00
Roberto Rosario
fbf03788a2 Language and translation file updates
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-09 02:41:39 -04:00
Roberto Rosario
4ee11cd067 Language and translation file updates
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-09 01:46:59 -04:00
Roberto Rosario
ad84cf8cdb Make mimetype app translatable
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-09 00:53:17 -04:00
Roberto Rosario
d627e9713c Fix source text typo
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-09 00:51:41 -04:00
Roberto Rosario
80e5fd89e4 Update translation sources
Also update the translatable text template in document states
views module.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-09 00:32:04 -04:00
Roberto Rosario
7d756de3de Add DOCUMENTS_HASH_BLOCK_SIZE setting
This new setting is used to control the size of the file
blocks when calculating a document's checksum. The default
value of 0 disables the features and preserves the current
behavior of reading the entire file into memory.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-07 22:58:01 -04:00
Roberto Rosario
69bd6c116e Improve multiple tag wizard step code
Previous code produce an error when there were not tag
IDs passed to the wizard.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-07 22:45:06 -04:00
Roberto Rosario
0065edfae9 Lower the log severity when links don't resolve
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-07 22:39:42 -04:00
Roberto Rosario
9ec021241c Update release notes
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-07 20:41:28 -04:00
Roberto Rosario
3a60155bfa Add checkout tests
Add link tests. Add checkout info view tests. Move common code to
a test mixin.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-07 01:08:46 -04:00
Roberto Rosario
f6a0a421a5 Update the check out info link permission
Update the link permission to match the same required permission
as the view.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-07 01:07:01 -04:00
Roberto Rosario
7ed26f4d4c Add checkout details view tests
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-06 20:17:32 -04:00
Roberto Rosario
daca9dd539 Fix multiple tag selection wizard step
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-06 19:36:14 -04:00
Roberto Rosario
d493ec34b2 Update build string
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-04 22:04:18 -04:00
Roberto Rosario
51ea493a26 Use bytes for hash and return the unicode
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-04 22:03:19 -04:00
Roberto Rosario
49403978b1 Update build string
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-04 17:09:43 -04:00
Roberto Rosario
8c770d5ba3 Merge branch 'releases/all' 2019-04-04 17:08:03 -04:00
Roberto Rosario
b01e8707a3 Add troubleshooting documenation topic
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-04 17:07:41 -04:00
Roberto Rosario
8896f58d6f Add support for skipping a default set of tests
Tests to be excluded by default should be tagged
as 'exclude'.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-04 16:48:11 -04:00
Roberto Rosario
3afb74224d Update build strings
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-04 02:49:05 -04:00
Roberto Rosario
3a4f97c5c2 Bump version to 3.1.10
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-04 02:48:00 -04:00
Roberto Rosario
8419facb8a PEP8 cleanups
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-04 02:46:25 -04:00
Roberto Rosario
3cbc6435a2 Improve markup in release notes
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-04 02:39:57 -04:00
Roberto Rosario
e7627a723e Remove repeated section
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-04 02:39:46 -04:00
Roberto Rosario
e77afeee37 Add API client examples
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-04 02:32:02 -04:00
Roberto Rosario
6a5a2350bb Fix documentation tag chapter reference
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-04 02:31:26 -04:00
Roberto Rosario
912675bf99 Force object to text
Force text display of object when raising PermissionDenied
to avoid UnicodeDecodeError. Thanks to Mathias Behrle
(@mbehrle) for the report and the debug information.
GitLab issue #576.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-04 01:39:06 -04:00
Roberto Rosario
a56e3ca111 Add the MIMETYPE_FILE_READ_SIZE setting
This new setting is used to limit the number of bytes read
while determining the MIME type of a new document. A value
of 0 will cause the entire file to be loaded into memory.
1024 appears to be a suitable number for most cases. This
setting defaults to 0 to preserve the current behavior but
might change in a future version.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-03 22:24:19 -04:00
Roberto Rosario
5f877cdc22 Validate the state completion value before saving
Thanks to Manoel Brunnen (@mbru) for the report and debug
information. GitLab issue #557.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-03 18:28:25 -04:00
Roberto Rosario
d5efd53b5b Add issue 564 credit.
Thanks to the Stéphane (@shoyu) for the report and debug
information.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-03 16:54:45 -04:00
Roberto Rosario
c156c02376 Fix index list API view
Add index create, delete, detail API tests. Fixes GitLab
issue #564.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-03 16:52:54 -04:00
Roberto Rosario
a196205593 Add missing index API view create permission
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-03 16:50:44 -04:00
Roberto Rosario
26cf7fb97c Add release notes for version 3.1.10
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-03 15:28:19 -04:00
Roberto Rosario
863892f909 Add metadata wizard step test
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-03 14:51:26 -04:00
Roberto Rosario
5a64a3e833 Reject emails attachments of size 0
Thanks to Robert Schoeftner (@robert.schoeftner)for the report
and solution. GitLab issue #574.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-02 23:51:53 -04:00
Roberto Rosario
45786005ab Update changelog
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-02 22:39:37 -04:00
Roberto Rosario
f45384e399 Add API to list all templates
Remove newlines from the rendered templates.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-02 22:37:46 -04:00
Roberto Rosario
33a542b9d5 Add support for server side link badges
GitLab issue #562.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-02 22:36:57 -04:00
Roberto Rosario
00d07214b1 Remove notification badge AJAX setup
Individual link AJAX workers are obsolete now that the menu
is being rendered by its own AJAX renderer.
GitLab issue #562.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-02 22:34:54 -04:00
Roberto Rosario
1e8030a722 Add view test for compressed files
GitLab issue #572.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-02 18:58:17 -04:00
Roberto Rosario
f6404fbd4b Merge remote-tracking branch 'origin/master' into hotfix 2019-04-02 18:56:47 -04:00
Roberto Rosario
b59c39261f Merge branch 'feature/error_ziparchive_children' into 'master'
Updates method for getting zip file members - Closes #572

Closes #572

See merge request mayan-edms/mayan-edms!41
2019-04-02 22:55:28 +00:00
Roberto Rosario
a5b513f986 Update changelog
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-02 18:31:05 -04:00
Roberto Rosario
45a688749c Merge remote-tracking branch 'origin/master' into hotfix 2019-04-02 18:20:48 -04:00
Roberto Rosario
15473620c4 Merge branch '568-pin-tornado-version' into 'master'
Pin tornado dependency to maintain Py27 compatibility - fixes #568

Closes #568

See merge request mayan-edms/mayan-edms!40
2019-04-02 22:20:31 +00:00
Roberto Rosario
7cd0e16cc2 Merge remote-tracking branch 'origin/master' into hotfix
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-02 15:23:24 -04:00
Roberto Rosario
caab7b3b59 Merge branch '566-custom-rooturl-in-tests' into 'master'
Support custom ROOT_URLCONF in tests - fixes #566

Closes #566

See merge request mayan-edms/mayan-edms!37
2019-04-02 19:15:17 +00:00
Roberto Rosario
47d850e164 Synchronize translations
Add Czech and Greek. Replace 'da' with 'da_DK', 'zn_CN' with 'zh'.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-02 15:08:49 -04:00
Roberto Rosario
b27e160d15 Update required Django version to 1.11.20
From Django 1.11.16.

* Django 1.11.17 fixes several bugs in 1.11.16 and adds compatibility
  with Python 3.7.
* Prevented repetitive calls to geos_version_tuple() in the WKBWriter
  class in an attempt to fix a random crash involving LooseVersion
  since Django 1.11.14 (#29959).
* CVE-2019-3498: Content spoofing possibility in the default 404 page
  An attacker could craft a malicious URL that could make spoofed
  content appear on the default page generated by the
  django.views.defaults.page_not_found() view. The URL path is no
  longer displayed in the default 404 template and the request_path
  context variable is now quoted to fix the issue for custom
  templates that use the path
* CVE-2019-6975: Memory exhaustion in django.utils.numberformat.format()
  If django.utils.numberformat.format() – used by contrib.admin as
  well as the the floatformat, filesizeformat, and intcomma templates
  filters – received a Decimal with a large number of digits or a large
  exponent, it could lead to significant memory usage due to a call to
  '{:f}'.format(). To avoid this, decimals with more than 200 digits
  are now formatted using scientific notation.
* Corrected packaging error from 1.11.19 (#30175).

https://docs.djangoproject.com/en/2.1/releases/1.11.17/
https://docs.djangoproject.com/en/2.1/releases/1.11.18/
https://docs.djangoproject.com/en/2.1/releases/1.11.19/
https://docs.djangoproject.com/en/2.1/releases/1.11.20/

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-02 14:13:20 -04:00
Roberto Rosario
3eb4a70fbf Update changelog
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-02 13:36:16 -04:00
Roberto Rosario
d4df7e69d7 Merge remote-tracking branch 'origin/master' into hotfix 2019-04-02 13:32:42 -04:00
Roberto Rosario
0055429703 Merge branch 'mbn/docker-build-fixes' into 'master'
Docker build fixes

See merge request mayan-edms/mayan-edms!35
2019-04-02 17:32:02 +00:00
Roberto Rosario
eafdfd8177 Merge remote-tracking branch 'origin/master' into hotfix 2019-04-02 13:26:46 -04:00
Roberto Rosario
a8e52126f5 Merge branch 'hotfix' of gitlab.com:mayan-edms/mayan-edms into hotfix
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-02 13:11:26 -04:00
Roberto Rosario
70facb96f0 Merge branch 'master' into 'master'
Update translation file

See merge request mayan-edms/mayan-edms!33
2019-04-02 17:10:43 +00:00
Roberto Rosario
f583e24c47 Update changelog
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-02 13:09:56 -04:00
Roberto Rosario
7db27aa9fe Update changelog
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-02 13:07:43 -04:00
Roberto Rosario
f5bc055a11 Fix test document reference
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-02 13:04:43 -04:00
Roberto Rosario
965160b7a2 Merge remote-tracking branch 'origin/master' into hotfix 2019-04-02 13:04:12 -04:00
Roberto Rosario
85b3164592 Merge branch 'master' into 'master'
Fix super call in APIAdvancedSearchView

See merge request mayan-edms/mayan-edms!36
2019-04-02 17:02:13 +00:00
Roberto Rosario
7634d9e5da Improve search API tests
Add tests for the advanced search API. GitLab merge !36.
Thanks to Simeon Walker (@simeon-walker) for the find and fix.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-02 13:00:37 -04:00
Roberto Rosario
48253f3f85 Update index test case to be order agnostic
Use sets and remove explicit index node ordering to allow tests
to work regardless of the node creation order. GitLab issue #559.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-02 02:36:30 -04:00
Roberto Rosario
dd2c64d453 Remove unused import
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-02 02:35:13 -04:00
Roberto Rosario
517c05a9c2 Allow passing arguments to the makefile targets
Add an ARGUMENTS option to the test-all and test targets.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-02 02:34:19 -04:00
Roberto Rosario
99bbe7d47c Simple optimizations to the checkout app
Use exists and use subqueries optimizations.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-02 02:33:32 -04:00
Roberto Rosario
586d41eeff Backport test case improvements
Add random primary key mixin. Split test case code into mixins.
Make the view test case and the API test cases part of the same
class hierachy. Update tests that failed due to the new import
locations.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2019-04-02 02:31:35 -04:00
Jorge E. Gómez
7fb18b14eb Fixes error: ZipArchive object has no attribute 'children' 2019-03-15 22:58:15 +00:00
Roger Hunwicks
68398e2ce6 Pin tornado dependency to maintain Py27 compatibility - fixes #568
Signed-off-by: Roger Hunwicks <roger@tonic-solutions.com>
2019-03-05 10:54:46 +02:00
Roger Hunwicks
d23f5eb540 Support custom ROOT_URLCONF in tests - fixes #566 2019-02-28 14:02:46 +02:00
Simeon Walker
4bbd5dab70 Fix super call in APIAdvancedSearchView 2019-02-14 10:10:31 +00:00
Manoel Brunnen
c4b9ae596e Workaround for pip bug #6179
See https://github.com/pypa/pip/issues/6197
2019-02-04 11:24:56 +01:00
Manoel Brunnen
5c9ff90d28 Fix libssl-dev dependency installation
The apt package informations have already been removed at this point.
Also, this dependency is not armhf specific.
2019-02-04 11:24:50 +01:00
Littm
f5d2f34e30 Update translation file 2018-11-25 01:04:12 +00:00
Roberto Rosario
8cbae9021b Release: Update setup build string
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-11-01 03:55:42 -04:00
Roberto Rosario
8a971400b1 Release: Bump version to 3.1.9
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-11-01 03:55:06 -04:00
Roberto Rosario
fb3678bb6f Sources: Convert furl querystring to text
Convert the furl instance to text to allow serializing it into
JSON to be passed as arguments to the background task.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-11-01 03:50:34 -04:00
Roberto Rosario
7c5477b439 Release: Update build string
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-31 19:10:08 -04:00
Roberto Rosario
cc7362b269 Release: Bump version to 3.1.8
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-31 19:09:05 -04:00
Roberto Rosario
dcb55f4aff Utilities: Remove remarked statement
Remove print statement fromt he increase_version module.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-31 19:05:47 -04:00
Roberto Rosario
ba6fd842d2 Documentation: Add version 3.1.8 release notes
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-31 19:05:03 -04:00
Roberto Rosario
cf1726505b Documenation: Fix spelling errors
Fix spelling errors in documentation and other program texts.
Update the spelling exceptions list.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-31 18:41:20 -04:00
Roberto Rosario
8b41a9bfc9 Documentation: Expand the Source control section
Add new subsection explaining commit messages structure to be
used in the project.

Updates and expands explanations regarding the Git branch
structure used in the project.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-31 17:24:43 -04:00
Roberto Rosario
e109068b29 Indexing: Add document base property reindex
Add support for reindexing documents when their base properties like
the label and description are edited.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-31 17:08:56 -04:00
Roberto Rosario
9fc7c4fc09 Add explicit argument name of 'mode' to the open statement.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-31 16:53:48 -04:00
Roberto Rosario
5a8455bfc2 Update translation files.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-29 13:24:07 -04:00
Roberto Rosario
033d6751e0 Add utility and makefile target to increase version number mechanically. Update release checklist.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-29 12:55:24 -04:00
Roberto Rosario
d9ee75cc47 Merge branch 'feature/show_config' into versions/next
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-19 02:58:53 -04:00
Roberto Rosario
6ae24493eb Add new showsettings management command
This command displays the current configuration settings.
Default the YAML flow format to False which never uses inline.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-19 02:55:16 -04:00
Roberto Rosario
b4f43adc1a Documentation: Use Sphinx's extlinks to cut down on repeated URLs. Merge Administration and Maintenance topics. Add database conversion chapter. Unify the header format of all recent release notes. Fix :doc: references.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-18 23:02:30 -04:00
Roberto Rosario
46d48cc5ea Add template variable for the setup module build number.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-18 16:29:31 -04:00
Roberto Rosario
b74a323f2b Update changelog.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-18 16:21:43 -04:00
Roberto Rosario
bcd2427ab6 Move the noop OCR backend to the right place.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-18 16:21:12 -04:00
Roberto Rosario
8fcc61bde5 Update documentation. Add chapter on password resets. Add administration topic.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-17 21:38:58 -04:00
Roberto Rosario
b716971ba0 Add configuration option to change the project/installation URL. This is used in the password reset emails and in the default document mailing templates.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-17 21:34:48 -04:00
Roberto Rosario
ad822834d4 Center workflow preview.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-17 02:43:44 -04:00
Roberto Rosario
e222a71966 Remove the workflow preview size constraints.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-17 02:43:17 -04:00
Roberto Rosario
1f27670921 Add release notes for version 3.1.8
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-17 02:05:38 -04:00
Roberto Rosario
321b7ad5ae Add custom validator for multiple emails in a single text field. Change the widget of the email fields in the mailer app to avoid browser side email validation. Closes GitLab issue #530. Thanks to Mark Maglana @relaxdiego for the report.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-17 00:01:48 -04:00
Roberto Rosario
cc79e75d35 Add improvements to the metadata URL encoding and decoding to support ampersand characters as part of the metadata value. GitLab issue #529. Thanks to Mark Maglana @relaxdiego for the report.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-16 04:58:42 -04:00
Roberto Rosario
70bb250a23 Add data migrations to the sources app migraton 0019 to ensure all labels are unique before performing the schema migations.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-16 02:59:31 -04:00
Roberto Rosario
5eee810d8e Merge FAQ with the Wiki's FAQ page.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-16 01:21:14 -04:00
Roberto Rosario
37bd5862e6 Flip order of getting start and release notes topics
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-15 20:01:25 -04:00
Roberto Rosario
8bf6c37e35 Add workflow and API chapter. Expand tags chapter.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-15 20:00:25 -04:00
Roberto Rosario
e6c43bebf5 Reorganize documentation into topics and chapters. Add new material from Wiki.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-15 06:03:04 -04:00
Roberto Rosario
7cd62b5a85 Prepare files for release.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-14 03:52:05 -04:00
Roberto Rosario
d5ef08b636 Bump version to 3.1.7
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-14 03:51:25 -04:00
Roberto Rosario
c9fb3814d9 documenation: Add Docker installation method using a dedicated Docker network. Add scaling up chapter. Add S3 storage configuration section.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-14 03:47:41 -04:00
Roberto Rosario
5a922e2689 Fix the no contentn email test on Python 3.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-14 02:51:19 -04:00
Roberto Rosario
e55ce29c5f Make sure email messages are always of data type bytes.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-14 02:50:32 -04:00
Roberto Rosario
9634ba75a6 Update changelog and release notes.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-14 01:21:22 -04:00
Roberto Rosario
665dbb6766 Merge branch 'versions/next' into 'versions/next'
Versions/next

See merge request mayan-edms/mayan-edms!30

Closes GitLab issues #525 and #527
2018-10-14 05:15:21 +00:00
Hamish Farroq
4efc3ec182 Add noop OCR driver. 2018-10-14 05:07:06 +00:00
Hamish Farroq
e2e89efb47 Fix the path to the SECRET_KEY 2018-10-14 04:58:33 +00:00
Hamish Farroq
680e6721f1 Fix spelling, MAYAN_WORKERS_... to MAYAN_WORKER_... 2018-10-14 04:52:46 +00:00
Roberto Rosario
7a4302415a PEP8 cleanups.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-14 00:29:46 -04:00
Roberto Rosario
8c6ba747f0 Ignore document stub from the index mirror. GitLab issue #520. Thanks to TheOneValen @TheOneValen for the report.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-13 03:41:46 -04:00
Roberto Rosario
88f41a570e Make sure all key used as input for the cache key hash are bytes and not unicode. GitLab issue #520. Thanks to TheOneValen @TheOneValen for the report.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-13 03:38:50 -04:00
Roberto Rosario
e731cca629 Merge branch 'versions/next' of gitlab.com:mayan-edms/mayan-edms into versions/next 2018-10-12 12:35:07 -04:00
Roberto Rosario
eb357b18fc Don't load development apps if they are already loaded.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-12 03:10:56 -04:00
Roberto Rosario
38c84de708 Remove duplicate YAML loading of environment variables.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-12 03:10:09 -04:00
Roberto Rosario
417fc8f766 Fix an issue with some browsers not firing the .load event on cached images. Ref: http://api.jquery.com/load-event/
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-12 03:07:55 -04:00
Roberto Rosario
e508b3a7a2 Add link to version 3.1.6 release notes.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-09 22:34:10 -04:00
Roberto Rosario
abe9fa0e47 Prepare files for release.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-09 19:18:58 -04:00
Roberto Rosario
6c9da58ec3 Bump version to 3.1.6. Add release notes.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-09 19:18:23 -04:00
Roberto Rosario
cc27233765 Display the cabinet "Add new level" link in the top level view too.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-09 19:15:09 -04:00
Roberto Rosario
4cbe27a462 Add icon to the cabinet "Add new level" link.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-09 19:12:50 -04:00
Roberto Rosario
15b9c0c56f Only render the Template API view for authenticated users. Thanks rgarcia for the report.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-09 19:10:35 -04:00
Roberto Rosario
f34bead7d2 Improve index mirroring cache class to use the hash of the keys instead of the literal keys. Avoid warning about invalid key characters. Closes GitLab issue #518. Thanks to TheOneValen @ for the report.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-09 05:12:19 -04:00
Roberto Rosario
1e08653b88 Improve index mounting value clean up code to remove the spaces at the starts and at the end of directories. Closes again GitLab issue #520 Thanks to TheOneValen @ for the report.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-09 04:48:25 -04:00
Roberto Rosario
838035291d Prepape files for release.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-08 19:52:40 -04:00
Roberto Rosario
4ad84195e0 Fix document metadata app view error when adding multiple optional metadata types. Closes GitLab issue #521. Thanks to the TheOneValen @TheOneValen for the report.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-08 19:51:17 -04:00
Roberto Rosario
7ff974382b Add shared cache class and add mounted index cache invalidation when document and index instance nodes are updated or deleted.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-08 02:22:05 -04:00
Roberto Rosario
c715d0fc8e Prepare file for release.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-07 14:18:40 -04:00
Roberto Rosario
a49e7ebd0b Add Python 3.6 and Django 2.0 targets to the tox file.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-07 14:17:48 -04:00
Roberto Rosario
8c486d8459 Update installation instructions regarding libfuse2 and python-pip.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-07 14:17:11 -04:00
Roberto Rosario
6a3aae3348 Remove python-pip and add libfuse from Dockerfile.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-07 14:16:47 -04:00
Roberto Rosario
f0453357f8 Add libfuse2 library to test suit.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-07 14:16:15 -04:00
Roberto Rosario
03f5fdda56 Prepare files for release 3.1.5
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-07 04:45:58 -04:00
Roberto Rosario
9fae8ceb64 Bump version to 3.1.5.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-07 04:45:31 -04:00
Roberto Rosario
36f21b063d Fix documentation typos. Expand ignored wordlist.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-07 04:43:24 -04:00
Roberto Rosario
efc17eb075 Update changelog and release notes for 3.1.5
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-07 04:30:41 -04:00
Roberto Rosario
eeeb246ed7 Restore use of the .store_body variable accidentally remove in 63a77d0235. Thanks to TheOneValen @TheOneValen for the report.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-07 04:30:32 -04:00
Roberto Rosario
55c83689d2 Make sure the image in the document preview view is centered when it is smaller than the viewport.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-07 03:53:32 -04:00
Roberto Rosario
733216448d Coding style updates.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-07 03:50:07 -04:00
Roberto Rosario
16dce6b3aa Make sure metadata lookup choices are a list to be able to add the optional marker (Python 3).
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-07 03:40:37 -04:00
Roberto Rosario
8d81d1df7b Update the metadata app tests to work on Python 3.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-06 22:33:51 -04:00
Roberto Rosario
c6354beb92 Add separate Python 2 and Python 3 versions of the MetadataType model .comma_splitter() static method.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-06 22:32:29 -04:00
Roberto Rosario
c97ab57f51 URL quote the encoded names of the staging files using Django's compat module. (Python 3). Open staging file in explicit binary mode. (Python 3)
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-06 22:23:43 -04:00
Roberto Rosario
06c783820e Specify FUSE literals in explicit octal notation (Python 3).
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-06 22:21:18 -04:00
Roberto Rosario
7fb13a5888 Return a proper list of SearchModel instances (Python 3).
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-06 22:20:13 -04:00
Roberto Rosario
c6e68515ed Handle office files in explicit binary mode for Python 3.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-06 05:07:05 -04:00
Roberto Rosario
28706f5ea5 Update document parsing app tests to work with Python 3.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-06 05:03:24 -04:00
Roberto Rosario
36e4d78487 Add a modelform for adding and editing transformation and perform YAML validation of arguments. Add stricted error checking to the crop transformation.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-06 04:59:50 -04:00
Roberto Rosario
277ff7ef67 Update compressed files class module to work with Python 3.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-06 04:56:39 -04:00
Roberto Rosario
9c81c41624 Ignore virtualenv for Python 3.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-06 02:14:54 -04:00
Roberto Rosario
a99b044555 Code style improvement. Test code consolidation. PEP8 cleanups.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-06 02:13:36 -04:00
Roberto Rosario
025fafabf4 Code style cleanups. Switch to a smaller document for tests.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-06 00:10:23 -04:00
Roberto Rosario
0f8825454d Add link and view to show the content of parsed text for each document page.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-05 23:47:10 -04:00
Roberto Rosario
58fb762fac Update release notes for upcoming 3.1.5 version.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-05 21:54:51 -04:00
Roberto Rosario
ffbdcef3b4 Split the code of the mountindex command to be able to add tests. Fix the way the children of IndexInstanceNode are accessed. Fixes GitLab issue #518. Thanks to TheOneValen @TheOneValen for the report. Remove newlines from the index name levels before using them as FUSE directories. Fixed duplicated FUSE directory removal.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-05 21:49:52 -04:00
Roberto Rosario
598312c4d3 Consolidate some document indexing test code into a new mixin.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-05 21:45:49 -04:00
Roberto Rosario
fc82f64705 Install the enchant library needed to build the documentation spell checker.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-04 22:27:42 -04:00
Roberto Rosario
bac8c4f77c Prepare files for release.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-04 19:38:26 -04:00
Roberto Rosario
599ea0056c Bump version to 3.1.4.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-04 19:37:48 -04:00
Roberto Rosario
8e3484663b Add spell checking to documentation target.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-04 19:34:07 -04:00
Roberto Rosario
e9180f68d7 Update release notes. Fix typos is older documentation format.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-04 19:06:18 -04:00
Roberto Rosario
b6fbce16c0 Add explanation to the launch workflows tool.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-04 19:06:07 -04:00
Roberto Rosario
c9d7f7757f Split changelog by series.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-04 03:33:23 -04:00
Roberto Rosario
e0b7f31111 Improve search app. Refactored to resolve search queries by terms first then by field.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-04 03:29:03 -04:00
Roberto Rosario
2b2981af25 Add release for version 3.1.4
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-03 20:41:54 -04:00
Roberto Rosario
d663d0cf63 Add links to release notes and changelog in the about view.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-03 20:41:36 -04:00
Roberto Rosario
071e0db610 Strip HTML entities from the browser's window title. Closes GitLab issue #517. Thanks to Daniel Carrico @daniel1113 for the report.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-03 20:17:13 -04:00
Roberto Rosario
08a69f534e Update required Django version to 1.11.16.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-03 15:16:09 -04:00
Roberto Rosario
72678e31f3 Display the correct AJAX request error property.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-03 15:14:18 -04:00
Roberto Rosario
e9db07bfd3 Encapsulate in_trash field into is_in_trash symetric Document property
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-03 15:14:11 -04:00
Roberto Rosario
a023d893ea Remove debug print.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-03 15:14:00 -04:00
Roberto Rosario
626e1f3451 Fix workflow edit view tests. Improvie workflow view test via test mixins.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-03 15:13:51 -04:00
Roberto Rosario
3b369193a5 Show proper placeholder edit text on forms when no title is specified.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-03 15:13:34 -04:00
Roberto Rosario
a076c751ad Add support for reindexing document on content parsing changes.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-03 15:13:19 -04:00
Roberto Rosario
fb83a838fb Add support for indexing on OCR content changes.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-02 03:54:29 -04:00
Roberto Rosario
34c2fd6177 Load the DropZone CSS from package and remove the hard code CSS from appearance/base.css
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-02 03:10:18 -04:00
Roberto Rosario
bbfe35b8fd Disable the fancybox caption link if the document is in the trash.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-02 02:53:55 -04:00
Roberto Rosario
f6e39380af Remove use of hard coded font icon for document page rendering busy indicator.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-02 02:40:13 -04:00
Roberto Rosario
da8c9d08d8 Add Redis config entries in the Docker images to disable saving the database and to only provision 1 database.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-02 02:30:50 -04:00
Roberto Rosario
ded7eb0bfd Login to the GitLab registry before pulling the image.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-02 02:28:36 -04:00
Roberto Rosario
4228338870 Update related links. Add links to the new Wiki and Forum.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-02 02:26:09 -04:00
Roberto Rosario
4b4aac246b Fix the link to the documenation. Closes GitLab issue #516. Thanks to Matthias Urlichs @smurfix for the report.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-10-02 02:19:05 -04:00
Roberto Rosario
cdcf9096fb Fix text and formatting typo.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-27 15:52:08 -04:00
Roberto Rosario
916c8e2cab Rebuild documentation on the releases/all branch too.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-27 04:24:56 -04:00
Roberto Rosario
b25ebbef95 Merge remote-tracking branch 'origin/master' 2018-09-27 04:22:16 -04:00
Roberto Rosario
8f56adf311 Prepare files for release.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-27 04:20:43 -04:00
Roberto Rosario
e3aeb8cfef Bump version to 3.1.3
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-27 04:19:45 -04:00
Roberto Rosario
2d69c6114b Add Gitlab CI stage to build documentation.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-27 01:21:44 -04:00
Roberto Rosario
635263dc95 Update changelog.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-26 22:52:17 -04:00
Roberto Rosario
26ac7de70b Synchronize and compile translations
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-26 22:50:48 -04:00
Roberto Rosario
06e013788f Add release for version 3.1.3
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-26 22:30:55 -04:00
Roberto Rosario
38485b1cf8 Fix text typo in the converdb command.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-26 22:30:08 -04:00
Roberto Rosario
3c2557fb47 Update translation source files.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-26 22:29:54 -04:00
Roberto Rosario
4716e3eb15 Update docker documentation chapter.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-26 22:23:47 -04:00
Roberto Rosario
6159bdca45 Fix message typos.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-26 22:23:35 -04:00
Roberto Rosario
67b97c0ed0 Update Docker documentation chapter.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-26 21:23:15 -04:00
Roberto Rosario
c67c0e3742 Add support for changing the concurrency of the Celery workers in the Docker image. Add environment variables MAYAN_WORKER_FAST_CONCURRENCY, MAYAN_WORKER_MEDIUM_CONCURRENCY and MAYAN_WORKER_SLOW_CONCURRENCY.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-26 21:22:57 -04:00
Roberto Rosario
402039ff99 Improve deployment documentation chapter.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-26 21:10:36 -04:00
Roberto Rosario
71a0510af1 Expose the Django INSTALLED_APPS setting.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-26 20:27:07 -04:00
Roberto Rosario
9f17d7662b Add no results help text to the document type -> metadata type association view.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-26 16:52:13 -04:00
Roberto Rosario
7bda5b1fce Fix user groups view.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-26 16:49:35 -04:00
Roberto Rosario
d3c1204626 Make sure template API renders in non US languages.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-26 16:41:54 -04:00
Roberto Rosario
bd359a9ad9 Update the format of the MAYAN_ALLOWED_HOSTS environment setting. 2018-09-24 20:20:37 +00:00
Roberto Rosario
e46f55a2a2 Prepare files for release.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-21 03:02:46 -04:00
Roberto Rosario
8c229d4b36 Latest Django version is 1.11.15.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-21 03:01:57 -04:00
Roberto Rosario
1246d4360a Bump version to 3.1.2
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-21 02:43:21 -04:00
Roberto Rosario
97108fb9df Prepare files for release.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-21 02:42:20 -04:00
Roberto Rosario
98c44df9cc Add missing .self.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-21 02:39:59 -04:00
Roberto Rosario
758a14e358 Intercept document list view exception and display them as an error message.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-21 02:10:20 -04:00
Roberto Rosario
ff5a0d32d4 Only show smart link resolution errors to the user with the smart link edit permission.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-21 02:09:01 -04:00
Roberto Rosario
f600ca5a1a Fix label display for resolved smart links when not using a dynamic label.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-21 00:56:56 -04:00
Roberto Rosario
c8ff089707 Add database conversion test to the common app.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-21 00:49:01 -04:00
Roberto Rosario
7c4de79c8f Calculate the path of the test document before it is uploaded.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-21 00:47:35 -04:00
Roberto Rosario
a96e7574b2 Add support for natural keys to the DocumentPageImageCache model.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-21 00:47:11 -04:00
Roberto Rosario
9716e51914 Force load of serialized data when running as a test.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-21 00:26:24 -04:00
Roberto Rosario
022c92f775 Add an user test mixin to group user testing. Add test the user managament app for database conversion.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-21 00:12:45 -04:00
Roberto Rosario
5d24521049 Add test mixin to test the db conversion (dumping and loading) of a specific app.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-21 00:11:17 -04:00
Roberto Rosario
9e4ad9a64f Add support to the convertdb command to operate on specified apps too.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-21 00:09:58 -04:00
Roberto Rosario
06288e3d6d Update from Django 1.11.11 to 1.11.16
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-21 00:08:38 -04:00
Roberto Rosario
ef1f011cd5 Improve natural key support in the UserOptions model.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-21 00:07:51 -04:00
Roberto Rosario
923cb3a7f2 Update changelog.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-19 20:54:15 -04:00
Roberto Rosario
eda8d18146 Database access in data migrations defaults to the 'default' database. Force it to the user selected database instead.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-19 20:53:04 -04:00
Roberto Rosario
fdfa4755e9 Don't use a hardcoded database alias for the destination of the database conversion.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-19 20:52:31 -04:00
Roberto Rosario
74d45212ec Bump version to 3.1.1
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-18 22:11:01 -04:00
Roberto Rosario
ce7ae7a606 Prepare release 3.1.1.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-18 22:10:17 -04:00
Roberto Rosario
041f4e7331 Update release notes.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-18 22:03:25 -04:00
Roberto Rosario
618a5f0f59 Fix 90, 180 and 270 degrees rotation transformations.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-18 21:34:58 -04:00
Roberto Rosario
55284c4681 Make sure the AJAX spinner stays in place.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-18 21:19:50 -04:00
Roberto Rosario
fc9a782fb8 Push release images with the tag :latest too.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-17 23:48:32 -04:00
Roberto Rosario
0112e12375 Allow releasing Docker images separetly from Python packages.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-17 23:45:43 -04:00
Roberto Rosario
d1118e3767 Silence UnorderedObjectListWarning for the Group model. Not sorted by Django.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-17 23:38:41 -04:00
Roberto Rosario
5e98bedbc9 Rename the Docker image and push jobs.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-17 22:37:16 -04:00
Roberto Rosario
bbdab284f8 Set the Docker image version environment again and tag the image for upload to Docker Hub.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-17 22:30:59 -04:00
Roberto Rosario
ab56758197 Pull the image from GitLab's registry before attempting to uploading to Docker's registry.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-17 22:05:58 -04:00
Roberto Rosario
e9bc10a056 Fix python package build and push scripts.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-17 19:27:18 -04:00
Roberto Rosario
531ca12021 Bump version to 3.1.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-17 18:53:43 -04:00
Roberto Rosario
a986b58338 Prepare release files.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-17 18:52:26 -04:00
Roberto Rosario
ecdc122b15 Code cleanups.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-17 18:28:34 -04:00
Roberto Rosario
f2fff77aab Move information links from menu to the about view. Add template tag to import icons from the templates.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-17 18:13:15 -04:00
Roberto Rosario
c2bb697306 Add the current step and total steps of a wizard in the template context.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-17 17:09:59 -04:00
Roberto Rosario
62e221ffbb Make icon classes file template based.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-17 17:08:15 -04:00
Roberto Rosario
58f7b1b555 Add file_size and datetime fields to the DocumentPageCachedImage model.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-17 03:39:28 -04:00
Roberto Rosario
206dbb9b5b The size of the document type label field has been increased from 32 to 96 characters.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-17 03:14:27 -04:00
Roberto Rosario
804ef00d41 Add no results help text for the search results view.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-17 03:12:03 -04:00
Roberto Rosario
ac07d4a63f Add more icons to links.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-17 03:09:04 -04:00
Roberto Rosario
4d53c9aec7 Code clean up.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-17 02:54:47 -04:00
Roberto Rosario
a372fc5a07 Improve model help texts. Add respective migrations.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-17 02:46:16 -04:00
Roberto Rosario
03c54395cc Refactor the ModelAttribute class into two separate classes: ModelAttribute for executable model attributes and ModelField for actual ORM fields. Expose more document fields for use in smart links.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-17 02:43:04 -04:00
Roberto Rosario
fafdb538b3 Generalize the Javascript menu rendering into an API for templates that only refresh the menu when there are changes. Closes GitLab issue #511. Thanks to Daniel Carrico @daniel1113 for the report.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-16 21:48:37 -04:00
Roberto Rosario
654f2a1ad2 Move get_user_label to a module. Move user label text and separator to links modules.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-16 21:16:07 -04:00
Roberto Rosario
51cf39f4d8 Support named links, add templatetags to get menus, links and resolve them.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-16 21:12:09 -04:00
Roberto Rosario
e6eebe11a7 Move the matchHeight call from lazy loading to image loading.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-16 20:54:32 -04:00
Roberto Rosario
89256bfb9a Bump version to 3.1rc1
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-14 00:57:29 -04:00
Roberto Rosario
4df9fae737 The build string is now part of the mayan package metadata. Update forum link. Add instagram link.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-14 00:54:24 -04:00
Roberto Rosario
632f4b598b docs: Update release notes.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-14 00:21:02 -04:00
Roberto Rosario
a09511d0e9 document_indexing: Make IndexInstanceNodeManager a subclass of mptt.TreeManager.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-14 00:19:06 -04:00
Roberto Rosario
5880a650b3 document_indexing: Test for an empty node list instead of a non existing root node.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-14 00:18:02 -04:00
Roberto Rosario
0fadd84567 document_indexing: Fix typo in test literal.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-14 00:17:32 -04:00
Roberto Rosario
b8c5e2380e document_indexing: Make sure locks are release on exceptions. Remove document from nodes and delete empty nodes only at the start of the indexing process. When the indexing starts at the template node, make sure it starts with the root node.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-14 00:15:28 -04:00
Roberto Rosario
98f34a2f42 document_indexing: Sort task functions. Even when the document has been deleted before the task executes and can't remove the document, run the method to remove empty nodes since there is the posibility of there being some.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-14 00:13:28 -04:00
Roberto Rosario
afc48ae331 Fix typo in comment.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-14 00:12:41 -04:00
Roberto Rosario
b42161e404 Add no results help text to the key management views. Add creation icon to the workflow and metadata type no content help texts links.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-12 22:12:48 -04:00
Roberto Rosario
ab34694d49 Improve navigation in the key management views.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-12 22:12:10 -04:00
Roberto Rosario
efdc35aaec Fix sporadic index instance node tree id warning.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-12 21:35:17 -04:00
Roberto Rosario
031f5c8312 Merge branch 'versions/next' of gitlab.com:mayan-edms/mayan-edms into versions/next 2018-09-12 14:19:44 -04:00
Roberto Rosario
dd3013826f Bump version to 3.1 beta2.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-12 14:19:27 -04:00
Roberto Rosario
bc398d79cf Add HTML buffer to reduce flicker on AJAX menu update. GitLab issue #511.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-12 14:18:43 -04:00
Roberto Rosario
ecc60ce540 Add HTML buffer to reduce flicker on AJAX menu update. GitLab issue #511.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-12 14:17:19 -04:00
Roberto Rosario
c82125c611 Update changelog and release notes.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-12 13:49:27 -04:00
Roberto Rosario
732d275ec1 Default the AJAX spinner to hidden. Increase the time threshold needed to trigger the AJAX spiiner.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-12 13:47:40 -04:00
Roberto Rosario
e51a1a93d0 Merge branch 'feature/staging_file_caching' into versions/next 2018-09-12 13:34:14 -04:00
Roberto Rosario
f51ee02f08 Remove test Python 3 virtualenv files
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-12 13:33:30 -04:00
Roberto Rosario
a85d33fd8e Complete staging file caching refactor.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-12 13:32:41 -04:00
Roberto Rosario
1f5da1745a Improve empty document cabinet view message.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-12 03:50:15 -04:00
Roberto Rosario
55930689bb Update language files.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-12 03:45:51 -04:00
Roberto Rosario
9bc16aabc3 Initial commit to support staging file background image generation and caching.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-12 03:35:33 -04:00
Roberto Rosario
e42ea89db7 Show the document type being uploaded in the source view title.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-12 02:02:35 -04:00
Roberto Rosario
962f395831 Add new dashboard item to display the total page count.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-12 01:56:37 -04:00
Roberto Rosario
6a251575ac Make environment overrided setting message more clear.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-11 15:00:34 -04:00
Roberto Rosario
29aaa8d452 Include the test file in the manifes.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-07 19:17:02 -04:00
Roberto Rosario
bc5715254e Make sure the test requirements are installed in the virtualenv.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-07 04:55:46 -04:00
Roberto Rosario
2be29a2300 Install sudo to allow changing to the Mayan user. Install the database drivers in the final image instead of the base image. Use variable instead of the literal binaries.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-07 04:31:24 -04:00
Roberto Rosario
c2a1c2ca7b Bump version to 3.1 beta1.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-07 03:57:05 -04:00
Roberto Rosario
3f7fd9a445 Fix typo in the settings loader error report.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-07 03:35:33 -04:00
Roberto Rosario
5d39ec4ed3 Update the Docker install to mirror the new recommended installation process at /opt. Use virtualenv for the Docker install.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-07 03:34:58 -04:00
Roberto Rosario
f7a9550bb1 Improve Python 3 support in the sources app.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-06 17:38:17 -04:00
Roberto Rosario
e0d0567f1f Fix order in document indexing test.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-06 17:23:09 -04:00
Roberto Rosario
4ae7a32443 Update OCR app tests to work with Python 3.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-06 16:59:38 -04:00
Roberto Rosario
e41f2f73e7 Improve metadata app tests pass rate for Python 3.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-06 16:55:48 -04:00
Roberto Rosario
d3af59ec06 Add improvement to the mayan_statistics app for Python 3.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-06 16:46:35 -04:00
Roberto Rosario
91b2c99e77 Unify and improve linking app tests for Python 3.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-06 16:44:47 -04:00
Roberto Rosario
4eab4670be Unify tests that use upload documents. Add explicit mode when opening a file.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-06 03:38:17 -04:00
Roberto Rosario
388b61ca7a Provide a class magic method for proper sorting.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-06 03:37:15 -04:00
Roberto Rosario
976872df35 Type cast dictionary items to list before attemping to slice.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-06 03:36:20 -04:00
Roberto Rosario
9eb3d39558 Cast value to bytes before doing hash.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-06 03:35:50 -04:00
Roberto Rosario
44ac0932b3 Fix relative icon import.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-06 01:48:06 -04:00
Roberto Rosario
2fe6a15f1a Use Python 3 style print function.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-06 01:47:45 -04:00
Roberto Rosario
5b806a43e9 Add creation icons for document cabinet, metadata, comments and tags links.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-06 01:46:48 -04:00
Roberto Rosario
64ca5a623f PEP8 cleanups.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-05 04:56:39 -04:00
Roberto Rosario
4b2226cf04 Add tests for the index rebuild view.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-05 04:32:57 -04:00
Roberto Rosario
435fa774f0 Add support for preserving the extension of document files when using the quick label feature. Added to the document properties edit view and the document upload view. Closes GitLab issue #360.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-05 04:06:13 -04:00
Roberto Rosario
aac0852128 Clean up document download view class.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-05 01:03:40 -04:00
Roberto Rosario
12143ffda7 Fix document type quick label link when there are no results.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-05 01:03:04 -04:00
Roberto Rosario
1919e78041 Fix variable name in settings.utils
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-05 00:40:56 -04:00
Roberto Rosario
e5bb00d514 Finish refactor of the new compressed file class support. Closes GitLab issue #7.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-05 00:40:10 -04:00
Roberto Rosario
61d2cc3d03 Accept forum MERC proposal. Current solution is working at https://forum.mayan-edms.com. Old Google Group has been placed in read-only mode.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-04 23:53:58 -04:00
Roberto Rosario
891dc2d74b Fix Dockerfile typo.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-04 23:49:16 -04:00
Roberto Rosario
f57a3b23ba Add release notes 3.1.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-04 19:45:32 -04:00
Roberto Rosario
7e68853e47 Update changelog.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-04 03:25:33 -04:00
Roberto Rosario
d2ee960d42 Add custom AJAX spinner.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-04 03:17:41 -04:00
Roberto Rosario
0cb4e687ab Remove pace.js usage
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-04 03:17:16 -04:00
Roberto Rosario
bf079a8945 Don't refresh the partial main menu HTML if there are open dropdowns
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-04 02:06:04 -04:00
Roberto Rosario
1088248bf5 Add missing icon from the document state no result template.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-03 19:48:09 -04:00
Roberto Rosario
4eb3c47457 Implement partial refresh of the main menu.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-03 19:47:41 -04:00
Roberto Rosario
d8ade58472 Add explicit kwargs name.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-03 12:17:01 -04:00
Roberto Rosario
fce7ee99ea Add support for having a menu source being excluded from link sorting.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-01 04:15:33 -04:00
Roberto Rosario
6baa63a989 Restore usage of upstream django-celery package. Purge periodic tasks before dumping the database.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-01 03:41:34 -04:00
Roberto Rosario
427aad8277 Add no results help texts for the converter, source, motd and mailer app. Add help text to the document type list view. Tweak the CSS of the no result secondary links.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-01 03:10:45 -04:00
Roberto Rosario
c312a2a304 Remove the duplicated setting pdftotext_path from the OCR path. This is now handled by the document parsing app.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-01 02:12:08 -04:00
Roberto Rosario
607d178e94 Load a form's specialized JS libraries asynchronously. Move the Dropzone import to the sources app template.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-09-01 02:06:09 -04:00
Roberto Rosario
85a5bd995f Update failing OCR tests.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-30 13:31:08 -04:00
Roberto Rosario
a314e59be2 Update user management view tests.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-30 13:11:58 -04:00
Roberto Rosario
c9dedde1d0 Add no results help text.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-30 05:26:48 -04:00
Roberto Rosario
41b8d6157a Update tests to rely less on view response text.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-30 03:50:37 -04:00
Roberto Rosario
6594756c5b Replace use of mayan.__title__ with common project title to ensure the overrided name is displayed in all views.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-28 03:48:51 -04:00
Roberto Rosario
5eba4f67e5 Add link to view a specific page's OCR content.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-28 03:39:42 -04:00
Roberto Rosario
495ab7fd9b Add no result help text for the document duplicates view and trash can view.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-27 15:45:22 -04:00
Roberto Rosario
671b7f102e Add no results help text for the document type quick label list view. Assign icon to the document type quick label objects.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-27 04:09:09 -04:00
Roberto Rosario
e6db0ff098 The document type OCR setup permission can now be granted for individual document types. Instead of the document OCR permissions, the document type OCR setting permission is required to view the global OCR error list.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-27 03:55:45 -04:00
Roberto Rosario
3eb68db323 Instead of the document content view, the document type parsing setup permissions is now required to view the parsing error list. The document type parsing setup permission can now be granted for individual document types.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-27 03:52:26 -04:00
Roberto Rosario
abcc6539c8 Don't try to update globals if there are no settings.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-27 03:45:05 -04:00
Roberto Rosario
10f10cadeb Add note about environment overrides.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-26 07:17:27 -04:00
Roberto Rosario
57eb390845 Add support for changing the HOME_VIEW, LOGIN_URL and LOGIN_REDIRECT_URL from the settings view.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-26 07:17:03 -04:00
Roberto Rosario
600fa16d8c Add empty result text to the user events views. Add icon to the acls create link.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-26 06:57:10 -04:00
Roberto Rosario
69b80aff1d Add support for blocking the changing of password for specify users.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-26 06:56:48 -04:00
Roberto Rosario
c3312d964f Add blank result messages for the index, index instance and favorited documents views.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-26 05:55:36 -04:00
Roberto Rosario
baeefe7e07 Add message when there are no object events.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-26 05:38:36 -04:00
Roberto Rosario
de000735ba Add the tag created and tag edited events.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-26 05:38:21 -04:00
Roberto Rosario
e7279a391e Don't show the document types of an index instance.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-26 05:20:44 -04:00
Roberto Rosario
c6aab372cb Compose the setting widget in a safer way.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-26 05:12:01 -04:00
Roberto Rosario
b5abb04c0d The official config filename is config.yml. Interpret ALLOWED_HOSTS as YAML.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-26 05:11:42 -04:00
Roberto Rosario
4a61275e80 Change the official config filename to config.yml. Interpret ALLOWED_HOSTS as YAML.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-26 05:10:33 -04:00
Roberto Rosario
040c99d809 Add a new column to settings showing if they are overrided via environment variable.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-26 05:09:21 -04:00
Roberto Rosario
9adf48821d Add a celery setting namespace.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-26 05:07:54 -04:00
Roberto Rosario
7389369832 Add support for the two state widget to be centered.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-26 05:07:30 -04:00
Roberto Rosario
58cb79c95a Interpret environment variables as YAML.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-26 05:06:53 -04:00
Roberto Rosario
1126837993 Add new Python package build and push stages. Reduce the number of branches that trigger tests.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-25 18:01:40 -04:00
Roberto Rosario
d6b767eb93 Fix typos from the 3-way "papercut" patch merge.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-24 01:23:13 -04:00
Roberto Rosario
c6d3ffa28b Update Django template reference URL from Django 1.7 to Django 1.11. Add migratons to update model definitions.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-23 19:55:30 -04:00
Roberto Rosario
9273eccbd6 Add support for extended templates when there are no results. Add help messages and useful links to several apps when there are no results available.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-23 19:45:48 -04:00
Roberto Rosario
2a45f52eb9 Add explicit argument name.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-23 17:09:01 -04:00
Roberto Rosario
377166e491 Improve link request resolution fallback code.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-23 17:08:35 -04:00
Roberto Rosario
7b6c38e85b Sort facet link, object, secondady and sidebar actions.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-23 17:08:17 -04:00
Roberto Rosario
75f6d44509 Add to the AccessControlList parent accesor code to handle related fields.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-23 16:20:35 -04:00
Roberto Rosario
2f120d99aa Don't process the AttributeError exception but let calling code handle it.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-23 16:19:30 -04:00
Roberto Rosario
ec8cbee3c8 Take the project description from the project main module.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-23 13:06:00 -04:00
Roberto Rosario
d5b9c785fb Improve statistics subclassing. Split class module into classes and renderers.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-23 13:05:34 -04:00
Roberto Rosario
d36faa5b7a The multiple document action dropdown is now sorted alphabetically.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-23 03:38:23 -04:00
Roberto Rosario
5174f03994 Add support for sorting the results of a menu alphabetically.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-23 03:37:25 -04:00
Roberto Rosario
12cfdafecf Redirect to the same chart when queuing a chat for update.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-23 03:37:07 -04:00
Roberto Rosario
c760dd883d Fix double title in chart template.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-23 03:35:42 -04:00
Roberto Rosario
649fb544a9 Add support for filtering document statistics by request user.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-23 03:35:11 -04:00
Roberto Rosario
4c3ca0de91 In addition to the document view permission, the checkout detail view permission is now needed to view the list of checked out document.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-23 03:34:49 -04:00
Roberto Rosario
f11eef7445 Add new class based dashboard widget. This new widget supports subclassing and is template based. All exising widgets have been converted. ACL filtering was added to the widget results.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-23 03:30:06 -04:00
Roberto Rosario
26b31da443 Add favorite documents per user. Adds new setting option DOCUMENTS_FAVORITE_COUNT.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-23 01:50:35 -04:00
Roberto Rosario
ec44e81864 Add support to the ObjectActionMixin to report on instance action failures. Add also an error_message class property and the new ActionError exception.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-23 01:48:43 -04:00
Roberto Rosario
48e7b7970c Speed up tests.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-23 00:17:53 -04:00
Roberto Rosario
d6fd1b66c6 Speed up lock manager tests.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 23:03:55 -04:00
Roberto Rosario
7056f0691a Move Link class condition testing to its original location and revert the optimization.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 22:54:04 -04:00
Roberto Rosario
5c015ccdc3 Update failing test.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 22:53:43 -04:00
Roberto Rosario
1c2c77728a Update missing view resolution name.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 22:35:15 -04:00
Roberto Rosario
103ded5145 Use platform independant hashing for transformations.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 22:35:01 -04:00
Roberto Rosario
34b3cc3286 Fix the error number constant and display a log warning.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 12:25:04 -04:00
Roberto Rosario
5a2f7495c1 Add missing import.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 04:07:05 -04:00
Roberto Rosario
9a7e95f5b7 Add recently added document list view. The setting DOCUMENTS_RECENT_COUNT has been renamed to DOCUMENTS_RECENT_ACCESS_COUNT. New setting DOCUMENTS_RECENT_ADDED_COUNT added.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 04:06:46 -04:00
Roberto Rosario
2787a1c395 Sort documents by label.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 03:21:46 -04:00
Roberto Rosario
3c57f7ffa7 Merge branch 'master' into merge_master
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 03:18:30 -04:00
Roberto Rosario
66e7524924 Add support for the fillcolor argument to the rotate transformation.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 03:15:02 -04:00
Roberto Rosario
a4552cf415 Fix failing tests.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 02:56:16 -04:00
Roberto Rosario
78bfc6501c Only show the settings namespace list link where it is relevant.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 02:37:12 -04:00
Roberto Rosario
6098bdb0b0 Update forum link in the about menu.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 02:30:11 -04:00
Roberto Rosario
a33027dc39 Don't error out if the path to the backup setting file doesn't exist.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 02:28:37 -04:00
Roberto Rosario
b5215b40c3 Disable the Tags menu when the user doesn't have the tag create permission or the tag view access for any tag. Disable the Cabinets menu when the user doesn't have the cabinet create permission or the cabinet view permission for any cabinet.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 02:25:54 -04:00
Roberto Rosario
66cf86e816 Add support to conditionally disable menus.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 02:23:23 -04:00
Roberto Rosario
dfd2d3dc78 Add new document indexing permission. This permission allows user to view an index instance as opposed to the current permission which allows viewing an index definiton on the setup menu. Modernize the document index view tests.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 01:04:36 -04:00
Roberto Rosario
1890ff5bee Add missing permission check to the document duplicate scan link.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 00:42:37 -04:00
Roberto Rosario
5210fdc9d8 The index rebuild permission can now be set as part of the index ACL for each individual index. Add cascade permission check to the index rebuild tool link. The index rebuild tool now responds with the number of indexes queued to rebuild instead of a static acknowledment.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 00:36:19 -04:00
Roberto Rosario
76895db846 Add code explation remark.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 00:16:18 -04:00
Roberto Rosario
79095a88a0 Add sub title explanation to the role permission view.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 00:15:52 -04:00
Roberto Rosario
b3c4dd380c Add ACL support to the message of the day app.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 00:15:30 -04:00
Roberto Rosario
bf3723ae24 Add cascade permission checks for links. Avoid allowing users to reach a empty views because they don't access to any of the view's objects. Apply link permission cascade checks to the message of the day, indexing and parsing, setup link.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-22 00:14:21 -04:00
Roberto Rosario
8e39016f12 Code cleanups.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-21 18:57:38 -04:00
Roberto Rosario
2f48bf4fcb Add metadata event tests.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-21 18:47:21 -04:00
Roberto Rosario
bf7c9fc0fd Export the document test mixins via the tests top level __init__
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-21 18:43:01 -04:00
Roberto Rosario
78c374dfe6 Add ACL support for metadata types.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-21 18:42:40 -04:00
Roberto Rosario
dee7dd5429 Renamed setting LOCK_MANAGER_DEFAULT_BACKEND to LOCK_MANAGER_BACKEND. Add help text to settings.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-20 02:50:48 -04:00
Roberto Rosario
958f85eb1e Fix YAML quoting issues.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-20 02:49:10 -04:00
Roberto Rosario
04868e66bc Add new setting namespace for the stock Django config options.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-19 03:50:33 -04:00
Roberto Rosario
885be348d4 Improve setting dump serialization.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-19 03:50:15 -04:00
Roberto Rosario
89c145adde Fix failing tests after tag redirect update 3ca6595fe6.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-17 04:52:12 -04:00
Roberto Rosario
900276fe74 Merge branch 'master' into releases
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-17 04:18:57 -04:00
Roberto Rosario
9965866639 Bump version to 3.0.3
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-17 04:17:49 -04:00
Roberto Rosario
3ca6595fe6 Tags app: Add explicit post action redirect for the tag attach and tag remove actions when working on a single document.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-17 04:16:06 -04:00
Roberto Rosario
076468a922 Add explicit casting of escaped tag labels to prevent exploit of cross site scripting. Thanks to Lokesh (@lokesh1095) for the report and proposed solutions. Closes GitLab issue #496.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-17 04:12:00 -04:00
Roberto Rosario
fcb209caae Add mention of fixed issue 491.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-17 00:47:57 -04:00
Roberto Rosario
b1d31b1f6b Expand and make release checklist more clear.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-17 00:42:52 -04:00
Roberto Rosario
df6a3dfe28 Also run all the test on git push to the releases branch.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-17 00:30:51 -04:00
Roberto Rosario
9bb7708ffb Bump Docker image version to 3.0.2
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-17 00:29:19 -04:00
Roberto Rosario
4fe0f47a9c Only publish commits to the releases branch.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-17 00:28:54 -04:00
Roberto Rosario
073bc4fde9 Fix changelog markup typo.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 21:12:59 -04:00
Roberto Rosario
e400327770 Language translation synchonization.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 21:12:11 -04:00
Roberto Rosario
1491a6d47b Replace underscore with dashed in Makefile translation targets for uniformity.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 20:47:35 -04:00
Roberto Rosario
dca2b49624 Merge branch 'docker-compose-db-driver-wrong-variable' into 'master'
Fix docker compose variable name & content

See merge request mayan-edms/mayan-edms!27
2018-08-17 00:25:52 +00:00
Roberto Rosario
405e46ca09 Merge branch 'patch-1' into 'master'
Update views.py. Corrected minor grammatical errors in the upload queue message.

See merge request mayan-edms/mayan-edms!26
2018-08-17 00:23:49 +00:00
Roberto Rosario
bb7fffff46 Merge remote-tracking branch 'origin/master' 2018-08-16 19:41:53 -04:00
Roberto Rosario
687b2e2024 Add version 3.0.2 release notes.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 19:40:36 -04:00
Roberto Rosario
a4f8cc56b8 Merge branch 'patch-1' into 'master'
Update installation.rst

See merge request mayan-edms/mayan-edms!28
2018-08-16 23:32:05 +00:00
Roberto Rosario
e2a4892b1b Bump version to 3.0.2
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 19:27:32 -04:00
Roberto Rosario
48dfc06e49 Cabinets app: Escape cabinet labels to avoid possible exploit of cross site scripting. Thanks to Lokesh (@lokesh1095) for the report and proposed solutions. Closes GitLab issue #495.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 19:26:37 -04:00
Roberto Rosario
9ebe80595a Avoid setting window.location directly to avoid exploit of cross site scripting. Thanks to Lokesh (@lokesh1095) for the report and solution. Closes GitLab issue #494.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 18:46:10 -04:00
Roberto Rosario
ed76278096 Update changelog.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 16:05:13 -04:00
Roberto Rosario
be7169c259 Define a proper redirection after workflow actions are edited.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 16:02:34 -04:00
Roberto Rosario
a9a66391b6 Hide the title link of documents in the trash.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 16:02:01 -04:00
Roberto Rosario
9a0f2a0084 Update changelog.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 15:59:16 -04:00
Roberto Rosario
c384b137a3 Add support for hiding a links icon. Hide all object menu links' icons.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 15:57:27 -04:00
Roberto Rosario
d63a133852 Remove code statistics from the documentation. Remove the pending work chapter. This is now available in the Wiki:
wiki.mayan-edms.com

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 15:56:36 -04:00
Roberto Rosario
947568de3a Update changelog.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 15:55:49 -04:00
Roberto Rosario
737b39cdb5 Rename the multi document download link from "Download" to "Advanced download" for consistency.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 15:55:19 -04:00
Roberto Rosario
a4d21c76e9 Fix swapped dashboard icons.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 15:54:24 -04:00
Roberto Rosario
418aa14e2a Include querystring when force reload of a bare template view.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 15:53:44 -04:00
Roberto Rosario
1034a3056d Display error when attempting to recalculate the page count of an empty
document (document stub that has no document version).

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 15:52:02 -04:00
Roberto Rosario
05633ddc7e Increase gunicorn's timeout from 30 seconds to 120.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 15:50:57 -04:00
Roberto Rosario
d567602d2a Update dropzone.js' timeout from 30 seconds to 120 to allow upload of large files on slow connections.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 15:50:27 -04:00
Roberto Rosario
3c304976f7 Update changelog.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 15:49:53 -04:00
Roberto Rosario
eff9988239 Detect if Docker installed.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 15:49:12 -04:00
Roberto Rosario
d29044d034 Fix post login redirection to honor the ?next= URL query string
argument. Thanks go to K.C. Wong (@dvusboy1) for the report and investigation.
Closes GitLab issue #489.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 15:48:27 -04:00
Roberto Rosario
b22174adf5 Fix crop transformation argument parsing.
Add error checking to the crop transformation arguments.
Thanks to Jordan Wages (@wagesj45) for the report and investigation on the issue.
Closes GitLab issue #490

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 15:46:50 -04:00
Roberto Rosario
571cd172fc Update changelog.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 15:45:46 -04:00
Roberto Rosario
7f692710b3 Limit the number of branches that trigger the full test suit.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 15:43:16 -04:00
Roberto Rosario
dba94fbff3 Redirect to the cabinet list view after creating a new cabinet.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 15:40:30 -04:00
Roberto Rosario
c5c269f7ea Add natural key support to the user mailer model.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 15:40:00 -04:00
Roberto Rosario
1910547454 Add natural key support to the Index model.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 15:39:27 -04:00
Roberto Rosario
693948fa61 Update changelog.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 15:38:11 -04:00
Michael Price
0f955937a9 Add step to restart redis after configuration change.
Signed-off-by: Michael Price <loneviking72@gmail.com>
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 15:37:08 -04:00
Roberto Rosario
35d1b31e1c Update changelog.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 15:35:39 -04:00
Michael Price
8af684aa0a Default VERBOSE variable to true. Increase startup timer to 10 seconds. Allow configuring the PostgreSQL port.
Signed-off-by: Michael Price <loneviking72@gmail.com>
2018-08-16 15:33:29 -04:00
Franz Holzinger
a015dbc4dd Update installation.rst
misspelling for installation
2018-08-16 14:51:27 +00:00
Roberto Rosario
90cd142e76 Add support for YAML configuration files. Add support for editing setting options and saving them using the new YAML configuration file support. Add new revertsettings management command. Add new permission to edit setting via the UI.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 03:05:26 -04:00
Roberto Rosario
ac5f53c538 Add COMMON_PROJECT_TITLE as a setting option to customize the title string.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-16 03:02:21 -04:00
Roberto Rosario
3d1771a783 Don't execute document renaming if there is workflow action is not configured.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-15 18:26:04 -04:00
Roberto Rosario
5f233ca632 Perform link request resolution the new faster way and fallback to the old method.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-15 18:04:25 -04:00
Roberto Rosario
930c9bdc51 Update release notes.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-15 18:03:49 -04:00
Roberto Rosario
301df39be4 Define a proper redirection after workflow actions are edited.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-15 17:52:23 -04:00
Roberto Rosario
27a27daed2 Add workflow action to update the label and description of a document.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-15 17:52:04 -04:00
Roberto Rosario
65f27b006a Add a description to the label field of the workflow action model to differentiate from the 'label' field of the document.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-15 17:50:55 -04:00
Roberto Rosario
bdfb62d2b3 Show all event columns in the object list view.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-15 05:04:28 -04:00
Roberto Rosario
0022548e35 Add support for document metadata events: add, edit and remove.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-15 05:04:09 -04:00
Roberto Rosario
0a653a08bd Fix document workflow action context content.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-15 04:53:58 -04:00
Roberto Rosario
954dd8b994 Hide the title link of documents in the trash.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-15 03:47:39 -04:00
Roberto Rosario
52ef2f3dae Add link to view the events of a tag. Add support for subscribing to the events of a tag. Add the tag events view permissions to the tag model ACL.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-15 03:46:28 -04:00
Roberto Rosario
4e762d7522 Add new metadata app events: metadata type created, metadata type edited, metadata type to document type relationship update. Add link to metadata type events. Add support for subscribing to metadata type events.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-15 03:23:30 -04:00
Roberto Rosario
4c394aec50 Add support for hiding a links icon. Hide all object menu links' icons.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-15 03:19:19 -04:00
Roberto Rosario
cd76b1fd4a Add new document app events: document type created and document type edited. Add link to document type events.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-15 03:18:46 -04:00
Roberto Rosario
b3ef018d6c Make sure the on entry action of the initial state of workflows executes on document creation.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-14 04:50:44 -04:00
Roberto Rosario
5cd7ac88d6 Code cleanups.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-14 03:41:07 -04:00
Roberto Rosario
b619444e43 Sort view classes.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-14 03:32:33 -04:00
Roberto Rosario
57e1fe8cf0 Unify template title rendering. Add support for template subtitles.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-14 03:32:19 -04:00
Roberto Rosario
fe9a395724 Merge branch 'versions/next' into feature/quick_label
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-14 00:57:41 -04:00
Roberto Rosario
11e017b3db Remove code statistics from the documentation. Remove the pending work chapter. This is now available in the Wiki:
wiki.mayan-edms.com

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-14 00:56:36 -04:00
Roberto Rosario
7124676eb5 Rewrite Mayan's Javascript suite MayanApp into ECMAScript2015. Remove use is waitForJQuery.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-14 00:51:05 -04:00
Roberto Rosario
7f14b9c5e1 Rename the multi document download link from "Download" to "Advanced download" for consistency.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-13 23:39:30 -04:00
Roberto Rosario
65f24b4227 Divs are not allowed inside anchors. Use instead a span with a block type display.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-13 23:36:02 -04:00
Roberto Rosario
af66abaf57 Speed up document image fade in reveal. Use reseteable timer to ensure more document panels heights are matched.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-13 23:35:33 -04:00
Roberto Rosario
62892105a0 Fix tag loading order in the document printing template.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-13 22:14:14 -04:00
Roberto Rosario
526dac7a26 Increase default document caching timeout to 1 year.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-13 22:13:32 -04:00
Roberto Rosario
8fb2c78f29 Optimize request resolution from the context when resolving links and menus.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-13 22:12:42 -04:00
Roberto Rosario
709403a01f Fix swapped dashboard icons.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-13 22:12:17 -04:00
Roberto Rosario
de87f83c05 Include querystring when force reload of a bare template view.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-13 22:09:38 -04:00
Dennis von der Bey
ba28d08a7b Fix docker compose variable name & content
Failed to use postgresql and fell back to sqlite
2018-08-12 20:09:21 +00:00
Roberto Rosario
87ff0696d3 Enable the select2 widget for the quick label selection field.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-08 17:02:58 -04:00
Roberto Rosario
565f6caa0d Add missing .value method to the document image cache setting usage.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-08 02:26:36 -04:00
Roberto Rosario
c9bb13f149 Add support for client side caching of document page images. The time
the images are cached is controlled by the new setting
DOCUMENTS_PAGE_IMAGE_CACHE_TIME which defaults to 3600 seconds (1 hour).

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-08 01:31:21 -04:00
Roberto Rosario
170a83b06f Sort document app settings.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-08 01:22:17 -04:00
Roberto Rosario
928c80cc02 Remove usage of the compress tag.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-08 01:16:05 -04:00
Roberto Rosario
418e603222 Display error when attempting to recalculate the page count of an empty
document (document stub that has no document version).

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-08 01:15:30 -04:00
Roberto Rosario
0d46b0a252 Remove use of django-compressor and cssmin now that the project used
Whitenoise.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-07 23:14:46 -04:00
Roberto Rosario
e7cb4cf6c3 Update packages versions: Pillow:5.2.0, PyYAML:3.13, django-environ:0.4.5,
django-model-utils:3.1.2, django-mptt:0.9.1, django-widget-tweaks: 1.4.2,
flanker:0.9.0, flex:6.13.2, furl:1.2, gevent:1.3.5, graphviz: 0.8.4,
gunicorn:19.9.0, pyocr:0.5.2, python-dateutil:2.7.3

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-07 23:13:49 -04:00
Roberto Rosario
648b3e9d7f Update setup.py with the new dependencies.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-07 22:54:20 -04:00
Roberto Rosario
1b1d549bbf Increase gunicorn's timeout from 30 seconds to 120.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-07 22:54:05 -04:00
Roberto Rosario
0489eb8f7d Update dropzone.js' timeout from 30 seconds to 120 to allow upload of large files on slow connections.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-07 22:52:24 -04:00
Roberto Rosario
0d1c9a5ac1 Merge branch 'feature/db_migration' into versions/next 2018-08-07 22:40:16 -04:00
Roberto Rosario
1594e7a792 Detect if Docker installed.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-06 15:34:21 -04:00
Roberto Rosario
493ba214f2 Sort the manager methods of the checkouts app.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-06 14:57:28 -04:00
Roberto Rosario
14bea94030 Update pathlib imports to pathlib2.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-06 14:55:14 -04:00
Roberto Rosario
3937696774 Add natural key support to the models of the checkouts app.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-06 14:54:55 -04:00
Roberto Rosario
7994803e8f Add the upstream version of django-celery to the removal list.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-06 14:44:03 -04:00
Roberto Rosario
c02a8bb3e3 Switch to pathlib2
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-06 14:43:30 -04:00
Roberto Rosario
9183369bdb Use patched version of django-celery with support for natural key.
https://github.com/celery/django-celery/pull/552

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-05 20:44:37 -04:00
Roberto Rosario
10231363e6 Add natural key support to the document parsing app.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-05 20:07:57 -04:00
Roberto Rosario
4f028b1f54 Convert the two_state_widget to a class and update it to use the new icon class.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-04 16:56:03 -04:00
Roberto Rosario
7a4202b459 Update the document indexing widgets to use the new icon class.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-04 16:51:42 -04:00
Roberto Rosario
ffa8a4c5e2 Add icon class with support for multiple CSS classes.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-04 16:01:04 -04:00
Roberto Rosario
37fc968f50 Merge branch 'versions/next' into feature/db_migration
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-04 01:59:17 -04:00
Roberto Rosario
cc62988d4d Fix post login redirection to honor the ?next= URL query string
argument. Thanks go to K.C. Wong (@dvusboy1) for the report and investigation.
Closes GitLab issue #489.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-04 01:36:57 -04:00
Roberto Rosario
42ea33d760 Fix crop transformation argument parsing.
Add error checking to the crop transformation arguments.
Thanks to Jordan Wages (@wagesj45) for the report and investigation on the issue.
Closes GitLab issue #490

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-04 00:49:58 -04:00
Roberto Rosario
81f340ee16 Limit the number of branches that trigger the full test suit.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-04 00:06:36 -04:00
Roberto Rosario
e6fa31a4e5 Redirect to the cabinet list view after creating a new cabinet.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-04 00:06:16 -04:00
Roberto Rosario
3aecf817ce Make source label field unique.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-04 00:06:03 -04:00
Roberto Rosario
b14d7d6da0 Add release notes for version 3.1.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-03 19:25:49 -04:00
Roberto Rosario
0c1c38917c Make format explicit JSON
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-03 19:25:24 -04:00
Roberto Rosario
f756584176 Make source label field unique.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-03 18:54:30 -04:00
Roberto Rosario
cbcb8a84c5 Add natural key support to the user mailer model.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-03 18:52:53 -04:00
Roberto Rosario
0626529228 Add natural key support to Document pages.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-03 18:52:13 -04:00
Roberto Rosario
f42e1a96b2 Add natural key support to the Index model.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-03 18:51:17 -04:00
Roberto Rosario
4dea5911da Redirect to the cabinet list view after creating a new cabinet.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-03 18:50:40 -04:00
Roberto Rosario
fc304394f5 Add convertdb command.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-03 18:50:30 -04:00
Roberto Rosario
e18c043c1f Improve natural key handing for the Document, Metadata, DocumentMetadata, DocumentTypeOCRSetting and UserProfileLocale models.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-02 16:00:22 -04:00
Roberto Rosario
1ad7d2a406 Limit the number of branches that trigger the full test suit.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-02 15:56:47 -04:00
Roberto Rosario
0faeb2626a Merge branch 'master' into feature/db_migration 2018-08-01 05:11:44 -04:00
Roberto Rosario
c665e75871 Improve serialization migration for the models: Document, DocumentVersion, DocumentMetadata and DocumentTypeOCRSettings
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-08-01 05:09:43 -04:00
Michel Lavoie
57b60c7b2f Update views.py. Corrected minor grammatical errors in the upload queue message. 2018-07-17 12:38:33 +00:00
Michael Price
71ada209f6 Add step to restart redis after configuration change.
Signed-off-by: Michael Price <loneviking72@gmail.com>
2018-07-14 00:14:32 -04:00
Michael Price
d78527ec10 Default VERBOSE variable to true. Increase startup timer to 10 seconds. Allow configuring the PostgreSQL port.
Signed-off-by: Michael Price <loneviking72@gmail.com>
2018-07-14 00:12:15 -04:00
Eric Riggs
6722394e34 Add Docker and install step to have Redis discard data when out of memory.
Signed-off-by: Eric Riggs <ericriggs42@gmail.com>
2018-07-10 04:48:42 -04:00
Eric Riggs
27dcc2a7e7 Update LICENSE copyright time span to match main module's copyright time span.
Signed-off-by: Eric Riggs <ericriggs42@gmail.com>
2018-07-08 23:01:14 -04:00
Roberto Rosario
39a94f8b4f Update changelog.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-07-08 02:40:07 -04:00
Roberto Rosario
2e3ae3f78b Merge branch 'esclear/mayan-edms-patch-1' into merge_patch-1 2018-07-08 02:37:48 -04:00
Roberto Rosario
fd87e28113 French and Polish language translation updates.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-07-08 02:35:43 -04:00
Roberto Rosario
306b764a5c Update release notes for version 3.0.1
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-07-08 02:11:39 -04:00
Roberto Rosario
0987bbe0fa Pin javascript libraries to specific versions to avoid using potentianlly broken updates automatically. GitLab issue #486.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-07-08 01:09:34 -04:00
Roberto Rosario
7a2f7d81bc Install the locales package for the release linux image.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-07-08 01:00:58 -04:00
Roberto Rosario
64ac165f03 Stop install script on errors. Don't stop if previous containers or volumes don't exists. Fix hardcoded volumes.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-07-04 18:30:50 -04:00
Daniel Albert
8cea56aceb Fix string concatenation to fix error messages
Without using parentheses, the strings are not joined.
2018-07-02 20:57:45 +00:00
Roberto Rosario
aabd5651d8 Update the docker.stack file.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-07-02 00:43:42 -04:00
Roberto Rosario
29b680ef84 Fix GitLab issue #484. Thanks to @Bebef for the report and debug information.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-07-01 23:59:15 -04:00
Roberto Rosario
89a7b9d6b5 Change the way wizard steps are deregistered. Instead of deleting then from the _registry class dictionary they are filtered based on the _deregistry dictionary. This way de-registration can be reversed. Useful for tests.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-07-01 23:56:30 -04:00
Roberto Rosario
90b7c1ffa3 Tag and push a "latest" image too.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-30 03:41:11 -04:00
Roberto Rosario
be4365bbf7 Increase document image generation task timeout from 20 seconds to 120 seconds to allow more time for image generation on slow hardware like ARM SBCs.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-30 00:57:27 -04:00
Roberto Rosario
f8b50ab94b Improve script texts.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-30 00:47:28 -04:00
Roberto Rosario
bcf995b459 Default the installation of Docker to false.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-30 00:44:00 -04:00
Roberto Rosario
30957b24c4 Push the final docker image to the docker hub and add deploy stage for an online demo and a staging deployment.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-30 00:43:27 -04:00
Roberto Rosario
340eabc725 Include the version file in the final docker image.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-30 00:33:10 -04:00
Roberto Rosario
d8492f99ab Add docker deploy script.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-30 00:32:45 -04:00
Roberto Rosario
abe6d53c2c Merge branch 'versions/next' into master
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-29 03:19:13 -04:00
Roberto Rosario
9a809c493a Bump version to 3.0
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-29 03:15:34 -04:00
Roberto Rosario
aa38b1c0e8 PEP8 cleanups.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-29 03:10:17 -04:00
Roberto Rosario
7dd56bbf15 Sort language options.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-29 03:05:14 -04:00
Roberto Rosario
061366ffec Update apps' other modules to use the new Icon class.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-29 02:54:14 -04:00
Roberto Rosario
aa4e8e3507 Update the common, django_gpg, document_comments, document_indexing, document_parsing, document_signatures, document_states, event, linking, mailer, permissions, rest_api, smart_settings, sources and task manager apps to use the new Icon class.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-28 23:19:49 -04:00
Roberto Rosario
40d8c7049c Update the user management app to use the new Icon class.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-28 16:52:10 -04:00
Roberto Rosario
8f0ad91d96 Update the tags app to use the Icon class.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-28 16:47:34 -04:00
Roberto Rosario
f5e3470deb Update the OCR app to use the new Icon class.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-28 16:47:23 -04:00
Roberto Rosario
e0d812ac74 Finish converting the document app to use the new Icon class.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-28 16:34:31 -04:00
Roberto Rosario
85926ae8f8 The conditional_escape call caused downloaded OCR text to contain HTML entities like &quot;
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-28 02:04:49 -04:00
Roberto Rosario
c4c73666aa Update the build makefile target to use Debian instead of Alpine
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-28 01:22:50 -04:00
Roberto Rosario
fb845abf10 Further sanitize the template title text before making it the window title via JS.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-27 23:21:03 -04:00
Roberto Rosario
9dfe187202 Recalculate a document's indexes when attaching or removing a tag from or to it. Recalculate all of a tag's documents when a tag is about to be deleted.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-13 01:26:58 -04:00
Roberto Rosario
66e53bac22 Merge the license and packages license display form. Use Mayan's custom TextAreaDiv widget.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-12 21:38:34 -04:00
Roberto Rosario
60a3e1aa42 Update deployment instructions.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-12 21:24:50 -04:00
Roberto Rosario
e5e619e045 Only build docker images for the master, staging and nightly branches.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-12 03:54:46 -04:00
Roberto Rosario
53c17ce7ab No need to copy .pypirc just to build a package.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-12 03:52:48 -04:00
Roberto Rosario
694f7675e5 Use the passthrough manager to be able to show previews for trashed documents again.
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-06-08 17:38:28 -04:00
Michael Price
a1876c065e Don't use gpg1 for testing against sqlite.
Signed-off-by: Michael Price <loneviking72@gmail.com>
2018-04-01 02:52:27 -04:00
Michael Price
d991c82693 Add settings module for easy testing during development.
Signed-off-by: Michael Price <loneviking72@gmail.com>
2018-04-01 02:52:19 -04:00
2451 changed files with 114918 additions and 66202 deletions

View File

@@ -6,5 +6,6 @@ db.sqlite*
docker
!docker/etc
!docker/entrypoint.sh
!docker/version
./.*
docs

1
.gitignore vendored
View File

@@ -27,5 +27,6 @@ static_collected/
/misc/mayan.geany
/mayan/media/static/
/venv/
/venv3/
/whoosh_index/
node_modules/

View File

@@ -1,9 +1,15 @@
stages:
- test
- build
- build_python
- build_docker
- build_documentation
- push_python
- push_docker
- push_documentation
- deploy
job_docker_master:
stage: build
job_docker_build:
stage: build_docker
image: docker:latest
services:
- docker:dind
@@ -11,13 +17,40 @@ job_docker_master:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker build --pull -t "$CI_REGISTRY_IMAGE" -f docker/Dockerfile .
- docker run --rm "$CI_REGISTRY_IMAGE" run-tests
- docker push "$CI_REGISTRY_IMAGE"
- VERSION=`cat docker/version`
- docker tag "$CI_REGISTRY_IMAGE" "$CI_REGISTRY_IMAGE:$VERSION"
- docker run --rm "$CI_REGISTRY_IMAGE:$VERSION" run-tests
- docker push "$CI_REGISTRY_IMAGE:$VERSION"
- docker push "$CI_REGISTRY_IMAGE:latest"
- docker tag "$CI_REGISTRY_IMAGE:$VERSION" registry-1.docker.io/mayanedms/mayanedms:"$VERSION"
- docker tag "$CI_REGISTRY_IMAGE:$VERSION" registry-1.docker.io/mayanedms/mayanedms:latest
- docker logout
only:
- master
- releases/all
- releases/docker
job_docker_other:
stage: build
job_docker_push:
stage: push_docker
image: docker:latest
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- VERSION=`cat docker/version`
- docker pull "$CI_REGISTRY_IMAGE:$VERSION"
- docker tag "$CI_REGISTRY_IMAGE:$VERSION" registry-1.docker.io/mayanedms/mayanedms:"$VERSION"
- docker tag "$CI_REGISTRY_IMAGE:$VERSION" registry-1.docker.io/mayanedms/mayanedms:latest
- docker logout
- docker login -u "$DOCKER_HUB_USERNAME" -p "$DOCKER_HUB_PASSWORD" https://registry-1.docker.io
- docker push registry-1.docker.io/mayanedms/mayanedms:"$VERSION"
- docker push registry-1.docker.io/mayanedms/mayanedms:latest
only:
- releases/all
- releases/docker
job_docker_nightly:
stage: build_docker
image: docker:latest
services:
- docker:dind
@@ -27,8 +60,83 @@ job_docker_other:
- docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" -f docker/Dockerfile .
- docker run --rm "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" run-tests
- docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG"
except:
- master
only:
- nightly
- staging
job_documentation_build:
stage: build_documentation
image: ubuntu:18.04
artifacts:
expire_in: 1 hr
paths:
- docs
before_script:
- apt-get -qq update
- apt-get install -qq locales make python-pip enchant
- echo "LC_ALL=\"en_US.UTF-8\"" >> /etc/default/locale
- locale-gen en_US.UTF-8
- update-locale LANG=en_US.UTF-8
- export LC_ALL=en_US.UTF-8
script:
- pip install -r requirements/documentation.txt
- cd docs
- make html
only:
- releases/all
- releases/documentation
job_documentation_push:
stage: push_documentation
image: ubuntu:18.04
before_script:
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- echo "$DOCUMENTATION_SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client rsync -y )'
- eval $(ssh-agent -s)
- echo "$DOCUMENTATION_SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
script:
- rsync -avzP --progress -e ssh docs/_build/html/* mayandocs@docs.mayan-edms.com:/home/rosarior/webapps/mayan_docs
only:
- releases/all
- releases/documentation
job_build_python:
stage: build_python
image: ubuntu:18.04
artifacts:
expire_in: 1 hr
paths:
- dist
before_script:
- apt-get -qq update
- apt-get install -qq locales make python-pip
script:
- echo "LC_ALL=\"en_US.UTF-8\"" >> /etc/default/locale
- locale-gen en_US.UTF-8
- update-locale LANG=en_US.UTF-8
- export LC_ALL=en_US.UTF-8
- pip install -r requirements/build.txt
- make wheel
only:
- releases/all
- releases/python
job_push_python:
stage: push_python
image: ubuntu:18.04
before_script:
- apt-get -qq update
- apt-get install -qq python-pip
script:
- pip install -r requirements/build.txt
- echo "$PYPIRC" > ~/.pypirc
- twine upload dist/* -r pypi
only:
- releases/all
- releases/python
.test_base: &test_base
stage: test
@@ -44,8 +152,15 @@ job_docker_other:
- locale-gen en_US.UTF-8
- update-locale LANG=en_US.UTF-8
- export LC_ALL=en_US.UTF-8
- apt-get install -qq curl gcc ghostscript gpgv gnupg graphviz libjpeg-dev libmagic1 libpng-dev libtiff-dev poppler-utils libreoffice poppler-utils python-dev python-pip tesseract-ocr tesseract-ocr-deu
- apt-get install -qq curl gcc ghostscript gpgv gnupg graphviz libfuse2 libjpeg-dev libmagic1 libpng-dev libtiff-dev poppler-utils libreoffice poppler-utils python-dev python-pip tesseract-ocr tesseract-ocr-deu
- pip install -r requirements/testing.txt
only:
- releases/all
- releases/docker
- releases/python
- master
- staging
- nightly
test-mysql:
<<: *test_base
@@ -80,3 +195,33 @@ test-sqlite:
<<: *test_base
script:
- python manage.py test --mayan-apps --settings=mayan.settings.testing.gitlab-ci --nomigrations
deploy_demo:
environment:
name: demo
stage: deploy
before_script:
- mkdir -p ~/.ssh
- echo "${DEMO_SSH_KNOWN_HOST}" > ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
- echo "${DEMO_PRIVATE_KEY}" > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
script:
- scp contrib/scripts/install/docker.sh root@$DEMO_IP_ADDRESS:~
- ssh root@$DEMO_IP_ADDRESS "DELETE_VOLUMES=true ./docker.sh"
when: manual
deploy_staging:
environment:
name: staging
stage: deploy
before_script:
- mkdir -p ~/.ssh
- echo "${STAGING_SSH_KNOWN_HOST}" > ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
- echo "${STAGING_PRIVATE_KEY}" > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
script:
- scp contrib/scripts/install/docker.sh root@$STAGING_IP_ADDRESS:~
- ssh root@$STAGING_IP_ADDRESS "DOCKER_MAYAN_IMAGE=registry.gitlab.com/mayan-edms/mayan-edms:staging ./docker.sh"
when: manual

View File

@@ -127,6 +127,12 @@ source_lang = en
source_file = mayan/apps/mirroring/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.mimetype-2-0]
file_filter = mayan/apps/mimetype/locale/<lang>/LC_MESSAGES/django.po
source_lang = en
source_file = mayan/apps/mimetype/locale/en/LC_MESSAGES/django.po
type = PO
[mayan-edms.motd-2-0]
file_filter = mayan/apps/motd/locale/<lang>/LC_MESSAGES/django.po
source_lang = en

View File

@@ -23,7 +23,7 @@ with deployments, webservers, cloud providers, etc.
Code
----
1. Complete and mail, or scan and email the corresponding Contributor Assignment Agreement: [Mayan EDMS Individual Contributor Assignment Agreement](http://mayan.readthedocs.io/en/latest/topics/caa_individual.rst) or [Mayan EDMS Entity Contributor Assignment Agreement](http://mayan.readthedocs.io/en/latest/topics/caa_entity.rst).
1. Complete and mail, or scan and email the corresponding Contributor Assignment Agreement: [Mayan EDMS Individual Contributor Assignment Agreement](https://docs.mayan-edms.com/topics/caa_individual.rst) or [Mayan EDMS Entity Contributor Assignment Agreement](https://docs.mayan-edms.com/topics/topics/caa_entity.rst).
1. Fork [the repository](http://gitlab.com/mayan-edms/mayan-edms).
1. Choose the version for which you want to develop. The code is divided in the
following branches:
@@ -75,5 +75,5 @@ translation. Language teams that don't see activity for a while are deleted.
Code style
----------
- Refer to the [Development](http://mayan.readthedocs.io/en/latest/topics/development.html)
- Refer to the [Development](https://docs.mayan-edms.com/topics/development.html)
chapter for information and examples of the code style.

File diff suppressed because it is too large Load Diff

60
HISTORY_1_x.rst Normal file
View File

@@ -0,0 +1,60 @@
1.1.1 (2015-05-21)
==================
- Update to Django 1.6.11
- Fix make_dist.sh script
- Add test for issue #163
- Activate tests for the sources app
- Removal of the registration app
- New simplified official project description
- Improvements to the index admin interface
- Removal of installation statistics gathering
- Remove unused folder tag
- Fix usage of ugettext to ugettext_lazy
- Increase size of the lock name field
- New style documentation
1.1 (2015-02-10)
================
- Uses Celery for background tasks
- Removal of the splash screen
- Adds a home view with common function buttons
- Support for sending and receiving documents via email
- Removed custom logging app in favor of django-actvity-stream
- Adds watch folders
- Includes Vagrant file for unified development and testing environments
- Per user locale profile (language and timezone)
- Includes news document workflow app
- Optional and required metadata types
- Improved testings. Automated tests against SQLite, MySQL, PostgreSQL
- Many new REST API endpoints added
- Simplified text messages
- Improved method for custom settings
- Addition of CORS support to the REST API
- Per document language setting instead of per installation language setting
- Metadata validation and parsing support
- Start of code updates towards Python 3 support
- Simplified UI
- Stable PDF previews generation
- More technical documentation
1.0 (2014-08-27)
================
- New home @ https://github.com/mayan-edms/mayan-edms
- Updated to use Django 1.6
- Translation updates
- Custom model properties removal
- Source code improvements
- Removal of included 3rd party modules
- Automatic testing and code coverage check
- Update of required modules and libraries versions
- Database connection leaks fixes
- Support for deletion of detached signatures
- Removal of Fabric based installations script
- Pluggable OCR backends
- OCR improvements
- License change, Mayan EDMS in now licensed under the Apache 2.0 License
- PyPI package, Mayan EDMS in now available on PyPI: https://pypi.python.org/pypi/mayan-edms/
- New REST API

435
HISTORY_2_x.rst Normal file
View File

@@ -0,0 +1,435 @@
2.7.3 (2017-09-11)
==================
- Fix task manager queue list view. Thanks to LeVon Smoker for
the report.
- Fix resolved link class URL mangling when the keep_query argument is
used. Thanks to Nick Douma(LordGaav) for the report and diagnostic
information. Fixes source navigation on the document upload wizard.
2.7.2 (2017-09-06)
==================
- Fix new mailer creation view. GitLab issue #431.
Thanks to Robert Schöftner(@robert.schoeftner) for the
report and the solution.
- Consolidate intial document created event and the first
document properties edited events. Preserve the user that
initially creates the document. GitLab issue #433. Thanks
to Jesaja Everling(@jeverling) for the report.
- Sort the list of root cabinets. Thanks to Thomas Plotkowiak
for the request.
- Sort the list of a document's cabinets.
- Display a document's cabinet list in italics. GitLab issue #435.
Thanks to LeVon Smoker for the request.
- Install mock by default to allow easier testing of deployed
instances.
2.7.1 (2017-09-03)
==================
- Support unicode in URL querystring. GitLab issue #423.
Thanks to Gustavo Teixeira (@gsteixei) for the find.
- Import errors during initialization are only ignored
if they are cause by a missing local.py. Thanks to
MacRobb Simpson for the report and solution.
- Make sure the local.py created used unicode for strings
by default. GitLab issue #424. Thanks to Gustavo Teixeira
(@gsteixei) for the find.
2.7 (2017-08-30)
================
- Add workaround for PDF with IndirectObject as the
rotation value. GitHub #261.
- Add ACL list link with icon and use it for the document facet menu.
- Fix mailing app permissions labels.
- Add ACLs link and ACLs permissions to the mailer profile model.
- Improve mailer URL regex.
- Add ordering support to the SourceColumn class. GitLab issue #417.
- Shows the cabinets in the document list. GitLab #417 @corneliusludmann
- Add workaround for pycountry versions without the bibliographical key.
GitHub issue #250.
- Skip UUID migration on Oracle backends. GitHub issue #251.
- Allow changing the output format, DPI of the pdftoppm command, and
the output format of the converter via the CONVERTER_GRAPHICS_BACKEND_CONFIG
setting. GitHub issues #256 #257 GitLab issue #416.
- Add support for workflow triggers.
- Add support for workflow actions.
- Add support for rendering workflows.
- Add support for unbinding sub menus.
- Fix mailing profile test view.
- Disregard the last 3 dots that mark the end of the YAML document.
- Add support for multiple dashboards.
- Add support for removing dashboard widgets.
- Convert document version view to item list view.
- Add support for browsing individual document versions.
- Add support for dropdown menus to the item list view template.
- Add support for preserving the file extension when downloading a document
version. GitLab #415.
- Split OCR app into OCR and parsing.
- Remove Folders app.
- Use the literal 'System' instead of the target name when
the action user in unknown.
- Remove the view to submit all document for OCR.
- When changing document types, don't delete the old metadata that is
also found in the new document type. GitLab issue #421.
- Add tag attach and tag remove events.
- Change the permission needed to attach and remove tags.
- Add HTTP POST workflow state action.
- Add access control grant workflow state action.
- Beta Python 3 support.
2.6.4 (2017-07-26)
==================
- Add missing replacements of reverse to resolve_url.
2.6.3 (2017-07-25)
==================
- Add makefile target to launch a PostgreSQL container.
- Use resolve_url instead of redirect to resolve the post login URL.
- Make the intialsetup and performupgrade management tasks work
with signals to allow customization from 3rd party apps.
- PEP8 cleanups.
- Add tag_ids keyword argument to the Source.handle_upload
model method. GitLab issue #413.
- Add overflow wrapping so wrap long titles in Firefox too.
- Makes Roles searchable. GitLab issue #402.
- Add line numbers to the debug and production loggers.
Add date and time to the production logger.
- Add support for generating setup.py from a template. GitLab
#149 #200.
- Add fade in animation to document images.
2.6.2 (2017-07-19)
==================
- Fix deprecation warning to prepare upgrade to Django 1.11 and 2.0.
- Fix document page zoom.
- Add support to run tests against a MySQL, Postgres or Oracle container.
- Improve tag widget customization by moving the markup to its own template.
- Fix document page widget appearance in the document page list view.
- Make document version order deterministic.
- Allow total page number instrospection of encrypted PDF with non ASCII user properties. GitLab issue #411.
- Oracle database compatibility update in the cabinets app. GitHub #258.
2.6.1 (2017-07-18)
==================
- Fix issue when editing or removing metadata from multiple documents.
2.6 (2017-07-18)
================
- Fix HTML mark up in window title. GitLab #397.
- Add support for emailing documents to a recipient list. GitLab #396.
- Backport metadata widget changes from @Macrobb. GitLab #377.
- Make users and group searchable.
- Add support for logging errors during in production mode.
Add COMMON_PRODUCTION_ERROR_LOG_PATH to control path of log file.
Defaults to mayan/error.log.
- Add support logging request exceptions.
- Add document list item view.
- Sort setting by namespace label and by global name second.
- Sort indexes by label.
- Fix cabinets permission and access control checking.
- The permission to add or remove documents to cabinets now applies to documents too.
- Equalize dashboard widgets heights.
- Switch the order of the DEFAULT_AUTHENTICATION_CLASSES of DRF. GitLab #400.
- Backport document's version list view permission.
- Improve code to unbind menu entries.
- Renamed the document type permission namespace from "Document setup" to "Document types".
- Add support for granting the document type edit, document type delete, and document type view
permissions to individual document type instances.
- Improved tests by testing for accesses.
- Increase the size of the mailing profile label field to 128 characters.
2.5.2 (2017-07-08)
==================
- Improve new document creation signal handling.
Fixes issue with duplicate scanning at upload.
2.5.1 (2017-07-08)
==================
- Update release target due to changes in PyPI.
2.5 (2017-07-07)
================
- Add view to download a document's OCR text. GitLab #215
- Add user configurable mailer. GitLab #286.
- Use Toasts library for screen messages.
- Reduce verbosity of some debug messages.
- Add new lineart transformation.
- Fix SANE source resolution field.
- About and Profile menu reorganization.
- PDF compatibility improvements.
- Office document coversion improvements.
- New metadata type setup UI.
- Duplicated document scan support.
- "Remember me" login support.
- Forgotten password restore via email.
- Document cache disabling.
- Translation improvements.
- Image loading improvements.
- Lower JavaScript memory utilization.
- HTML reponsive layout improvements.
- Make document deletion a background task.
- Unicode handling improvements.
- Python3 compatilibyt improvements.
- New screen messages using Toastr.
2.4 (2017-06-23)
================
- Add Django-mathfilters.
- Improve render of documents with no pages.
- Add SANE scanner document source.
- Added PDF orientation detection. GitLab issue #387.
- Fix repeated permission list API URL. GitLab issue #389.
- Fix role creation API endpoint not returning id. GitLab issue #390.
- Make tags, metadata types and cabinets searchable via the dynamic search API. GitLab issue #344.
- Add support for updating configuration options from environment variables.
- Add purgelocks management command. GitLab issue #221.
- Fix index rebuilding for multi value first levels. GitLab issue #391.
- Truncate views titles via the APPEARANCE_MAXIMUM_TITLE_LENGTH setting. GitLab issue #217.
- Add background task manager app. GitLab issue #132.
- Add link to show a document's OCR errors. GitLab issue #291.
2.3 (2017-06-08)
================
- Allow for bigger indexing expression templates.
- Auto select checkbox when updating metadata values. GitLab issue #371.
- Added support for passing the options allow-other and allow-root to the
FUSE index mirror. GitLab issue #385
- Add support for check for the latest released version of Mayan from the
About menu.
- Support for rebuilding specific indexes. GitLab issue #372.
- Rewrite document indexing code to be faster and use less locking.
- Use a predefined file path for the file lock.
- Catch documents with not document version when displaying their thumbnails.
- Document page navigation fix when using Mayan as a sub URL app.
- Add support for indexing on workflow state changes.
- Add search model list API endpoint.
2.2 (2017-04-26)
================
- Remove the installation app (GitLab #301).
- Add support for document page search
- Remove recent searches feature
- Remove dependency on the django-filetransfer library
- Fix height calculation in resize transformation
- Improve upgrade instructions
- New image caching pipeline
- New drop down menus for the documents, folders and tags app as well as for
the user links.
- New Dashboard view
- Moved licenses to their own module in every app
- Update project to work with Django 1.10.4.
- Tags are alphabetically ordered by label (GitLab #342).
- Stop loading theme fonts from the web (GitLab #343).
- Add support for attaching multiple tags (GitLab #307).
- Integrate the Cabinets app.
2.1.11 (2017-03-14)
===================
- Added a quick rename serializer to the document type API serializer.
- Added per document type, workflow list API view.
- Mayan EDMS was adopted a version 1.1 of the Linux Foundation Developer Certificate of Origin.
- Added the detail url of a permission in the permission serializer.
- Added endpoints for the ACL app API.
- Implemented document workflows transition ACLs. GitLab issue #321.
- Add document comments API endpoints. GitHub issue #249.
- Add support for overriding the Celery class.
- Changed the document upload view in source app to not use the HTTP referer
URL blindly, but instead recompose the URL using known view name. Needed
when integrating Mayan EDMS into other app via using iframes.
- Addes size field to the document version serializer.
- Removed the serializer from the deleted document restore API endpoint.
- Added support for adding or editing document types to smart links via the
API.
2.1.10 (2017-02-13)
===================
- Update Makefile to use twine for releases.
- Add Makefile target to make test releases.
2.1.9 (2017-02-13)
==================
- Update make file to Workaround long standing pypa wheel bug #99
2.1.8 (2017-02-12)
==================
- Fixes in the trashed document API endpoints.
- Improved tags API PUT and PATCH endpoints.
- Bulk document adding when creating and editing tags.
- The version of django-mptt is preserved in case mayan-cabinets is installed.
- Add Django GPG API endpoints for singing keys.
- Add API endpoints for the document states (workflows) app.
- Add API endpoints for the messsage of the day (MOTD) app.
- Add Smart link API endpoints.
- Add writable versions of the Document and Document Type serializers (GitLab issues #348 and #349).
- Close GitLab issue #310 "Metadata's lookup with chinese messages when new document"
2.1.7 (2017-02-01)
==================
- Improved user management API endpoints.
- Improved permissions API endpoints.
- Improvements in the API tests of a few apps.
- Addition Content type list API view to the common app.
- Add API endpoints to the events app.
- Enable the parser and validation fields of the metadata serializer.
2.1.6 (2016-11-23)
==================
- Fix variable name typo in the rotation transformation class.
- Update translations
2.1.5 (2016-11-08)
==================
- Backport resize transformation math operation fix (GitLab #319).
- Update Pillow to 3.1.2 (Security fix).
- Backport zoom transformation performance improvement (GitLab #334).
- Backport trash can navigation link resolution fix (GitLab #331).
- Improve documentation regarding the use of GPG version 1 (GitLab #333).
- Fix ACL create view HTML response type. (GitLab #335).
- Expland staging folder and watch folder explanation.
2.1.4 (2016-10-28)
==================
- Add missing link to the 2.1.3 release notes in the index file.
- Improve TempfileCheckMixin.
- Fix statistics namespace list display view.
- Fix events list display view.
- Update required Django version to 1.8.15.
- Update required python-gnupg version to 0.3.9.
- Improved orphaned temporary files test mixin.
- Re-enable and improve GitLab CI MySQL testing.
- Improved GPG handling.
- New GPG backend system.
- Minor documentation updates.
2.1.3 (2016-06-29)
==================
- Add help message when initialsetup migration phase fails. Relates to GitLab issue #296.
- Start using self.setdout instead of print as per documentation.
- Fix GitLab issue #295, "When editing a user the top bar jumps to the name of the user".
- Normalize handling of temporary file and directory creation.
- Fix GitLab issue #309, "Temp files quickly filling-up my /tmp (1GB tmpfs)".
- Explicitly check for residual temporary files in tests.
- Add missing temporary file cleanup for office documents.
- Fix file descriptor leak in the document signature download test.
2.1.2 (2016-05-20)
==================
- Sort document languages and user profile locale language lists. GitLab issue #292.
- Fix metadata lookup for {{ users }} and {{ group }}. Fixes GitLab #290.
- Add Makefile for common development tasks
2.1.1 (2016-05-17)
==================
- Fix navigation issue that make it impossible to add new sources. GitLab issue #288.
- The Tesseract OCR backend now reports if the requested language file is missing. GitLab issue #289.
- Ensure the automatic default index is created after the default document type.
2.1 (2016-05-14)
================
- Upgrade to use Django 1.8.13. Issue #246.
- Upgrade requirements.
- Remove remaining references to Django's User model. GitLab issue #225
- Rename 'Content' search box to 'OCR'.
- Remove included login required middleware using django-stronghold instead (http://mikegrouchy.com/django-stronghold/).
- Improve generation of success and error messages for class based views.
- Remove ownership concept from folders.
- Replace strip_spaces middleware with the spaceless template tag. GitLab issue #255
- Deselect the update checkbox for optional metadata by default.
- Silence all Django 1.8 model import warnings.
- Implement per document type document creation permission. Closes GitLab issue #232.
- Add icons to the document face menu links.
- Increase icon to text spacing to 3px.
- Make document type delete time period optional.
- Fixed date locale handling in document properties, checkout and user detail views.
- Add new permission: checkout details view.
- Add HTML5 upload widget. Issue #162.
- Add Message of the Day app. Issue #222
- Update Document model's uuid field to use Django's native UUIDField class.
- Add new split view index navigation
- Newly uploaded documents appear in the Recent document list of the user.
- Document indexes now have ACL support.
- Remove the document index setup permission.
- Status messages now display the object class on which they operate not just the word "Object".
- More tests added.
- Handle unicode filenames in staging folders.
- Add staging file deletion permission.
- New document_signature_view permission.
- Add support for signing documents.
- Instead of multiple keyservers only one keyserver is now supported.
- Replace document type selection widget with an opened selection list.
- Add mailing documentation chapter.
- Add roadmap documentation chapter.
- API updates.
2.0.2 (2016-02-09)
==================
- Install testing dependencies when installing development dependencies.
- Fix GitLab issue #250 "Empty optional lookup metadata trigger validation error".
- Fix OCR API test.
- Move metadata form value validation to .clean() method.
- Only extract validation error messages from ValidationError exception instances.
- Don't store empty metadata value if the update checkbox is not checked.
- Add 2 second delay to document version tests to workaround MySQL limitation.
- Strip HTML tags from the browser title.
- Remove Docker and Docker Compose files.
2.0.1 (2016-01-22)
==================
- Fix GitLab issue #243, "System allows a user to skip entering values for a required metadata field while uploading a new document"
- Fix GitLab issue #245, "Add multiple metadata not possible"
- Updated Vagrantfile to provision a production box too.
2.0 (2015-12-04)
================
- New source homepage: https://gitlab.com/mayan-edms/mayan-edms
- Update to Django 1.7
- New Bootstrap Frontend UI
- Easier theming and rebranding
- Improved page navigation interface
- Menu reorganization
- Removal of famfam icon set
- Improved document preview generation
- Document submission for OCR changed to POST
- New YAML based settings system
- Removal of auto admin creation as separate app
- Removal of dependencies
- ACL system refactor
- Object access control inheritance
- Removal of anonymous user support
- Metadata validators refactor
- Trash can support
- Retention policies
- Support for sharing indexes as FUSE filesystems
- Clickable preview images titles
- Removal of eval
- Smarter OCR, per page parsing or OCR fallback
- Improve failure tolerance (not all Operational Errors are critical now)
- RGB tags
- Default document type and default document source
- Link unbinding
- Statistics refactor
- Apps merge
- New signals
- Test improvements
- Indexes recalculation after document creation too
- Upgrade command
- OCR data moved to ocr app from documents app
- New internal document creation workflow return a document stub
- Auto console debug logging during development and info during production
- New class based and menu based navigation system
- New class based transformations
- Usage of Font Awesome icons set
- Management command to remove obsolete permissions: `purgepermissions`
- Normalization of 'title' and 'name' fields to 'label'
- Improved API, now at version 1
- Invert page title/project name order in browser title
- Django's class based views pagination
- Reduction of text strings
- Removal of the CombinedSource class
- Removal of default class ACLs
- Removal of the ImageMagick and GraphicsMagick converter backends
- Remove support for applying roles to new users automatically
- Removal of the DOCUMENT_RESTRICTIONS_OVERRIDE permission
- Removed the page_label field

View File

@@ -1,4 +1,4 @@
Copyright 2011-2015 Roberto Rosario
Copyright 2011-2018 Roberto Rosario
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@@ -1,3 +1,3 @@
include README.md LICENSE HISTORY.rst mayan/LICENSE
recursive-include mayan/apps *.txt *.html *.css *.ico *.png *.jpg *.js *.po *.mo *.ttf *.woff *.woff2 *.gif *.eot *.svg *.doc *.pdf *.tiff *.sig *.asc *.gpg *.zip package.json
recursive-include mayan/apps *.txt *.html *.css *.ico *.png *.jpg *.js *.po *.mo *.ttf *.woff *.woff2 *.gif *.eot *.svg *.doc *.pdf *.tiff *.sig *.asc *.gpg *.zip *.tar *.gz *.bz2 package.json
global-exclude mayan/settings/local.py mayan/settings/travis/* mayan/media/*

View File

@@ -67,10 +67,10 @@ clean-pyc:
# Testing
test:
./manage.py test $(MODULE) --settings=mayan.settings.testing.development --nomigrations
./manage.py test $(MODULE) --settings=mayan.settings.testing.development --nomigrations $(ARGUMENTS)
test-all:
./manage.py test --mayan-apps --settings=mayan.settings.testing.development --nomigrations
./manage.py test --mayan-apps --settings=mayan.settings.testing.development --nomigrations $(ARGUMENTS)
test-launch-postgres:
@docker rm -f test-postgres || true
@@ -133,19 +133,22 @@ test-with-oracle-all: test-launch-oracle
docs-serve:
cd docs;make livehtml
docs-spellcheck:
sphinx-build -b spelling -d docs/_build/ docs docs/_build/spelling
# Translations
translations_make:
translations-make:
contrib/scripts/process_messages.py -m
translations_compile:
translations-compile:
contrib/scripts/process_messages.py -c
translations_push:
translations-push:
tx push -s
translations_pull:
translations-pull:
tx pull -f
@@ -155,6 +158,13 @@ generate-setup:
# Releases
increase-version:
@VERSION=`grep "__version__ =" mayan/__init__.py| cut -d\' -f 2|./increase_version.py - $(PART)`; \
BUILD=`echo $$VERSION|awk '{split($$VERSION,a,"."); printf("0x%02d%02d%02d\n", a[1],a[2], a[3])}'`; \
sed -i -e "s/__build__ = 0x[0-9]*/__build__ = $${BUILD}/g" mayan/__init__.py; \
sed -i -e "s/__version__ = '[0-9\.]*'/__version__ = '$${VERSION}'/g" mayan/__init__.py; \
echo $$VERSION > docker/version
make generate-setup
test-release: clean wheel
twine upload dist/* -r testpypi
@@ -186,12 +196,13 @@ release-test-via-docker-ubuntu:
release-via-docker-ubuntu:
docker run --rm --name mayan_release -v $(HOME):/host_home:ro -v `pwd`:/host_source -w /source ubuntu:16.04 /bin/bash -c "\
apt-get update && \
apt-get -y install locales && \
echo "LC_ALL=\"en_US.UTF-8\"" >> /etc/default/locale && \
locale-gen en_US.UTF-8 && \
update-locale LANG=en_US.UTF-8 && \
export LC_ALL=en_US.UTF-8 && \
cp -r /host_source/* . && \
apt-get update && \
apt-get install make python-pip -y && \
pip install -r requirements/build.txt && \
cp -r /host_home/.pypirc ~/.pypirc && \
@@ -304,15 +315,14 @@ find-gitignores:
build:
docker rm -f mayan-edms-build || true && \
docker run --rm --name mayan-edms-build -v $(HOME):/host_home:ro -v `pwd`:/host_source -w /source python:2-alpine3.7 /bin/busybox sh -c "\
docker run --rm --name mayan-edms-build -v $(HOME):/host_home:ro -v `pwd`:/host_source -w /source python:2-slim sh -c "\
rm /host_source/dist -R || true && \
mkdir /host_source/dist || true && \
export LC_ALL=en_US.UTF-8 && \
export LC_ALL=C.UTF-8 && \
cp -r /host_source/* . && \
apk update && \
apk add make && \
apt-get update && \
apt-get install -y make && \
pip install -r requirements/build.txt && \
cp -r /host_home/.pypirc ~/.pypirc && \
make wheel && \
cp dist/* /host_source/dist/"

View File

@@ -50,7 +50,7 @@ The easiest way to use Mayan EDMS is by using the official
and working before attempting to install Mayan EDMS.
For the complete set of installation instructions visit the Mayan EDMS documentation
at: http://mayan.readthedocs.io/en/latest/topics/installation.html
at: https://docs.mayan-edms.com/topics/installation.html
<h2 align="center">Hardware requirements</h2>
@@ -61,14 +61,12 @@ at: http://mayan.readthedocs.io/en/latest/topics/installation.html
- [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)
- [Documentation](https://docs.mayan-edms.com)
- [Wiki](https://wiki.mayan-edms.com/)
- [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/)
- [Forum](https://forum.mayan-edms.com/)
- [Source code, issues, bugs](https://gitlab.com/mayan-edms/mayan-edms)
- [Plug-ins, other related projects](https://gitlab.com/mayan-edms/)
- [Translations](https://www.transifex.com/rosarior/mayan-edms/)
- [Videos](https://www.youtube.com/channel/UCJOOXHP1MJ9lVA7d8ZTlHPw)

View File

@@ -21,7 +21,7 @@ Make sure Docker is properly installed and working before attempting to install
Mayan EDMS.
For the complete set of installation instructions visit the Mayan EDMS documentation
at: http://mayan.readthedocs.io/en/latest/topics/installation.html
at: https://docs.mayan-edms.com/topics/installation.html
.. _Docker: https://www.docker.com/
@@ -34,16 +34,14 @@ Hardware requirements
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>`__
- `Documentation <https://docs.mayan-edms.com>`__
- `Wiki <https://wiki.mayan-edms.com>`__
- `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/>`__
- `Forum <https://forum.mayan-edms.com>`__
- `Source code, issues, bugs <https://gitlab.com/mayan-edms/mayan-edms>`__
- `Plug-ins, other related projects <https://gitlab.com/mayan-edms/>`__
- `Translations <https://www.transifex.com/rosarior/mayan-edms/>`__
- `Videos <https://www.youtube.com/channel/UCJOOXHP1MJ9lVA7d8ZTlHPw>`__
.. |pypi| image:: http://img.shields.io/pypi/v/mayan-edms.svg

14
__init__.py.tmpl Normal file
View File

@@ -0,0 +1,14 @@
from __future__ import unicode_literals
__title__ = 'Mayan EDMS'
__version__ = '{{ version }}'
__build__ = {{ build }}
__build_string__ = '{{ build_string }}'
__django_version__ = '1.11'
__author__ = 'Roberto Rosario'
__author_email__ = 'roberto.rosario@mayan-edms.com'
__description__ = 'Free Open Source Electronic Document Management System'
__license__ = 'Apache 2.0'
__copyright_short__ = '2011-2018 Roberto Rosario'
__copyright__ = '{} {}'.format('Copyright', __copyright_short__)
__website__ = 'https://www.mayan-edms.com'

View File

@@ -3,6 +3,6 @@
apt-get update
apt-get install -y --no-install-recommends tesseract-ocr-deu
pip install -r $DOCKER_ROOT/requirements-testing.txt
$MAYAN_PIP_BIN install -r $DOCKER_ROOT/requirements-testing.txt
mayan-edms.py test --mayan-apps --settings=mayan.settings.testing
$MAYAN_BIN test --mayan-apps --settings=mayan.settings.testing

File diff suppressed because it is too large Load Diff

131
contrib/scripts/install/docker.sh Executable file
View File

@@ -0,0 +1,131 @@
#!/bin/sh
set -e
# This script is meant for quick & easy install via:
# $ curl -fsSL get.mayan-edms.com -o get-mayan-edms.sh
# $ sh get-mayan-edms.sh
#
# NOTE: Make sure to verify the contents of the script
# you downloaded matches the contents of docker.sh
# located at https://gitlab.com/mayan-edms/mayan-edms/blob/master/contrib/scripts/install/docker.sh
# before executing.
: ${VERBOSE:=true}
: ${INSTALL_DOCKER:=false}
: ${DELETE_VOLUMES:=false}
: ${DATABASE_USER:=mayan}
: ${DATABASE_NAME:=mayan}
: ${DATABASE_PASSWORD:=mayanuserpass}
: ${DOCKER_POSTGRES_IMAGE:=postgres:9.5}
: ${DOCKER_POSTGRES_CONTAINER:=mayan-edms-postgres}
: ${DOCKER_POSTGRES_VOLUME:=/docker-volumes/mayan-edms/postgres}
: ${DOCKER_POSTGRES_PORT:=5432}
: ${DOCKER_MAYAN_IMAGE:=mayanedms/mayanedms:latest}
: ${DOCKER_MAYAN_CONTAINER:=mayan-edms}
: ${DOCKER_MAYAN_VOLUME:=/docker-volumes/mayan-edms/media}
cat << EOF
███╗ ███╗ █████╗ ██╗ ██╗ █████╗ ███╗ ██╗
████╗ ████║██╔══██╗╚██╗ ██╔╝██╔══██╗████╗ ██║
██╔████╔██║███████║ ╚████╔╝ ███████║██╔██╗ ██║
██║╚██╔╝██║██╔══██║ ╚██╔╝ ██╔══██║██║╚██╗██║
██║ ╚═╝ ██║██║ ██║ ██║ ██║ ██║██║ ╚████║
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═══╝
Docker deploy script
NOTE: Make sure to verify the contents of this script
matches the contents of docker.sh located at https://gitlab.com/mayan-edms/mayan-edms/blob/master/contrib/scripts/install/docker.sh before executing.
EOF
if [ "$VERBOSE" = true ]; then
echo "Variable values to be used:"
echo "---------------------------"
echo "INSTALL_DOCKER: $INSTALL_DOCKER"
echo "DELETE_VOLUMES: $DELETE_VOLUMES"
echo "DATABASE_USER: $DATABASE_USER"
echo "DATABASE_NAME: $DATABASE_NAME"
echo "DATABASE_PASSWORD: $DATABASE_PASSWORD"
echo "DOCKER_POSTGRES_IMAGE: $DOCKER_POSTGRES_IMAGE"
echo "DOCKER_POSTGRES_CONTAINER: $DOCKER_POSTGRES_CONTAINER"
echo "DOCKER_POSTGRES_VOLUME: $DOCKER_POSTGRES_VOLUME"
echo "DOCKER_POSTGRES_PORT: $DOCKER_POSTGRES_PORT"
echo "DOCKER_MAYAN_IMAGE: $DOCKER_MAYAN_IMAGE"
echo "DOCKER_MAYAN_CONTAINER: $DOCKER_MAYAN_CONTAINER"
echo "DOCKER_MAYAN_VOLUME: $DOCKER_MAYAN_VOLUME"
echo "\nStarting in 10 seconds."
sleep 10
fi
if [ "$INSTALL_DOCKER" = true ]; then
echo -n "* Installing Docker..."
curl -fsSL get.docker.com -o get-docker.sh >/dev/null
sh get-docker.sh >/dev/null 2>&1
rm get-docker.sh
echo "Done"
fi
if [ -z `which docker` ]; then
echo "Docker is not installed. Rerun this script with the variable INSTALL_DOCKER set to true."
exit 1
fi
echo -n "* Removing existing Mayan EDMS and PostgreSQL containers (no data will be lost)..."
true || docker stop $DOCKER_MAYAN_CONTAINER >/dev/null 2>&1
true || docker rm $DOCKER_MAYAN_CONTAINER >/dev/null 2>&1
true || docker stop $DOCKER_POSTGRES_CONTAINER >/dev/null 2>&1
true || docker rm $DOCKER_POSTGRES_CONTAINER >/dev/null 2>&1
echo "Done"
if [ "$DELETE_VOLUMES" = true ]; then
echo -n "* Deleting Docker volumes in 5 seconds (warning: this delete all document data)..."
sleep 5
true || rm DOCKER_MAYAN_VOLUME -Rf
true || rm DOCKER_POSTGRES_VOLUME -Rf
echo "Done"
fi
echo -n "* Pulling (downloading) the Mayan EDMS Docker image..."
docker pull $DOCKER_MAYAN_IMAGE >/dev/null
echo "Done"
echo -n "* Pulling (downloading) the PostgreSQL Docker image..."
docker pull $DOCKER_POSTGRES_IMAGE > /dev/null
echo "Done"
echo -n "* Deploying the PostgreSQL container..."
docker run -d \
--name $DOCKER_POSTGRES_CONTAINER \
--restart=always \
-p $DOCKER_POSTGRES_PORT:5432 \
-e POSTGRES_USER=$DATABASE_USER \
-e POSTGRES_DB=$DATABASE_NAME \
-e POSTGRES_PASSWORD=$DATABASE_PASSWORD \
-v $DOCKER_POSTGRES_VOLUME:/var/lib/postgresql/data \
$DOCKER_POSTGRES_IMAGE >/dev/null
echo "Done"
echo -n "* Waiting for the PostgreSQL container to be ready (10 seconds)..."
sleep 10
echo "Done"
echo -n "* Deploying Mayan EDMS container..."
docker run -d \
--name $DOCKER_MAYAN_CONTAINER \
--restart=always \
-p 80:8000 \
-e MAYAN_DATABASE_ENGINE=django.db.backends.postgresql \
-e MAYAN_DATABASE_HOST=172.17.0.1 \
-e MAYAN_DATABASE_NAME=$DATABASE_NAME \
-e MAYAN_DATABASE_PASSWORD=$DATABASE_PASSWORD \
-e MAYAN_DATABASE_USER=$DATABASE_USER \
-e MAYAN_DATABASE_PORT=$DOCKER_POSTGRES_PORT \
-e MAYAN_DATABASE_CONN_MAX_AGE=60 \
-v $DOCKER_MAYAN_VOLUME:/var/lib/mayan \
$DOCKER_MAYAN_IMAGE >/dev/null
echo "Done"
echo -n "* Waiting for the Mayan EDMS container to be ready (might take a few minutes)..."
while ! curl --output /dev/null --silent --head --fail http://localhost:80; do sleep 1 && echo -n .; done;
echo "Done"

View File

@@ -1,4 +1,7 @@
#!/usr/bin/env python
from __future__ import print_function
import os
import optparse
@@ -10,15 +13,15 @@ APP_LIST = (
'converter', 'django_gpg', 'document_comments', 'document_indexing',
'document_parsing', 'document_signatures', 'document_states', 'documents',
'dynamic_search', 'events', 'linking', 'lock_manager', 'mayan_statistics',
'mailer', 'metadata', 'mirroring', 'motd', 'navigation', 'ocr', 'permissions',
'rest_api', 'smart_settings', 'sources', 'storage', 'tags', 'task_manager',
'user_management'
'mailer', 'metadata', 'mimetype', 'mirroring', 'motd', 'navigation', 'ocr',
'permissions','rest_api', 'smart_settings', 'sources', 'storage', 'tags',
'task_manager', 'user_management'
)
LANGUAGE_LIST = (
'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',
'vi_VN', 'zh_CN',
'ar', 'bg', 'bs_BA', 'cs', 'da_DK', 'de_DE', 'en', 'es', 'el', 'fa', 'fr',
'hu', 'id', 'it', 'nl_NL', 'pl', 'pt', 'pt_BR', 'ro_RO', 'ru', 'sl_SI',
'tr_TR', 'vi_VN', 'zh',
)
makemessages = sh.Command('django-admin.py')
@@ -38,29 +41,29 @@ BASE_DIR = os.path.abspath(
def process(command, app_list, language_list):
if command == makemessages:
print 'Making messages'
print('Making messages')
elif command == compilemessages:
print 'Compiling messages'
print('Compiling messages')
elif command == pull_translations:
print 'Pulling translation files'
print('Pulling translation files')
elif command == push_translations:
print 'Pushing translation files'
print('Pushing translation files')
if command in [compilemessages, makemessages]:
for app in app_list:
print 'Processing app: %s...' % app
print('Processing app: %s...' % app)
app_path = os.path.join(BASE_DIR, 'apps', app)
os.chdir(app_path)
for lang in language_list:
print 'Doing language: %s' % lang
print('Doing language: %s' % lang)
command(locale=lang)
elif command == pull_translations:
for lang in language_list:
print 'Doing language: %s' % lang
print('Doing language: %s' % lang)
command('-f', '-l', lang)
elif command == push_translations:
for lang in language_list:
print 'Doing language: %s' % lang
print('Doing language: %s' % lang)
command('-s', '-l', lang)

View File

@@ -1,5 +1,7 @@
#!/usr/bin/env python
from __future__ import print_function
import os
BASE_PATH = 'mayan/apps'
@@ -7,7 +9,7 @@ BASE_PATH = 'mayan/apps'
def print_views_summary(module_filename):
with open(module_filename) as file_object:
print ' module:', module_filename
print(' module:', module_filename)
count_class_based_views = 0
count_function_based_views = 0
for line in file_object:
@@ -17,20 +19,20 @@ def print_views_summary(module_filename):
if line.startswith('def') and 'request' in line:
count_function_based_views += 1
print ' class based views: {}'.format(count_class_based_views)
print ' function based views: {}'.format(count_function_based_views)
print(' class based views: {}'.format(count_class_based_views))
print(' function based views: {}'.format(count_function_based_views))
return count_class_based_views, count_function_based_views
def print_tests_summary(module_filename):
with open(module_filename) as file_object:
print ' module:', module_filename
print(' module:', module_filename)
count_tests = 0
for line in file_object:
if line.startswith(' def test'):
count_tests += 1
print ' tests: {}'.format(count_tests)
print(' tests: {}'.format(count_tests))
return count_tests
@@ -47,10 +49,10 @@ if __name__ == '__main__':
for app_name in sorted(os.listdir(BASE_PATH)):
if app_name != '__init__.py':
count_totals['Apps'] += 1
print '\n\nApp name: {}'.format(app_name)
print('\n\nApp name: {}'.format(app_name))
app_path = os.path.join(BASE_PATH, app_name)
print '\n Views'
print('\n Views')
try:
module_filename = os.path.join(app_path, 'views.py')
count_class_based_views, count_function_based_views = print_views_summary(module_filename=module_filename)
@@ -69,9 +71,9 @@ if __name__ == '__main__':
count_totals['Function based views'] += count_function_based_views
except OSError:
# No views directory, skip app
print ' No views'
print(' No views')
print '\n API Views'
print('\n API Views')
try:
module_filename = os.path.join(app_path, 'api_views.py')
count_class_based_views, count_function_based_views = print_views_summary(module_filename=module_filename)
@@ -80,9 +82,9 @@ if __name__ == '__main__':
except IOError:
# No API views directory, skip app
print ' No API views'
print(' No API views')
print '\n Tests'
print('\n Tests')
module_path = os.path.join(app_path, 'tests')
try:
for module_name in os.listdir(module_path):
@@ -94,10 +96,10 @@ if __name__ == '__main__':
except OSError:
# No tests directory, skip app
print ' No tests'
print(' No tests')
print '-' * 10
print('-' * 10)
print 'Totals:'
print('Totals:')
for key, value in count_totals.items():
print ' {}: {}'.format(key, value)
print(' {}: {}'.format(key, value))

View File

@@ -11,7 +11,8 @@ MAINTAINER Roberto Rosario "roberto.rosario@mayan-edms.com"
ENV DEBIAN_FRONTEND noninteractive
ENV PYTHONUNBUFFERED 1
ENV LC_ALL C.UTF-8
ENV PROJECT_INSTALL_DIR=/usr/local/lib/python2.7/dist-packages/mayan
ENV PROJECT_INSTALL_DIR=/opt/mayan-edms
ENV PYTHON_PIP=${PROJECT_INSTALL_DIR}/bin/pip
ARG APT_PROXY
# Package caching
@@ -27,6 +28,7 @@ apt-get install -y --no-install-recommends \
gnupg1 \
graphviz \
libffi-dev \
libfuse2 \
libjpeg-dev \
libmagic1 \
default-libmysqlclient-dev \
@@ -36,14 +38,16 @@ apt-get install -y --no-install-recommends \
libtiff-dev \
poppler-utils \
python-dev \
python-pip \
python-setuptools \
python-virtualenv \
python-wheel \
redis-server \
sane-utils \
sudo \
supervisor \
tesseract-ocr \
zlib1g-dev \
libssl-dev \
&& \
apt-get clean autoclean && \
apt-get autoremove --purge -y && \
@@ -54,9 +58,6 @@ rm -f /var/cache/apt/archives/*.deb
ADD https://raw.githubusercontent.com/guilhem/apt-get-install/master/apt-get-install /usr/bin/
RUN chmod +x /usr/bin/apt-get-install
# Install Python clients for PostgreSQL, REDIS, librabbitmq
RUN pip install psycopg2==2.7.3.2 redis==2.10.6 mysql-python==1.2.5 librabbitmq==1.6.1
RUN adduser mayan --disabled-password --disabled-login --no-create-home --gecos ""
# Pillow can't find zlib or libjpeg on aarch64 (ODROID C2)
@@ -67,11 +68,19 @@ ln -s /usr/lib/aarch64-linux-gnu/libjpeg.so /usr/lib/ \
# Pillow can't find zlib or libjpeg on armv7l (ODROID HC1)
RUN if [ "$(uname -m)" = "armv7l" ]; then \
apt-get install libssl-dev -y && \
ln -s /usr/lib/arm-linux-gnueabihf/libz.so /usr/lib/ && \
ln -s /usr/lib/arm-linux-gnueabihf/libjpeg.so /usr/lib/ \
; fi
# Discard data when Redis runs out of memory
RUN echo "maxmemory-policy allkeys-lru" >> /etc/redis/redis.conf
# Disable saving the Redis database
RUN echo "save \"\"" >> /etc/redis/redis.conf
# Only provision 1 database
RUN echo "databases 1" >> /etc/redis/redis.conf
#####################
# Build image start #
#####################
@@ -104,7 +113,11 @@ RUN chmod 777 dist -R
FROM BASE_IMAGE
WORKDIR /root/
RUN mkdir -p /opt
RUN python /usr/lib/python2.7/dist-packages/virtualenv.py $PROJECT_INSTALL_DIR
WORKDIR $PROJECT_INSTALL_DIR
COPY --from=BUILDER_IMAGE /code/dist/*.whl .
@@ -112,18 +125,20 @@ COPY --from=BUILDER_IMAGE /code/contrib/scripts/docker/run-tests.sh .
COPY --from=BUILDER_IMAGE /code/requirements/testing-base.txt requirements-testing.txt
# Install build Mayan EDMS
RUN pip install *.whl && \
rm *.whl
# Setup supervisor
COPY docker/etc/supervisor/mayan.conf /etc/supervisor/conf.d
COPY --from=BUILDER_IMAGE /code/docker/version .
# Fix ownership
RUN chown -R mayan:mayan $PROJECT_INSTALL_DIR
# Allow flanker to autogenerate its PLY files
RUN chown -R mayan:mayan /usr/local/lib/python2.7/dist-packages/flanker/
# Install build Mayan EDMS
RUN sudo -u mayan $PYTHON_PIP install --no-cache-dir --no-use-pep517 *.whl && \
rm *.whl
# Install Python clients for librabbitmq, MySQL, PostgreSQL, REDIS
RUN sudo -u mayan $PYTHON_PIP install --no-cache-dir --no-use-pep517 librabbitmq==1.6.1 mysql-python==1.2.5 psycopg2==2.7.3.2 redis==2.10.6
# Setup supervisor
COPY docker/etc/supervisor/mayan.conf /etc/supervisor/conf.d
RUN mkdir /var/lib/mayan
VOLUME ["/var/lib/mayan"]

View File

@@ -177,7 +177,12 @@ The complete command line would then be:
$ docker run -d --name mayan-edms --restart=always -p 80:80 -v mayan_data:/var/lib/mayan -v /opt/scanned_files:/srv/watch_folder mayanedms/mayanedms:2.7.3
```
Now create a watch folder in Mayan EDMS using the path `/srv/watch_folder` and the documents from the host folder `/opt/scanned_files` will be automatically available. Use the same procedure to mount host folders to be used as staging folderes. In this example `/srv/watch_folder` was as the container directory, but any path can be used as long as it is not an already existing path or a path used by any other program.
Now create a watch folder in Mayan EDMS using the path `/srv/watch_folder` and
the documents from the host folder `/opt/scanned_files` will be automatically
available. Use the same procedure to mount host folders to be used as staging
folders. In this example `/srv/watch_folder` was as the container directory,
but any path can be used as long as it is not an already existing path or a
path used by any other program.
## Performing backups
@@ -366,7 +371,7 @@ from .base import *
SECRET_KEY = '< keep your random secret key >'
```
This is necesary because version 2.2 included experimental support for Postgres as a database backend. Now that Postgres support has been made standard, the custom configuration lines that version 2.2 added to the `local.py` file are not necesary and need to be removed to avoid configuration conflicts.
This is necessary because version 2.2 included experimental support for Postgres as a database backend. Now that Postgres support has been made standard, the custom configuration lines that version 2.2 added to the `local.py` file are not necesary and need to be removed to avoid configuration conflicts.
Save the file and launch a container using the new version.

View File

@@ -366,7 +366,7 @@ from .base import *
SECRET_KEY = '< keep your random secret key >'
```
This is necesary because version 2.2 included experimental support for Postgres as a database backend. Now that Postgres support has been made standard, the custom configuration lines that version 2.2 added to the `local.py` file are not necesary and need to be removed to avoid configuration conflicts.
This is necessary because version 2.2 included experimental support for Postgres as a database backend. Now that Postgres support has been made standard, the custom configuration lines that version 2.2 added to the `local.py` file are not necesary and need to be removed to avoid configuration conflicts.
Save the file and launch a container using the new version.

View File

@@ -61,7 +61,7 @@ services:
environment:
MAYAN_BROKER_URL: amqp://mayan:mayan@broker:5672/mayan
MAYAN_CELERY_RESULT_BACKEND: redis://results:6379/0
MAYAN_DATABASE_DRIVER: django.db.backends.postgres
MAYAN_DATABASE_ENGINE: django.db.backends.postgresql
MAYAN_DATABASE_HOST: db
MAYAN_DATABASE_NAME: mayan
MAYAN_DATABASE_PASSWORD: mayan-password

View File

@@ -47,7 +47,7 @@ services:
environment:
MAYAN_BROKER_URL: amqp://mayan:mayan@broker:5672/mayan
MAYAN_CELERY_RESULT_BACKEND: redis://results:6379/0
MAYAN_DATABASE_DRIVER: django.db.backends.postgres
MAYAN_DATABASE_ENGINE: django.db.backends.postgresql
MAYAN_DATABASE_HOST: db
MAYAN_DATABASE_NAME: mayan
MAYAN_DATABASE_PASSWORD: mayan-password

View File

@@ -2,22 +2,51 @@
set -e
echo "mayan: starting entrypoint.sh"
INSTALL_FLAG=/var/lib/mayan/media/system/SECRET_KEY
export DOCKER_ROOT=/root
INSTALL_FLAG=/var/lib/mayan/system/SECRET_KEY
CONCURRENCY_ARGUMENT=--concurrency=
export DOCKER_ROOT=/opt/mayan-edms
export MAYAN_DEFAULT_BROKER_URL=redis://127.0.0.1:6379/0
export MAYAN_DEFAULT_CELERY_RESULT_BACKEND=redis://127.0.0.1:6379/0
export MAYAN_ALLOWED_HOSTS=*
export MAYAN_BIN=/usr/local/lib/python2.7/dist-packages/mayan/bin/mayan-edms.py
export MAYAN_ALLOWED_HOSTS='["*"]'
export MAYAN_BIN=/opt/mayan-edms/bin/mayan-edms.py
export MAYAN_BROKER_URL=${MAYAN_BROKER_URL:-${MAYAN_DEFAULT_BROKER_URL}}
export MAYAN_CELERY_RESULT_BACKEND=${MAYAN_CELERY_RESULT_BACKEND:-${MAYAN_DEFAULT_CELERY_RESULT_BACKEND}}
export MAYAN_GUNICORN_WORKERS=${MAYAN_GUNICORN_WORKERS:-2}
export MAYAN_INSTALL_DIR=/usr/local/lib/python2.7/dist-packages/mayan
export MAYAN_PYTHON_DIR=/usr/local/bin
export MAYAN_INSTALL_DIR=/opt/mayan-edms
export MAYAN_PYTHON_BIN_DIR=/opt/mayan-edms/bin/
export MAYAN_MEDIA_ROOT=/var/lib/mayan
export MAYAN_SETTINGS_MODULE=${MAYAN_SETTINGS_MODULE:-mayan.settings.production}
export MAYAN_GUNICORN_BIN=${MAYAN_PYTHON_BIN_DIR}gunicorn
export MAYAN_GUNICORN_WORKERS=${MAYAN_GUNICORN_WORKERS:-2}
export MAYAN_PIP_BIN=${MAYAN_PYTHON_BIN_DIR}pip
MAYAN_WORKER_FAST_CONCURRENCY=${MAYAN_WORKER_FAST_CONCURRENCY:-1}
MAYAN_WORKER_MEDIUM_CONCURRENCY=${MAYAN_WORKER_MEDIUM_CONCURRENCY:-1}
MAYAN_WORKER_SLOW_CONCURRENCY=${MAYAN_WORKER_SLOW_CONCURRENCY:-1}
if [ "$MAYAN_WORKER_FAST_CONCURRENCY" -eq 0 ]; then
MAYAN_WORKER_FAST_CONCURRENCY=
else
MAYAN_WORKER_FAST_CONCURRENCY="${CONCURRENCY_ARGUMENT}${MAYAN_WORKER_FAST_CONCURRENCY}"
fi
export MAYAN_WORKER_FAST_CONCURRENCY
if [ "$MAYAN_WORKER_MEDIUM_CONCURRENCY" -eq 0 ]; then
MAYAN_WORKER_MEDIUM_CONCURRENCY=
else
MAYAN_WORKER_MEDIUM_CONCURRENCY="${CONCURRENCY_ARGUMENT}${MAYAN_WORKER_MEDIUM_CONCURRENCY}"
fi
export MAYAN_WORKER_MEDIUM_CONCURRENCY
if [ "$MAYAN_WORKER_SLOW_CONCURRENCY" -eq 0 ]; then
MAYAN_WORKER_SLOW_CONCURRENCY=
else
MAYAN_WORKER_SLOW_CONCURRENCY="${CONCURRENCY_ARGUMENT}${MAYAN_WORKER_SLOW_CONCURRENCY}"
fi
export MAYAN_WORKER_SLOW_CONCURRENCY
export CELERY_ALWAYS_EAGER=False
export PYTHONPATH=$PYTHONPATH:$MAYAN_MEDIA_ROOT
@@ -25,14 +54,14 @@ chown mayan:mayan /var/lib/mayan -R
initialize() {
echo "mayan: initialize()"
su mayan -c "mayan-edms.py initialsetup --force"
su mayan -c "mayan-edms.py collectstatic --noinput --clear"
su mayan -c "${MAYAN_BIN} initialsetup --force"
su mayan -c "${MAYAN_BIN} collectstatic --noinput --clear"
}
upgrade() {
echo "mayan: upgrade()"
su mayan -c "mayan-edms.py performupgrade"
su mayan -c "mayan-edms.py collectstatic --noinput --clear"
su mayan -c "${MAYAN_BIN} performupgrade"
su mayan -c "${MAYAN_BIN} collectstatic --noinput --clear"
}
start() {
@@ -51,7 +80,7 @@ os_package_installs() {
pip_installs() {
echo "mayan: pip_installs()"
if [ "${MAYAN_PIP_INSTALLS}" ]; then
pip install $MAYAN_PIP_INSTALLS
$MAYAN_PIP_BIN install $MAYAN_PIP_INSTALLS
fi
}

View File

@@ -1,7 +1,7 @@
[program:mayan-gunicorn]
autorestart = false
autostart = true
command = /bin/bash -c "cd ${MAYAN_PYTHON_DIR}; gunicorn -w ${MAYAN_GUNICORN_WORKERS} mayan.wsgi --max-requests 500 --max-requests-jitter 50 --worker-class gevent --bind 0.0.0.0:8000 --env DJANGO_SETTINGS_MODULE=${MAYAN_SETTINGS_MODULE}"
command = /bin/bash -c "${MAYAN_GUNICORN_BIN} -w ${MAYAN_GUNICORN_WORKERS} mayan.wsgi --max-requests 500 --max-requests-jitter 50 --worker-class gevent --bind 0.0.0.0:8000 --env DJANGO_SETTINGS_MODULE=${MAYAN_SETTINGS_MODULE}" --timeout 120
redirect_stderr = true
stderr_logfile = /dev/fd/2
stderr_logfile_maxbytes = 0
@@ -22,7 +22,7 @@ user = root
[program:mayan-worker-fast]
autorestart = false
autostart = true
command = nice -n 1 /bin/bash -c "cd ${MAYAN_PYTHON_DIR}; python ${MAYAN_BIN} celery --settings=${MAYAN_SETTINGS_MODULE} worker -Ofair -l ERROR -Q converter -n mayan-worker-fast.%%h --concurrency=1"
command = nice -n 1 /bin/bash -c "${MAYAN_BIN} celery --settings=${MAYAN_SETTINGS_MODULE} worker -Ofair -l ERROR -Q converter,sources_fast -n mayan-worker-fast.%%h ${MAYAN_WORKER_FAST_CONCURRENCY}"
killasgroup = true
numprocs = 1
priority = 998
@@ -37,7 +37,7 @@ user = mayan
[program:mayan-worker-medium]
autorestart = false
autostart = true
command = nice -n 18 /bin/bash -c "cd ${MAYAN_PYTHON_DIR}; python ${MAYAN_BIN} celery --settings=${MAYAN_SETTINGS_MODULE} worker -Ofair -l ERROR -Q checkouts_periodic,documents_periodic,indexing,metadata,sources,sources_periodic,uploads,documents -n mayan-worker-medium.%%h --concurrency=1"
command = nice -n 18 /bin/bash -c "${MAYAN_BIN} celery --settings=${MAYAN_SETTINGS_MODULE} worker -Ofair -l ERROR -Q checkouts_periodic,documents_periodic,indexing,metadata,sources,sources_periodic,uploads,documents -n mayan-worker-medium.%%h ${MAYAN_WORKER_MEDIUM_CONCURRENCY}"
killasgroup = true
numprocs = 1
priority = 998
@@ -52,7 +52,7 @@ user = mayan
[program:mayan-worker-slow]
autorestart = false
autostart = true
command = nice -n 19 /bin/bash -c "cd ${MAYAN_PYTHON_DIR}; python ${MAYAN_BIN} celery --settings=${MAYAN_SETTINGS_MODULE} worker -Ofair -l ERROR -Q mailing,tools,statistics,parsing,ocr -n mayan-worker-slow.%%h --concurrency=1"
command = nice -n 19 /bin/bash -c "${MAYAN_BIN} celery --settings=${MAYAN_SETTINGS_MODULE} worker -Ofair -l ERROR -Q mailing,tools,statistics,parsing,ocr -n mayan-worker-slow.%%h ${MAYAN_WORKER_SLOW_CONCURRENCY}"
killasgroup = true
numprocs = 1
priority = 998
@@ -67,7 +67,7 @@ user = mayan
[program:mayan-celery-beat]
autorestart = false
autostart = true
command = nice -n 1 /bin/bash -c "cd ${MAYAN_PYTHON_DIR}; python ${MAYAN_BIN} celery --settings=${MAYAN_SETTINGS_MODULE} beat --pidfile= -l ERROR"
command = nice -n 1 /bin/bash -c "${MAYAN_BIN} celery --settings=${MAYAN_SETTINGS_MODULE} beat --pidfile= -l ERROR"
killasgroup = true
numprocs = 1
priority = 998

View File

@@ -14,6 +14,8 @@ services:
POSTGRES_DB: mayan
POSTGRES_PASSWORD: mayan-password
POSTGRES_USER: mayan
volumes:
- db:/var/lib/postgresql/data
app:
image: mayanedms/mayanedms:latest
@@ -25,6 +27,6 @@ services:
MAYAN_DATABASE_NAME: mayan
MAYAN_DATABASE_PASSWORD: mayan-password
MAYAN_DATABASE_USER: mayan
MAYAN_DATABASE_CONN_MAX_AGE: 60
volumes:
- app:/var/lib/mayan

View File

@@ -1 +1 @@
3.0rc1
3.1.10

View File

@@ -1,12 +1,12 @@
====================
********************
Access control lists
====================
********************
Besides the permissions system explained in :doc:`permissions`, Mayan EDMS
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
number of objects (documents, folders, tags) instead of being effective
system-wide.
Besides the permissions system explained in :doc:`../chapters/permissions`,
Mayan EDMS 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 number of objects (documents, folders, tags) instead of being
effective system-wide.
.. blockdiag::
@@ -40,9 +40,10 @@ would be able to view the ``2015 Payroll report.txt`` document.
Inherited access control
========================
It is also possible to grant a permission to a role for a specific document type (:doc:`document_types`).
Under this scheme all users in groups belonging to that role will inherit that
permission for all documents of that type.
It is also possible to grant a permission to a role for a specific document
type (:doc:`../chapters/document_types`). Under this scheme all users in
groups belonging to that role will inherit that permission for all documents
of that type.
.. blockdiag::

102
docs/chapters/api.rst Normal file
View File

@@ -0,0 +1,102 @@
***
API
***
Mayan EDMS provides an HTTP REST Application Program Interface (or API). This
API allows integration with 3rd party software using simple HTTP requests.
Several API authentication methods are provides: **Session**, **Token**,
and **HTTP Basic**.
The URL for the API can be found via the :menuselection:`Tools --> REST API
menu. The API is also self-documenting. The live API documentation can be
found in the :menuselection:`Tools --> API Documentation (Swagger)` menu for
the Swagger version and in the
:menuselection:`Tools --> API Documentation (ReDoc)` menu for the ReDoc version.
The are a few ways to structure REST APIs. In the case of Mayan EDMS, API
endpoints are structured by resource type. Examples:
* /cabinets - To view or create new cabinets
* /cabinets/<id> - To view the details, edit, or delete an existing cabinet.
* /cabinets/<id>/documents - To view, add, or remove documents from an existing
cabinet.
* /cabinets/<id>/documents/<id> - To view, add, or remove one document from an
existing cabinet.
The API supports the HTTP verbs: **GET**, **POST**, **PUT**, **PATCH**,
and **DELETE**.
Example use
===========
Install Python Requests (http://docs.python-requests.org/en/master/)::
pip install requests
Get a list of document types::
import requests
requests.get('http://127.0.0.1:8000/api/document_types/', auth=('username', 'password')).json()
{u'count': 1,
u'next': None,
u'previous': None,
u'results': [{u'delete_time_period': 30,
u'delete_time_unit': u'days',
u'documents_count': 12,
u'documents_url': u'http://127.0.0.1:8000/api/document_types/1/documents/',
u'filenames': [],
u'id': 1,
u'label': u'Default',
u'trash_time_period': None,
u'trash_time_unit': None,
u'url': u'http://127.0.0.1:8000/api/document_types/1/'}]}
Upload a new document::
with open('test_document.pdf', mode='rb') as
requests.post('http://127.0.0.1:8000/api/documents/', auth=('username', 'password'), files={'file': file_object}, data={'document_type': 1}).json()
{u'description': u'',
u'document_type': 1,
u'id': 19,
u'label': u'test_document.pdf',
u'language': u'eng'}
Use API tokens to avoid sending the username and password on every request. Obtain a token by making a POST request to ``/api/auth/token/obtain/?format=json``::
requests.post('http://127.0.0.1:8000/api/auth/token/obtain/?format=json', data={'username': 'username', 'password': 'password'}).json()
{u'token': u'4ccbc35b5eb327aa82dc3b7c9747b578900f02bb'}
Add the API token to the request header::
headers = {'Authorization': 'Token 4ccbc35b5eb327aa82dc3b7c9747b578900f02bb'}
requests.get('http://127.0.0.1:8000/api/document_types/', headers=headers).json()
{u'description': u'',
u'document_type': 1,
u'id': 19,
u'label': u'test_document.pdf',
u'language': u'eng'}
Use sessions to avoid having to add the headers on each request::
session = requests.Session()
headers = {'Authorization': 'Token 4ccbc35b5eb327aa82dc3b7c9747b578900f02bb'}
session.headers.update(headers)
session.get('http://127.0.0.1:8000/api/document_types/')
{u'description': u'',
u'document_type': 1,
u'id': 19,
u'label': u'test_document.pdf',
u'language': u'eng'}

View File

@@ -1,6 +1,6 @@
============
************
App creation
============
************
Mayan EDMS apps are essentially Django app with some extra code to register
navigation, permissions and other relationships.

View File

@@ -1,6 +1,6 @@
=======
*******
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
@@ -65,6 +65,6 @@ Example::
More information at:
- Postgresl: http://www.postgresql.org/docs/current/static/backup.html
- PostgreSQL: https://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``

View File

@@ -1,6 +1,6 @@
==================================================
**************************************************
Mayan EDMS Entity Contributor Assignment Agreement
==================================================
**************************************************
Thank you for your interest in contributing to Mayan EDMS ("We" or "Us").
@@ -11,8 +11,9 @@ caa@mayan-edms.com. This is a legally binding document, so please read it
carefully before agreeing to it. The Agreement may cover more than one
software project managed by Us.
1. Definitions
--------------
==============
"You" means any Legal Entity on behalf of whom a Contribution has been received
by Us. "Legal Entity" means an entity which is not a natural person.
"Affiliates" means other Legal Entities that control, are controlled by, or
@@ -26,7 +27,7 @@ Legal Entity or (iii) beneficial ownership of such entity.
"Contribution" means any work of authorship that is Submitted by You to Us in
which You own or assert ownership of the Copyright. We cannot accept
contributions for which you do not own the Copyright or for which you don't
have the necesary legal power to transfer.
have the necessary legal power to transfer.
"Copyright" means all rights protecting works of authorship owned or controlled
by You or Your Affiliates, including copyright, moral and neighboring rights,
@@ -50,10 +51,12 @@ designated in writing by You as "Not a Contribution."
"Effective Date" means the date You execute this Agreement or the date You
first Submit a Contribution to Us, whichever is earlier.
2. Grant of Rights
------------------
==================
2.1 Copyright Assignment
~~~~~~~~~~~~~~~~~~~~~~~~
------------------------
a. At the time the Contribution is Submitted, You assign to Us all right, title,
and interest worldwide in all Copyright covering the Contribution; provided
@@ -77,7 +80,8 @@ d. Upon such transfer of rights to Us, the Contribution will be licenses under
the terms of the Material.
2.2 Patent License
~~~~~~~~~~~~~~~~~~
------------------
For patent claims including, without limitation, method, process, and apparatus
claims which You or Your Affiliates own, control or have the right to grant,
now or in the future, You grant to Us a perpetual, worldwide, non-exclusive,
@@ -90,30 +94,36 @@ the licensed rights infringes such patent claims; and provided that this license
is conditioned upon compliance with Section 2.3.
2.3 Outbound License
~~~~~~~~~~~~~~~~~~~~
--------------------
As a condition on the grant of rights in Sections 2.1 and 2.2, We agree to
license the Contribution only under the terms of the license or licenses which
We are using on the Submission Date for the Material (including any rights to
adopt any future version of a license if permitted).
2.4 Moral Rights
~~~~~~~~~~~~~~~~
----------------
If moral rights apply to the Contribution, to the maximum extent permitted by
law, You waive and agree not to assert such moral rights against Us or our
successors in interest, or any of our licensees, either direct or indirect.
2.5 Our Rights
~~~~~~~~~~~~~~
--------------
You acknowledge that We are not obligated to use Your Contribution as part of
the Material and may decide to include any Contribution We consider appropriate.
2.6 Reservation of Rights
~~~~~~~~~~~~~~~~~~~~~~~~~
-------------------------
Any rights not expressly assigned or licensed under this section are expressly
reserved by You.
3. Agreement
------------
============
You confirm that:
a. You have the legal authority to enter into this Agreement.
@@ -126,7 +136,8 @@ c. The grant of rights under Section 2 does not violate any grant of rights
4. Disclaimer
-------------
=============
EXCEPT FOR THE EXPRESS WARRANTIES IN SECTION 3, THE CONTRIBUTION IS PROVIDED
"AS IS". MORE PARTICULARLY, ALL EXPRESS OR IMPLIED WARRANTIES INCLUDING,
WITHOUT LIMITATION, ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
@@ -134,18 +145,23 @@ PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE EXPRESSLY DISCLAIMED BY YOU TO US
AND BY US TO YOU. TO THE EXTENT THAT ANY SUCH WARRANTIES CANNOT BE DISCLAIMED,
SUCH WARRANTY IS LIMITED IN DURATION TO THE MINIMUM PERIOD PERMITTED BY LAW.
5. Consequential Damage Waiver
------------------------------
==============================
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL YOU OR US
BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF ANTICIPATED SAVINGS, LOSS OF DATA,
INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL AND EXEMPLARY DAMAGES ARISING OUT
OF THIS AGREEMENT REGARDLESS OF THE LEGAL OR EQUITABLE THEORY (CONTRACT, TORT
OR OTHERWISE) UPON WHICH THE CLAIM IS BASED.
6. Miscellaneous
================
6.1 Jurisdiction
----------------
6.1 Juristiction
~~~~~~~~~~~~~~~~
This Agreement will be governed by and construed in accordance with the laws of
Puerto Rico excluding its conflicts of law provisions. Under certain circumstances,
the governing law in this section might be superseded by the United Nations
@@ -155,18 +171,18 @@ Agreement and, thus, exclude the application of the UN Convention in its
entirety to this Agreement.
6.2 Acceptance
~~~~~~~~~~~~~~
--------------
This Agreement sets out the entire agreement between You and Us for Your
Contributions to Us and overrides all other agreements or understandings.
6.3 Third parties
~~~~~~~~~~~~~~~~~
-----------------
If You or We assign the rights or obligations received through this Agreement
to a third party, as a condition of the assignment, that third party must
agree in writing to abide by all the rights and obligations in the Agreement.
6.4 Unmet responsabilities
~~~~~~~~~~~~~~~~~~~~~~~~~~
6.4 Unmet responsibilities
--------------------------
The failure of either party to require performance by the other party of any
provision of this Agreement in one situation shall not affect the right of a
party to require such performance at any time in the future. A waiver of
@@ -175,7 +191,7 @@ waiver of the performance of the provision in the future or a waiver of the
provision in its entirety.
6.5 Continuation
~~~~~~~~~~~~~~~~
----------------
If any provision of this Agreement is found void and unenforceable, such
provision will be replaced to the extent possible with a provision that comes
closest to the meaning of the original provision and which is enforceable.

View File

@@ -1,6 +1,6 @@
======================================================
******************************************************
Mayan EDMS Individual Contributor Assignment Agreement
======================================================
******************************************************
Thank you for your interest in contributing to Mayan EDMS ("We" or "Us").
@@ -12,14 +12,14 @@ carefully before agreeing to it. The Agreement may cover more than one
software project managed by Us.
1. Definitions
--------------
==============
"You" means the individual who Submits a Contribution to Us.
"Contribution" means any work of authorship that is Submitted by You to Us
in which You own or assert ownership of the Copyright. We cannot accept
contributions for which you do not own the Copyright or for which you don't
have the necesary legal power to transfer.
have the necessary legal power to transfer.
"Copyright" means all rights protecting works of authorship owned or
controlled by You, including copyright, moral and neighboring rights,
@@ -44,10 +44,11 @@ or otherwise designated in writing by You as "Not a Contribution."
Submit a Contribution to Us, whichever is earlier.
2. Grant of Rights
------------------
==================
2.1 Copyright Assignment
~~~~~~~~~~~~~~~~~~~~~~~~
------------------------
a. At the time the Contribution is Submitted, You assign to Us all right,
title, and interest worldwide in all Copyright covering the Contribution;
provided that this transfer is conditioned upon compliance with Section 2.3.
@@ -69,8 +70,10 @@ c. To the extent that any of the rights in Section 2.1(a) can neither be
d. Upon such transfer of rights to Us, the Contribution will be licenses under
the terms of the Material.
2.2 Patent License
~~~~~~~~~~~~~~~~~~
------------------
For patent claims including, without limitation, method, process, and apparatus
claims which You own, control or have the right to grant, now or in the future,
You grant to Us a perpetual, worldwide, non-exclusive, transferable, royalty-free,
@@ -81,31 +84,40 @@ the Material (and portions of such combination). This license is granted only
to the extent that the exercise of the licensed rights infringes such patent claims;
and provided that this license is conditioned upon compliance with Section 2.3.
2.3 Outbound License
~~~~~~~~~~~~~~~~~~~~
--------------------
As a condition on the grant of rights in Sections 2.1 and 2.2, We agree to
license the Contribution only under the terms of the license or licenses which
We are using on the Submission Date for the Material (including any rights to
adopt any future version of a license if permitted).
2.4 Moral Rights
~~~~~~~~~~~~~~~~
----------------
If moral rights apply to the Contribution, to the maximum extent permitted by law,
You waive and agree not to assert such moral rights against Us or our successors
in interest, or any of our licensees, either direct or indirect.
2.5 Our Rights
~~~~~~~~~~~~~~
--------------
You acknowledge that We are not obligated to use Your Contribution as part of
the Material and may decide to include any Contribution We consider appropriate.
2.6 Reservation of Rights
~~~~~~~~~~~~~~~~~~~~~~~~~
-------------------------
Any rights not expressly assigned or licensed under this section are expressly
reserved by You.
3. Agreement
------------
============
You confirm that:
a. You have the legal authority to enter into this Agreement.
@@ -119,8 +131,10 @@ c. The grant of rights under Section 2 does not violate any grant of rights
version of this document. If You are less than eighteen years old, please have
Your parents or guardian sign the Agreement.
4. Disclaimer
-------------
=============
EXCEPT FOR THE EXPRESS WARRANTIES IN SECTION 3, THE CONTRIBUTION IS PROVIDED
"AS IS". MORE PARTICULARLY, ALL EXPRESS OR IMPLIED WARRANTIES INCLUDING, WITHOUT
LIMITATION, ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
@@ -128,18 +142,23 @@ PURPOSE AND NON-INFRINGEMENT ARE EXPRESSLY DISCLAIMED BY YOU TO US AND BY US
TO YOU. TO THE EXTENT THAT ANY SUCH WARRANTIES CANNOT BE DISCLAIMED, SUCH
WARRANTY IS LIMITED IN DURATION TO THE MINIMUM PERIOD PERMITTED BY LAW.
5. Consequential Damage Waiver
------------------------------
==============================
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL YOU OR US
BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF ANTICIPATED SAVINGS, LOSS OF DATA,
INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL AND EXEMPLARY DAMAGES ARISING OUT
OF THIS AGREEMENT REGARDLESS OF THE LEGAL OR EQUITABLE THEORY (CONTRACT, TORT
OR OTHERWISE) UPON WHICH THE CLAIM IS BASED.
6. Miscellaneous
================
6.1 Jurisdiction
----------------
6.1 Juristiction
~~~~~~~~~~~~~~~~
This Agreement will be governed by and construed in accordance with the laws of
Puerto Rico excluding its conflicts of law provisions. Under certain circumstances,
the governing law in this section might be superseded by the United Nations
@@ -149,18 +168,21 @@ Agreement and, thus, exclude the application of the UN Convention in its
entirety to this Agreement.
6.2 Acceptance
~~~~~~~~~~~~~~
--------------
This Agreement sets out the entire agreement between You and Us for Your
Contributions to Us and overrides all other agreements or understandings.
6.3 Third parties
~~~~~~~~~~~~~~~~~
-----------------
If You or We assign the rights or obligations received through this Agreement
to a third party, as a condition of the assignment, that third party must
agree in writing to abide by all the rights and obligations in the Agreement.
6.4 Unmet responsabilities
~~~~~~~~~~~~~~~~~~~~~~~~~~
6.4 Unmet responsibilities
--------------------------
The failure of either party to require performance by the other party of any
provision of this Agreement in one situation shall not affect the right of a
party to require such performance at any time in the future. A waiver of
@@ -169,7 +191,8 @@ waiver of the performance of the provision in the future or a waiver of the
provision in its entirety.
6.5 Continuation
~~~~~~~~~~~~~~~~
----------------
If any provision of this Agreement is found void and unenforceable,
such provision will be replaced to the extent possible with a provision that
comes closest to the meaning of the original provision and which is enforceable.

View File

@@ -0,0 +1,14 @@
Cabinets
========
Cabinets are a multi-level method to organize documents. Each cabinet can
contain documents as well as other sub level cabinets. Cabinets can
be added from the :menuselection:`Cabinets --> Add new` menu.
With a cabinet structure created, the next step is to add documents to them.
To add documents to a cabinet, select the cabinet tab of a document, and
select :menuselection:`Actions --> Add to cabinets` link.
Documents can also be added in bulk to one or more cabinets from any view
that lists documents.

View File

@@ -1,6 +1,6 @@
=========
*********
Checkouts
=========
*********
Checkouts are a way to block certain accesses or actions of a document for a
period of time.

View File

@@ -0,0 +1,103 @@
*******************
Database conversion
*******************
Version 3.1.x added a new management command to help convert data residing in
an SQLite database to other database managers like PostgreSQL. Here is the
conversion procedure.
Direct install
==============
* Make a backup of your existing SQLite database and documents by copying the
``/opt/mayan-edms/media`` folder.
* :doc:`Upgrade to at least version 3.1.3. <../releases/3.1.3>`
* Migrate the existing SQLite database with the command ``performupgrade``::
sudo -u mayan MAYAN_MEDIA_ROOT=/opt/mayan-edms/media /opt/mayan-edms/bin/mayan-edms.py performupgrade
* Install PostgreSQL::
sudo apt-get install postgresql libpq-dev
* Provision a PostgreSQL database::
sudo -u postgres psql -c "CREATE USER mayan WITH password 'mayanuserpass';"
sudo -u postgres createdb -O mayan mayan
* Install the Python client for PostgreSQL::
sudo -u mayan /opt/mayan-edms/bin/pip install --no-cache-dir --no-use-pep517 psycopg2==2.7.3.2
* Copy the newly created fallback config file::
cp /opt/mayan-edms/media/config_backup.yml /opt/mayan-edms/media/config.yml
* Edit the configuration file to add the entry for the PostgreSQL database and
rename the SQLite database to 'old'::
# Before
DATABASES:
default:
ATOMIC_REQUESTS: false
AUTOCOMMIT: true
CONN_MAX_AGE: 0
ENGINE: django.db.backends.sqlite3
HOST: ''
NAME: /opt/mayan-edms/media/db.sqlite3
OPTIONS: {}
PASSWORD: ''
PORT: ''
TEST: {CHARSET: null, COLLATION: null, MIRROR: null, NAME: null}
TIME_ZONE: null
USER: ''
# After
DATABASES:
old:
ATOMIC_REQUESTS: false
AUTOCOMMIT: true
CONN_MAX_AGE: 0
ENGINE: django.db.backends.sqlite3
HOST: ''
NAME: /opt/mayan-edms/media/db.sqlite3
OPTIONS: {}
PASSWORD: ''
PORT: ''
TEST: {CHARSET: null, COLLATION: null, MIRROR: null, NAME: null}
TIME_ZONE: null
USER: ''
default:
ATOMIC_REQUESTS: false
AUTOCOMMIT: true
CONN_MAX_AGE: 0
ENGINE: django.db.backends.postgresql
HOST: '127.0.0.1'
NAME: /opt/mayan-edms/media/db.sqlite3
OPTIONS: {}
PASSWORD: 'mayanuserpass'
PORT: ''
TEST: {CHARSET: null, COLLATION: null, MIRROR: null, NAME: null}
TIME_ZONE: null
USER: 'mayan'
* Migrate the new database to create the empty tables::
sudo -u mayan MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media /opt/mayan-edms/bin/mayan-edms.py migrate
* Convert the data in the SQLite and store it in the PostgreSQL database::
sudo -u mayan MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media /opt/mayan-edms/bin/mayan-edms.py convertdb --from=old --to=default --force
* Update the supervisor config file to have Mayan EDMS run from the PostgreSQL database::
[supervisord]
environment=
<...>
MAYAN_DATABASE_ENGINE=django.db.backends.postgresql,
MAYAN_DATABASE_HOST=127.0.0.1,
MAYAN_DATABASE_NAME=mayan,
MAYAN_DATABASE_PASSWORD=mayanuserpass,
MAYAN_DATABASE_USER=mayan,
MAYAN_DATABASE_CONN_MAX_AGE=360,
<...>

356
docs/chapters/deploying.rst Normal file
View File

@@ -0,0 +1,356 @@
******************
Direct deployments
******************
Mayan EDMS should be deployed like any other Django_ project and
preferably using virtualenv_. Below are some ways to deploy and use Mayan EDMS.
Do not use more than one method.
Being a Django_ and a Python_ project, familiarity with these technologies is
recommended to better understand why Mayan EDMS does some of the things it
does.
Basic deployment
================
This setup uses less memory and CPU resources at the expense of some speed.
Binary dependencies
-------------------
If using a Debian_ or Ubuntu_ based Linux distribution, get the executable
requirements using::
sudo apt-get install g++ gcc ghostscript gnupg1 graphviz libfuse2 \
libjpeg-dev libmagic1 libpq-dev libpng-dev libreoffice libtiff-dev \
poppler-utils postgresql python-dev python-virtualenv redis-server \
sane-utils supervisor tesseract-ocr zlib1g-dev -y
Create an user account for the installation:
--------------------------------------------
::
sudo adduser mayan --disabled-password --disabled-login --no-create-home --gecos ""
Create the parent directory where the project will be deployed:
---------------------------------------------------------------
::
sudo mkdir /opt
Create the Python virtual environment for the installation:
-----------------------------------------------------------
::
sudo virtualenv /opt/mayan-edms
Make the mayan user the owner of the installation directory:
------------------------------------------------------------
::
sudo chown mayan:mayan /opt/mayan-edms -R
Install Mayan EDMS from PyPI:
-----------------------------
::
sudo -u mayan /opt/mayan-edms/bin/pip install --no-cache-dir --no-use-pep517 mayan-edms
Install the Python client for PostgreSQL and Redis:
---------------------------------------------------
::
sudo -u mayan /opt/mayan-edms/bin/pip install --no-cache-dir --no-use-pep517 psycopg2==2.7.3.2 redis==2.10.6
Create the database for the installation:
-----------------------------------------
::
sudo -u postgres psql -c "CREATE USER mayan WITH password 'mayanuserpass';"
sudo -u postgres createdb -O mayan mayan
Initialize the project:
-----------------------
::
sudo -u mayan MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \
MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
/opt/mayan-edms/bin/mayan-edms.py initialsetup
Collect the static files:
-------------------------
::
sudo -u mayan MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
/opt/mayan-edms/bin/mayan-edms.py collectstatic --noinput
Create the supervisor file at ``/etc/supervisor/conf.d/mayan.conf``:
--------------------------------------------------------------------
::
[supervisord]
environment=
MAYAN_ALLOWED_HOSTS='["*"]', # Allow access to other network hosts other than localhost
MAYAN_CELERY_RESULT_BACKEND="redis://127.0.0.1:6379/0",
MAYAN_BROKER_URL="redis://127.0.0.1:6379/0",
PYTHONPATH=/opt/mayan-edms/lib/python2.7/site-packages:/opt/mayan-edms/data,
MAYAN_MEDIA_ROOT=/opt/mayan-edms/media,
MAYAN_DATABASE_ENGINE=django.db.backends.postgresql,
MAYAN_DATABASE_HOST=127.0.0.1,
MAYAN_DATABASE_NAME=mayan,
MAYAN_DATABASE_PASSWORD=mayanuserpass,
MAYAN_DATABASE_USER=mayan,
MAYAN_DATABASE_CONN_MAX_AGE=60,
DJANGO_SETTINGS_MODULE=mayan.settings.production
[program:mayan-gunicorn]
autorestart = true
autostart = true
command = /opt/mayan-edms/bin/gunicorn -w 2 mayan.wsgi --max-requests 500 --max-requests-jitter 50 --worker-class gevent --bind 0.0.0.0:8000 --timeout 120
user = mayan
[program:mayan-worker-fast]
autorestart = true
autostart = true
command = nice -n 1 /opt/mayan-edms/bin/mayan-edms.py celery worker -Ofair -l ERROR -Q converter,sources_fast -n mayan-worker-fast.%%h --concurrency=1
killasgroup = true
numprocs = 1
priority = 998
startsecs = 10
stopwaitsecs = 1
user = mayan
[program:mayan-worker-medium]
autorestart = true
autostart = true
command = nice -n 18 /opt/mayan-edms/bin/mayan-edms.py celery worker -Ofair -l ERROR -Q checkouts_periodic,documents_periodic,indexing,metadata,sources,sources_periodic,uploads,documents -n mayan-worker-medium.%%h --concurrency=1
killasgroup = true
numprocs = 1
priority = 998
startsecs = 10
stopwaitsecs = 1
user = mayan
[program:mayan-worker-slow]
autorestart = true
autostart = true
command = nice -n 19 /opt/mayan-edms/bin/mayan-edms.py celery worker -Ofair -l ERROR -Q mailing,tools,statistics,parsing,ocr -n mayan-worker-slow.%%h --concurrency=1
killasgroup = true
numprocs = 1
priority = 998
startsecs = 10
stopwaitsecs = 1
user = mayan
[program:mayan-celery-beat]
autorestart = true
autostart = true
command = nice -n 1 /opt/mayan-edms/bin/mayan-edms.py celery beat --pidfile= -l ERROR
killasgroup = true
numprocs = 1
priority = 998
startsecs = 10
stopwaitsecs = 1
user = mayan
Configure Redis to discard data when it runs out of memory, not save its database and only keep 1 database:
-----------------------------------------------------------------------------------------------------------
::
echo "maxmemory-policy allkeys-lru" >> /etc/redis/redis.conf
echo "save \"\"" >> /etc/redis/redis.conf
echo "databases 1" >> /etc/redis/redis.conf
systemctl restart redis
Enable and restart the services [1_]:
-------------------------------------
::
systemctl enable supervisor
systemctl restart supervisor
.. _deployment_advanced:
Advanced deployment
===================
This variation uses RabbitMQ as the message broker and removes the fast worker
concurrency restriction. RabbitMQ consumes more memory but scales to thousands
of messages. RabbitMQ messages are also persistent, this means that pending
tasks are not lost in the case of a restart. The database connection lifetime
is increased to 10 minutes. The Gunicorn workers are increased to 3.
Binary dependencies
-------------------
If using a Debian_ or Ubuntu_ based Linux distribution, get the executable
requirements using::
sudo apt-get install g++ gcc ghostscript gnupg1 graphviz libfuse2 \
libjpeg-dev libmagic1 libpq-dev libpng-dev libreoffice libtiff-dev \
poppler-utils postgresql python-dev python-virtualenv rabbitmq-server \
redis-server sane-utils supervisor tesseract-ocr zlib1g-dev -y
Create an user account for the installation:
--------------------------------------------
::
sudo adduser mayan --disabled-password --disabled-login --no-create-home --gecos ""
Create the parent directory where the project will be deployed:
---------------------------------------------------------------
::
sudo mkdir /opt
Create the Python virtual environment for the installation:
-----------------------------------------------------------
::
sudo virtualenv /opt/mayan-edms
Make the mayan user the owner of the installation directory:
------------------------------------------------------------
::
sudo chown mayan:mayan /opt/mayan-edms -R
Install Mayan EDMS from PyPI:
-----------------------------
::
sudo -u mayan /opt/mayan-edms/bin/pip install --no-cache-dir --no-use-pep517 mayan-edms
Install the Python client for PostgreSQL and Redis:
---------------------------------------------------
::
sudo -u mayan /opt/mayan-edms/bin/pip install --no-cache-dir --no-use-pep517 librabbitmq==2.0.0 psycopg2==2.7.3.2 redis==2.10.6
Create the database for the installation:
-----------------------------------------
::
sudo -u postgres psql -c "CREATE USER mayan WITH password 'mayanuserpass';"
sudo -u postgres createdb -O mayan mayan
Initialize the project:
-----------------------
::
sudo -u mayan MAYAN_DATABASE_ENGINE=django.db.backends.postgresql MAYAN_DATABASE_NAME=mayan \
MAYAN_DATABASE_PASSWORD=mayanuserpass MAYAN_DATABASE_USER=mayan \
MAYAN_DATABASE_HOST=127.0.0.1 MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
/opt/mayan-edms/bin/mayan-edms.py initialsetup
Collect the static files:
-------------------------
::
sudo -u mayan MAYAN_MEDIA_ROOT=/opt/mayan-edms/media \
/opt/mayan-edms/bin/mayan-edms.py collectstatic --noinput
Create the RabbitMQ user and vhost:
-----------------------------------
::
sudo rabbitmqctl add_user mayan mayanrabbitmqpassword
sudo rabbitmqctl add_vhost mayan
sudo rabbitmqctl set_permissions -p mayan mayan ".*" ".*" ".*"
Create the supervisor file at ``/etc/supervisor/conf.d/mayan.conf``:
--------------------------------------------------------------------
::
[supervisord]
environment=
MAYAN_ALLOWED_HOSTS='["*"]', # Allow access to other network hosts other than localhost
MAYAN_CELERY_RESULT_BACKEND="redis://127.0.0.1:6379/0",
MAYAN_BROKER_URL="amqp://mayan:mayanrabbitmqpassword@localhost:5672/mayan",
PYTHONPATH=/opt/mayan-edms/lib/python2.7/site-packages:/opt/mayan-edms/data,
MAYAN_MEDIA_ROOT=/opt/mayan-edms/media,
MAYAN_DATABASE_ENGINE=django.db.backends.postgresql,
MAYAN_DATABASE_HOST=127.0.0.1,
MAYAN_DATABASE_NAME=mayan,
MAYAN_DATABASE_PASSWORD=mayanuserpass,
MAYAN_DATABASE_USER=mayan,
MAYAN_DATABASE_CONN_MAX_AGE=360,
DJANGO_SETTINGS_MODULE=mayan.settings.production
[program:mayan-gunicorn]
autorestart = true
autostart = true
command = /opt/mayan-edms/bin/gunicorn -w 3 mayan.wsgi --max-requests 500 --max-requests-jitter 50 --worker-class gevent --bind 0.0.0.0:8000 --timeout 120
user = mayan
[program:mayan-worker-fast]
autorestart = true
autostart = true
command = nice -n 1 /opt/mayan-edms/bin/mayan-edms.py celery worker -Ofair -l ERROR -Q converter,sources_fast -n mayan-worker-fast.%%h
killasgroup = true
numprocs = 1
priority = 998
startsecs = 10
stopwaitsecs = 1
user = mayan
[program:mayan-worker-medium]
autorestart = true
autostart = true
command = nice -n 18 /opt/mayan-edms/bin/mayan-edms.py celery worker -Ofair -l ERROR -Q checkouts_periodic,documents_periodic,indexing,metadata,sources,sources_periodic,uploads,documents -n mayan-worker-medium.%%h --concurrency=1
killasgroup = true
numprocs = 1
priority = 998
startsecs = 10
stopwaitsecs = 1
user = mayan
[program:mayan-worker-slow]
autorestart = true
autostart = true
command = nice -n 19 /opt/mayan-edms/bin/mayan-edms.py celery worker -Ofair -l ERROR -Q mailing,tools,statistics,parsing,ocr -n mayan-worker-slow.%%h --concurrency=1
killasgroup = true
numprocs = 1
priority = 998
startsecs = 10
stopwaitsecs = 1
user = mayan
[program:mayan-celery-beat]
autorestart = true
autostart = true
command = nice -n 1 /opt/mayan-edms/bin/mayan-edms.py celery beat --pidfile= -l ERROR
killasgroup = true
numprocs = 1
priority = 998
startsecs = 10
stopwaitsecs = 1
user = mayan
Configure Redis to discard data when it runs out of memory, not save its database and only keep 1 database:
-----------------------------------------------------------------------------------------------------------
::
echo "maxmemory-policy allkeys-lru" >> /etc/redis/redis.conf
echo "save \"\"" >> /etc/redis/redis.conf
echo "databases 1" >> /etc/redis/redis.conf
systemctl restart redis
Enable and restart the services [1_]:
-------------------------------------
::
systemctl enable supervisor
systemctl restart supervisor
[1]: https://bugs.launchpad.net/ubuntu/+source/supervisor/+bug/1594740
.. _Debian: https://www.debian.org/
.. _Django: https://www.djangoproject.com/
.. _Python: https://www.python.org/
.. _SQLite: https://www.sqlite.org/
.. _Ubuntu: http://www.ubuntu.com/
.. _virtualenv: http://www.virtualenv.org/en/latest/index.html
.. _1: https://bugs.launchpad.net/ubuntu/+source/supervisor/+bug/1594740

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,3 @@
.. _docker:
============
Docker image
============
@@ -8,8 +5,10 @@ Docker image
How to use this image
=====================
Start a Mayan EDMS instance
------------------------------
.. _docker_install:
Start a Mayan EDMS image
------------------------
With Docker properly installed, proceed to download the Mayan EDMS image using the command::
@@ -56,7 +55,7 @@ identifier::
The Mayan EDMS container will connect to the PostgreSQL container via the
``172.17.0.1`` IP address (the Docker host's default IP address). It will
connect using the ``django.db.backends.postgresql`` database drivern and
connect using the ``django.db.backends.postgresql`` database driver and
connect to the ``mayan`` database using the ``mayan`` user with the password
``mayanuserpass``. The container will keep connections to the database
for up to 60 seconds in an attempt to reuse them increasing response time
@@ -71,8 +70,49 @@ If another web server is running on port 80 use a different port in the
``-p`` option. For example: ``-p 81:8000``.
Using a dedicated Docker network
--------------------------------
Use this method to avoid having to expose PostreSQL port to the host's network
or if you have other PostgreSQL instances but still want to use the default
port of 5432 for this installation.
Create the network::
docker network create mayan
Launch the PostgreSQL container with the network option and remove the port
binding (``-p 5432:5432``)::
docker run -d \
--name mayan-edms-postgres \
--network=mayan \
--restart=always \
-e POSTGRES_USER=mayan \
-e POSTGRES_DB=mayan \
-e POSTGRES_PASSWORD=mayanuserpass \
-v /docker-volumes/mayan-edms/postgres:/var/lib/postgresql/data \
-d postgres:9.5
Launch the Mayan EDMS container with the network option and change the
database hostname to the PostgreSQL container name (``mayan-edms-postgres``)
instead of the IP address of the Docker host (``172.17.0.1``)::
docker run -d \
--name mayan-edms \
--network=mayan \
--restart=always \
-p 80:8000 \
-e MAYAN_DATABASE_ENGINE=django.db.backends.postgresql \
-e MAYAN_DATABASE_HOST=mayan-edms-postgres \
-e MAYAN_DATABASE_NAME=mayan \
-e MAYAN_DATABASE_PASSWORD=mayanuserpass \
-e MAYAN_DATABASE_USER=mayan \
-e MAYAN_DATABASE_CONN_MAX_AGE=60 \
-v /docker-volumes/mayan-edms/media:/var/lib/mayan \
mayanedms/mayanedms:<version>
Stopping and starting the container
--------------------------------------
-----------------------------------
To stop the container use::
@@ -84,6 +124,8 @@ To start the container again::
docker start mayan-edms
.. _docker_environment_variables:
Environment Variables
---------------------
@@ -107,43 +149,38 @@ or testing, never use it in production.
Defaults to 'mayan'. This optional environment variable can be used to define
the database name that Mayan EDMS will connect to. For more information read
the pertinent Django documentation page: `Connecting to the database`_
.. _Connecting to the database: https://docs.djangoproject.com/en/1.10/ref/databases/#connecting-to-the-database
the pertinent Django documentation page:
:django-docs:`Connecting to the database <ref/databases/#connecting-to-the-database>`
``MAYAN_DATABASE_USER``
Defaults to 'mayan'. This optional environment variable is used to set the
username that will be used to connect to the database. For more information
read the pertinent Django documentation page: `Settings, USER`_
.. _Settings, USER: https://docs.djangoproject.com/en/1.10/ref/settings/#user
read the pertinent Django documentation page:
:django-docs:`Settings, USER <ref/settings/#user>`
``MAYAN_DATABASE_PASSWORD``
Defaults to ''. This optional environment variable is used to set the
password that will be used to connect to the database. For more information
read the pertinent Django documentation page: `Settings, PASSWORD`_
.. _Settings, PASSWORD: https://docs.djangoproject.com/en/1.10/ref/settings/#password
read the pertinent Django documentation page:
:django-docs:`Settings, PASSWORD <ref/settings/#password>`
``MAYAN_DATABASE_HOST``
Defaults to `None`. This optional environment variable is used to set the
hostname that will be used to connect to the database. This can be the
hostname of another container or an IP address. For more information read
the pertinent Django documentation page: `Settings, HOST`_
.. _Settings, HOST: https://docs.djangoproject.com/en/1.10/ref/settings/#host
the pertinent Django documentation page:
:django-docs:`Settings, HOST <ref/settings/#host>`
``MAYAN_DATABASE_PORT``
Defaults to `None`. This optional environment variable is used to set the
port number to use when connecting to the database. An empty string means
the default port. Not used with SQLite. For more information read the
pertinent Django documentation page: `Settings, PORT`_
.. _Settings, PORT: https://docs.djangoproject.com/en/1.11/ref/settings/#port
pertinent Django documentation page:
:django-docs:`Settings, PORT <ref/settings/#port>`
``MAYAN_BROKER_URL``
@@ -178,27 +215,11 @@ be disabled.
Optional. Allows loading an alternate settings file.
``MAYAN_DATABASE_CONN_MAX_AGE``
Amount in seconds to keep a database connection alive. Allow reuse of database
connections. For more information read the pertinent Django documentation
page: `Settings, CONN_MAX_AGE`_
.. _Settings, CONN_MAX_AGE: https://docs.djangoproject.com/en/1.10/ref/settings/#conn-max-age
``MAYAN_SETTINGS_FILE``
Optional. Previously only the ``local.py`` file was the only settings file
available to allow users to make configuration changes to their installations.
Now with this environment variable, users are free to create multiple settings
files and tell the Mayan EDMS container which setting file to import. The
only requirement is that the setting file starts with a global import of
``mayan.settings.production``. In the form::
from mayan.settings.production import *
page: :django-docs:`Settings, CONN_MAX_AGE <ref/settings/#conn-max-age>`
``MAYAN_GUNICORN_WORKERS``
@@ -207,6 +228,30 @@ that will be executed. If not specified the default is 2. For heavier loads,
user a higher number. A formula recommended for this setting is the number
of CPU cores + 1.
``MAYAN_WORKER_FAST_CONCURRENCY``
Optional. Changes the concurrency (number of child processes) of the Celery
worker consuming the queues in the fast (low latency, short tasks) category.
Default is 1. Use 0 to disable hardcoded concurrency and allow the Celery
worker to launch its default number of child processes (equal to the number
of CPUs detected).
``MAYAN_WORKER_MEDIUM_CONCURRENCY``
Optional. Changes the concurrency (number of child processes) of the Celery
worker consuming the queues in the medium (medium latency, long running tasks)
category. Default is 1. Use 0 to disable hardcoded concurrency and allow the
Celery worker to launch its default number of child processes (equal to the
number of CPUs detected).
``MAYAN_WORKER_SLOW_CONCURRENCY``
Optional. Changes the concurrency (number of child processes) of the Celery
worker consuming the queues in the slow (high latency, very long running tasks)
category. Default is 1. Use 0 to disable hardcoded concurrency and allow the
Celery worker to launch its default number of child processes (equal to the
number of CPUs detected).
Accessing outside data
======================
@@ -364,7 +409,7 @@ These are:
Nightly images
==============
The continious integration pipeline used for testing development builds also
The continuous integration pipeline used for testing development builds also
produces a resulting Docker image. These are build automatically and their
stability is not guaranteed. They should never be used in production.
If you want to try out the Docker images the development uses or want a sneak

View File

@@ -1,21 +1,33 @@
==============
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
document template. Document types need to be created before documents can be
document template. Every other aspect of the system will rely or be tied to
one or more document type. Create one document type for each type or class of
document you intend to upload into Mayan EDMS.
Document types need to be created before documents can be
uploaded. It is not possible to upload documents without assigning them a
document type. Examples of document type: **invoices**, **blueprints**,
**receipts**.
document type.
Document types usually mirror the type of physical, paper document they
represent.
Example document types:
* Letter
* Invoice
* Timesheet
* Blueprint
.. blockdiag::
blockdiag {
default_shape = roundedbox
document_type [ label = 'Document type' ];
documents [ label = 'Documents' ];
document_type [ label = 'each document type' ];
documents [ label = 'many documents' ];
document_type -> documents;
}
@@ -55,3 +67,6 @@ assigned when uploaded into Mayan EDMS. A document can only be of one
type at a given moment, but if needed, the type of a document can be changed.
Upon changing its type, the document will lose its previous settings and
attributes, and will inherit the settings and attributes of its new type.
Document types are create in the
:menuselection:`System --> Setup --> Document types` menu.

View File

@@ -1,6 +1,6 @@
============
************
File storage
============
************
The files are stored and placed under Mayan EDMS "control" to avoid
filename clashes each file gets renamed to its ``UUID`` (Universally Unique ID),

View File

@@ -0,0 +1,115 @@
Index examples
--------------
Index of document types
^^^^^^^^^^^^^^^^^^^^^^^
This index will create one level for each document type in the system and place
links to the document of each respective type.
#. Go to the :menuselection:`System --> Setup --> Indexes` menu.
#. Create a new index using :menuselection:`Actions --> Create new`.
#. Give it a label to describe it, and an internal name. The internal name is
used when referencing this index in other parts of the system.
#. Press the :menuselection:`Template` link of the newly created index.
#. Select :menuselection:`New child node` to create a new level in which the
following template code will be entered.
::
{{ document.document_type }}
#. Save the template.
#. Go to :menuselection:`Document types` and associate this index with
existing document types in the system.
#. Finally go to :menuselection:`Tools --> Rebuild indexes` to execute the
index template. The rebuild process is only necessary when changes are
made to the index templates. Otherwise they update automatically whenever
a new document is uploaded or existing documents properties are modified.
#. A new index should appear under :menuselection:`Indexes` menu.
You can also program different behavior based on the different document types,
by use a comparison and a conditional statement. As the document_type itself
is not a string you cannot directly use that for that comparison. You will have
to use the label of the document type.
For example::
{% if document.document_type.label == "Invoice" or document.document_type.label == "Letter" %}
Correspondence
{% else %}
{{ document.document_type }}
{% endif %}
This will create and index level for each document type. Except for documents
of types "Invoice" and "Letter", these will now go into the level "Correspondence".
Index document by department, taken from the first character of the invoice number metadata
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Requires one index node with the template::
{% if document.metadata_value_of.invoice_number.0 == "A" %}Accounting
{% if document.metadata_value_of.invoice_number.0 == "H" %}Human Resources
{% endif %}
Nested date index from a date contained in a metadata
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Assuming the metadata type is named **date_issued** with a date format
of YYYY-MM-DD. The target is to have two levels: one for years and another
sub level for months.
**First level: Year**
::
{{ document.metadata_value_of.date_issued|slice:"0:4" }}
**Second level: Months**
::
{{ document.metadata_value_of.date_issued|slice:"5:7" }}
**Optional: Third level: Day**
::
{{ document.metadata_value_of.date_issued|slice:"8:10" }}
Index by OCR content
^^^^^^^^^^^^^^^^^^^^
This example indexes documents in a "quarterly report" level if they have the
fragment “quarterly report” in the OCR text::
{% if "quarterly report" in document.latest_version.ocr_content|join:" "|lower %}Quarterly reports{% endif %}
The same applies to text content extracted for the document::
{% if "quarterly report" in document.latest_version.content|join:" "|lower %}Quarterly reports{% endif %}
Index documents not found in any cabinet
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
::
{% if document.cabinets.count == 0 %}No Cabinets{% endif %}
Index untagged documents
^^^^^^^^^^^^^^^^^^^^^^^^
::
{% if document.tags.count == 0 %}No Tags{% endif %}
Index documents specifically, by the year of a metadata field otherwise by their uploaded year
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
::
{% for tag in document.tags.all %}{% if tag.label == "Taxes" %}{% if document.metadata_value_of.tax_year|length_is:"4" %}{{ document.metadata_value_of.tax_year }}{% else %}{{ document.date_added|date:"Y" }}{% endif %}{% endif %}{% endfor %}

View File

@@ -1,11 +1,10 @@
=======
Indexes
=======
Indexes are an automatic method to hierarchically organize documents in
relation to their properties (:doc:`metadata`, label, MIME type, etc). To use
indexes you need to first create an index template. Once created, associate
the index to one or more :doc:`document_types`.
relation to their properties (:doc:`../chapters/metadata`, label, MIME type,
etc). To use indexes you need to first create an index template. Once created,
associate the index to one or more :doc:`../chapters/document_types`.
Index are hierarchical models so a tree template needs to be specified for them.
This tree template will contain references to document metadata or properties
@@ -77,8 +76,11 @@ that will be generate based on the tree template would be as follows:
}
.. include:: ../chapters/index_examples.rst
Mirroring
=========
---------
Indexes can be exported as `FUSE <https://en.wikipedia.org/wiki/Filesystem_in_Userspace>`_
filesystems. Using the management command ``mountindex`` we could export the

View File

@@ -0,0 +1,36 @@
*********
Languages
*********
The list of languages choices in the language dropdown used for documents is
based on the current ISO 639 list. This list can be quite extensive. To reduce
the number of languages available use the setting ``DOCUMENTS_LANGUAGE_CODES``,
and set it to a nested list of abbreviations. This setting can be found in the
:menuselection:`System --> Setup -> Settings -> Common` menu.
For example, to reduce the list to just English and Spanish use
::
DOCUMENTS_LANGUAGE_CODES = ('eng', 'spa')
The default language to appear on the dropdown can also be configured using::
DOCUMENTS_LANGUAGE = 'spa'
Use the correct ISO 639-3 language abbreviation (https://en.wikipedia.org/wiki/ISO_639)
as this code is used in several subsystems in Mayan EDMS such as the OCR app
to determine how to interpret the document.
If using the Docker image, these settings can also be passed to the container
as environment variables by prepending the ``MAYAN_`` suffix.
Example::
-e MAYAN_DOCUMENTS_LANGUAGE_CODES='["eng", "spa"]'
For more information check out the
:ref:`environment variables <environment_variables>` chapter of the
:doc:`../topics/settings` topic.

22
docs/chapters/mailing.rst Normal file
View File

@@ -0,0 +1,22 @@
*****************
Mailing documents
*****************
Sending emails in Mayan EDMS is controlled by two different system depending on
the type of email being sent. These are administrative emails like password
reset emails and user emails sent from the application. To configure
administrative email for things like password reset check the topic:
:doc:`../topics/administration`
Application emails
==================
To allow users to send emails or documents from within the web interface,
Mayan EDMS provides its our own email system called Mailing Profiles.
Mailing Profiles support access control per user role and can use different
email backends. Mailing Profiles are created from the
:menuselection:`System --> Setup` menu.
Once created mailing profiles allow users to send email messages from
within the user interface containing either an URL link to the document or
the actual document as an attachment.

View File

@@ -1,6 +1,6 @@
========
********
Metadata
========
********
Metadata is the name of the attribute of a document. The concept of metadata is
divided in two: **metadata types** (size, color, distance) and **metadata values** for

View File

@@ -0,0 +1,31 @@
**************
Object storage
**************
It is possible to use object storage instead of the default filesystem based
storage. One such object storage system is Amazon S3 (Simple Storage Service)
API compatible object storage. The following steps will configure Mayan EDMS
to use a S3 style storage for documents.
1. Install the django-storages and boto3 Python libraries.
* For the direct deployment method of installation use::
pip install django-storages boto3
* or if using the Docker image, add the following the command line that runs the container::
-e MAYAN_PIP_INSTALLS='django-storages boto3'
2. From the web interface navigate to the :menuselection:`System --> Setup --> Setting --> Documents` menu.
3. Locate the **DOCUMENTS_STORAGE_BACKEND** setting, press **Edit** and enter::
storages.backends.s3boto3.S3Boto3Storage
4. Save and locate the setting **DOCUMENTS_STORAGE_BACKEND_ARGUMENTS**, press **Edit** and enter::
'{access_key: <your S3 access key>, secret_key: <your S3 secret key>, bucket_name: <S3 bucket name>}'
5. Save and restart your Mayan EDMS installation for the setting to take effect.

View File

@@ -1,10 +1,10 @@
===========
***********
OCR backend
===========
***********
Mayan EDMS ships an OCR backend that uses the FLOSS engine Tesseract
(https://github.com/tesseract-ocr/tesseract/), but it can
use other engines. To support other engines crate a wrapper that subclasess the
use other engines. To support other engines crate a wrapper that subclasses the
``OCRBackendBase`` class defined in mayan/apps/ocr/classes. This subclass should
expose the ``execute`` method. For an example of how the Tesseract backend
is implemented take a look at the file ``mayan/apps/ocr/backends/tesseract.py``
@@ -18,4 +18,9 @@ To add support to OCR more languages when using Tesseract, install the
corresponding language file. If using a Debian based OS, this command will
display the available language files:
apt-cache search tesseract-ocr
apt-cache search tesseract-ocr
If using the Docker image, pass the environment variable MAYAN_APT_INSTALLS
with the corresponding Tesseract language option. Example::
-e MAYAN_APT_INSTALLS='tesseract-ocr-deu'

View File

@@ -0,0 +1,38 @@
**************
Password reset
**************
To use the password reset feature, administrative emails need to be configured.
These are sent by the system itself and not by the users. Their usage and
configuration is different than the
:doc:`email system used to share documents via email<../chapters/mailing>`.
Sending administrative emails
=============================
To be able to send password reset emails configure the Django email settings
via the :ref:`configuration file <configuration_file>`.
Example::
EMAIL_BACKEND: django.core.mail.backends.smtp.EmailBackend
EMAIL_HOST: '<your smtp ip address or hostname>'
EMAIL_HOST_PASSWORD: '<your smtp password>'
EMAIL_HOST_USER: '<your smtp username>'
EMAIL_PORT: 25 # or 587 or your server's SMTP port
EMAIL_TIMEOUT:
EMAIL_USE_SSL: true
EMAIL_USE_TLS: false
To change the reference URL in the password reset emails on in the
default document mailing template modify the ``COMMON_PROJECT_URL`` setting.
For information on the different ways to change a setting check the
:doc:`../topics/settings` topic.
To test the email settings use the management command ``sendtestemail``.
Example::
mayan-edms.py sendtestemail myself@example.com

View File

@@ -1,6 +1,6 @@
===========
***********
Permissions
===========
***********
Mayan EDMS provides very fine control over which actions users can
perform. Action control works by allowing ``roles``, that are composed of

View File

@@ -0,0 +1,171 @@
**********
Scaling up
**********
The default installation method fits most use cases. If you use case requires
more speed or capacity here are some suggestion that can help you improve the
performance of your installation.
Change the database manager
===========================
Use PostgreSQL or MySQL as the database manager.
Tweak the memory setting of the database manager to increase memory allocation.
More PostgreSQL specific examples are available in their wiki page:
https://wiki.postgresql.org/wiki/Performance_Optimization
Increase the number of Gunicorn workers
=======================================
The Gunicorn workers process HTTP requests and affect the speed at which the
website responds.
If you are using the Docker image, change the value of the
``MAYAN_GUNICORN_WORKERS`` environment variable (check the Docker image chapter:
:ref:`docker_environment_variables`). Normally this variable defaults to 2.
Increase this number to match the number of CPU cores + 1.
If you are using the direct deployment methods, change the line that reads::
command = /opt/mayan-edms/bin/gunicorn -w 2 mayan.wsgi --max-requests 500 --max-requests-jitter 50 --worker-class gevent --bind 0.0.0.0:8000 --timeout 120
And increase the value of the ``-w 2`` argument. This line is found in the
``[program:mayan-gunicorn]`` section of the supervisor configuration file.
Background task processing
==========================
The Celery workers are system processes that take care of the background
tasks requested by the frontend interactions like document image rendering
and periodic tasks like OCR. There are several dozen tasks defined in the code.
These tasks are divided into queues based on the app of the relationship
between the tasks. The queues by default are divided into three groups
based on the speed at which they need to be processed. The document page
image rendering for example is categorized as a high volume, short duration
task. The OCR is a high volume, long duration task. Email checking is a
low volume, medium duration tasks. It is not advisable to have the same
worker processing OCR to process image rendering too. If the worker is
processing several OCR tasks it will not be able to provide fast images
when an user is browsing the user interface. This is why by default the
queues are split into 3 workers: fast, medium, and slow.
The fast worker handles the queues:
* converter: Handles document page rendering
* sources_fast: Does staging file image rendering
The medium worker handles the queues:
* checkouts_periodic: Scheduled tasks that check if a document's checkout
period has expired
* documents_periodic:
* indexing: Does reindexing of documents in the background when their
properties change
* metadata:
* sources:
* sources_periodic: Checking email accounts and watch folders for new
documents.
* uploads: Processes files to turn the into Mayan documents. Processing
encompasses MIME type detection, page count detection.
* documents:
The slow worker handles the queues:
* mailing: Does the actual sending of documents via email as requested by
users via the mailing profiles
* tools: Executes in the background maintenance requests from the options
in the tools menu
* statistics: Recalculates statistics and charts
* parsing: Parses documents to extract actual text content
* ocr: Performs OCR to transcribe page images to text
Optimizations
-------------
* Increase the number of workers and redistribute the queues among them
(only possible with direct deployments).
* Launch more workers to service a queue. For example for faster document
image generation launch 2 workers to process the converter queue only
possible with direct deployments).
* By default each worker process uses 1 thread. You can increase the thread
count of each worker process with the Docker environment options:
* MAYAN_WORKER_FAST_CONCURRENCY
* MAYAN_WORKER_MEDIUM_CONCURRENCY
* MAYAN_WORKER_SLOW_CONCURRENCY
* If using direct deployment, increase the value of the --concurrency=1
argument of each worker in the supervisor file. You can also remove this
argument and let the Celery algorithm choose the number of threads to
launch. Usually this defaults to the number of CPU cores + 1.
Change the message broker
=========================
Messages are the method of communication between front end interactive code
and background tasks. In this regard messages can be thought as homologous
to tasks requests. Improving how many messages can be sent, stored and
sorted will impact the number of tasks the system can handle. To save on
memory, the basic deployment method and the Docker image default to using
Redis as a message broker. To increase capacity and reduce volatility of
messages (pending tasks are not lost during shutdown) use RabbitMQ to
shuffle messages.
For direct installs refer to the :ref:`deployment_advanced` documentation
section for the required changes.
For the Docker image, launch a separate RabbitMQ container
(https://hub.docker.com/_/rabbitmq/)::
docker run -d --name mayan-edms-rabbitmq -e RABBITMQ_DEFAULT_USER=mayan -e RABBITMQ_DEFAULT_PASS=mayanrabbitmqpassword -e RABBITMQ_DEFAULT_VHOST=mayan rabbitmq:3
Pass the MAYAN_BROKER_URL environment variable (https://kombu.readthedocs.io/en/latest/userguide/connections.html#connection-urls)
to the Mayan EDMS container so that it uses the RabbitMQ container the
message broker::
-e MAYAN_BROKER_URL="amqp://mayan:mayanrabbitmqpassword@localhost:5672/mayan",
When tasks finish, they leave behind a return status or the result of a
calculation, these are stored for a while so that whoever requested the
background task, is able retrieve the result. These results are stored in the
result storage. By default a Redis server is launched inside the Mayan EDMS
container. You can launch a separate Docker Redis container and tell the Mayan
EDMS container to use this via the MAYAN_CELERY_RESULT_BACKEND environment
variable. The format of this variable is explained here: http://docs.celeryproject.org/en/3.1/configuration.html#celery-result-backend
Deployment type
===============
Docker provides a faster deployment and the overhead is not high on modern
systems. It is however memory and CPU limited by default and you need to
increase this limits. The settings to change the container resource limits
are here: https://docs.docker.com/config/containers/resource_constraints/#limit-a-containers-access-to-memory
For the best performance possible use the advanced deployment method on a
host dedicated to serving only Mayan EDMS.
Storage
=======
For best input and output speed use a block based local filesystem on an
SSD drive for the ``/media`` sub folder. The location of the ``/media`` folder
will be specified by the ``MEDIA_ROOT`` setting.
If capacity is your bottom line, switch to an
:doc:`object storage <../chapters/object_storage>` system.
Use additional hosts
====================
When one host is not enough you can use multiple hosts and share the load.
Make sure that all hosts share the ``/media`` folder as specified by the
``MEDIA_ROOT`` setting, also the database, the broker, and the result storage.
One setting that needs to be changed in this configuration is the lock
manager backend.
Resource locking is a technique to avoid two processes or tasks to modify
the same resource at the same time causing a race condition. Mayan EDMS uses
its own lock manager. By default the lock manager with use a simple file
based lock backend ideal for single host installations. For multiple hosts
installation the database backend must be used in other to coordinate the
resource locks between the different hosts over a share data medium. This is
accomplished by modifying the environment variable ``LOCK_MANAGER_BACKEND`` in
both the direct deployment or the Docker image. Use the value
``lock_manager.backends.model_lock.ModelLock`` to switch to the database
resource lock backend. If you can also write your own lock manager backend
for other data sharing mediums with better performance than a relational
database like Redis, Memcached, Zoo Keeper.

113
docs/chapters/settings.rst Normal file
View File

@@ -0,0 +1,113 @@
********
Settings
********
Mayan EDMS can be configure via environment variables or by setting files.
.. _environment_variables:
Via environment variables
=========================
To use environment variables, lookup the name of the setting you want to
override in the "Settings" menu. The "Settings" menu is located inside the
"Setup" main menu. To pass a value via an environment variable append
``"MAYAN_"`` to the name of the settings option. For example, to change
the number of documents displayed per page (COMMON_PAGINATE_BY, by default 40),
use::
export MAYAN_COMMON_PAGINATE_BY=10
Restart Mayan EDMS and the new value will take effect. The "Settings" menu
can be used to verify if the overridden setting value is being interpreted
correctly.
.. _configuration_file:
Via YAML configuration file
===========================
.. versionadded:: 3.1
It is possible to modify the different settings by creating or editing the
``media/config.yml`` file. This file is formatted in the YAML markup language (
http://yaml.org/). Here is an example of what the looks like::
DOCUMENT_PARSING_AUTO_PARSING: true
DOCUMENT_PARSING_PDFTOTEXT_PATH: /usr/bin/pdftotext
EMAIL_BACKEND: django.core.mail.backends.smtp.EmailBackend
EMAIL_HOST: localhost
EMAIL_HOST_PASSWORD: ''
EMAIL_HOST_USER: ''
EMAIL_PORT: 25
EMAIL_TIMEOUT: null
EMAIL_USE_SSL: false
EMAIL_USE_TLS: false
FILE_UPLOAD_MAX_MEMORY_SIZE: 2621440
HOME_VIEW: common:home
Every time Mayan EDMS is able to start correctly it will copy the ``config.yml``
and create a backup copy in the same directory named ``config_backup.yml``.
This file is used to revert to the last know configuration file known
to be valid. You can revert manually by copy the file or by using the
``revertsettings`` management command from the command line.
Via Python settings files
=========================
Another way to configure Mayan EDMS is via Python-style, settings files.
If Mayan EDMS was installed using the Python package a ``mayan_settings``
folder will created for this purpose. If you installed Mayan EDMS
according to the :doc:`../chapters/deploying` instructions provided in this
documentation your ``mayan_settings`` folder should be located in the directory:
``/usr/share/mayan-edms/mayan/media/mayan_settings``.
If Mayan EDMS was installed using Docker, the ``mayan_settings`` folder
will be found inside the install Docker volume. If you installed Mayan EDMS
according to the :doc:`../chapters/docker` instructions provided in this
documentation your ``mayan_settings`` folder should be located in the directory:
``/docker-volumes/mayan/mayan_settings``.
Create a file with any valid name and a ``.py`` extension in the
``mayan_settings`` folder. The file must starts with a global import of
``mayan.settings.production``. In the form::
from mayan.settings.production import *
Now add the corresponding lines to override the default settings.
In the settings file, it is not necessary to prepend the string ``MAYAN_`` to
the setting option. For example, to change the number of documents displayed
per page (COMMON_PAGINATE_BY, by default 40),
use::
COMMON_PAGINATE_BY=10
versus::
export MAYAN_COMMON_PAGINATE_BY=10
when using the environment variable method.
For this example let's assume the file was saved with the name ``mysettings.py``.
The way used to tell Mayan EDMS to import this file will vary based on the
installation method.
For the :doc:`../chapters/deploying` method, the full import path will be
``mayan.media.mayan_settings.mysettings`` and can be passed via the
``--settings`` command line argument like this::
python manage.py runserver --settings=mayan.media.mayan_settings.mysettings
or via the ``DJANGO_SETTINGS_MODULE`` environment variable like this::
export DJANGO_SETTINGS_MODULE=mayan.media.mayan_settings.mysettings
For the :doc:`../chapters/docker` installation method, the full import path will be
``mayan_settings.mysettings`` and can only be passed via the
``MAYAN_SETTINGS_MODULE`` environment variable like this::
docker run <...> -e MAYAN_SETTINGS_MODULE=mayan_settings.mysettings

View File

@@ -1,6 +1,6 @@
===================
*******************
Document signatures
===================
*******************
Mayan EDMS supports two types of document signatures: embedded and
detached signatures. When a document with an embedded signature is
@@ -25,7 +25,7 @@ signatures sections of a document.
Signed documents are tamper-proof. That means that if any part of the document's
file is edited (even just one character or one pixel), the document's
signature becomes invalid alerting that an unathorized change has ocurred.
signature becomes invalid alerting that an unauthorized change has occurred.
Existing non signed documents can be signed in one of two ways:
by downloading the document, signing it, and uploading the signed document

View File

@@ -1,4 +1,3 @@
===========
Smart links
===========
@@ -7,7 +6,7 @@ in their respective indexes. Smart links are useful when two documents are
related somehow but are of different type or different hierarchical units.
Example: A patient record can be related to a prescription drug information
document, but they each belong to their own :doc:`indexes`.
document, but they each belong to their own :doc:`../chapters/indexes`.
Smart links are rule based, but don't create any organizational structure.
Smart links just show the documents that match the rules as evaluated against

View File

@@ -1,4 +1,3 @@
=======
Sources
=======

23
docs/chapters/tags.rst Normal file
View File

@@ -0,0 +1,23 @@
Tags
====
Tags are color coded properties that can be attached or removed from documents.
Tags allow giving documents a binary property. Documents can also be tagged
with more than one tag.
Tags are created from the :menuselection:`Tags --> Create` menu.
To view all created tags use the :menuselection:`Tags --> All` menu.
Once tagged, documents can be searched by their tags. It is also possible to
show all the documents tagged with a particular
tag via the **Documents** link of each tag.
To view, add, or remove tags from a specific document, go to the document view
and click on the **Tags** tab. This view will show the current tags of a
document. The **Actions** menu will now show two new options: one to attach
more tags to the document and another to remove tags from the document.
It is also possible to tag documents in bulk by selecting several documents
from any view that displays a list documents and selecting the **Attach tag**
or **Remove tags** from the dropdown menu.

View File

@@ -1,21 +1,21 @@
===============
***************
Transformations
===============
***************
Transformations are persistent manipulations to the previews of the stored
documents. For example: a scanning equipment may only produce landscape PDFs.
In this case a useful transformation for that document source would be to rotate
all scanned documents by 270 degrees after being uploaded. By adding this
transformation to the Mayan EDMS source that is connected to the scanner, all
pages scanned via that source will inherit the transformation as they are
created. The result is that whenever a document is uploaded from that scanner,
Transformations are persistent manipulations to the previews of the stored
documents. For example: a scanning equipment may only produce landscape PDFs.
In this case a useful transformation for that document source would be to rotate
all scanned documents by 270 degrees after being uploaded. By adding this
transformation to the Mayan EDMS source that is connected to the scanner, all
pages scanned via that source will inherit the transformation as they are
created. The result is that whenever a document is uploaded from that scanner,
it will appear in portrait orientation, instead of landscape orientation.
Transformations can also be added to existing documents by clicking on a
document's page and then clicking on "transformations". In this view the Actions
menu will have a new option that reads "Create new transformation". Currently,
the available transformations are: rotation, zoom, crop, and resize. Once the
document's page and then clicking on "transformations". In this view the Actions
menu will have a new option that reads "Create new transformation". Currently,
the available transformations are: rotation, zoom, crop, and resize. Once the
document image has been corrected, resubmit it for OCR for improved results.
Transformations are not destructive and do not physically modify the document
Transformations are not destructive and do not physically modify the document
file, they just modify the document's graphical representation.

View File

@@ -1,6 +1,6 @@
============
************
Translations
============
************
Translations are handled online via the **Transifex** website:
https://www.transifex.com/projects/p/mayan-edms/. To create a translation team

View File

@@ -1,6 +1,6 @@
=============
*************
Upload wizard
=============
*************
The steps needed to upgrade a document using form-tools' ``SessionWizard``
were hardcoded in the ``source`` app. This made it very difficult to add or remove
@@ -80,5 +80,5 @@ module. Example::
WizardStep.deregister(WizardStepTags)
This will cause the tags assigment step to not be assigned to the upload
This will cause the tags assignment step to not be assigned to the upload
wizard anymore.

View File

@@ -1,6 +1,6 @@
===================
*******************
Document versioning
===================
*******************
Mayan EDMS has the ability to store different versions of the same
document. A comment field is provided to allow users to summarize the new
@@ -26,8 +26,8 @@ revert to a previous version of the document is provided.
document_1 -> document_2;
}
Only the interactive document sources (:doc:`sources`) (``Web`` and ``Staging folders``) are
available to upload new document versions.
Only the interactive document sources (:doc:`../chapters/sources`)
(``Web`` and ``Staging folders``) are available to upload new document versions.
There is no limit to the number of versions a document can have.

View File

@@ -0,0 +1,91 @@
*********
Workflows
*********
Introduction
============
Workflows provide a structure method for storing a sequence of states over
which the a document will progress. Workflows keep track how a document has
been processed so far.
Workflows work by storing a series of states to help you know the "status"
of a document. To move a workflow from one state to another, transitions are
used.
Transitions connect two different states and help provide context to know
which state is possible to transition to, from a previous state. Transitions
provide and order for the sequence of possible states changes.
Transitions can be executed manually by users if they have the required access
level as configure by the system administrator.
Automation
==========
Besides being able to be executed manually by users, transitions can also be
programmed execute automatically based on system events. This is called in
Mayan EDMS transition triggering and is one of the tools available to
automate business processes.
For example:
* Move a document from a "scanned" state to a "billed" state
when a tag is attached to the document.
* Move a document from a "uploaded" state to a "OCR ready" state
when the OCR engine finishes processing the document.
The other tool provided for process automation is being able to execute an
action when a workflow state is reached or leaved. These are called state
events.
Some examples of state actions currently provided are:
* Attach a tag to a document
* Remove a tag from a document
* Do an HTTP POST request to an external IP address
* Edit the label or the description of a document.
Other time more state actions are being added. Some state actions like the one
that creates an HTTP POST request allow Mayan EDMS to trigger processes in
external systems based on the state of a document. One example of this is
triggering the billing process of an accounting system when an invoice is
scanned in Mayan EDMS.
Workflow state actions and transitions triggers are new features and are still
evolving.
Workflows allow translating business logic into a series of states. With the
addition of state actions and transition triggers, the workflows in Mayan EDMS
are no longer just informative but can be part of your actual business
automation process.
Implementation
==============
Internally, workflows are implemented as a finite state machines
(https://en.wikipedia.org/wiki/Finite-state_machine). And have the limitation
that only one state can be the current active state for a workflow being
executed. The other limitation of the current implementation is that every
workflow needs at least one state marked as the initial state. These limitations
are the result of a compromised in the design between flexibility and ease of
use.
Visualizations
==============
The graphical representation of a workflow (or a finite state machine style
in Mayan EDMS's case) is similar to a flowchart. The states are represented
with circles. The transitions are represented with arrows. Circle with a
double border represent the initial state of the workflow.
To view the graphical representations of workflow use **Preview** button of
the workflow in the setup view.
We are working now on workflow transition trigger filters to have
the trigger move the state of the workflow on certain conditions. For example: Attach a tag if there is a specific word found in the OCR text.

View File

@@ -33,7 +33,9 @@ sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "_ext"))
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
#extensions = ['sphinx.ext.autodoc', 'sphinx.ext.viewcode']
#extensions = ["djangodocs", "sphinx.ext.intersphinx"]
extensions = ['sphinxcontrib.blockdiag']
extensions = [
'sphinx.ext.extlinks', 'sphinxcontrib.blockdiag', 'sphinxcontrib.spelling'
]
blockdiag_antialias = True
blockdiag_html_image_format = "SVG"
@@ -232,3 +234,18 @@ man_pages = [
]
html_theme = 'sphinx_rtd_theme'
# -- External links --
extlinks = {
'django-docs': (
'https://docs.djangoproject.com/en/{}/%s'.format(
mayan.__django_version__
), 'Django documentation section: '
),
'github-issue': (
'https://github.com/mayan-edms/mayan-edms/issues/%s', 'GitHub issue #'
),
'gitlab-issue': (
'https://gitlab.com/mayan-edms/mayan-edms/issues/%s', 'GitLab issue #'
)
}

View File

@@ -17,45 +17,23 @@ repository for electronic documents.
.. toctree::
:hidden:
Installation <topics/installation>
Features <topics/features>
Release notes and upgrading <releases/index>
ACLs <topics/acls>
Backups <topics/backups>
Checkouts <topics/checkouts>
Document types <topics/document_types>
File storage <topics/file_storage>
Document indexes <topics/indexes>
Document languages <topics/languages>
Document signatures <topics/signatures>
Mailing <topics/mailing>
Metadata <topics/metadata>
OCR <topics/ocr_backend>
Permissions <topics/permissions>
Settings <topics/settings>
Sources <topics/sources>
Smart links <topics/smart_links>
Tags <topics/tags>
Transformations <topics/transformations>
Upload wizard <topics/upload_wizard>
Versioning <topics/versioning>
Docker image <topics/docker>
Advanced deployment <topics/deploying>
Development <topics/development>
App creation <topics/app_creation>
Pending work <topics/pending_work>
Code statistics <topics/code_statistics>
Translations <topics/translations>
Licensing <topics/license>
FAQ <topics/faq>
Contact <topics/contact>
MERCs <mercs/index>
Pending work <topics/pending_work>
Individual Contributor Assignment Agreement <topics/caa_individual>
Entity Contributor Assignment Agreement <topics/caa_entity>
topics/features
topics/installation
releases/index
topics/getting_started
topics/access_control
topics/categorization
topics/collaboration
topics/settings
topics/storage
topics/integration
topics/advanced
topics/administration
topics/troubleshooting
topics/development
topics/faq
topics/license
topics/contact
.. _Docker: https://www.docker.com/
.. _Django: http://www.djangoproject.com/

View File

@@ -1,6 +1,5 @@
==============================
MERC 1: Purpose and Guidelines
==============================
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:MERC: 1
:Author: Michael Price

View File

@@ -1,5 +1,5 @@
==================================
MERC 3: Using javascript libraries
MERC 3: Using JavaScript libraries
==================================
:MERC: 3
@@ -17,13 +17,13 @@ MERC 3: Using javascript libraries
Abstract
========
This MERC proposes a standard way to use javascript libraries.
This MERC proposes a standard way to use JavaScript libraries.
Rationale
=========
Mayan EDMS uses several javascript libraries for user interface features.
Currently, the libraries are not installed using any javascript package
Mayan EDMS uses several JavaScript libraries for user interface features.
Currently, the libraries are not installed using any JavaScript package
manager but copied uncompressed. Installing the libraries in this manner
carries some disadvantages.
@@ -32,7 +32,7 @@ Motivation
The inclusion of the libraries in source form is required by many licenses
if the library is not installed by a package manager in distributable form.
There are several disavantages with the current approach:
There are several disadvantages with the current approach:
1. Having the library in source form means that the entire weight of the
library's size carries over the overall size of the Mayan EDMS distribution files.
@@ -42,7 +42,7 @@ There are several disavantages with the current approach:
installed in the project and manually searching, downloading, compressing
and adding the files to the repository.
3. The source form of the libraries includes normal and minified versions
of the code and the accompaning CSS files. There is no define preference
of the code and the accompanying CSS files. There is no define preference
and through the project both versions of the libraries are loaded
interchangeably. Using a packager manager the minified version would be
used of a pipeline to minify the installed libraries should be added.
@@ -58,10 +58,10 @@ Specification
Changes needed:
1. Python based javascript package manager. Alternatively a Python wrapper
for a javascript package manager could be used.
2. Package manifest for the javascript libraries used.
3. Installation pipeline to install the javascript libraries during the
1. Python based JavaScript package manager. Alternatively a Python wrapper
for a JavaScript package manager could be used.
2. Package manifest for the JavaScript libraries used.
3. Installation pipeline to install the JavaScript libraries during the
installation and setup of the project.
References:

View File

@@ -1,13 +1,13 @@
======================
MERC XX: Support forum
======================
=====================
MERC 4: Support forum
=====================
:MERC: XX
:MERC: 4
:Author: Michael Price
:Status: Draft
:Status: Accepted
:Type: Process
:Created: 2018-02-27
:Last-Modified: 2018-02-27
:Last-Modified: 2018-09-04
.. contents:: Table of Contents
:depth: 3
@@ -42,7 +42,5 @@ issues regarding Google, reinforce the need for a self hosted solution.
Specification
=============
The proposed solution is to use the bbPress (https://wordpress.org/plugins/bbpress/)
forum plugin for Wordpress. After 14 years, Wordpress dominance continues
unrivaled. The wealth of material, themes, templates and professional avaialbe make
it a safe option.
Platform chosen was phpBB. Factors were: written in PHP, ease of installation,
compatible with several database managers, mature, extensive development history.

View File

@@ -1,6 +1,6 @@
=====
*****
MECRs
=====
*****
Mayan EDMS Request For Comment documents index.
@@ -17,9 +17,9 @@ Accepted
.. toctree::
:maxdepth: 1
0001-merc-process
0002-test-writing
0003-using-javascript-libraries
../mercs/0001-merc-process
../mercs/0002-test-writing
../mercs/0003-using-javascript-libraries
Draft
-----
@@ -27,8 +27,7 @@ Draft
.. toctree::
:maxdepth: 1
merging-roles-and-groups
support-forum
../mercs/merging-roles-and-groups
Type
@@ -39,7 +38,8 @@ Process
.. toctree::
:maxdepth: 1
0001-merc-process
../mercs/0001-merc-process
../mercs/0004-support-forum
Feature
@@ -47,5 +47,5 @@ Feature
.. toctree::
:maxdepth: 1
0002-test-writing
0003-using-javascript-libraries
../mercs/0002-test-writing
../mercs/0003-using-javascript-libraries

View File

@@ -30,7 +30,7 @@ overheads without providing advantages in the day to day operations.
In reality there is almost a 1 to 1 correlation between Roles and Groups.
Other permissions systems already use Groups as permission units without
disavantages. An example of this is LDAP and its commercial counterpart
disadvantages. An example of this is LDAP and its commercial counterpart
Active Directory.
Motivation
@@ -43,7 +43,7 @@ favor of using a native Django model for the same task.
Merging the Role and Group models will also provide a speed boost in every
permission check and queryset filtering. These checks are nested in nature.
Since the access checks are performed for every view and for every link
in the view the performace gain should be substantial.
in the view the performance gain should be substantial.
Backwards Compatibility
=======================

View File

@@ -16,36 +16,36 @@ Version 0.10
* LibreOffice (https://www.libreoffice.org/)
* unoconv [version 0.5] (https://github.com/dagwieers/unoconv)
* The new office documents converter won't convert files with the extension
.docx because these files are recognized as zip files instead. This
* The new office documents converter won't convert files with the extension
.docx because these files are recognized as zip files instead. This
is an issue of the libmagic library.
* New configuration option added ``CONVERTER_UNOCONV_USE_PIPE`` that controls
how unoconv handles the communication with LibreOffice. The default of
``True`` causes unoconv to use **pipes**, this approach is slower than using
* New configuration option added ``CONVERTER_UNOCONV_USE_PIPE`` that controls
how unoconv handles the communication with LibreOffice. The default of
``True`` causes unoconv to use **pipes**, this approach is slower than using
**TCP/IP** ports but it is more stable.
* Initial `REST` `API` that exposes documents properties and one method, this
new `API` is used by the new smart document widget and requires the
* Initial `REST` `API` that exposes documents properties and one method, this
new `API` is used by the new smart document widget and requires the
package ``djangorestframework``, users must issue a::
$ pip install -r requirements/production.txt
to install this new requirement.
* MIME type detection and caching performance updates.
* Updated the included version of ``jQuery`` to 1.7
* Updated the included version of ``JqueryAsynchImageLoader`` to 0.9.7
* Document image serving response now specifies a MIME type for increased
* Document image serving response now specifies a MIME type for increased
browser compatibility.
* Small change in the scheduler that increases stability.
* Russian translation updates Sergey Glita
* Improved and generalized the OCR queue locking mechanism, this should
eliminate any posibility of race conditions between Mayan EDMS OCR nodes.
* Improved and generalized the OCR queue locking mechanism, this should
eliminate any possibility of race conditions between Mayan EDMS OCR nodes.
* Added support for signals to the OCR queue, this results in instant OCR
processing upon submittal of a document to the OCR queue, this works in
addition to the current polling processing which eliminates the
posibility of stale documents in the OCR queue.
possibility of stale documents in the OCR queue.
* Added multiple document OCR submit link
* Re enabled tesseract language specific OCR processing and added a one
* Re enabled Tesseract language specific OCR processing and added a one
(1) time language neutral retry for failed language specific OCR

View File

@@ -1,13 +1,12 @@
================================
Mayan EDMS v0.12.1 release notes
================================
Version 0.12.1
==============
*May 2012*
This is the first maintenance release of the 0.12 series.
Overview
========
--------
While bug fixes and minor feature were the focus for this release, some
bigger changes were included because of their importance. The parsing of
@@ -19,11 +18,12 @@ environments where users don't have the ability to install OS level
binaries.
What's new in Mayan EDMS v0.12.1
================================
Changes
-------
Fabric file (fabfile)
~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^
A Fabric file is included to help users not very familiar with Ubuntu,
Python and Django install Mayan EDMS, or for system administrators
looking to automate the install whether in local or remote systems.
@@ -33,54 +33,66 @@ Feel free to submit your configuration settings and files for different database
webserver or Linux distribution. More configurations will be added to
the fabfile as more are tested.
Documentation update
~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^
The installation instructions were updated to include the installation of
the libpng-dev and libjpeg-dev libraries as well as the installation of
the poppler-utils package. An additional step to help users test their
the ``poppler-utils`` package. An additional step to help users test their
new installation of Mayan EDMS was also added.
Translations
~~~~~~~~~~~~
^^^^^^^^^^^^
The Italian translation has been synchronized with the source files at
Transifex and finished to %100 completion.
Usability improvements
~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^
The index instance view now feature the same multi document action
buttons (Submit to OCR, delete, download, etc) as the mail and recent
document views.
Better office document conversion
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
A new method of converting office documents has been implemented, this
new method doesn't require the use of the command line utility ``UNOCONV``.
If this new method proves to work better than previous solutions the use
of ``UNOCONV`` may be deprecated in the future. The conversion method
adds just one new configuration option: `CONVERTER_LIBREOFFICE_PATH`
which defaults to '/usr/bin/libreoffice'.
adds just one new configuration option: ``CONVERTER_LIBREOFFICE_PATH``
which defaults to ``/usr/bin/libreoffice``.
Better PDF text parsing
~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^
Brian E. submitted a patch to use the Poppler package pdftotext utility to
extract text from PDF files. This is now the default method Mayan EDMS
will execute to try to extract text from a PDF and failing that will
fallback to the previous method. This change add a new configuration
option: `OCR_PDFTOTEXT_PATH` to specify the location of the ``pdftotext``
executable, it defaults to '/usr/bin/pdftotext'. Be sure to install the
option: ``OCR_PDFTOTEXT_PATH`` to specify the location of the ``pdftotext``
executable, it defaults to ``/usr/bin/pdftotext``. Be sure to install the
``poppler-utils`` os package to take advantage of this new parser.
Changed defaults
~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^
The OCR queue is now active by default when first created during the
``syncdb`` phase and the `OCR_AUTOMATIC_OCR` option now defaults
``syncdb`` phase and the ``OCR_AUTOMATIC_OCR`` option now defaults
to ``True``. These two changes are made to reduce the steps required for
new users to start enjoying the benefits of automatic text extraction from
uploaded documents without having to read the documentation and have a more
functional default install.
Upgrading from a previous version
=================================
---------------------------------
Start off by adding the new requirements::
@@ -104,13 +116,17 @@ The upgrade procedure is now complete.
Backward incompatible changes
=============================
-----------------------------
* None
Bugs fixed
==========
* Issue #25 "Office document conversion error"
----------
:github-issue:`25` "Office document conversion error"
Removals
--------
Stuff removed
=============
* None

View File

@@ -1,14 +1,12 @@
================================
Mayan EDMS v0.12.2 release notes
================================
Version 0.12.2
==============
*June 2012*
This is the second maintenance release of the 0.12 series.
Overview
========
--------
As with the previous release bug fixes and minor feature were the focus
for this release too. `issue #24`_ has been fixed and document
@@ -19,24 +17,28 @@ the diagnosis of installation of runtime error a simple view showing the
number of internal interval jobs being used by Mayan EDMS as well as a
new app which shows a detail of the current installation enviroment were added.
What's new in Mayan EDMS v0.12.2
================================
Changes
-------
Smarter auto admin creation
~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Mayan EDMS creates a administrator user during the
database creation phase to reduce the amount of steps required for a
functional install. The creation of this account is controlled by the configuration
option `COMMON_AUTO_CREATE_ADMIN`, the username of the account is
specified with the configuration option `COMMON_AUTO_ADMIN_USERNAME`
and the password of this account by the option `COMMON_AUTO_ADMIN_PASSWORD`.
Previously the `COMMON_AUTO_ADMIN_PASSWORD` defaulted to 'admin' which
option ``COMMON_AUTO_CREATE_ADMIN``, the username of the account is
specified with the configuration option ``COMMON_AUTO_ADMIN_USERNAME``
and the password of this account by the option ``COMMON_AUTO_ADMIN_PASSWORD``.
Previously the ``COMMON_AUTO_ADMIN_PASSWORD`` defaulted to 'admin' which
created an administrator account of username 'admin' with a password of
'admin'. The new default is to randomize an initial password and show this password
at the login screen until the administrator password is changed.
Document check outs
~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^
As per the feature request filed under `issue #26`_, a new document
check out and check in functionality has been added. Users can now
check out a document and lock new version of it from being uploaded to avoid
@@ -47,8 +49,10 @@ new versions of it or check the document back in before the expiration period,
unless being granted the ``Allow overriding check out restrictions`` or
``Forcefully check in documents`` permission respectively.
Installation environment app
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Diagnosting remote installations of web based applications without access to the
command line can be a bit hard, to alleviate this situation a new installation
environment details app has been added. The purpose of this app is to provide
@@ -56,19 +60,25 @@ support staff information about the physical environment where Mayan EDMS has
been installed. To avoid possible security compromises only administrators
can access this app.
Editable compressed documents filename
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Previously when downloading more than one document in a compressed manner,
Mayan EDMS would produce a file with the name ``document_bundle.zip`` for
download. A different filename can now be specified at the same download dialog.
German translation
~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^
A German language translation has been added thanks to Tetja Rediske
and Tilmann Sittig.
Statistics gathering
~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^
Previous attempts at gathering usage statistics have been met with deficient results.
User participation in surveys as well as the quality of the data entered by users
was disappointing. That is why this version of Mayan EDMS features an
@@ -76,7 +86,7 @@ anonymous statistics gathering functionality.
Upgrading from a previous version
=================================
---------------------------------
Start off by adding the new requirements::
@@ -97,19 +107,22 @@ The upgrade procedure is now complete.
Backward incompatible changes
=============================
-----------------------------
* None
Bugs fixed
==========
* `issue #24`_ "Duplicated filename extension when uploading a new version of a document"
* `issue #26`_ "checkout feature request"
----------
:github-issue:`24 "Duplicated filename extension when uploading a new version of a document"
:github-issue:`26` "checkout feature request"
Removals
--------
Stuff removed
=============
* Feedback app
.. _issue #24: https://github.com/rosarior/mayan/issues/24
.. _issue #26: https://github.com/rosarior/mayan/issues/26

View File

@@ -1,15 +1,12 @@
==============================
Mayan EDMS v0.12 release notes
==============================
Version 0.12
============
*February 2012*
Welcome to Mayan EDMS v0.12!
This release commemorates Mayan EDMS first aniversary!
Overview
========
--------
Aside from new features, the focus of this release of Mayan EDMS also
been about improving the code and documentation quality standard
@@ -26,7 +23,7 @@ releases:
* All app permissions have been move to a separate permissions.py file
per app
* Complete permission system refactor.
* Document signining code move to it's own app
* Document signing code moved to it's own app
* Initial unit tests
* A lot of logging used throught the entire project.
* Much functionality moved to model managers.
@@ -38,16 +35,17 @@ releases:
* Removal of remarked code.
What's new in Mayan EDMS v0.12
==============================
Changes
-------
ACL support
~~~~~~~~~~~
^^^^^^^^^^^
* Object level access control is now in place for documents, folders,
tags and smart links. What this means is that administrators can now
grant permissions to users, groups or roles on for specific objects.
A more in-depth explanation of how this new ACL system can be found in
the :doc:`3 tier access control <../topics/permissions>` section of the
the :doc:`3 tier access control <../chapters/permissions>` section of the
permissions chapter.
* Default class ACL support. Administrators can setup the access control
@@ -57,57 +55,72 @@ ACL support
allow the access control list that the actual creator of an object will
inherit.
Anonymous user support
~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^
Anonymous user support is a two tier function, first is the addition of
the `COMMON_ALLOW_ANONYMOUS_ACCESS` configuration option that
allows non authenticated user to browse all the pages of a Mayan EDMS installation.
The second part of this support is the ability to assign permissions
or individual access to objects to anonymous users.
the ``COMMON_ALLOW_ANONYMOUS_ACCESS`` configuration option that
allows non authenticated user to browse all the pages of a Mayan EDMS
installation. The second part of this support is the ability to assign
permissions or individual access to objects to anonymous users.
Translations
~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^
A new Italian translation is available, provided by SeeOpen.IT
(www.seeopen.it, info@seeopen.it) as well as complete Russian translation
update by Sergei Glita. Included in this release also the initial translation
to Polish by mic.
Usability improvements
~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^
* Detached signature behavior improved, uploading a new detached signature
erases the previous one.
* Usability improvement in the role member's add/removal form, by using
HTML's option groups tag property
2 Step download process
~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^
The code for downloading single and multiple document and document versions
has been merged with compression support also added. This allows for the
download of documents in their original format or compressed and well as
the download of several documents in a single compressed file.
Customizable GPG home directory
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Addition of the `SIGNATURES_GPG_HOME` configuration option to let
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Addition of the ``SIGNATURES_GPG_HOME`` configuration option to let
administrators set Mayan EDMS's GPG instance home directory, used to
store keyrings and other GPG configuration files.
Out of process bulk uploading
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
A management command has been added to help upload a large number of documents
from a compressed file. For information about this new feature check the Initial data loading chapter.
from a compressed file. For information about this new feature check the
Initial data loading chapter.
Out of process user import
~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^
A management command has been added to import a large number users
from a CSV file. More information about this new feature can also be found
in the Initial data loading chapter.
Refactored document indexing
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:doc:`The document indexing <../topics/indexes>` functionality has been
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:doc:`The document indexing <../chapters/indexes>` functionality has been
improved and moved from experimental
stage to beta stage. Index configuration menus are now available on the
``Setup`` menu and allows administrators to create skeleton trees that will
@@ -116,12 +129,14 @@ These populated trees can also be mirrored on the physical filesystem and shared
using Samba or another filesharing server giving users a structured view
of the documents contained within Mayan EDMS from the ``Indexes`` tab
or from a mirrored index shared via the network. A new configuration option
has been added, `DOCUMENT_INDEXING_FILESYSTEM_SERVING`, which maps
has been added, ``DOCUMENT_INDEXING_FILESYSTEM_SERVING``, which maps
the index internal name with the physical directory where such index will be
mirrored on disk.
Help shape Mayan EDMS's future
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Included in this version is a small feedback application, found under the
``About`` main menu, where users by just answering some questions can
help determine the priority of the next planned features on the pipeline,
@@ -129,8 +144,10 @@ or even help add new features if enough requests are received. All questions
are optional but answering as many as possible will help greatly understand
the need of the Mayan EDMS user base.
Staging file previews
~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^
The staging file previews now show the filename for easier
identification and speedier upload selection. The staging files previews
are now treated as a gallery which means that users can preview an entire
@@ -138,8 +155,23 @@ page of staging files without having to click and close each one
individually.
Removals
--------
* Support for Celery and Sentry has been drop
for now.
* Removed the 'db_index' argument from Text fields definition and
migrations as it was causing error messages for MySQL users, thanks to
Sergei Glita for reporting this one.
* Configuration options removed:
* OCR_CACHE_URI
* DOCUMENT_INDEXING_FILESYSTEM_FILESERVING_PATH - Use the newest `DOCUMENT_INDEXING_FILESYSTEM_SERVING`
* DOCUMENT_INDEXING_FILESYSTEM_FILESERVING_ENABLE - Use the newest `DOCUMENT_INDEXING_FILESYSTEM_SERVING`
Upgrading from a previous version
=================================
---------------------------------
Start off by adding the new requirements::
@@ -201,31 +233,20 @@ The upgrade procedure is now complete.
Backward incompatible changes
=============================
-----------------------------
The permission system has been completely reworked so sadly this is a
place where even data migration can't help and the permissions assigned
to roles will be lost during the upgrade to version 0.12. Users, groups
to roles will be lost during the upgrade to version 0.12. Users, groups
and roles will be preserved only permissions need to be assigned again,
so write down your role permission setup before upgrading.
Bugs fixed
==========
* Issue #17, special thanks to Dave Herring for all the help including
access to a machine suffering with the issue, and to Sergei Glita for
his research and eventual find of the core cause.
----------
* :github-issue:`17` special thanks to Dave Herring for all the help including
access to a machine suffering with the issue, and to Sergei Glita for
his research and eventual find of the core cause.
* Statistics fixes.
* Fixed get_image_cache_name regression in the OCR app.
Stuff removed
=============
* Support for Celery and Sentry has been drop
for now.
* Removed the 'db_index' argument from Text fields definition and
migrations as it was causing error messages for MySQL users, thanks to
Sergei Glita for reporting this one.
* Configuration options removed:
* OCR_CACHE_URI
* DOCUMENT_INDEXING_FILESYSTEM_FILESERVING_PATH - Use the newest `DOCUMENT_INDEXING_FILESYSTEM_SERVING`
* DOCUMENT_INDEXING_FILESYSTEM_FILESERVING_ENABLE - Use the newest `DOCUMENT_INDEXING_FILESYSTEM_SERVING`

View File

@@ -1,110 +1,132 @@
================================
Mayan EDMS v0.13 release notes
================================
Version 0.13
============
*December 2012*
Welcome to Mayan EDMS v0.13!
Overview
========
--------
Initially this version was meant as a the third maintenance release of
the 0.12 series, but with the amount of changes and updates that were included
it was obvious this was not just a bug fix version anymore hence the version
jump to 0.13 instead of 0.12.3
What's new in Mayan EDMS v0.13
================================
Changes
-------
Django 1.3.5
~~~~~~~~~~~~
^^^^^^^^^^^^
This release updates the required version of Django to 1.3.5 to take advantage
of the security fixes added to that version of the framework.
Bulk document tagging and untagging
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
As requested by issue `issue #31`_ this feature has been implemented and enabled in this version.
Attaching or removing tags from a large number of documents is now much easier.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
As requested by issue `issue #31`_ this feature has been implemented and
enabled in this version. Attaching or removing tags from a large number of
documents is now much easier.
Registration
~~~~~~~~~~~~
Based on requests made by the community for greater commercial support and services for
Mayan EDMS, a new feature has been added that allows users to register their
copies of Mayan EDMS and better help users with commercial support packages.
Registration for non commercial users is voluntary and optional, and in no way
affects the functionality of Mayan EDMS. However even for non commercial users
registration offers the advantage of automatically branding the user's copy
of Mayan EDMS with their name or the company name in the title area.
^^^^^^^^^^^^
Based on requests made by the community for greater commercial support and
services for Mayan EDMS, a new feature has been added that allows users
register their copies of Mayan EDMS and better help users with commercial
support packages. Registration for non commercial users is voluntary and
optional, and in no way affects the functionality of Mayan EDMS. However
even for non commercial users registration offers the advantage of
automatically branding the user's copy of Mayan EDMS with their name or the
company name in the title area.
Per document type indexing
~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^
Index can now be restricted to update only on specific document types, this
greatly increases the usefulness of indexes, and prevents unwanted index
updates.
Bootstrap
~~~~~~~~~
^^^^^^^^^
Setting up Mayan EDMS after installation has been indetified by users as the
main difficulty when knowledge about Mayan EDMS is relatively low. To
main difficulty when knowledge about Mayan EDMS is relatively low. To
address this situation a new feature that provides preconfigured setups has been
added. These preconfigured setups are published in the Mayan EDMS website and
added. These preconfigured setups are published in the Mayan EDMS website and
upon synchonization are available to users, this gives users access and integrators
access to new setups without having to wait for new versions of Mayan EDMS.
Aside from including preconfigured setups, the new bootstrap app
has the ability of dumping an user's current setup into a serialized text file
which can be tweaked by hand and sent via email to other users. The possibilities
which can be tweaked by hand and sent via email to other users. The possibilities
enabled by this range from company wide defaults setups to consultants providing
their clients with customized setups without having to access their clients'
Mayan EDMS instances. ``JSON``, ``YAML`` and a custom ``YAML`` format
(http://djangosnippets.org/snippets/2461/) are supported by this new app.
Add documents to folders in bulk
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
As requested, the ability to add more than one document at a time to a selected
folder has been added.
Translation updates
~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^
The translation for all the current languages were synchronized to the
latest transifex project sources.
Model updates
~~~~~~~~~~~~~
^^^^^^^^^^^^^
Several small fixes to the behavior of some model were added, namely that
the names of some models should be unique. The document type name as well
as the metadata set name were two models that were updated to behave this way.
Navigation updates
~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^
There were some additions and changes to the navigation to make it more intuitive
or to add an alternate way to access the same information better. The bulk
attachment of tags was one of these. Previously users were added or removed from groups,
now users can be assigned to groups without leaving the user view. The name of an
existing metadata set can now be edited and what was previously called metadata set edit
is now more aptly named metadata members which adds or removes metadata types into a
single organizational unit. An error that caused a duplicate menu link in the
document type filename view was also fixed.
or to add an alternate way to access the same information better. The bulk
attachment of tags was one of these. Previously users were added or removed
from groups, now users can be assigned to groups without leaving the user view.
The name of an existing metadata set can now be edited and what was previously
called metadata set edit is now more aptly named metadata members which adds
or removes metadata types into a single organizational unit. An error that
caused a duplicate menu link in the document type filename view was also fixed.
Support for UNOCONV dropped
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Support for converting office documents by calling LibreOffice via UNOCONV
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Support for converting office documents by calling LibreOffice via ``UNOCONV``
has been disabled for a while ever since LibreOffice start including
document conversion support from the command line. This version completly
removes any traces of code and configuration options related to UNOCONV.
removes any traces of code and configuration options related to ``UNOCONV``.
Optimizations
~~~~~~~~~~~~~
Inspired by the idea of getting Mayan EDMS running effectively on low power hardware such as
the Raspberry Pi, several rounds or profiling and optimization were done.
^^^^^^^^^^^^^
Inspired by the idea of getting Mayan EDMS running effectively on low power
hardware such as the Raspberry Pi, several rounds or profiling and
optimization were done.
Some caching optimization were introduced to the permission model, resulting in
a speed increase of 33% in rendering time on views with heavy permission checking
and a 18% query reduction on cache hits.
Upgrading from a previous version
=================================
---------------------------------
If you installed Mayan EDMS by cloning the Git repository issue the commands::
$ git reset --hard HEAD
@@ -133,21 +155,24 @@ The upgrade procedure is now complete.
Backward incompatible changes
=============================
-----------------------------
* None
Bugs fixed or issues closed
===========================
* `issue #28`_ "Document indexing based on filesystem problem"
* `issue #29`_ Default ACL documentation
* `issue #30`_ "Ubuntu 12.0.4 LTS complaining about mising 'fabfile/templates/settings_local.py' (master branch)"
* `issue #31`_ "Bulk add tags Feature request"
* `issue #32`_ "Error run $python manage.py syncdb"
* `issue #33`_ "Fetches translations from Transifex. "
* `issue #34`_ "Initial syncdb fails because of import time database access"
* `issue #35`_ "Fix first install syncdb on Postgres"
* `issue #37`_ "When 19 >= &document_type_id >= 10 in url, error page not found"
* `issue #39`_ Feature request "Bulk move folders"
---------------------------
* :github-issue:`28` "Document indexing based on filesystem problem"
* :github-issue:`29` Default ACL documentation
* :github-issue:`30` "Ubuntu 12.0.4 LTS complaining about mising 'fabfile/templates/settings_local.py' (master branch)"
* :github-issue:`31` "Bulk add tags Feature request"
* :github-issue:`32` "Error run $python manage.py syncdb"
* :github-issue:`33` "Fetches translations from Transifex. "
* :github-issue:`34` "Initial syncdb fails because of import time database access"
* :github-issue:`35` "Fix first install syncdb on Postgres"
* :github-issue:`37` "When 19 >= &document_type_id >= 10 in url, error page not found"
* :github-issue:`39` * `issue #39`_ Feature request "Bulk move folders"
.. _issue #28: https://github.com/rosarior/mayan/issues/28

View File

@@ -1,13 +1,10 @@
=============================
Mayan EDMS v1.0 release notes
=============================
Version 1.0
===========
*August 26, 2014*
Welcome to Mayan EDMS v1.0!
Overview
========
--------
After a year of low activity the focus of this release was to get the code
updated to work with the most recent version of Django and the most recent
version of the dependencies Mayan EDMS uses. The goal was to have a strong
@@ -16,25 +13,30 @@ fixes were the primary focus of this cycle. Because of this not much
emphasis was placed on adding new features, or at least new features
that could have the potential to break things.
What's new in Mayan EDMS v1.0
=============================
Changes
-------
New home
~~~~~~~~
^^^^^^^^
The growth and reach of the project has necessitaded for a while the move
of the project to its own organization in Github. This move has finally been
done, the new URL of the project is: https://github.com/mayan-edms/mayan-edms
Django 1.6
~~~~~~~~~~
^^^^^^^^^^
This release updates the required version of Django to 1.6, bringing with it
not only new features, but also a lot of security updates, a new project
directory structure and new deployment methods.
Translation updates
~~~~~~~~~~~~~~~~~~~
The translation for all languages were synchronized to the latest transifex project sources.
Translation completion as reported by Transifex:
^^^^^^^^^^^^^^^^^^^
The translation for all languages were synchronized to the latest transifex
project sources. Translation completion as reported by Transifex:
* English - 100%
* Spanish - 100%
@@ -59,96 +61,127 @@ Translation completion as reported by Transifex:
* Croatian - 3%
* Turkish - 3%
Model updates
~~~~~~~~~~~~~
^^^^^^^^^^^^^
There were some convenience properties created to allow quick access to
a document's version and pages. These custom properties were removed and
an official method to access these properties as provided by Django is now
used.
Source code improvements
~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^
A circular import of metadata and document_index apps code from the documents app
was removed. Document index updates are now handled via signals, not called
directly as before. Hundreds of PEP8 style fixes, unused import removals,
unused variables removals and removal of remarked or unused code. Removal of the
DEVELOPMENT flag (was used to trigger static media serving during development),
this is now handled by the DEBUG flag. The DEBUG flag is now set to `True` by
``DEVELOPMENT`` flag (was used to trigger static media serving during development),
this is now handled by the ``DEBUG`` flag. The ``DEBUG`` flag is now set to ``True`` by
default as per Django 1.6 defaults. Removed usage of Django's JSON libraries
using Python's JSON library instead. Update of time and date use to use Django's
new timezone aware data and time handling. Removal of custom code in favor of using
modules provided by Django or by existing 3rd party libraries. Unification of code
used for equal or similar purpose in various modules.
Removal of included 3rd party modules
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
One last 3rd party module was included with the source code of Mayan EDMS.
This module is now available on PyPI and fetched during the installation instead
of being included.
Automatic testing and code coverage check
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Some initial tests were added, which will help with the detection of
regressions or bugs when adding new features. More tests are needed, but
the initial work has being started.
Update of required modules and libraries versions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Many of the required modules and libraries have been updated to a more
recent version if not to their most recent released version.
Database connection leaks
~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^
Stale database connection being left open by scheduler tasks are now explictly
closed. This avoids consumption of the pool of database connections, increases
stability and reduces memory usage.
Deletion of detached signatures
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Detached signatures can now be deleted, if accidentally added to the wrong document.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Detached signatures can now be deleted, if accidentally added to the wrong
document.
Removal of fabric based installations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
These files are now part of their own project and located at https://github.com/mayan-edms/mayan-fabric
Pluggable OCR backends
~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^
A commonly requested feature, it is now possible to write backends drivers
to do document OCR using software or services other than Tesseract.
OCR improvements
~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^
OCR queue state is now reset when reloading Mayan EMDS, avoiding the OCR queue
to remain locked. `unpaper` binary is now an optional pre OCR requirement, the OCR
queue will now continue working is `unpaper` is not installed. Addition of post
queue will now continue working is ``unpaper`` is not installed. Addition of post
OCR processing support for French and German.
License change
~~~~~~~~~~~~~~
^^^^^^^^^^^^^^
Mayan EDMS is now licensed under the Apache 2.0 license. This means many
things but the main change is that inclusion of Mayan EDMS into
commercial products is now explicitly allowed.
PyPI package
~~~~~~~~~~~~
^^^^^^^^^^^^
Mayan EDMS has been packaged and submitted to the PyPI_ Python Package Index
making it even easier to install and use.
New REST API
~~~~~~~~~~~~
^^^^^^^^^^^^
This release feature a completely new REST API and automatic API documentation.
This new API is also used internally by *Mayan EDMS* itself.
This new API is also used internally by Mayan EDMS itself.
Other changes
~~~~~~~~~~~~~
^^^^^^^^^^^^^
More office document types are now recognized and supported. More file types are now
supported as text files and properly previewed and parsed. Removal of the legacy
runserver.sh and runserver_plus.sh scripts. New document preview generation and
display pipeline, faster, simpler. Inclusion of a proof of concept compressed storage
backend.
Upgrading from a previous version
=================================
---------------------------------
If you installed Mayan EDMS by cloning the Git repository issue the commands::
$ git reset --hard HEAD
@@ -175,7 +208,8 @@ The upgrade procedure is now complete.
Backward incompatible changes
=============================
-----------------------------
* If using the SQLite3 database option, rename the file named `mayan.sqlite` file to `db.sqlite3` and
move it to the new `media` provided folder.
* Also move to the `media` folder any `gpg_home`, `document_storage` and `image_cache` folders
@@ -183,7 +217,8 @@ Backward incompatible changes
Bugs fixed or issues closed
===========================
---------------------------
* None

View File

@@ -1,18 +1,19 @@
===============================
Mayan EDMS v1.1.1 release notes
===============================
Version 1.1.1
=============
Released: May 21, 2015
What's new
==========
Changes
-------
Update to Django 1.6.11
~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^
The required version of Django has been updated to version 1.6.11_.
Minor changes
~~~~~~~~~~~~~
^^^^^^^^^^^^^
- Fix make_dist.sh script
- Add test for issue #163
- Activate tests for the sources app
@@ -25,11 +26,12 @@ Minor changes
- Increase size of the lock name field
- New style documentation
Upgrading from a previous version
=================================
---------------------------------
Using PIP
~~~~~~~~~
^^^^^^^^^
Type in the console::
@@ -37,8 +39,9 @@ Type in the console::
the requirements will also be updated.
Using Git
~~~~~~~~~
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
@@ -51,8 +54,9 @@ Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
~~~~~~~~~~~~
^^^^^^^^^^^^
Add new static media::
@@ -62,11 +66,14 @@ The upgrade procedure is now complete.
Backward incompatible changes
=============================
None
-----------------------------
* None
Bugs fixed or issues closed
===========================
None
---------------------------
* None
.. _1.6.11: https://docs.djangoproject.com/en/1.8/releases/1.6.11/

View File

@@ -1,17 +1,14 @@
=============================
Mayan EDMS v1.1 release notes
=============================
Version 1.1
===========
Released: February 10, 2015
Welcome to Mayan EDMS v1.1
What's new in Mayan EDMS v1.1
=============================
Changes
-------
Celery
~~~~~~
^^^^^^
All background tasks processing has been converted to use Celery_. By default
Mayan EDMS runs in "Eager" until a broker and result backend are configured
as per `Celery's documentation`_. This change made the built-in scheduler and
@@ -19,72 +16,83 @@ job_processing apps obsolete, both were removed.
Views namespaces
~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^
All views are namespaced_ with the name of the app which defines them. If you have
developed 3rd party apps for Mayan EDMS be sure to update any reference to a view
by prepending the app name to the view name.
Removal of the splash screen
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The static image home screen has been replaced with a quick links view, showing
the most used actions: Uploading documents, viewing recent documents, viewing
all documents and searching documents.
Sending and receiving documents via email
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
A link or entire documents can be sent as attachments via email. Documents can
also be received via email with the addition of two document sources named IMAP and POP3
which correspond to the mail protocol used to fetch the documents. Read Django's
`email configuration settings documentation`_ for more details on how to set up
mail serving.
also be received via email with the addition of two document sources named IMAP
and POP3 which correspond to the mail protocol used to fetch the documents.
Read Django's `email configuration settings documentation`_ for more details
on how to set up mail serving.
Update to Django 1.6.8
~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^
Mayan EDMS has been updated to use Django 1.6.8.
Events app
~~~~~~~~~~
^^^^^^^^^^
The built-in history app has been removed in favor of a new events wrapper app
for `Django activity stream`_
Watch folders
~~~~~~~~~~~~~
^^^^^^^^^^^^^
Filesystem folders can be monitored for change and their files automatically
uploaded as documents in Mayan EDMS.
Vagrant file included
~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^
A vagrant file is now included to allow developers to provision a virtual machine
with the latest development version of Mayan EDMS.
User locale profile (language and timezone)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Interface language and locale setting can now be setup for each user and are not
installation wide as before. Date and times offsets are automatically ajusted to
each user's timezone settings.
Document states
~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^
A new simple workflow app that can represent document states has been included.
Explicit document types needed per index
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Indexes can now be tied to document types, eliminating the need to update
indexes for every document update. Indexes will only update when a document of
the type to which they are associated is updated.
Optional and required metadata types
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Metadata types can now be assigned in two ways to documents types, as optional or
required. Values for required metadata types as the name implies, must be entered
for documents to be able to be uploaded. Optional metadata types on the other hand
@@ -92,14 +100,16 @@ can be left blank by the user.
Bulk document type change
~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^
It is now possible to change the document type of previously uploaded documents.
When the document type of a document is changed the metadata values are reset and
the metadata types of the new document type are automatically assigned.
New release cycle
~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^
Starting with this version a new release cycle methodology will come into effect.
The goal of this release cycle is to allow two series of versions of Mayan EDMS to be
active at a given time: A new major version with new functionality and a minor version
@@ -110,29 +120,36 @@ maintenance mode.
Deprecation of Python 2.6
~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^
Series 1.0 of Mayan EDMS will be the last series supporting Python 2.6. Series
2.0 will be using Django 1.7.x which itself requires Python 2.7 or later.
Improved testings
~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^
Mayan EDMS is now automatically tested against SQLite, MySQL and PostgreSQL.
API updates
~~~~~~~~~~~
Many new API endpoints have been added exposing the majority of Mayan EDMS functionality.
^^^^^^^^^^^
Many new API endpoints have been added exposing the majority of Mayan EDMS
functionality.
Messages contextual improvements
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Many updates and simplifications were made to the source text messages to reduce the
difficulty of translating Mayan EDMS and maintaing the contextual meaning of the
text messages.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Many updates and simplifications were made to the source text messages to
reduce the difficulty of translating Mayan EDMS and maintaing the contextual
meaning of the text messages.
Improved method for custom settings
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Custom settings now use a string based value, it is longer needed to import
classes when customizing a setting::
@@ -145,64 +162,71 @@ Instead the fully qualified name of the class must be passed as the setting valu
Removal of the OCR config setting
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
OCR behavior is now a document type property meaning that it can be turned
on or off for specific document types.
Per document language setting
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Previously the document language used for OCR was specified for the entire
installation. If documents in multiple languages were uploaded some suffered
lower success rates. Now the language of each document can be specified.
Metadata validation and parsing support
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
It is now possible to create functions to validate metadata value input or
parse and store corrected values. Three sample metadata validations functions
are included: ``Parse date and time``, ``Parse date`` and ``Parse time``.
Removal of 960 grid system in favor Pure CSS's grid system
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
By using Pure CSS's columns based grid system, the move towards a
Bootstrap UI migration has advanced greatly.
Simplified UI
~~~~~~~~~~~~~
^^^^^^^^^^^^^
All user actions as well as the logout button are now under the user functions
section.
Stable PDF previews generation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The way PDF were being generated has been improved greatly eliminating
spurious segmentation faults at the expense of a small speed penalty.
More technical documentation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Many new sub topics were added to the development section of the documentation
to allow developers to better understand the inner workings and philosophies
of Mayan EDMS.
Other changes
~~~~~~~~~~~~~
^^^^^^^^^^^^^
* Removal of the MAIN_SIDE_BAR_SEARCH setting
* Removal of THEMES and themes support
* Removal of VERBOSE_LOGIN setting
* Removal of the ``MAIN_SIDE_BAR_SEARCH`` setting
* Removal of ``THEMES`` setting and themes support
* Removal of ``VERBOSE_LOGIN`` setting
* Removal of graphics backend supported file format list view
* Removal of the MAIN_DISABLE_ICONS setting
* Removal of the ``MAIN_DISABLE_ICONS`` setting
* Removal of specialized Sentry support
* Removal of the MAIN_ENABLE_SCROLL_JS setting
* Removal of the ``MAIN_ENABLE_SCROLL_JS`` setting
* Remove hardcoded root (/) redirections
* Removal of APSCheduler as a requirement
* Removal of ``APSCheduler`` as a requirement
* Removal of the scheduled jobs view
* Removal of the web_theme app
* Removal of the ``web_theme`` app
* Removal of the sources icon selection support
* Removal of the in-app help panels
* Removal of the duplicate document search feature
@@ -212,7 +236,8 @@ Other changes
Upgrading from a previous version
=================================
---------------------------------
IMPORTANT! Before running the upgrade make sure none of your documents have
duplicated metadata types, meaning that the same metadata type must not appear
twice for any given document.
@@ -240,7 +265,7 @@ Migrate existing database schema with::
During the migration several messages of stale content types can occur:
.. code-block:: bash
::
The following content types are stale and need to be deleted:
@@ -278,7 +303,7 @@ The upgrade procedure is now complete.
Backward incompatible changes
=============================
-----------------------------
* You will have to redefine your document sources due to the new extended models
for this app.
@@ -287,80 +312,80 @@ Backward incompatible changes
Bugs fixed or issues closed
===========================
---------------------------
* `issue #30 <https://github.com/mayan-edms/mayan-edms/issues/30>`_ Document workflows
* `issue #32 <https://github.com/mayan-edms/mayan-edms/issues/32>`_ Watched folders
* `issue #34 <https://github.com/mayan-edms/mayan-edms/issues/34>`_ Postprocessing document queue
* `issue #35 <https://github.com/mayan-edms/mayan-edms/issues/35>`_ Metadata validation
* `issue #37 <https://github.com/mayan-edms/mayan-edms/issues/37>`_ Add from __future__ import unicode_literals
* `issue #39 <https://github.com/mayan-edms/mayan-edms/issues/39>`_ Capitalization of messages
* `issue #40 <https://github.com/mayan-edms/mayan-edms/issues/40>`_ Update references to root ('/') path
* `issue #46 <https://github.com/mayan-edms/mayan-edms/issues/46>`_ Advanced search past 1st page
* `issue #49 <https://github.com/mayan-edms/mayan-edms/issues/49>`_ Problems with large pdf files
* `issue #50 <https://github.com/mayan-edms/mayan-edms/issues/50>`_ raise CommandNotFound(path)
* `issue #51 <https://github.com/mayan-edms/mayan-edms/issues/51>`_ Search with ANONYMOUS error
* `issue #55 <https://github.com/mayan-edms/mayan-edms/issues/55>`_ Document approval cicle?
* `issue #56 <https://github.com/mayan-edms/mayan-edms/issues/56>`_ Removal of non essential features, views, models
* `issue #57 <https://github.com/mayan-edms/mayan-edms/issues/57>`_ Migrate to Celery for task query and periodic tasks
* `issue #64 <https://github.com/mayan-edms/mayan-edms/issues/64>`_ Pluralize messages properly
* `issue #65 <https://github.com/mayan-edms/mayan-edms/issues/65>`_ Backport the ability to receive documents via email
* `issue #66 <https://github.com/mayan-edms/mayan-edms/issues/66>`_ Python 3 compatibility: Add from __future__ import unicode_literals and remove all u''
* `issue #68 <https://github.com/mayan-edms/mayan-edms/issues/68>`_ Revise and update the use gettext vs. gettext_lazy
* `issue #69 <https://github.com/mayan-edms/mayan-edms/issues/69>`_ Feature removal: remove "Unregistered" message from the title bar
* `issue #71 <https://github.com/mayan-edms/mayan-edms/issues/71>`_ Add retry support to the converter task
* `issue #72 <https://github.com/mayan-edms/mayan-edms/issues/72>`_ Delete unused static icons
* `issue #74 <https://github.com/mayan-edms/mayan-edms/issues/74>`_ Cache a document's first document version
* `issue #75 <https://github.com/mayan-edms/mayan-edms/issues/75>`_ Move automatic OCR queueing from a configuration settings to a property of Document Type model
* `issue #77 <https://github.com/mayan-edms/mayan-edms/issues/77>`_ Add document view permission support to the search app
* `issue #78 <https://github.com/mayan-edms/mayan-edms/issues/78>`_ COMMON_TEMPORARY_DIRECTORY seems not to be used everywhere
* `issue #79 <https://github.com/mayan-edms/mayan-edms/issues/79>`_ Error installing
* `issue #82 <https://github.com/mayan-edms/mayan-edms/issues/82>`_ Make document type a required field
* `issue #83 <https://github.com/mayan-edms/mayan-edms/issues/83>`_ Simplify source app views and navigation
* `issue #84 <https://github.com/mayan-edms/mayan-edms/issues/84>`_ Remove template context variable 'object_name' to improve translations
* `issue #85 <https://github.com/mayan-edms/mayan-edms/issues/85>`_ Reset page count for a single document
* `issue #86 <https://github.com/mayan-edms/mayan-edms/issues/86>`_ Move migrations to new 'south_migrations' folders
* `issue #87 <https://github.com/mayan-edms/mayan-edms/issues/87>`_ Per document language selection
* `issue #88 <https://github.com/mayan-edms/mayan-edms/issues/88>`_ Remove metadata type selection from the upload wizard
* `issue #89 <https://github.com/mayan-edms/mayan-edms/issues/89>`_ Allow metadata types to be required for specific document types
* `issue #90 <https://github.com/mayan-edms/mayan-edms/issues/90>`_ Remove the app_registry app
* `issue #91 <https://github.com/mayan-edms/mayan-edms/issues/91>`_ Don't preserve the ?page= URL query string value when switching sources during document upload
* `issue #92 <https://github.com/mayan-edms/mayan-edms/issues/92>`_ Make register_multi_item_links class aware
* `issue #95 <https://github.com/mayan-edms/mayan-edms/issues/95>`_ Installation error on Mac OSX; OSError: [Errno 2] No such file or directory
* `issue #96 <https://github.com/mayan-edms/mayan-edms/issues/96>`_ Remove hard code User model references
* `issue #97 <https://github.com/mayan-edms/mayan-edms/issues/97>`_ Make multi item links a drop down list
* `issue #104 <https://github.com/mayan-edms/mayan-edms/issues/104>`_ Finish polishing metadata validation patch
* `issue #105 <https://github.com/mayan-edms/mayan-edms/issues/105>`_ Tie smart links setups to document types
* `issue #106 <https://github.com/mayan-edms/mayan-edms/issues/106>`_ Convert document indexing app actions to Celery
* `issue #107 <https://github.com/mayan-edms/mayan-edms/issues/107>`_ Restrict document metadata addition and removal
* `issue #108 <https://github.com/mayan-edms/mayan-edms/issues/108>`_ New home screen
* `issue #109 <https://github.com/mayan-edms/mayan-edms/issues/109>`_ Add Roles API endpoints
* `issue #111 <https://github.com/mayan-edms/mayan-edms/issues/111>`_ Add Checkouts API endpoints
* `issue #112 <https://github.com/mayan-edms/mayan-edms/issues/112>`_ Add OCR API endpoints
* `issue #114 <https://github.com/mayan-edms/mayan-edms/issues/114>`_ Implement UI language as user preference
* `issue #116 <https://github.com/mayan-edms/mayan-edms/issues/116>`_ Add documentation topic explicitly noting the binary requirements
* `issue #118 <https://github.com/mayan-edms/mayan-edms/issues/118>`_ When a metadata type is removed from a document type, remove it from all the documents of that type
* `issue #119 <https://github.com/mayan-edms/mayan-edms/issues/119>`_ When a required metadata type is added to a document type, add it to all documents of that type
* `issue #126 <https://github.com/mayan-edms/mayan-edms/issues/126>`_ Failing migration with SQLite
* `issue #127 <https://github.com/mayan-edms/mayan-edms/issues/127>`_ Failing migration with Postgres
* `issue #128 <https://github.com/mayan-edms/mayan-edms/issues/128>`_ Add Indexes API endpoints
* `issue #129 <https://github.com/mayan-edms/mayan-edms/issues/129>`_ Search api shouldn't memorize requested page as part of the query
* `issue #130 <https://github.com/mayan-edms/mayan-edms/issues/130>`_ Users API is not working correctly
* `issue #131 <https://github.com/mayan-edms/mayan-edms/issues/131>`_ Is there an API to update a user's password?
* `issue #137 <https://github.com/mayan-edms/mayan-edms/issues/137>`_ Enhancement of language selection
* `issue #138 <https://github.com/mayan-edms/mayan-edms/issues/138>`_ Possibility to keep zoom factor
* `issue #139 <https://github.com/mayan-edms/mayan-edms/issues/139>`_ Translatability of language selection
* `issue #140 <https://github.com/mayan-edms/mayan-edms/issues/140>`_ Thumbnail creation for ods crashing
* `issue #143 <https://github.com/mayan-edms/mayan-edms/issues/143>`_ Exception Value: 'exceptions.ValueError' object has no attribute 'messages'
* `issue #144 <https://github.com/mayan-edms/mayan-edms/issues/144>`_ Behavior of 'Edit metadata' (Recent Documents)
* `issue #146 <https://github.com/mayan-edms/mayan-edms/issues/146>`_ Periodic task not initiated for mail boxes and watch folders
* `issue #149 <https://github.com/mayan-edms/mayan-edms/issues/149>`_ Attribute error in document download
* `issue #150 <https://github.com/mayan-edms/mayan-edms/issues/150>`_ Double second menu entry
* `issue #152 <https://github.com/mayan-edms/mayan-edms/issues/152>`_ Document content empty
* `issue #153 <https://github.com/mayan-edms/mayan-edms/issues/153>`_ south migration with postgres: documents: 031_remove_orphan_documents
* `issue #154 <https://github.com/mayan-edms/mayan-edms/issues/154>`_ south migration with postgres: tags: 0002_auto__add_tag__chg_field_tagproperties_tag
* `issue #157 <https://github.com/mayan-edms/mayan-edms/issues/157>`_ upload new version of a document not working
* `issue #158 <https://github.com/mayan-edms/mayan-edms/issues/158>`_ Plural form not matching singular form in ocr app bug i18n
* :github-issue:`30` Document workflows
* :github-issue:`32` Watched folders
* :github-issue:`34` Postprocessing document queue
* :github-issue:`35` Metadata validation
* :github-issue:`37` Add from __future__ import unicode_literals
* :github-issue:`39` Capitalization of messages
* :github-issue:`40` Update references to root ('/') path
* :github-issue:`46` Advanced search past 1st page
* :github-issue:`49` Problems with large pdf files
* :github-issue:`50` raise CommandNotFound(path)
* :github-issue:`51` Search with ANONYMOUS error
* :github-issue:`55` Document approval cicle?
* :github-issue:`56` Removal of non essential features, views, models
* :github-issue:`57` Migrate to Celery for task query and periodic tasks
* :github-issue:`64` Pluralize messages properly
* :github-issue:`65` Backport the ability to receive documents via email
* :github-issue:`66` Python 3 compatibility: Add from __future__ import unicode_literals and remove all u''
* :github-issue:`68` Revise and update the use gettext vs. gettext_lazy
* :github-issue:`69` Feature removal: remove "Unregistered" message from the title bar
* :github-issue:`71` Add retry support to the converter task
* :github-issue:`72` Delete unused static icons
* :github-issue:`74` Cache a document's first document version
* :github-issue:`75` Move automatic OCR queueing from a configuration settings to a property of Document Type model
* :github-issue:`77` Add document view permission support to the search app
* :github-issue:`78` COMMON_TEMPORARY_DIRECTORY seems not to be used everywhere
* :github-issue:`79` Error installing
* :github-issue:`82` Make document type a required field
* :github-issue:`83` Simplify source app views and navigation
* :github-issue:`84` Remove template context variable 'object_name' to improve translations
* :github-issue:`85` Reset page count for a single document
* :github-issue:`86` Move migrations to new 'south_migrations' folders
* :github-issue:`87` Per document language selection
* :github-issue:`88` Remove metadata type selection from the upload wizard
* :github-issue:`89` Allow metadata types to be required for specific document types
* :github-issue:`90` Remove the app_registry app
* :github-issue:`91` Don't preserve the ?page= URL query string value when switching sources during document upload
* :github-issue:`92` Make register_multi_item_links class aware
* :github-issue:`95` Installation error on Mac OSX; OSError: [Errno 2] No such file or directory
* :github-issue:`96` Remove hard code User model references
* :github-issue:`97` Make multi item links a drop down list
* :github-issue:`104` Finish polishing metadata validation patch
* :github-issue:`105` Tie smart links setups to document types
* :github-issue:`106` Convert document indexing app actions to Celery
* :github-issue:`107` Restrict document metadata addition and removal
* :github-issue:`108` New home screen
* :github-issue:`109` Add Roles API endpoints
* :github-issue:`111` Add Checkouts API endpoints
* :github-issue:`112` Add OCR API endpoints
* :github-issue:`114` Implement UI language as user preference
* :github-issue:`116` Add documentation topic explicitly noting the binary requirements
* :github-issue:`118` When a metadata type is removed from a document type, remove it from all the documents of that type
* :github-issue:`119` When a required metadata type is added to a document type, add it to all documents of that type
* :github-issue:`126` Failing migration with SQLite
* :github-issue:`127` Failing migration with Postgres
* :github-issue:`128` Add Indexes API endpoints
* :github-issue:`129` Search api shouldn't memorize requested page as part of the query
* :github-issue:`130` Users API is not working correctly
* :github-issue:`131` Is there an API to update a user's password?
* :github-issue:`137` Enhancement of language selection
* :github-issue:`138` Possibility to keep zoom factor
* :github-issue:`139` Translatability of language selection
* :github-issue:`140` Thumbnail creation for ods crashing
* :github-issue:`143` Exception Value: 'exceptions.ValueError' object has no attribute 'messages'
* :github-issue:`144` Behavior of 'Edit metadata' (Recent Documents)
* :github-issue:`146` Periodic task not initiated for mail boxes and watch folders
* :github-issue:`149` Attribute error in document download
* :github-issue:`150` Double second menu entry
* :github-issue:`152` Document content empty
* :github-issue:`153` south migration with postgres: documents: 031_remove_orphan_documents
* :github-issue:`154` south migration with postgres: tags: 0002_auto__add_tag__chg_field_tagproperties_tag
* :github-issue:`157` upload new version of a document not working
* :github-issue:`158` Plural form not matching singular form in ocr app bug i18n
.. _Celery: http://www.celeryproject.org/

View File

@@ -1,31 +1,34 @@
===============================
Mayan EDMS v2.0.1 release notes
===============================
Version 2.0.1
=============
Released: January 22, 2016
Welcome to Mayan EDMS v2.0.1
What's new in Mayan EDMS v2.0.1
===============================
Changes
-------
Required metadata was not enforce correctly
-------------------------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fixed a situation where documents having required metadata could still be
uploaded without entering a value for the required metadata.
Fix multiple document metadata adding
-------------------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fixed a bug when adding metadata to multiple documents.
Fix multiple document metadata editing
--------------------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fixed a bug that made it impossible to edit multiple documents' metadata values
if one of the documents had no previous value for it's metadata.
Updated Vagrant file
--------------------
^^^^^^^^^^^^^^^^^^^^
The included Vagrant file now provide 2 boxes: development and production.
Selection which kind of box to provision is as easy as executing::
@@ -37,18 +40,22 @@ or
Other changes
-------------
^^^^^^^^^^^^^
* None
Removals
--------
* None
Upgrading from a previous version
---------------------------------
Using PIP
~~~~~~~~~
^^^^^^^^^
Type in the console::
@@ -56,8 +63,9 @@ Type in the console::
the requirements will also be updated automatically.
Using Git
~~~~~~~~~
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
@@ -71,8 +79,9 @@ Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
~~~~~~~~~~~~
^^^^^^^^^^^^
Migrate existing database schema with::
@@ -86,14 +95,15 @@ The upgrade procedure is now complete.
Backward incompatible changes
=============================
-----------------------------
* None
Bugs fixed or issues closed
===========================
* `GitLab issue #243 <https://gitlab.com/mayan-edms/mayan-edms/issues/243>`_ System allows a user to skip entering values for a required metadata field while uploading a new document
* `GitLab issue #245 <https://gitlab.com/mayan-edms/mayan-edms/issues/245>`_ Add multiple metadata not possible
Bugs fixed or issues closed
---------------------------
* :gitlab-issue:`243` System allows a user to skip entering values for a required metadata field while uploading a new document
* :gitlab-issue:`245` Add multiple metadata not possible
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

View File

@@ -1,34 +1,39 @@
===============================
Mayan EDMS v2.0.2 release notes
===============================
Version 2.0.2
=============
Released: February 15, 2016
Welcome to Mayan EDMS v2.0.2
What's new
==========
Changes
-------
Fine tune "Update" checkbox from the metadata entry form
--------------------------------------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Previously the update checkbox was ignored during the metadata step of the
document upload wizard with the wizard always creating a metadata entry for the
new document even if the entry was left blank. The checkbox now controls whether
or not the wizard will store try to create the metadata entry.
Fix empty optional lookup metadata fields behavior
--------------------------------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
An edge case was fixed that caused validation to be executed for empty metadata
fields that had a value lookup list.
Remove Docker files
-------------------
^^^^^^^^^^^^^^^^^^^
Included Docker and Docker Compose files were removed since the Mayan EDMS Docker
(https://gitlab.com/mayan-edms/mayan-edms-docker) repository is stable.
Other changes
-------------
- Only extract validation error messages from ValidationError exception instances.
^^^^^^^^^^^^^
- Only extract validation error messages from ``ValidationError`` exception
instances.
- Add 2 second delay to document version tests to workaround MySQL not storing
the millisecond part of the document version's timestamp.
- Install testing dependencies when installing development dependencies.
@@ -36,15 +41,18 @@ Other changes
- Move metadata form value validation to .clean() method.
- Add HTML tags stripping to the browser title generation template.
Removals
--------
* None
Upgrading from a previous version
---------------------------------
Using PIP
~~~~~~~~~
^^^^^^^^^
Type in the console::
@@ -52,8 +60,9 @@ Type in the console::
the requirements will also be updated automatically.
Using Git
~~~~~~~~~
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
@@ -67,8 +76,9 @@ Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
~~~~~~~~~~~~
^^^^^^^^^^^^
Migrate existing database schema with::
@@ -82,13 +92,14 @@ The upgrade procedure is now complete.
Backward incompatible changes
=============================
-----------------------------
* None
Bugs fixed or issues closed
===========================
* `GitLab issue #250 <https://gitlab.com/mayan-edms/mayan-edms/issues/250>`_ Empty optional lookup metadata trigger validation error.
Bugs fixed or issues closed
---------------------------
* :gitlab-issue:`250` Empty optional lookup metadata trigger validation error.
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

File diff suppressed because it is too large Load Diff

View File

@@ -1,41 +1,46 @@
===============================
Mayan EDMS v2.1.1 release notes
===============================
Version 2.1.1
=============
Released: May 17, 2016
What's new
==========
This is a bugfix release and all users are encouraged to upgrade.
Changes
-------
Fix object column resolution issue in navigation app
----------------------------------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Version 2.1 includes a navigation feature that allows model instances from a
queryset generated using the .defer() or .only() Django filter optimization
features to resolve to their parent class transparently. This optimization
caused problems with the sources app which uses a
Missing Tesseract language files
--------------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The Tesseract OCR backend now reports if the tesseract language file is missing
for the requested document's language.
Other changes
-------------
^^^^^^^^^^^^^
- Ensure the automatic default index is created after the default document type.
Removals
--------
* None
Upgrading from a previous version
---------------------------------
Using PIP
~~~~~~~~~
^^^^^^^^^
Type in the console::
@@ -43,8 +48,9 @@ Type in the console::
the requirements will also be updated automatically.
Using Git
~~~~~~~~~
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
@@ -58,8 +64,9 @@ Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
~~~~~~~~~~~~
^^^^^^^^^^^^
Migrate existing database schema with::
@@ -73,15 +80,16 @@ 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.
Bugs fixed or issues closed
---------------------------
* :gitlab-issue:`288` Can't add sources in mayan-edms 2.1.
* :gitlab-issue:`289` OCR fails with Exception.
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

View File

@@ -1,31 +1,30 @@
================================
Mayan EDMS v2.1.10 release notes
================================
Version 2.1.10
==============
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::
@@ -33,8 +32,9 @@ Type in the console::
the requirements will also be updated automatically.
Using Git
~~~~~~~~~
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
@@ -48,8 +48,9 @@ Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
~~~~~~~~~~~~
^^^^^^^^^^^^
Migrate existing database schema with::
@@ -63,12 +64,13 @@ The upgrade procedure is now complete.
Backward incompatible changes
=============================
-----------------------------
* None
Bugs fixed or issues closed
===========================
---------------------------
* None

View File

@@ -1,17 +1,13 @@
================================
Mayan EDMS v2.1.11 release notes
================================
Version 2.1.11
==============
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
@@ -24,7 +20,7 @@ Changes
- Implemented document workflows transition ACLs. GitLab issue #321.
- Add document comments API endpoints. GitHub issue #249.
- Add support for overriding the Celery class. The setting is named
MAYAN_CELERY_CLASS and expects a dotted python path to the class to use.
``MAYAN_CELERY_CLASS`` and expects a dotted python path to the class to use.
- Changed the document upload view in source app to not use the HTTP referer
URL blindly, but instead recompose the URL using known view name. Needed
when integrating Mayan EDMS into other app via using iframes.
@@ -34,15 +30,18 @@ Changes
- Added support for adding or editing document types to smart links via the
API.
Removals
--------
* None
Upgrading from a previous version
---------------------------------
Using PIP
~~~~~~~~~
^^^^^^^^^
Type in the console::
@@ -50,8 +49,9 @@ Type in the console::
the requirements will also be updated automatically.
Using Git
~~~~~~~~~
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
@@ -65,8 +65,9 @@ Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
~~~~~~~~~~~~
^^^^^^^^^^^^
Migrate existing database schema with::
@@ -80,15 +81,16 @@ 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
Bugs fixed or issues closed
---------------------------
* :github-issue:`355` Add document comments API [$50 US]
* :gitlab-issue:`321` Transition ACLS
* :gitlab-issue:`357` It should be possible to retrieve all workflows for a given DocumentType from the API
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

View File

@@ -1,40 +1,45 @@
===============================
Mayan EDMS v2.1.2 release notes
===============================
Version 2.1.2
=============
Released: May 20, 2016
What's new
==========
This is a bugfix release and all users are encouraged to upgrade.
Changes
-------
Language list sorting
---------------------
^^^^^^^^^^^^^^^^^^^^^
The document language list and the user locale profile language list are now
sorted to make it easier to find the desired language.
Fixed the metadata lookup options: {{ users }} and {{ groups }}
---------------------------------------------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
When configuring metadata type lookup options the {{ users }} and {{ groups }}
special options can be used to display a list of users or a list of groups.
These options where producing a list in the wrong format and were updated.
Other changes
-------------
^^^^^^^^^^^^^
- Add Makefile for common development tasks
Removals
--------
* None
Upgrading from a previous version
---------------------------------
Using PIP
~~~~~~~~~
^^^^^^^^^
Type in the console::
@@ -42,8 +47,9 @@ Type in the console::
the requirements will also be updated automatically.
Using Git
~~~~~~~~~
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
@@ -57,8 +63,9 @@ Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
~~~~~~~~~~~~
^^^^^^^^^^^^
Migrate existing database schema with::
@@ -72,15 +79,15 @@ The upgrade procedure is now complete.
Backward incompatible changes
=============================
-----------------------------
* None
Bugs fixed or issues closed
===========================
* `GitLab issue #290 <https://gitlab.com/mayan-edms/mayan-edms/issues/290>`_ Unicode characters not supported as metadata values
* `GitLab issue #292 <https://gitlab.com/mayan-edms/mayan-edms/issues/292>`_ Sort languages by name not by abbreviation
---------------------------
* :gitlab-issue:`290` Unicode characters not supported as metadata values
* :gitlab-issue:`292` Sort languages by name not by abbreviation
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

View File

@@ -1,24 +1,26 @@
===============================
Mayan EDMS v2.1.3 release notes
===============================
Version 2.1.3
=============
Released: June 29, 2016
What's new
==========
This is a bug-fix release and all users are encouraged to upgrade.
Changes
-------
Temporary files cleanup
-----------------------
^^^^^^^^^^^^^^^^^^^^^^^
When uploading PDF files that had been OCRed by previous software, the text
parser backend that uses Poppler, would leave behind some temporary files in
the /tmp folder. The issue has been resolved and from the fix a test mixin
system check has been devised that will identify places in the codebase with
similar behaviors, reducing the recurrence of similar issues in the future.
Other changes
-------------
^^^^^^^^^^^^^
- Add help message when initialsetup migration phase fails. Relates to GitLab issue #296
- Start using self.setdout instead of print as per documentation.
- Fix GitLab issue #295, "When editing a user the top bar jumps to the name of the user".
@@ -27,15 +29,18 @@ Other changes
- Add missing temporary file cleanup for office documents.
- Fix file descriptor leak in the document signature download test.
Removals
--------
* None
Upgrading from a previous version
---------------------------------
Using PIP
~~~~~~~~~
^^^^^^^^^
Type in the console::
@@ -43,8 +48,9 @@ Type in the console::
the requirements will also be updated automatically.
Using Git
~~~~~~~~~
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
@@ -58,8 +64,9 @@ Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
~~~~~~~~~~~~
^^^^^^^^^^^^
Migrate existing database schema with::
@@ -73,15 +80,16 @@ 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)
Bugs fixed or issues closed
---------------------------
* :gitlab-issue:`295` When editing a user the top bar jumps to the name of the user
* :gitlab-issue:`309` Temp files quickly filling-up my /tmp (1GB tmpfs)
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

View File

@@ -1,16 +1,13 @@
===============================
Mayan EDMS v2.1.4 release notes
===============================
Version 2.1.4
=============
Released: October 28, 2016
What's new
==========
This is a bug-fix release and all users are encouraged to upgrade.
Other changes
-------------
Changes
-------
- Fix statistics namespace list display view
- Fix events list display view
- Update required Django version to 1.8.15
@@ -21,15 +18,18 @@ Other changes
- New GPG backend system
- Minor documentation updates
Removals
--------
* None
Upgrading from a previous version
---------------------------------
Using PIP
~~~~~~~~~
^^^^^^^^^
Type in the console::
@@ -37,8 +37,9 @@ Type in the console::
the requirements will also be updated automatically.
Using Git
~~~~~~~~~
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
@@ -52,8 +53,9 @@ Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
~~~~~~~~~~~~
^^^^^^^^^^^^
Migrate existing database schema with::
@@ -67,15 +69,16 @@ 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
Bugs fixed or issues closed
---------------------------
* :gitlab-issue:`311` acl page return ContentType:Document
* :gitlab-issue:`316` Error when trying to access the statistics
* :gitlab-issue:`324` Document signature tests fail in Ubuntu 16.10
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

View File

@@ -1,16 +1,12 @@
===============================
Mayan EDMS v2.1.5 release notes
===============================
Version 2.1.5
=============
Released: November 8, 2016
What's new
==========
This is a bug-fix release and all users are encouraged to upgrade.
Other changes
-------------
Changes
-------
- Backport resize transformation math operation fix (GitLab #319).
- Update Pillow to 3.1.2
@@ -24,15 +20,18 @@ Other changes
- Fix ACL create view HTML response type. (GitLab #335).
- Expland staging folder and watch folder explanation.
Removals
--------
* None
Upgrading from a previous version
---------------------------------
Using PIP
~~~~~~~~~
^^^^^^^^^
Type in the console::
@@ -40,8 +39,9 @@ Type in the console::
the requirements will also be updated automatically.
Using Git
~~~~~~~~~
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
@@ -55,8 +55,9 @@ Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
~~~~~~~~~~~~
^^^^^^^^^^^^
Migrate existing database schema with::
@@ -70,18 +71,18 @@ The upgrade procedure is now complete.
Backward incompatible changes
=============================
-----------------------------
* None
Bugs fixed or issues closed
===========================
* `GitLab issue #319 <https://gitlab.com/mayan-edms/mayan-edms/issues/319>`_ TransformationResize issue with very "long" image
* `GitLab issue #331 <https://gitlab.com/mayan-edms/mayan-edms/issues/331>`_ Trash List View: Items actions should be limited
* `GitLab issue #333 <https://gitlab.com/mayan-edms/mayan-edms/issues/333>`_ "Unable to run gpg - it may not be available."
* `GitLab issue #334 <https://gitlab.com/mayan-edms/mayan-edms/issues/334>`_ Perfomance improvment: prevent unnecessary image.resize in TransformationZoom
* `GitLab issue #335 <https://gitlab.com/mayan-edms/mayan-edms/issues/335>`_ Wrong HTML Content-Type in ACL->NEW
---------------------------
* :gitlab-issue:`319` TransformationResize issue with very "long" image
* :gitlab-issue:`331` Trash List View: Items actions should be limited
* :gitlab-issue:`333` "Unable to run gpg - it may not be available."
* :gitlab-issue:`334` Perfomance improvment: prevent unnecessary image.resize in TransformationZoom
* :gitlab-issue:`335` Wrong HTML Content-Type in ACL->NEW
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

View File

@@ -1,29 +1,28 @@
===============================
Mayan EDMS v2.1.6 release notes
===============================
Version 2.1.6
=============
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::
@@ -31,8 +30,9 @@ Type in the console::
the requirements will also be updated automatically.
Using Git
~~~~~~~~~
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
@@ -46,8 +46,9 @@ Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
~~~~~~~~~~~~
^^^^^^^^^^^^
Migrate existing database schema with::
@@ -61,12 +62,13 @@ The upgrade procedure is now complete.
Backward incompatible changes
=============================
-----------------------------
* None
Bugs fixed or issues closed
===========================
---------------------------
* None

View File

@@ -1,17 +1,13 @@
===============================
Mayan EDMS v2.1.7 release notes
===============================
Version 2.1.7
=============
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):
@@ -44,15 +40,18 @@ Changes
- The parser and validation fields of the metadata type model have been enable
in the metadata type API serializer.
Removals
--------
* None
Upgrading from a previous version
---------------------------------
Using PIP
~~~~~~~~~
^^^^^^^^^
Type in the console::
@@ -60,8 +59,9 @@ Type in the console::
the requirements will also be updated automatically.
Using Git
~~~~~~~~~
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
@@ -75,8 +75,9 @@ Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
~~~~~~~~~~~~
^^^^^^^^^^^^
Migrate existing database schema with::
@@ -90,12 +91,13 @@ The upgrade procedure is now complete.
Backward incompatible changes
=============================
-----------------------------
* None
Bugs fixed or issues closed
===========================
---------------------------
* None

View File

@@ -1,17 +1,13 @@
===============================
Mayan EDMS v2.1.8 release notes
===============================
Version 2.1.8
=============
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.
@@ -23,15 +19,18 @@ Changes
- Add Smart link API endpoints.
- Add writable versions of the Document and Document Type serializers (GitLab issues #348 and #349).
Removals
--------
* None
Upgrading from a previous version
---------------------------------
Using PIP
~~~~~~~~~
^^^^^^^^^
Type in the console::
@@ -39,8 +38,9 @@ Type in the console::
the requirements will also be updated automatically.
Using Git
~~~~~~~~~
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
@@ -54,8 +54,9 @@ Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
~~~~~~~~~~~~
^^^^^^^^^^^^
Migrate existing database schema with::
@@ -69,15 +70,16 @@ 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
Bugs fixed or issues closed
---------------------------
* :gitlab-issue:`310` Metadata's lookup with chinese messages when new document
* :gitlab-issue:`348` REST API: Document version comments are not getting updated
* :gitlab-issue:`349` REST API: Document Label, Description are not able to update
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

View File

@@ -1,30 +1,30 @@
===============================
Mayan EDMS v2.1.9 release notes
===============================
Version 2.1.9
=============
Released: February 13, 2017
What's new
==========
This is a micro release equal to the previews version from the user's point of view.
The version number was increase to workaround some issues with the Python
Package Index not allowing re-uploads.
Changes
-------------
-------
- Update make file to Workaround long standing pypa wheel bug #99
Removals
--------
* None
Upgrading from a previous version
---------------------------------
Using PIP
~~~~~~~~~
^^^^^^^^^
Type in the console::
@@ -32,8 +32,9 @@ Type in the console::
the requirements will also be updated automatically.
Using Git
~~~~~~~~~
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
@@ -47,8 +48,9 @@ Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
~~~~~~~~~~~~
^^^^^^^^^^^^
Migrate existing database schema with::
@@ -62,12 +64,13 @@ The upgrade procedure is now complete.
Backward incompatible changes
=============================
-----------------------------
* None
Bugs fixed or issues closed
===========================
---------------------------
* None

View File

@@ -1,14 +1,14 @@
=============================
Mayan EDMS v2.1 release notes
=============================
Version 2.1
===========
Released: May 14, 2016
What's new
==========
Changes
-------
Upgrade to use Django 1.8.13
----------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
With the end of life support for Django 1.7, moving to the next Mayan EDMS
minor version was a target for this release. The Django minor release chosen was
1.8 as it is very compatible with 1.7 and required minimal changes. Django 1.8
@@ -16,28 +16,35 @@ 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
@@ -45,8 +52,10 @@ 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
@@ -57,50 +66,64 @@ 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
@@ -108,8 +131,10 @@ 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
@@ -129,8 +154,10 @@ 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.
@@ -161,11 +188,12 @@ Removals
--------
* None
Upgrading from a previous version
---------------------------------
Using PIP
~~~~~~~~~
^^^^^^^^^
Type in the console::
@@ -173,8 +201,9 @@ Type in the console::
the requirements will also be updated automatically.
Using Git
~~~~~~~~~
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
@@ -188,8 +217,9 @@ Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
~~~~~~~~~~~~
^^^^^^^^^^^^
Migrate existing database schema with::
@@ -203,36 +233,37 @@ 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.
Bugs fixed or issues closed
---------------------------
* :gitlab-issue:`137` Add app creation chapter to documentation.
* :gitlab-issue:`147` Add in app document signing.
* :gitlab-issue:`161` Email backend setup documentation.
* :gitlab-issue:`162` Add HTML5 file uploader.
* :gitlab-issue:`191` Split index contents title into title and path/breadcrumb widget.
* :gitlab-issue:`206` Support for dynamic LOGIN_EXEMPT_URLS.
* :gitlab-issue:`208` Add tagging step to upload wizard.
* :gitlab-issue:`218` Cookie cutter template for Mayan apps.
* :gitlab-issue:`222` Add notice board or Message of the Day.
* :gitlab-issue:`255` Remove hard coded User model.
* :gitlab-issue:`232` "Create documents" is a blanket permission for a user to create a document of any document type.
* :gitlab-issue:`246` Upgrade to Django version 1.8 as Django 1.7 is end-of-life.
* :gitlab-issue:`251` Add method to disable metadata edit form "update" checkbox when not needed.
* :gitlab-issue:`255` UnicodeDecodeError in apps/common/middleware/strip_spaces_widdleware.py.
* :gitlab-issue:`256` typo in locale settings (Dutch).
* :gitlab-issue:`261` Feature: Document Access Audit Logging.
* :gitlab-issue:`265` Indexes show list (show indexe only if the user has ACLs on document type).
* :gitlab-issue:`266` Smart links : Dynamic label with Postgresql.
* :gitlab-issue:`267` Release 2.1 RC1 : Notes and ideas.
* :gitlab-issue:`268` Release 2.1 RC1 : Bug to access inside an indexes.
* :gitlab-issue:`270` Release 2.1 RC1 : Bug statistics.
* :gitlab-issue:`274` [Release 2.1 RC2] Web Tests.
* :gitlab-issue:`275` [Release 2.1 RC2] Notes.
* :gitlab-issue:`276` [Release 2.1 RC2] API Tests.
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

View File

@@ -1,14 +1,14 @@
=============================
Mayan EDMS v2.2 release notes
=============================
Version 2.2
===========
Released: April 26, 2017
What's new
==========
Changes
-------
API changes
-----------
^^^^^^^^^^^
Refactor of the metadata API URLs to use the resource/sub resource paradigm.
Before:
@@ -66,8 +66,10 @@ resolved to '/api/documents/<pk>/pages/<page_pk>/pages'.
- API endpoint to view or change a role's groups.
- API endpoint to view or change a role's permissions.
Code cleanups
-------------
^^^^^^^^^^^^^
As with every release time was dedicated to improve the organization, size, and
readability of code. To this end the licenses of each app were moved to their
own module in every app, called licenses.py. As part of the code cleanup the
@@ -76,8 +78,10 @@ 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
@@ -86,28 +90,36 @@ 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
to the :django-docs:`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
@@ -118,11 +130,13 @@ to 81%.
A custom test runner replacing the previous custom management command
called `runtests`. Testing for orphaned temporary files and orphaned file
handles is now optional and controlled by the COMMON_TEST_FILE_HANDLES and
COMMON_TEST_FILE_HANDLES settings.
handles is now optional and controlled by the ``COMMON_TEST_FILE_HANDLES`` and
``COMMON_TEST_FILE_HANDLES`` settings.
User interface
--------------
^^^^^^^^^^^^^^
To avoid warping on long full names or usernames, the user's full name or
username is no longer displayed in the main menu. Instead the word "Profile"
is displayed and the users's full name or username is displayed when the
@@ -141,8 +155,10 @@ 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
@@ -156,17 +172,22 @@ Other changes
- Add support for attaching multiple tags to single or multiple documents.
- Refactor the workflow for removing tags from single and multiple documents.
- Move new version creation blocking from the documents app to the checkouts app.
- DEBUG now defaults to False.
- Production settings don't override the DEBUG variable. DEBUG can be set to True
on production install to debug errors live.
- Refactor add document to folder view to allow adding a documents to multiple folders at the same time.
- Refactor the remove document from folder view to allow removing documents from multiple folders at the same time.
- Refactor the document mailing views and add support for sending multiple documents via email at the same time.
- Refactor the document metadata views and add support for adding multiple metadata types to a document at the same time.
- Addition of a new OCR backend using PyOCR. This backend tries first to do OCR
using libtesseract. If libtesseract is not available the backend defaults to
calling the Tesseract executable.
- Make the lock_manager.backends.file_lock.FileLock the new default locking backend.
- ``DEBUG`` now defaults to ``False``.
- Production settings don't override the ``DEBUG`` variable. ``DEBUG`` can be
set to ``True`` on production install to debug errors live.
- Refactor add document to folder view to allow adding a documents to multiple
folders at the same time.
- Refactor the remove document from folder view to allow removing documents
from multiple folders at the same time.
- Refactor the document mailing views and add support for sending multiple
documents via email at the same time.
- Refactor the document metadata views and add support for adding multiple
metadata types to a document at the same time.
- Addition of a new OCR backend using ``PyOCR``. This backend tries first to
do OCR using ``libtesseract``. If ``libtesseract`` is not available the
backend defaults to calling the ``tesseract`` executable.
- Make the ``lock_manager.backends.file_lock.FileLock`` the new default
locking backend.
- New transformations added:
- Rotate 90 degrees
@@ -179,19 +200,22 @@ Other changes
- Add tool to launch all workflows. GitLab issue #355
Removals
--------
- Removal of the OCR_TESSERACT_PATH configuration setting.
- Removal of the Tesseract OCR backend. Replaced with a PyOCR backend.
- Removal of the ``OCR_TESSERACT_PATH`` configuration setting.
- Removal of the Tesseract OCR backend. Replaced with a ``PyOCR`` backend.
- Remove usage of pytesseract Python library.
- Installation app.
- Recent searches feature.
Upgrading from a previous version
---------------------------------
If installed via PIP
~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^
Type in the console::
@@ -199,8 +223,9 @@ Type in the console::
the requirements will also be updated automatically.
If installed using Git
~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
@@ -218,8 +243,9 @@ Remove deprecated requirements::
$ pip uninstall -y -r removals.txt
Common steps
~~~~~~~~~~~~
^^^^^^^^^^^^
Migrate existing database schema with::
@@ -233,26 +259,27 @@ 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
Bugs fixed or issues closed
---------------------------
* :gitlab-issue:`185` Add support for nested menus
* :gitlab-issue:`285` Dashboard widgets
* :gitlab-issue:`294` Move new version creation blocking from the documents app to the checkouts app
* :gitlab-issue:`301` Remove the installation app
* :gitlab-issue:`303` Update urlpatterns in urls.py files to be a list of django.conf.urls.url() instances instead.
* :gitlab-issue:`304` Remove string view arguments of url() in urls.py files.
* :gitlab-issue:`307` Enter multiple Tags at once
* :gitlab-issue:`310` Metadata's lookup with chinese messages when new document
* :gitlab-issue:`311` acl page return ContentType:Document
* :gitlab-issue:`319` TransformationResize issue with very "long" image
* :gitlab-issue:`328` Upgrade Warning/Error during performupgrade (v2.1.3 to v2.1.4)
* :gitlab-issue:`342` Tags should be of unordered / unsorted data type
* :gitlab-issue:`343` Bootstrap's dependency on fonts.googleapis.com causes Mayan EDMS web interface load slowly if public internet is unreachable
* :gitlab-issue:`355` Workflow changes only on new added documents
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

View File

@@ -1,17 +1,14 @@
=============================
Mayan EDMS v2.3 release notes
=============================
Version 2.3
===========
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
@@ -40,15 +37,18 @@ Changes
can be accessed using {{ document.workflow.publish_workflow.get_current_state }}.
- Added a new API endpoint to display a list of all the available search models.
Removals
--------
* None
Upgrading from a previous version
---------------------------------
Using PIP
~~~~~~~~~
^^^^^^^^^
Type in the console::
@@ -56,8 +56,9 @@ Type in the console::
the requirements will also be updated automatically.
Using Git
~~~~~~~~~
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
@@ -71,8 +72,9 @@ Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
~~~~~~~~~~~~
^^^^^^^^^^^^
Migrate existing database schema with::
@@ -86,16 +88,17 @@ 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?
Bugs fixed or issues closed
---------------------------
* :gitlab-issue:`371` Auto select checkbox when updating metadata
* :gitlab-issue:`372` (Feature request) Allow 'rebuild index' to rebuild only a selected index
* :gitlab-issue:`383` Page not found when deployed to sub-uri
* :gitlab-issue:`385` mountindex: how to specify FUSE mount option allow_other?
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

View File

@@ -1,14 +1,14 @@
=============================
Mayan EDMS v2.4 release notes
=============================
Version 2.4
===========
Released: June 23, 2017
What's new
==========
Changes
-------
SANE document source
--------------------
^^^^^^^^^^^^^^^^^^^^
A new document source has been added with the ability to retrieve documents from
scanners directly. This new document source uses the SANE (Scanner Access Now Easy)
(https://en.wikipedia.org/wiki/Scanner_Access_Now_Easy) API client to communicate
@@ -16,26 +16,32 @@ with USB and network scanners. SANE must be properly installed for this document
source to work. Your scanner must also be supported by the SANE API
(http://www.sane-project.org/sane-supported-devices.html).
Automatic PDF orientation detection
-----------------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The orientation of PDF documents is now detected at creation and a rotation
transformation applied to each of the document's pages to correct the orientation.
Environment variables
---------------------
^^^^^^^^^^^^^^^^^^^^^
Configuration options can now be updated from environment variables. To update
a configuration option, prepend the string `MAYAN_` to the name of the configuration
a configuration option, prepend the string ``MAYAN_`` to the name of the configuration
option. For example, to increase the number of documents displayed per search results
page (from a default of 40) to 50 documents, set the environment variable
MAYAN_COMMON_PAGINATE_BY to 50 with::
``MAYAN_COMMON_PAGINATE_BY`` to 50 with::
$ export MAYAN_COMMON_PAGINATE_BY=50
and restart Mayan EDMS. A list of the configuration options can be found in the
`Setup` menu, under `Settings`.
:menuselection:`Setup --> Settings` menu.
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::
@@ -44,39 +50,46 @@ this is indexing documents by quarter::
Expand searchable objects
-------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^
Previously, only documents and later on document pages were searchable. This release
add support for searching for tags, metadata types and cabinets. This search support
is available via the dynamic search API.
Management command to reset locks
---------------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
During testing or development error occur and locks can remain behind, blocking
execution of a process or task until they expire. To help resolve this a
management command has been added called `purgelocks` that will delete all locks
in the system.
Index by workflow state
-----------------------
^^^^^^^^^^^^^^^^^^^^^^^
Support was added to update the a document indexes from workflow state changes.
To make workflow referencing easier from the index template, a new fields was
added to the workflow model called internal_name. For example, for a workflow
called `Publishing Workflow` with an internal name of `publishing_workflow`,
called "Publishing Workflow" with an internal name of ``publishing_workflow``,
use the following string to reference the current state in an index::
{{ document.workflow.publishing_workflow.get_current_state }}
Task manager
------------
^^^^^^^^^^^^
A new app to monitor the distribution and consumption of background task has been
added. This app is call `Task manager` and can be found in the `Tools` menu.
added. This app is call "Task manager" and can be found in the "Tools" menu.
Use this new tool to diagnose your background task workers or to determine when
to scale up the number of workers.
Other Changes
-------------
^^^^^^^^^^^^^
- Improve render of documents with no pages.
- Fix repeated permission list API URL. GitLab issue #389.
- Fix role creation API endpoint not returning id. GitLab issue #390.
@@ -84,19 +97,22 @@ Other Changes
- Add hardware requirements. GitHub issue #247.
- Fix URL query string encoding for the document page navigation views. GitLab
issue #383.
- Truncate views titles via the APPEARANCE_MAXIMUM_TITLE_LENGTH setting.
- Truncate views titles via the ``APPEARANCE_MAXIMUM_TITLE_LENGTH`` setting.
GitLab issue #217.
- Add link to show a document's OCR errors. GitLab issue #291.
Removals
--------
* None
Upgrading from a previous version
---------------------------------
Using PIP
~~~~~~~~~
^^^^^^^^^
Type in the console::
@@ -104,8 +120,9 @@ Type in the console::
the requirements will also be updated automatically.
Using Git
~~~~~~~~~
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
@@ -119,8 +136,9 @@ Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
~~~~~~~~~~~~
^^^^^^^^^^^^
Migrate existing database schema with::
@@ -134,23 +152,24 @@ 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
Bugs fixed or issues closed
---------------------------
* :github-issue:`247` Hardware requirements
* :gitlab-issue:`132` Task queue viewer
* :gitlab-issue:`217` [Documents] Truncate document label for avoid double lines in mobile or reduce font
* :gitlab-issue:`221` Add flush lock management command
* :gitlab-issue:`291` Link to OCR error log from document OCR tab
* :gitlab-issue:`344` Add support for searching folders, tags, metadata.
* :gitlab-issue:`383` Page not found when deployed to sub-uri
* :gitlab-issue:`387` Document Scanning not Functioning on rotated landscape PDF's
* :gitlab-issue:`389` How can we map permissions with a particular role using REST API?
* :gitlab-issue:`390` Id is not getting in response
* :gitlab-issue:`391` "Rebuild indexes" does not work in Mayan EDMS 2.3
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

View File

@@ -1,24 +1,26 @@
===============================
Mayan EDMS v2.5.1 release notes
===============================
Version 2.5.1
=============
Released: July 07, 2017
What's new
==========
Changes
-------
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::
@@ -26,8 +28,9 @@ Type in the console::
the requirements will also be updated automatically.
Using Git
~~~~~~~~~
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
@@ -41,8 +44,9 @@ Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
~~~~~~~~~~~~
^^^^^^^^^^^^
Migrate existing database schema with::
@@ -56,14 +60,15 @@ 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 #379 <https://gitlab.com/mayan-edms/mayan-edms/issues/379>`_ Add new document version list view permission.
Bugs fixed or issues closed
---------------------------
* :gitlab-issue:`378` Add metadata widget changes from @Macrobb
* :gitlab-issue:`379` Add new document version list view permission.
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

View File

@@ -1,14 +1,14 @@
===============================
Mayan EDMS v2.5.2 release notes
===============================
Version 2.5.2
=============
Released: July 08, 2017
What's new
==========
Changes
-------
Improve duplicate document scan
-------------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Previously the way document creation code was enclosed in a single database
transactions. This cause the duplicate scan at upload code to received a
document reference to uncommitted database data. The single database
@@ -18,13 +18,15 @@ recevies saved and committed data.
Removals
--------
* None
Upgrading from a previous version
---------------------------------
Using PIP
~~~~~~~~~
^^^^^^^^^
Type in the console::
@@ -32,8 +34,9 @@ Type in the console::
the requirements will also be updated automatically.
Using Git
~~~~~~~~~
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
@@ -47,8 +50,9 @@ Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
~~~~~~~~~~~~
^^^^^^^^^^^^
Migrate existing database schema with::
@@ -62,12 +66,13 @@ The upgrade procedure is now complete.
Backward incompatible changes
=============================
-----------------------------
* None
Bugs fixed or issues closed
===========================
---------------------------
* None

View File

@@ -1,26 +1,30 @@
=============================
Mayan EDMS v2.5 release notes
=============================
Version 2.5
===========
Released: July 07, 2017
What's new
==========
Changes
-------
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
@@ -36,15 +40,19 @@ 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
@@ -53,22 +61,28 @@ 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
@@ -79,8 +93,10 @@ 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
@@ -94,27 +110,31 @@ addition of being able to search documents by their checksum. This was done by
indexing the checksum database field and by adding the checksum as a search
field in the advanced document search view and via the API.
Login session control
---------------------
^^^^^^^^^^^^^^^^^^^^^
Support was added to control the length of time a log in session lasts. First
from the user interface side of things a "Remember me" checkbox was added to
the log in form that will cause the session to persist after the browser is
closed. If this checkbox is left blank the session will be destroyed when the
browser closes and the user will need to log in again when accessing any of the
URLs. The second part of this feature is for administrators. The configuration
setting AUTHENTICATION_MAXIMUM_SESSION_LENGTH was added to control the maximum
time a logged in session will persist when users click the "Remember me"
setting ``AUTHENTICATION_MAXIMUM_SESSION_LENGTH`` was added to control the
maximum time a logged in session will persist when users click the "Remember me"
checkbox. The default of this setting is 30 days.
Document image cache disabling
------------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
It is now possible to disable the document page image caching. The document
image cache works on two level and hence two setting options were added.
The first is the DOCUMENTS_DISABLE_BASE_IMAGE_CACHE option which disables the
The first is the ``DOCUMENTS_DISABLE_BASE_IMAGE_CACHE`` option which disables the
first layer of caching, the generation of a master image file for each document
page. This means that subsequent request for a page's image will trigger the
conversion of the document from its original uploaded file. The second option,
DOCUMENTS_DISABLE_TRANSFORMED_IMAGE_CACHE, disables just the caching of the
``DOCUMENTS_DISABLE_TRANSFORMED_IMAGE_CACHE``, disables just the caching of the
transformed (rotated, resized, zoomed) images of document pages. The settings
can be used together or separately depending on how much disk space saving is
desired. These settings give control over the trade-off between disk space
@@ -122,19 +142,24 @@ 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).
@@ -153,14 +178,14 @@ Other Changes
- Make sure lookup selection widgets also trigger the metadata update
checkbox on change.
- Usability improvements on small displays.
- Removal of the CONVERTER_LIBREOFFICE_PATH and CONVERTER_PDFTOPPM_PATH
- Removal of the ``CONVERTER_LIBREOFFICE_PATH`` and ``CONVERTER_PDFTOPPM_PATH``
settings. These setting have been consolidated into
CONVERTER_GRAPHICS_BACKEND_CONFIG.
``CONVERTER_GRAPHICS_BACKEND_CONFIG``.
- Improve the documentation of the document creation API endpoint.
GitHub issue #255. Thanks to @lcerliani opening the issue.
- Libre Office conversion improvements. Give every libreoffice instance
its own separate $HOME directory. Additionally give every libreoffice
its own UserInstallation file in the $HOME directory. Works around
its own separate ``$HOME`` directory. Additionally give every libreoffice
its own UserInstallation file in the ``$HOME`` directory. Works around
Libre Office issue: https://bugs.documentfoundation.org/show_bug.cgi?id=37531
Solves or affects GitLab issues #393 #258 #198 #175
- The trashed document deletion action is now a background task. This
@@ -181,15 +206,18 @@ Other Changes
- Unicode handling improvements.
- Update required versions of Pillow and django-suit.
Removals
--------
* None
Upgrading from a previous version
---------------------------------
Using PIP
~~~~~~~~~
^^^^^^^^^
Type in the console::
@@ -197,8 +225,9 @@ Type in the console::
the requirements will also be updated automatically.
Using Git
~~~~~~~~~
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
@@ -212,8 +241,9 @@ Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
~~~~~~~~~~~~
^^^^^^^^^^^^
Migrate existing database schema with::
@@ -227,17 +257,18 @@ 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
Bugs fixed or issues closed
---------------------------
* :github-issue:`255` Uploading a local file via api
* :gitlab-issue:`215` Download text contents
* :gitlab-issue:`286` User configurable mailer
* :gitlab-issue:`337` Better way to switch Optional to Required Metadata
* :gitlab-issue:`373` (feature request) Allow selecting document types for metadata
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

View File

@@ -1,25 +1,25 @@
=============================
Mayan EDMS v2.6 release notes
=============================
Version 2.6
===========
Released: July 18, 2017
What's new
==========
Changes
-------
Other Changes
-------------
- Fix issue when editing or removing metadata from multiple documents.
Removals
--------
* None
Upgrading from a previous version
---------------------------------
Using PIP
~~~~~~~~~
^^^^^^^^^
Type in the console::
@@ -27,8 +27,9 @@ Type in the console::
the requirements will also be updated automatically.
Using Git
~~~~~~~~~
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
@@ -42,8 +43,9 @@ Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
~~~~~~~~~~~~
^^^^^^^^^^^^
Migrate existing database schema with::
@@ -57,13 +59,15 @@ The upgrade procedure is now complete.
Backward incompatible changes
=============================
-----------------------------
* None
Bugs fixed or issues closed
===========================
---------------------------
* None
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

View File

@@ -1,16 +1,13 @@
===============================
Mayan EDMS v2.6.2 release notes
===============================
Version 2.6.2
=============
Released: July 22, 2017
What's new
==========
This is a bug fix release and users are encouraged to upgrade.
Other Changes
-------------
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.
@@ -20,15 +17,18 @@ Other Changes
- Allow total page number instrospection of encrypted PDF with non ASCII
user properties. GitLab issue #411.
Removals
--------
* None
Upgrading from a previous version
---------------------------------
Using PIP
~~~~~~~~~
^^^^^^^^^
Type in the console::
@@ -36,8 +36,9 @@ Type in the console::
the requirements will also be updated automatically.
Using Git
~~~~~~~~~
^^^^^^^^^
If you installed Mayan EDMS by cloning the Git repository issue the commands::
@@ -51,8 +52,9 @@ Next upgrade/add the new requirements::
$ pip install --upgrade -r requirements.txt
Common steps
~~~~~~~~~~~~
^^^^^^^^^^^^
Migrate existing database schema with::
@@ -66,13 +68,15 @@ The upgrade procedure is now complete.
Backward incompatible changes
=============================
-----------------------------
* None
Bugs fixed or issues closed
===========================
---------------------------
* None
.. _PyPI: https://pypi.python.org/pypi/mayan-edms/

Some files were not shown because too many files have changed in this diff Show More