Table of Contents
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.
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 healthcheckAttempts 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 surgeryThere is also a --dry-run parameter that prevents committing changes.
$ bin/instance doctor --dry-run surgeryIf 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.
- Add the package to your buildout configuration:
[instance]
eggs +=
...
ftw.catalogdoctor
Plone 4.3.x Plone 5.1.x
- 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.
- Github: https://github.com/4teamwork/ftw.catalogdoctor
- Issues: https://github.com/4teamwork/ftw.catalogdoctor/issues
- Pypi: http://pypi.python.org/pypi/ftw.catalogdoctor
This package is copyright by 4teamwork.
ftw.catalogdoctor is licensed under GNU General Public License, version 2.