BPMN-Studio ist eine Web- und Desktop-Applikation zur Erstellung, Verwaltung, Ausführung und Auswertung von BPMN-Prozessen. Es setzt auf dem BPMN.io auf und den BPMN-Standard 2.x um.
BPMN-Studio soll es dem Anwender so leicht wie möglich machen BPMN-Diagramme zu erstellen und zu pflegen. Des Weiteren kann BPMN-Studio mit einer Workflow Engine verbunden werden, um diese Diagramme auszuführen.
ProcessEngine Dokumentation Minimales Skeleton
- Node active LTS
- Laufende ProcessEngine
TL;DR
npm install
npm run build
npm run electron-build-<OS>
npm start
/npm run start_dev
Notizen:
-
Für
npm run electron-build-<OS>
gilt:Für den Platzhalter
<OS>
können folgende Werte eingesetzt werden:linux
für Linuxmacos
für MacOSwindows
für Windows
Beispiel:
npm run electron-build-macos
TL;DR Tests
npm start
npm run test-init
npm run test
Die Abhängigkeiten werden wie folgt installiert:
npm install
Zum bauen:
npm run build
Dieses Skript baut die Anwendung, das Ergebnis ist produktionsreif.
Zum starten:
npm start
Dieses Skript startet die statische Auslieferung der Anwendung auf Port 17290. Zuerst muss die Anwendung gebaut worden sein.
Es ist möglich einen anderen Port zu spezifizieren:
npm start -- --port 9000
Das startet das BPMN-Studio auf Port 9000.
Anmerkung
Der Port muss aus technischen Gründen zwischen 1000 und 65535 liegen.
Erreichbarkeit
Es ist möglich eine andere IP-Adresse als 127.0.0.1 zu spezifizieren:
npm start -- --host 0.0.0.0
Damit ist das BPMN Studio auch von außen erreichbar.
Zum starten (Entwicklung)
npm run start_dev
Dieses Skript startet die Auslieferung der Anwendung für die Entwicklung. Bei Änderungen im Quelltext wird die Anwendung neugebaut und der Webbrowser automatisch neu geladen.
Zum bauen:
Mac:
npm run electron-build-macos
Nach dem Bauen kann man in dem dist/mac
Ordner die fertige Applikation finden
und ausführen.
Windows:
Vor dem erstmaligen Builden müssen die windows-build-tools installiert werden:
npm install --global --production windows-build-tools
Danach kann gebuildet werden:
npm run electron-build-windows
Nach dem Bauen, kann man in dem dist/
Ordner die Datei bpmn-studio Setup <VERSION>.exe
ausführen, um die Applikation zu installieren; <VERSION>
wird
durch die entsprechende Version ersetzt.
Beispiel:
dist/bpmn-studio Setup 1.2.1.exe
Alternative:
Die Releases des BPMN-Studios lassen sich alternativ auch hier herunterladen.
Das Image lässt sich wie folgt bauen:
docker build --tag bpmn-studio:latest .
Es ist möglich, das base image, sowie die Paketversionen anzupassen:
node_version
: Base image version mit NodeJS und Alpine Linux
docker build --build-arg node_version=10-alpine \
--tag bpmn-studio:latest.
Der Container lässt sich mit folgendem Befehl starten:
docker run -p 9000:9000 bpmn-studio:latest
Anschließend lässt sich das BPMN-Studio unter URL http://localhost:17290
aufrufen.
Die End-to-End-Tests werden mit Hilfe des Protractor Frameworks durchgeführt.
Unser Ziel ist es, die Testabdeckung ausreichend auszubauen, um das Vertrauen in einen Release zu verbessern. Es wird keine 100% Abdeckung angestrebt, aber generelle Tests für alle unterstützten Plattformen sind gewünscht.
Hinweis:
Alle Befehle müssen im geklonten Repository ausgeführt werden.
Hinweis:
Aufgrund eines Fehlers bei der verwendeten Version der ProcessEngine-Runtime, schlagen aktuell einige Tests fehl.
Es werden folgende Pakete benötigt:
-
Allgemein:
-
Nur bei lokalen Tests mit Docker:
- Docker
-
Nur bei CrossBrowserTesting:
- VM oder vergleichbares mit öffentlicher IP
- Docker
- CrossBrowserTesting Account
-
Initial müssen folgende Befehle in einem Terminal ausgeführt werden:
npm install
-
Anschließend folgenden Befehl eingeben, um den Selenium Server und die ProcessEngine zu starten:
npm run test-init
-
Die End-to-End Tests können in einem weiteren Terminal mit folgendem Befehl gestartet werden:
npm run test
-
Ein Terminal öffnen und folgenden Befehl eingeben, um den Selenium Server zu starten:
npm run test-init
-
Die End-to-End Tests können in einem weiteren Terminal mit folgendem Befehl gestartet werden:
npm run test-docker
-
Initial müssen folgende Umgebungsvariablen gesetzt werden:
export CB_USER="" # CrossBrowserTesting E-Mail Adresse export CB_KEY="" # CrossBrowserTesting API Key export aureliaUrl="" # URL oder IP der VM + Port des BPMN-Studio; z.B.: http://1.1.1.1:9000 export processEngineUrl="" # URL oder IP der VM + Port der ProcessEngine; z.B.: http://1.1.1.1:8000
-
Ein Terminal öffnen und das BPMN-Studio auf der VM mit folgendem Befehl starten:
docker run -p 8000:8000 -p 9000:9000 5minds/bpmn-studio-bundle:latest
-
Ein Terminal auf dem lokalen Computer öffnen und mit folgenden Befehl die CrossBrowserTesting Tests starten:
npm run test-crossbrowser
Es sind Skripte in der package.json
vordefiniert, welche
sich durch npm run <script name>
ausführen lassen.
Die folgenden Skripte, werden in unserem Tooling verwendet:
-
build
Baut das Aurelia Bundle.
-
start
Startet die BPMN-Studio Webanwendung
-
start_dev
Startet die BPMN-Studio Webanwendung und trackt die Quelldatein (geänderte Quelltextdatein werden neu transpiliert und die Webanwendung wird neu geladen).
-
electron-start-dev
Baut das Aurelia Bundle und startet die Electron Anwendung.
-
reset
Entfernt alle node_modules, die
package-lock.json
Datei und bereinigt den NPM-Cache. -
lint
Startet
tslint
für das gesamte Projekt. -
electron-build-macos
Baut die Electron-Anwendung für macOS.
-
electron-build-linux
Baut die Electron-Anwendung für Linux.
-
electron-build-windows
Baut die Electron-Anwendung für Windows.
Die Konfiguration liegt unter aurelia_project/environments/dev|stage|prod.ts
.