Skip to main content

Versioning for django CMS

Project description

Latest PyPI version Python versions Django versions django CMS versions Coverage

django CMS Versioning

Installation

Requirements

django CMS Versioning requires that you have a django CMS 4.0 (or higher) project already running and set up.

Note: This package uses django-fsm-2 (actively maintained by Django Commons) instead of the original django-fsm for better support and maintenance.

To install

Run:

pip install djangocms-versioning

Add djangocms_versioning to your project’s INSTALLED_APPS.

Run:

python -m manage migrate djangocms_versioning
python -m manage create_versions --userid <user-id-of-migration-user>

to perform the application’s database migrations and (only if you have an existing database) add version objects needed to mark existing versions as draft.

Usage

To add versioning to your own models, start with the tutorial in docs/tutorials/versioning_a_blog.rst. More detailed integration instructions are available in docs/howto/versioning_integration.rst.

An example implementation can be found here:

Testing

To run all the tests the only thing you need to do is run:

pip install -r tests/requirements/requirements_dev.txt
pytest

Frontend assets

The JavaScript bundles in djangocms_versioning/static/ are built with webpack and managed via npm scripts. Node.js 24 is required (see .nvmrc).

Install dependencies:

npm install

Common commands:

npm run build       # production build
npm run build:dev   # development build (sourcemaps, no minification)
npm run watch       # rebuild on file change
npm run lint        # ESLint over the project's JS sources

End-to-end tests with Playwright:

npm run e2e         # runs the build with coverage instrumentation, then Playwright

Documentation

The documentation is online on readthedocs.

We maintain documentation in this repository under the docs folder using rst format.

To generate the HTML documentation you will need to install sphinx (pip install sphinx) and graphviz (as per your operating system’s package management system). You can then generate the docs using the following command:

Run:

cd docs/
make html

This should generate all html files from rst documents under docs/_build folder, which can be browsed.

Contributing

Because this is a an open-source project, we welcome everyone to get involved in the project and receive a reward for their contribution. Become part of a fantastic community and help us make django CMS the best CMS in the world.

We’ll be delighted to receive your feedback in the form of issues and pull requests. Before submitting your pull request, please review our contribution guidelines.

The project makes use of git pre-commit hooks to maintain code quality. Please follow the installation steps to get pre-commit setup in your development environment.

We’re grateful to all contributors who have helped create and maintain this package. Contributors are listed at the contributors section.

One of the easiest contributions you can make is helping to translate this addon on Transifex. To update transifex translation in this repo you need to download the transifex cli and run tx pull from the repo’s root directory. After downloading the translations do not forget to run the compilemessages management command.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

djangocms_versioning-2.6.1.tar.gz (621.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

djangocms_versioning-2.6.1-py3-none-any.whl (675.7 kB view details)

Uploaded Python 3

File details

Details for the file djangocms_versioning-2.6.1.tar.gz.

File metadata

  • Download URL: djangocms_versioning-2.6.1.tar.gz
  • Upload date:
  • Size: 621.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for djangocms_versioning-2.6.1.tar.gz
Algorithm Hash digest
SHA256 85f1601398bc497f433068a3325454c763e076a0d8bd0060a5b996e211c8290e
MD5 f7009652ebe38e92d25d54377b23e93a
BLAKE2b-256 bcafc81b1b44d3f29dbe0b298cc3b53a5215fddd75af79512fd2a8af68f369fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for djangocms_versioning-2.6.1.tar.gz:

Publisher: publish-to-live-pypi.yml on django-cms/djangocms-versioning

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file djangocms_versioning-2.6.1-py3-none-any.whl.

File metadata

File hashes

Hashes for djangocms_versioning-2.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a271bab0503c09344539f2ea339dd4a90409034e3be9997f951c09c23c681182
MD5 ec7a59426f928b6425cd94603b0fe68b
BLAKE2b-256 687fc3c6db9897f9a75ea35d188e42fe8d2c71d58a5f61332c3188c27e43bfb6

See more details on using hashes here.

Provenance

The following attestation bundles were made for djangocms_versioning-2.6.1-py3-none-any.whl:

Publisher: publish-to-live-pypi.yml on django-cms/djangocms-versioning

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page