Skip to content

django-cms/djangocms-versioning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

427 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Versioning integration instructions are available in docs/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.

About

General purpose versioning package for Django CMS 4 and above.

Resources

License

Security policy

Stars

Watchers

Forks

Contributors