Introduction
The package ftw.catalogdoctor provides healthcheck to find inconsistencies in portal_catalog and surgery to remove some of them. It can be run via a zopectl.command.
Healthcheck
Lists inconsistencies detected in portal_catalog. Finds inconsistencies by inspecting the catalog’s internal data structures. It currently uses paths (the rid-path mapping), uids (the path-rid mapping), the UID index and catalog metadata to determine if the catalog is healthy or if there are problems. Healtcheck is a read-only operation and won’t modify the catalog.
It can be run as follows:
$ bin/instance doctor healthcheck
Surgery
Attempts to fix issues found by healthcheck. Will do a healtchcheck before surgery, then attempt surgery and finally do a post-surgery healthcheck. Surgery is a write operation but changes are only committed to the database if the post-surgery healtcheck yields no more health problems. Currently the set of available surgery is limited to problems we have observed in production.
It can be run as follows:
$ bin/instance doctor surgery
There is also a –dry-run parameter that prevents committing changes.
$ bin/instance doctor --dry-run surgery
Debugging
If you need to debug/analyze issues that ftw.catalogdoctor cannot fix yet have a look at the debug module. It provides useful functions to pprint or inspect catalog state.
Installation
Add the package to your buildout configuration:
[instance]
eggs +=
...
ftw.catalogdoctor
Compatibility
Plone 4.3.x Plone 5.1.x
Development
Fork this repo
Clone your fork
Shell: ln -s development.cfg buildout.cfg
Shell: python bootstrap.py
Shell: bin/buildout
Run bin/test to test your changes.
Or start an instance by running bin/instance fg.
Links
Copyright
This package is copyright by 4teamwork.
ftw.catalogdoctor is licensed under GNU General Public License, version 2.
Changelog
1.2.1 (2024-10-14)
Delay import of Testing module in zopectl command to not accidently create a demo storage. [buchi]
1.2.0 (2020-10-06)
Defer reindex until removal from indexes is done, introduce post-op. [deiferni]
1.1.0 (2020-09-30)
Drop duplicate objects from Acquisition when fixing UID index. [deiferni]
Implement reindexing objects when still traversable for orphaned rids. [deiferni]
Check for shorter path rather than direct parent in surgery safeguard. [deiferni]
Use extra rid removal surgery for new symptoms. [deiferni]
1.0.0 (2019-07-08)
Initial implementation.
Metadata
Release files for ftw.catalogdoctor 1.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ftw.catalogdoctor-1.2.1.tar.gz | 33.0 kB | Without provenance | Details for ftw.catalogdoctor-1.2.1.tar.gz |
Release files / ftw.catalogdoctor-1.2.1.tar.gz
| Download URL | ftw.catalogdoctor-1.2.1.tar.gz |
|---|---|
| Size | 33.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fd243d5d9b6a2d1fe73d012b369107e72e5f13e2ac15667422c75412f8f62fb3
|
|
BLAKE2b-256 checksum How to use checksums |
e85912ce4b1aaf4681d1055ddb4b561b68b3af448618b253fdab245cb97021a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.6
|
Security for ftw.catalogdoctor 1.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.