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.0.tar.gz (617.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.0-py3-none-any.whl (675.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: djangocms_versioning-2.6.0.tar.gz
  • Upload date:
  • Size: 617.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.0.tar.gz
Algorithm Hash digest
SHA256 8462c9d085ec500bbe61b18ffe84f9547fa52d70d4e29ea5dbe1051e11645713
MD5 c98d298172800dc9d94f890e1149cf9f
BLAKE2b-256 a6d7906616cab97db18bd496fdec2e1db1aeafcb61208eb310d645a7147e6683

See more details on using hashes here.

Provenance

The following attestation bundles were made for djangocms_versioning-2.6.0.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.0-py3-none-any.whl.

File metadata

File hashes

Hashes for djangocms_versioning-2.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8b65263748f53ce17a5a2d1773f1eddf10b691ca7be4eeed5d9868b45aa6676c
MD5 f04eef99de3e87f012fb32b94f060b1f
BLAKE2b-256 30be1f13ecccbd56ad2b74a0cd4bd540f5a792cdaf21029c885964e1e5e9f9bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for djangocms_versioning-2.6.0-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