Viewflow is a lightweight reusable workflow library that helps to organize people collaboration business logic in django applications.
In conjunction with django-material, they could be used as the framework to build ready to use business applications in minutes.
- Viewflow 1.1.x compatible with Django 1.8/1.9/1.10/1.11 (supported till Django 1.8 lifetime/April 2018)
- Viewflow 1.2.x compatible with Django 1.11/2.0 (supported till Django 1.11 lifetime/April 2020)
- Viewflow 1.3.x/1.4.x/1.5.x compatible with Django 1.11/2.0/2.1/2.2 (supported till Django 1.11 lifetime/April 2020)
Django web framework solves only technical problems related to the client-server interaction on top of the stateless HTTP protocol. Model-View-Template separation pattern helps to maintain simple CRUD based logic. Viewflow is the library that offers an additional layer of django web framework, allows explicitly specify people's workflow and extracts collaboration logic from django views.
Viewflow layer is based on the BPMN - business process management and notation standard. It is the graphical notation readily understandable by all business stakeholders and software developers. Viewflow bridges the gap between a picture as the software specification and the working solution.
Django-Material frontend is the lightweight alternative to the django admin and allows you to build business applications. It's based on Google Material Design, that could be easily customized to your brand colors. Django-Material takes care of site-wide navigation, complex form construction, datagrids and CRUD functionality. Ready for fast development of any CRM, ERP, Business Management Software.
5 minutes introduction tutorial
Viewflow comes with reference UI implementation on top of django-material project.
git clone https://github.com/viewflow/viewflow.git cd viewflow TOXENV=py36-dj111 tox -- python manage.py migrate --settings=demo.settings TOXENV=py36-dj111 tox -- python manage.py loaddata demo/helloworld/fixtures/helloworld/default_data.json --settings=demo.settings TOXENV=py36-dj111 tox -- python manage.py runserver --settings=demo.settings
Then, you can open http://127.0.0.1:8000 and login with admin:admin username/password pair.
Read the documentation at the http://docs.viewflow.io/
Advanced customization samples
Please open an issue to discuss. before pushing any new functionality.
See also - Contribution Agreement
Viewflow Pro has a commercial-friendly license allowing private forks and modifications of Viewflow. You can find the commercial license terms in COMM-LICENSE. Please see FAQ for more detail.
- Django 3.0 support
- Add process.artifact and task.artifact generic fk fields for default models
- Add process.data and task.data generic json field for default models
- Add View().OnCreate(...) callback support
- Allow to overide flow view access by Flow.has_view_permission method