All Projects → hooopo → Petri_flow

hooopo / Petri_flow

Licence: mit
Petri Net Workflow Engine for Ruby.

Programming Languages

ruby
36898 projects - #4 most used programming language

Labels

Projects that are alternatives of or similar to Petri flow

Ugene
UGENE is free open-source cross-platform bioinformatics software
Stars: ✭ 112 (-11.81%)
Mutual labels:  workflow
Leomoon Lightstudio
Light Studio plugin for Blender
Stars: ✭ 117 (-7.87%)
Mutual labels:  workflow
Openflow
Scalable, secure workflow solution
Stars: ✭ 122 (-3.94%)
Mutual labels:  workflow
Gitreflow
Reflow automatically creates pull requests, ensures the code review is approved, and squash merges finished branches to master with a great commit message template.
Stars: ✭ 1,488 (+1071.65%)
Mutual labels:  workflow
Themeforest Wordpress Theme Development Workflow
Themeforest WordPress theme development workflow
Stars: ✭ 116 (-8.66%)
Mutual labels:  workflow
Caseflow
Caseflow is a web application that enables the tracking and processing of appealed claims at the Board of Veterans' Appeals.
Stars: ✭ 119 (-6.3%)
Mutual labels:  workflow
Liteflow
liteflow是一个基于任务版本来实现的分布式任务流调度系统
Stars: ✭ 112 (-11.81%)
Mutual labels:  workflow
Workflowserver
Workflow Server is a ready-to-use Workflow Engine-based application that you can deploy into your infrastructure. It can be integrated with NodeJS, PHP, Ruby, .NET, or Java applications via a REST API. Workflow Server is a key component for managing the lifecycle of business objects within your enterprise.
Stars: ✭ 124 (-2.36%)
Mutual labels:  workflow
Concord
Concord - workflow orchestration and continuous deployment management
Stars: ✭ 117 (-7.87%)
Mutual labels:  workflow
Pipedream
Connect APIs, remarkably fast. Free for developers.
Stars: ✭ 2,068 (+1528.35%)
Mutual labels:  workflow
Fuzzymail
📨 Email template generator. Making emails fun again.
Stars: ✭ 114 (-10.24%)
Mutual labels:  workflow
Shortcuts Swift
Write Shortcuts in Playgrounds
Stars: ✭ 116 (-8.66%)
Mutual labels:  workflow
Openmole
Workflow engine for exploration of simulation models using high throughput computing
Stars: ✭ 120 (-5.51%)
Mutual labels:  workflow
Node Webcrypto Ossl
A WebCrypto Polyfill for Node in TypeScript built on OpenSSL.
Stars: ✭ 113 (-11.02%)
Mutual labels:  workflow
Microwf
A simple finite state machine (FSM) with workflow character where you define your workflows in code.
Stars: ✭ 122 (-3.94%)
Mutual labels:  workflow
Drupal8ci
One-line installers for implementing Continuous Integration in Drupal 8
Stars: ✭ 113 (-11.02%)
Mutual labels:  workflow
Template
A template for data analysis projects structured as R packages
Stars: ✭ 118 (-7.09%)
Mutual labels:  workflow
Grunt Drupal Tasks
Grunt-based build and testing tasks for Drupal
Stars: ✭ 125 (-1.57%)
Mutual labels:  workflow
Sarek
Detect germline or somatic variants from normal or tumour/normal whole-genome or targeted sequencing
Stars: ✭ 124 (-2.36%)
Mutual labels:  workflow
Zoo
🌈 Cute pet zoo. Come and adopt a cute you like. 萌萌乐园,全自动领养自己喜欢的萌物。
Stars: ✭ 121 (-4.72%)
Mutual labels:  workflow

Petri Flow Ruby Gem Testing

Workflow engine for Rails.

Features

  • Full petri net features support (seq, parallel, iterative, timed, automitic etc.)
  • Both approval workflow and business workflow.
  • Simple web admin for workflow definition and case management.
  • Build-in simple dynamic form.
  • Replaceable dynamic form.
  • Support sub workflow.
  • Graph screen for workflow definition.
  • Graph screen for case and token migration.
  • Powerful guard expression.
  • MySQL and Postgres Support.
  • Powerful assignment management.
  • Flexible integration of organizational structure system(role, group, position or department etc.)

Docs

Screenshots

iterative routing

parallel_routing

guard

case state graph

Installation

Add this line to your application's Gemfile:

gem 'petri_flow', require: 'wf'

And then execute:

$ bundle

Install graphviz

brew install graphviz

Migration:

bundle exec rake wf:install:migrations
bundle exec rails db:create
bundle exec rails db:migrate
bundle exec rails db:seed

Usage

Add wf_config:

# config/initializers/wf_config.rb
Wf.user_class = "::User"
Wf.org_classes = { group: "::Group" }

Set parties:

For normal org model, for example group or role etc.

module Wf
  class Group < ApplicationRecord
    has_many :users 
    include Wf::ActsAsParty
    acts_as_party(user: false, party_name: :name)
  end
end

For user model:

module Wf
  class User < ApplicationRecord
    belongs_to :group, optional: true
    include Wf::ActsAsParty
    acts_as_party(user: true, party_name: :name)
  end
end

then

bundle exec rails 

visit:

http://localhost:3000/wf

Testing

  • RAILS_ENV=test rake app:db:migrate && RAILS_ENV=test rake app:db:test:prepare && bundle exec rake test

Contributing

Contribution directions go here.

License

The gem is available as open source under the terms of the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].