mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-01-24 22:39:02 -06:00
Cleaning up the documentation and adding the first migration guide
This commit is contained in:
@@ -501,7 +501,7 @@ The `datetime` filter formats a datetime string or datetime object using Python'
|
|||||||
See the [strftime format code documentation](https://docs.python.org/3.13/library/datetime.html#strftime-and-strptime-format-codes)
|
See the [strftime format code documentation](https://docs.python.org/3.13/library/datetime.html#strftime-and-strptime-format-codes)
|
||||||
for the possible codes and their meanings.
|
for the possible codes and their meanings.
|
||||||
|
|
||||||
##### Date Localization
|
##### Date Localization {#date-localization}
|
||||||
|
|
||||||
The `localize_date` filter formats a date or datetime object into a localized string using Babel internationalization.
|
The `localize_date` filter formats a date or datetime object into a localized string using Babel internationalization.
|
||||||
This takes into account the provided locale for translation. Since this must be used on a date or datetime object,
|
This takes into account the provided locale for translation. Since this must be used on a date or datetime object,
|
||||||
|
|||||||
19
docs/migration.md
Normal file
19
docs/migration.md
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# v3 Migration Guide
|
||||||
|
|
||||||
|
## Consumer Settings Changes
|
||||||
|
|
||||||
|
The v3 consumer command uses a [different library](https://watchfiles.helpmanual.io/) to unify
|
||||||
|
the watching for new files in the consume directory. For the user, this removes several configuration options related to delays and retries
|
||||||
|
and replaces with a single unified setting. It also adjusts how the consumer ignore filtering happens, replaced `fnmatch` with `regex` and
|
||||||
|
separating the directory ignore from the file ignore.
|
||||||
|
|
||||||
|
### Summary
|
||||||
|
|
||||||
|
| Old Setting | New Setting | Notes |
|
||||||
|
| ------------------------------ | ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
|
||||||
|
| `CONSUMER_POLLING` | [`CONSUMER_POLLING_INTERVAL`](configuration.md#PAPERLESS_CONSUMER_POLLING_INTERVAL) | Renamed for clarity |
|
||||||
|
| `CONSUMER_INOTIFY_DELAY` | [`CONSUMER_STABILITY_DELAY`](configuration.md#PAPERLESS_CONSUMER_STABILITY_DELAY) | Unified for all modes |
|
||||||
|
| `CONSUMER_POLLING_DELAY` | _Removed_ | Use `CONSUMER_STABILITY_DELAY` |
|
||||||
|
| `CONSUMER_POLLING_RETRY_COUNT` | _Removed_ | Automatic with stability tracking |
|
||||||
|
| `CONSUMER_IGNORE_PATTERNS` | [`CONSUMER_IGNORE_PATTERNS`](configuration.md#PAPERLESS_CONSUMER_IGNORE_PATTERNS) | **Now regex, not fnmatch** and appended to the default ignore patterns |
|
||||||
|
| _New_ | [`CONSUMER_IGNORE_DIRS`](configuration.md#PAPERLESS_CONSUMER_IGNORE_DIRS) | Additional directories to ignore and appended to the default ignore names |
|
||||||
@@ -234,47 +234,9 @@ FileNotFoundError: [Errno 2] No such file or directory: '/tmp/ocrmypdf.io.yhk3zb
|
|||||||
|
|
||||||
This probably indicates paperless tried to consume the same file twice.
|
This probably indicates paperless tried to consume the same file twice.
|
||||||
This can happen for a number of reasons, depending on how documents are
|
This can happen for a number of reasons, depending on how documents are
|
||||||
placed into the consume folder. If paperless is using inotify (the
|
placed into the consume folder, such as how a scanner may modify a file multiple times as it scans.
|
||||||
default) to check for documents, try adjusting the
|
Try adjusting the
|
||||||
[inotify configuration](configuration.md#inotify). If polling is enabled, try adjusting the
|
[file stability delay](configuration.md#PAPERLESS_CONSUMER_STABILITY_DELAY) to a larger value.
|
||||||
[polling configuration](configuration.md#polling).
|
|
||||||
|
|
||||||
## Consumer fails waiting for file to remain unmodified.
|
|
||||||
|
|
||||||
You might find messages like these in your log files:
|
|
||||||
|
|
||||||
```
|
|
||||||
[ERROR] [paperless.management.consumer] Timeout while waiting on file /usr/src/paperless/src/../consume/SCN_0001.pdf to remain unmodified.
|
|
||||||
```
|
|
||||||
|
|
||||||
This indicates paperless timed out while waiting for the file to be
|
|
||||||
completely written to the consume folder. Adjusting
|
|
||||||
[polling configuration](configuration.md#polling) values should resolve the issue.
|
|
||||||
|
|
||||||
!!! note
|
|
||||||
|
|
||||||
The user will need to manually move the file out of the consume folder
|
|
||||||
and back in, for the initial failing file to be consumed.
|
|
||||||
|
|
||||||
## Consumer fails reporting "OS reports file as busy still".
|
|
||||||
|
|
||||||
You might find messages like these in your log files:
|
|
||||||
|
|
||||||
```
|
|
||||||
[WARNING] [paperless.management.consumer] Not consuming file /usr/src/paperless/src/../consume/SCN_0001.pdf: OS reports file as busy still
|
|
||||||
```
|
|
||||||
|
|
||||||
This indicates paperless was unable to open the file, as the OS reported
|
|
||||||
the file as still being in use. To prevent a crash, paperless did not
|
|
||||||
try to consume the file. If paperless is using inotify (the default) to
|
|
||||||
check for documents, try adjusting the
|
|
||||||
[inotify configuration](configuration.md#inotify). If polling is enabled, try adjusting the
|
|
||||||
[polling configuration](configuration.md#polling).
|
|
||||||
|
|
||||||
!!! note
|
|
||||||
|
|
||||||
The user will need to manually move the file out of the consume folder
|
|
||||||
and back in, for the initial failing file to be consumed.
|
|
||||||
|
|
||||||
## Log reports "Creating PaperlessTask failed".
|
## Log reports "Creating PaperlessTask failed".
|
||||||
|
|
||||||
|
|||||||
@@ -565,7 +565,7 @@ This allows for complex logic to be used to generate the title, including [logic
|
|||||||
and [filters](https://jinja.palletsprojects.com/en/3.1.x/templates/#id11).
|
and [filters](https://jinja.palletsprojects.com/en/3.1.x/templates/#id11).
|
||||||
The template is provided as a string.
|
The template is provided as a string.
|
||||||
|
|
||||||
Using Jinja2 Templates is also useful for [Date localization](advanced_usage.md#Date-Localization) in the title.
|
Using Jinja2 Templates is also useful for [Date localization](advanced_usage.md#date-localization) in the title.
|
||||||
|
|
||||||
The available inputs differ depending on the type of workflow trigger.
|
The available inputs differ depending on the type of workflow trigger.
|
||||||
This is because at the time of consumption (when the text is to be set), no automatic tags etc. have been
|
This is because at the time of consumption (when the text is to be set), no automatic tags etc. have been
|
||||||
|
|||||||
@@ -69,8 +69,9 @@ nav:
|
|||||||
- development.md
|
- development.md
|
||||||
- 'FAQs': faq.md
|
- 'FAQs': faq.md
|
||||||
- troubleshooting.md
|
- troubleshooting.md
|
||||||
|
- 'Migration to v3': migration.md
|
||||||
- changelog.md
|
- changelog.md
|
||||||
copyright: Copyright © 2016 - 2023 Daniel Quinn, Jonas Winkler, and the Paperless-ngx team
|
copyright: Copyright © 2016 - 2026 Daniel Quinn, Jonas Winkler, and the Paperless-ngx team
|
||||||
extra:
|
extra:
|
||||||
social:
|
social:
|
||||||
- icon: fontawesome/brands/github
|
- icon: fontawesome/brands/github
|
||||||
|
|||||||
Reference in New Issue
Block a user