Repozitory is a library for archiving documents and recovering old versions. It is designed to work in tandem with a primary document storage mechanism such as ZODB. Repozitory stores the document versions in a PostgreSQL or SQLite database using SQLAlchemy. Repozitory was built for KARL, an open source online collaboration system, but Repozitory is intended to be useful for any Python project that stores user-editable documents. Repozitory does not require ZODB.
See the documentation at http://readthedocs.org/docs/repozitory .
- Added performance metrics using the perfmetrics package.
- Added the shred method for deleting objects and containers permanently.
- Added the iter_hierarchy method, which iterates over archived containers in a hierarchy more efficiently than repeated calls to container_contents.
- Added the which_contain_deleted method, which is useful for making a hierarchical trash UI with reasonable performance. Designed to help solve lp:913990.
- Fixed lp:891277: Blob file chunks were sometimes retrieved in the wrong order due to an incorrect backref declaration.
- Fixed packaging on PyPI (essential files were missing; setuptools-git was needed.)
- Added the new_container_ids attribute to deleted item records. This allows undeletion UIs to filter out objects that have moved to another container. It should also allow applications to redirect users to the new location of a moved object. No schema migration is needed.
- Added the get_version method to archives. The get_version method is more efficient than iterating over the entire history of an object.
- Initial release.