同步操作将从 Gitee 极速下载/mayan-edms 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
Update the sample LDAP settings file to add note about package
version pinning required by the use of the Buster Backports.
Closes GitLab issue #693. Thanks to Ryan Showalter (@ryanshow) for
the report and Ilya Pavlov (@spirkaa) for a solution.
The package list for MAYAN_APT_INSTALLS
for the LDAP setting file
is now "gcc libldap2-dev/buster-backports libsasl2-dev python3-dev".
Update Docker base image from debian:10.7-slim to debian:10.8-slim.
Update file caching migration 0005 to have Django generate the SQL query for each respective backend. Closes GitLab issue #964. Thanks to forum user @lsmoker for the report and research.
Backports from version 4.0:
- 432ec35eb7bb0b8da4765f86cb6491e7667b4831 Ensure all tasks are properly configured. Added a check to the task manager app to ensure all defined tasks are properly configure in their respective
queues.py
modules.- Fix dynamic search task names during queue registration.
- b883c647e943be0ef62096c456118f86ef3534ac 1e7d85175d7379fc7dca454462497db960635e3e Raise object creation and edit exceptions during testing.
- 14bdcb704269c43b8e9553aaf905e54ca7f16ced Don't remove arguments from overloaded .save(). Pass all arguments to the super class save method. Scrapping the arguments hide errors during testing.
- 9fc9288b52d63aa288e430a9cc1f8fd1a4295747 Test communication with the locking backend when the app loads. Add support for purging
RedisLock
backend locks. Prefix all locks in theRedisLock
backend to avoid name clashing when using the same database. Ensure the default timeout setting is used by the backends.
Move task manager app to the top of the installed apps. This ensures all queues are created before any other app tries to use them. Fixes the error: celery.exceptions.QueueNotFound: "Queue 'default' missing from task_queues"
Add connectivity check for the Celery broker URL and the result backend settings. Closes GitLab issue #940. Thanks to Vadim Radu (@vd-rd) for the report.
Update the Docker Compose file to allow specifying a different database host as well as a different image tag for the Mayan, PostgreSQL and Redis containers.
Added the fuse
package to the Docker image.
Updated the Docker Compose file to load an env file.
Added a default env_file with some examples uses.
Ensure logging is available early. Move logging init to the logging app and move the logging app to the top of the app list.
Backport multiple test document types code.
Allow not updating required metadata with value. A validation was raised when metadata update checkbox was disable and the metadata was required. This behavior is now fine tuned to not raise a validation error if the metadata already has a value which would comply with the original purpose of required metadata. Closes GitLab issue #936. Thanks to Raimar Sandner (@PiQuer)for the report.
Make the metadata type id usage more explicit in formsets.
ObjectActionMixin
messages translatable..get_external_object_queryset
to ensure that the queryset is
always up to date when the view is accessed.libarchive-zip-perl
to the Docker image to allow EXIFTOOL to
retrieve Zip file metadata. Closes GitLab issue #918. Thanks to Enrico
Gargale (@egargale) for the request.Update dependencies versions:
- celery from 4.3.0 to 4.4.7
- chart.js from 2.7.2 to 2.7.3
- coverage from 5.0.4 to 5.1
- coveralls from 1.11.1 to 2.0.0
- drf-yasg from 1.6.0 to 1.17.1
- djangorestframework from 3.7.7 to 3.11.0
- django-extensions from 2.2.8 to 2.2.9
- django-rosetta from 0.9.3 to 0.9.4
- flake8 from 3.7.9 to 3.8.3
- flex from 6.14.0 to 6.14.1
- gevent from 1.4.0 to 20.4.0
- graphviz from 0.13.2 to 0.14
- ipython from 7.13.0 to 7.15.0
- python_gnupg from 0.4.5 to 0.4.6
- pytz from 2019.1 to 2020.1
- safety from 1.8.7 to 1.9.0
- select2 from 4.0.3 to 4.0.13
- sh from 1.12.14 to 1.13.1
- sphinxcontrib-spelling from 4.3.0 to 5.0.0
- swagger-spec-validator from 2.4.3 to 2.5.0
- transifex-client from 0.13.8 to 0.13.10
- tox from 3.14.5 to 3.14.6
Remove kombu dependency. This is automatically installed by Celery.
Remove explicit Python 3 checks and conditional code.
Remove conditional assignment of FileNotFoundErrorException. Use Python 3's FileNotFoundError.
Remove casting of dict_type and dictionary_type.
Add group and permission count column to the role object.
Prefix all signals with signal_
.
Move the apps search setup to their own module.
Move the SharedUpload model to the storage app.
The setting COMMON_SHARED_STORAGE
is now STORAGE_SHARED_STORAGE
and COMMON_SHARED_STORAGE_ARGUMENTS
is now
STORAGE_SHARED_STORAGE_ARGUMENTS
.
Remove usage of the python_2_unicode_compatible wrapper.
Rename smart_settings.classes.Namespace to SettingNamespace.
Rename smart_settings.classes.NamespaceMigration to SettingNamespaceMigration.
Use headless version of Libre Office in the Docker images to reduce the image size.
Remove the fragment "(object):" from all base class declarations.
Remove settings DOCUMENTS_DISABLE_BASE_IMAGE_CACHE
and
DOCUMENTS_DISABLE_TRANSFORMED_IMAGE_CACHE
.
Add keyword arguments to all the open()
and delete()
methods
and functions.
Move test related code from the common app to a new tests app.
Test related imports from mayan.apps.common.tests
need to be renamed to mayan.apps.tests.tests
.
Move compressed file related code to the storage app.
Add new search backend based on Whoosh.
To use it, change SEARCH_BACKEND
to
mayan.apps.dynamic_search.backends.whoosh.WhooshSearchBackend
.
This backend will be the default one in a future release.
New setting to limit the number of search results returned. This setting
avoid runaway CPU usage on ambiguous search terms. The setting name is
SEARCH_RESULTS_LIMIT
and defaults to 100.
Improve and unify the way icon shadows is produced. Removed the
shadow_class
and shadow_class_transformation_list
arguments.
Improve and simplify the logging system. It is now possible to change the level of the logging. The settings have been renamed for clarity and uniformity.
The COMMON_AUTO_LOGGING
and COMMON_PRODUCTION_ERROR_LOGGING
have been merged into LOGGING_ENABLE
.
COMMON_PRODUCTION_ERROR_LOG_PATH
is now
LOGGING_LOG_FILE_PATH
and continues to default to the
MEDIA_ROOT/error.log
path.
The new setting LOGGING_LEVEL
controls the log level.
A second new setting named LOGGING_HANDLERS
controls
the list of output log handlers. It defaults to console
but also
supports a second one named logfile
. The logfile
handler
is the same one that previously enabled when setting the setting
COMMON_PRODUCTION_ERROR_LOGGING
to true
.
Remove the django-test-without-migrations package.
Split the common app into common and views. The new views app controls
generic views, view mixins, forms, and widgets.
The setting COMMON_PAGINATE_BY
is now named VIEWS_PAGINATE_BY
.
Allow access to document stubs.
Mirroring improvements. Allow running the mountindex in the background. Display a message when running on the foreground to avoid confusion. Add internal FUSE logging and allow control of the log level.
Move dependencies to their respective app:
Add a tags and filters selection to the template widget.
Remove runtime.py modules and move instancing to base class. Avoids keeping long lived objects in memory.
Consolidate app module loading using AppsModuleLoaderMixin.
Remove usage of django.utils.six.
Add django-silk as a development dependency. Add a development setting for django-silk.
Add the ModelQueryFields class to allow programmatic setting of a model's select_related and prefetch_related fields. Optimize the most common queries and views to use ModelQueryFields.
Move model error logging from the common to the new logging app.
Generalize the model error logging code.
Convert the user mailer and sources app to use the new logging app.
Improve the logging in the sources app.
Raise error if the watch folder doesn't exists or is not a directory.
Support setting a limit of error log entries.
Refactor the OCR process to use Celery canvas.
Increase atomicity of the OCR process. GitLab issue #209.
Disable Tesseract multi threading to speed up processing when running multiple instances at the same time.
Search improvements:
Remove the noopocr.NoOpOCR OCR backend.
Remove the pyocr OCR backend.
Move the ErrorLoggingMiddleware from the common app to the logging app.
Allow passing environment entries to the Tesseract OCR backend.
Improve main menu styling and JavaScript code. Improve hover highlighting and maximize space.
Add support for copying: document types, groups, mailing profiles, metadata types, messages of the day, workflows, quotas, roles, smart links, tags, web links.
Add document type searches.
Templating improvements:
Add workflow action to update document OCR content.
Split TemplateField into TemplateField and ModelTemplateField.
Split TemplateWidget into TemplateWidget and ModelTemplateWidget.
Use TemplateField for metadata type's default and lookup fields.
Convert the trash emptying action into a background task.
Add support for excluding model proxies from menu link resolving via the .add_proxy_exclusion() menu method.
Use proxy exclusion to disable the normal multi item document links from being displayed for trashed documents.
Add subwidgets_order to NamedMultiWidget class.
Update the statistics icon.
Add support to change the dashboard widget details link icon.
Fix icon for the add document to favorites link.
Add related actions menu.
Expose Celery's BROKER_LOGIN_METHOD
and BROKER_USE_SSL
via the
new CELERY_BROKER_LOGIN_METHOD
and CELERY_BROKER_USE_SSL
settings.
CELERY_BROKER_LOGIN_METHOD
defaults to AMQPLAIN
and
CELERY_BROKER_USE_SSL
defaults to None
.
Add support for each app to specify their own static media ignore patterns
via the app config attribute static_media_ignore_patterns
.
Updated the static_media_ignore_patterns
of apps to remove more unused
media files. Lowers the static media folder size from 83MB to 51MB.
Add boolean field to workflows to control whether or not they will launch when a new document is created.
Add views to launch workflows for single or multiple documents.
Workflow to document type matching is now enforced when launching workflows.
Two background tasks were added to make launching workflows an asynchronous event. This speeds up uploading documents in bulk.
Add the workflow action to the context of the initial state actions.
Add multiple workflow delete view.
Add multiple message delete view.
Moved the statistics queue from the slow worker to the medium worker.
Retry document page image generation tasks on lock error.
Add settings named DOCUMENT_TASK_GENERATE_DOCUMENT_PAGE_IMAGE_RETRY_DELAY
to adjust the retry delay of the document page image generation task.
Add workflow action to launch other workflows.
Update the workflow action .get_form_schema()
to accept the workflow state
for which the action is being created.
Add locking to the document page image generation to avoid a race condition on high load.
Update the redactions layer to use an order of 0.
Add decorations layer.
Add converter assets.
Add asset paste transformation by coordinates and by percentage.
Add asset watermark transformation by coordinates.
Remove transformation choices from layer model.
Disable edit button on invalid transformations.
Disable edit button on transformations without arguments.
Remove transformation order field default. An empty value is more intuitive to the purpose of the field.
Make transformation order column sortable.
Group workflow actions choices by app.
Use select2 widget for the workflow action selection field.
Add workflow action to add transformations to document pages.
Add support to change the Gunicorn worker class via the environment variable
MAYAN_GUNICORN_WORKER_CLASS
.
Add support for document type filename generators.
Add themes support via the appearance app.
Add new bleach
dependency to sanitize the themes stylesheets.
Preserve the original document filename when executing the EXIFToolDriver by using a temporary folder instead of a temporary file. Closes GitLab issue #745. Thanks to the Jeroen Van den Keybus (@vdkeybus) for the report and solution suggestion.
Move mailing profile choice generation from the form to the class.
Add "No results" text for empty file metadata driver lists.
Add file metadata submit link for "No results" file metadata driver template.
Remove converter.validators and replace it with common.validators.
Autoimport search.py modules from apps.
Make SearchField
label optional. If not specified, the verbose_name
of the model field will be used instead.
Sort search form fields.
Make web link label field unique. A data migration is included to de-duplicate the labels before altering the schema.
Enable the web link navigated event for subscription and as workflow trigger.
Add events to assets.
Re query search queryset after it has been sliced to workaround the ORM "Cannot filter a query once a slice has been taken".
Add events to the message of the day app.
Add search template tag to pass the search model URL and query string variable to the search template and avoid hardcoding it.
Add workflow actions to add, edit, and remove metadata from documents.
Update Docker image version from Debian 10.3 to 10.5.
Add column to show the list of fields of a workflow transition.
Unify the spacing of the list columns for all variations of sort columns and columns with help text.
Move the column help text mark up into its own partial template.
Only instance valid workflow transition transition fields from an existing workflow instance context.
Add helper script to find missing __init__.py files.
Trigger the workflow edited event when making changes to the workflow states, state actions, transitions, or transition fields.
Update Python client for PostgreSQL from version 2.8.4 to 2.8.6, and Redis client version from 3.4.1 to 3.5.3.
Initialize document version _execute_hooks with a valid result. Allows disabling apps that modify the hook list like document signatures.
Do not error out when an app that defined a cached storage is disabled, like the workflows app.
Disable purge method and purge links on invalid file caches.
Do not error out when an app that defined a transformation layer is disabled.
Invert the document and OCR migrations 0006 to 0003 dependency. Makes the OCR migration dependent on the documents app migration. This allows disabling the OCR app.
Remove the transaction block when creating documents. This allows document stubs to be accessible from within signal handlers.
Update GitLab CI Docker build and test stage to run using a PostgreSQL database and a Redis container.
Remove deprecated BROKER_BACKEND
setting and replace it
with CELERY_BROKER_URL
.
Default DEFAULT_CELERY_BROKER_URL
to 'memory://'
.
This ensures operation even when there is no broker available.
Fix REST API chapter formatting.
Add search documentation chapter.
Remove extra space from link label.
Add keyword arguments to .acquire_lock().
Add keyword arguments to shutil library usage
Merge c18d145c4ea1d5cfb23dc8cd517bc8ddd4149782 "Generate only one CSRF token per HTML form" from Version 4.0.
Merge fb3f0d3c35bf7c0880a8a4b4b650f7767ee089a7 "Merge URL and form data in a smarter way" from Version 4.0.
Use URI class to merge the URL and the query string for the form fields in a smart way instead of just concatenating using a '?'.
Closes GitLab issue #706. Thanks to Matthias Urlichs (@smurfix) for the report.
Add keyword arguments to sh.Command().
.save()
method
are now only created if they don't already exists. Add support to the
encryption storage to accept unicode content. GitLab issue #876.formset_factory
keyword arguments.default_acl
./api/objects/{app}/{model}/permissions/
.
Forum topic 2858. Thanks to forum user @neuhs for the report.document_signatures/storages.py
and
document_signatures/settings.py
.CELERY_BROKER_LOGIN_METHOD
and
CELERY_BROKER_USE_SSL
. These default to AMQPLAIN
and None
respectively.DOCUMENT_INDEXING_TASK_RETRY_DELAY
and
defaults to the previous value of 5 seconds.AUTHENTICATION_BACKENDS
setting.--no-use-pep517
has been removed from the installation
and version 3.4 upgrade documents. Closes GitLab issue #810. Thanks to
jhayn49 (@jhayn49) for the report.COMMON_URL_BASE_PATH
.SESSION_COOKIE_NAME
and SESSION_ENGINE
settings.checkdependencies
command will now mark missing production
dependencies with a symbol and an ANSI coloration.--csv
option to the checkdependencies
command to output the
result as comma delimited values.DOCUMENTS_LIST_THUMBNAIL_WIDTH
setting value to
document pages and document version thumbnails too.DOCUMENTS_LIST_THUMBNAIL_WIDTH
to control
the size of the thumbnails on list view mode.dependencies.environments.py
.extract-msg
.SIGNATURES_BACKEND
and
SIGNATURES_BACKEND_ARGUMENTS
. This change also removes two settings:
SIGNATURES_GPG_HOME
and SIGNATURES_GPG_PATH
. SIGNATURES_GPG_HOME
had already been deprecated and was innactive. SIGNATURES_GPG_PATH
is now
component gpg_path
of the setting SIGNATURES_BACKEND_ARGUMENTS
.SEARCH_BACKEND
(which defaults to mayan.apps.dynamic_search.backends.django.DjangoSearchBackend
)
and SEARCH_BACKEND_ARGUMENTS
.preparestatic
as part of the initialsetup
and
performupgrade
commands.MAYAN_SKIP_CHOWN_ON_STARTUP
to skip
performing the initial chown on the media folder at /var/lib/mayan.
This command is slow on non native block storage backends.SECURE_PROXY_SSL_HEADER
,
USE_X_FORWARDED_HOST
, and USE_X_FORWARDED_PORT
.MAYAN_DOCKER_WAIT
to have the Docker image
wait for a host and port to become available.DOCUMENTS_STUB_EXPIRATION_INTERVAL
. Defaults to previous value of 24
hours to preserve existing behavior.purgeperiodictasks
command to the task manager app.interactive
option usage for the purgeperiodictasks
command. Closes GitLab issue #785. Thanks to Matthias Löblich (@startmat)
for the report./favicon.ico
from the authenticated URL list. Closes GitLab
issue #786. Thanks to Matthias Löblich (@startmat) for the report.showversion
. The command has one option --build-string` that will
show the build string instead. Closes #MD-14.checkversion
. Closes issue #MD-28.REST_API_DISABLE_LINKS
and defaults to false
.AUTHENTICATION_DISABLE_PASSWORD_RESET
and
defaults to false
.此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。