• Stars
    star
    117
  • Rank 300,000 (Top 6 %)
  • Language
    PHP
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Nayra is a BPMN workflow engine in PHP. Utilize it in your own projects to have your own complex workflow capabilities.

ProcessMaker Nayra

ProcessMaker Nayra is a package that provides base classes to implement a process execution engine. This includes patterns to implement activities, events and gateways.

How to execute a process

Load a BPMN definition

        $bpmnRepository = new BpmnDocument();
        $bpmnRepository->setEngine($this->engine);
        $bpmnRepository->setFactory($this->repository);
        $bpmnRepository->load('files/ParallelGateway.bpmn');

ParallelGateway diagram

Get a reference to the process

        $process = $bpmnRepository->getProcess('ParallelGateway');

Create a data storage

        $dataStore = $this->repository->createDataStore();

Create a process instance

        $instance = $this->engine->createExecutionInstance($process, $dataStore);

Trigger the start event

        $start = $bpmnRepository->getStartEvent('StartEvent');
        $start->start($instance);

Start Event

Execute tokens and run to the next state

        $this->engine->runToNextState();

One token arrives to the first task

        $firstTask = $bpmnRepository->getScriptTask('start');
        $token = $firstTask->getTokens($instance)->item(0);

First task

Complete the first task

        $startActivity->complete($token);

Execute tokens and run to the next state

        $this->engine->runToNextState();

One token arrives to the second task and one to the third task

        $secondTask = $bpmnRepository->getScriptTask('ScriptTask_1');
        $token1 = $secondTask->getTokens($instance)->item(0);
        $thirdTask = $bpmnRepository->getScriptTask('ScriptTask_2');
        $token2 = $thirdTask->getTokens($instance)->item(0);

Second task and third task

License

ProcessMaker Nayra is open-sourced software licensed under the Apache 2.0 license.

More Repositories

1

processmaker

ProcessMaker BPM Core
PHP
439
star
2

modeler

A vue.js based BPMN modeler
JavaScript
84
star
3

screen-builder

A VueJS powered Form Builder that produces compatible JSON for our vue-form-renderer
JavaScript
42
star
4

pm4core-docker

Shell
40
star
5

vue-form-elements

Reusable VueJS Based Form Elements
Vue
24
star
6

sketch

An open source simple workflow designer for ProcessMaker.IO and other bpmn platforms
Vue
12
star
7

laravel-i18next

Pull Laravel Translation files into i18next compatible formats at runtime
PHP
11
star
8

pmio-lua-connectors

Lua
10
star
9

flysystem-msgraph

A Flysystem Adapter that supports Microsoft OneDrive and Sharepoint Document Libraries using Microsoft Graph
PHP
9
star
10

pmql

ProcessMaker Query Language
PHP
9
star
11

pmcore-docker

Shell
6
star
12

pmio-examples

PMIO Examples, PHP-SDK, jQuery forms, sample Processes
HTML
4
star
13

pmio-sdk-javascript

PMIO SDK JavaScript
JavaScript
3
star
14

onboarding-examples

A collection of examples that introduces concepts of ProcessMaker.IO
PHP
3
star
15

docker-executor-php

Script Task Executor Engine with PHP Runtime
PHP
3
star
16

flarepoint-crm-pmio-loan-appproval

Loan Approval Processmaker I/O application based on Flarepoint CRM
PHP
3
star
17

docker-executor-node

PHP
3
star
18

pmio-sdk-php

PMIO PHP SDK
PHP
2
star
19

pmio-sdk-python

PMIO SDK Python
Python
2
star
20

bpm-package-social-connectors

BPM Package to provide Social Media related connectors
JavaScript
1
star
21

pm-blocks

1
star
22

cypress-utils

ProcessMaker Cypress Testing Utilities
JavaScript
1
star
23

package-skeleton

skeleton base to develop packages
Vue
1
star
24

processmaker-bpmn-moddle

A moddle extension that supports the ProcessMaker namespace and it's extension for BPMN 2.0
JavaScript
1
star
25

pmio-sdk-go

PMIO GO SDK
Go
1
star
26

developer-documentation

1
star
27

bpmnlint-plugin

JavaScript
1
star
28

docker-executor-java

PHP
1
star
29

docker-executor-lua

Script Task Executor Engine with LUA Runtime
PHP
1
star
30

docker-executor-r

Script Executor Engine with R Runtime
PHP
1
star
31

docker-executor-csharp

Script Task Executor Engine with Mono Runtime to support C#
PHP
1
star
32

package-code-standards

1
star
33

angular4pm

TypeScript
1
star
34

pmio-sdk-java

PMIO SDK Java
Java
1
star
35

ellucian-shared-tests

Python
1
star
36

package-csharp

Allows users to create scripts using the Microsoft C# language
C#
1
star