hooopo / Petri_flow
Licence: mit
Petri Net Workflow Engine for Ruby.
Stars: ✭ 127
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
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
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
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
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
- Petri-Nets and Workflows
- Workflow Conceptual Guide
- Workflow Concepts Reference
- Petri Flow ERD
- Developer Doc
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].