kbussell / viewflow

Reusable workflow library for Django

Home Page:http://viewflow.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

django-viewflow

Reusable workflow library for Django http://viewflow.io.

Needle and thread to tie simple CRUD views and python functions in a complex business process.

Designed for:

  • Back office automation
  • People collaboration software
  • Business process implementation

Features:

  • Simple integration with django views/signals/models
  • User and background tasks support
  • Complex Split/Joins for parallel task execution
  • Boilerplate urls registration and permission checks handling

Demo: http://examples.viewflow.io

image

About hundred lines of code required to make this process life with django-viewflow and django class based views.

image

image

image

Join the chat at https://gitter.im/viewflow/viewflow

Installation

django-viewflow requires Python 3.3 or greater, django 1.6-1.8:

pip install django-viewflow

For installing Viewflow-Pro with Python 2.7 support:

pip install django-viewflow-pro  --extra-index-url https://pypi.viewflow.io/<licence_id>/simple/

Or inside of your project by adding the following statement to requirements.txt:

--extra-index-url https://pypi.viewflow.io/<licence_id>/

And add it into INSTALLED_APPS settings

Quick start

See the introduction video or read below:

Let's define basic Hello Process where one could start hello world request, another person approves it, and as soon as the request is approved it should be send into background.

Start with process database model definition

Define the actual task that says Hello to the World in tasks.py

To make the above code work just put the following flow definition in flows.py module from your django application.

Flow class contains all urls required for the task processing.

Your Hello World process is ready to go. If you run the development server locally, go to http://localhost:8000/helloworld/ and step through the workflow.

Next, you can see how to define custom views, and meet other concepts of django-viewflow at http://kmmbvnr.github.io/django-viewflow/

More examples are available in the examples directory.

License

Viewflow is an Open Source project licensed under the terms of the AGPL license - The GNU Affero General Public License v3.0

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.

Latest changelog

0.9.0 - 2015-06-15

  • Django 1.8 support
  • Better inbox/queue views
  • Improve undo/cancel tasks behaviour
  • Allow to specify custom undo handlers methods
  • Allow to use flow class methods as flow task functions
  • Allow to list task state change handles in template
  • PRO ONLY New Material Designed Frontend for the Flow

About

Reusable workflow library for Django

http://viewflow.io

License:GNU Affero General Public License v3.0


Languages

Language:Python 95.4%Language:HTML 4.6%Language:Makefile 0.0%