Skip to content

Commit

Permalink
update documentation
Browse files Browse the repository at this point in the history
Issue imixs#242
  • Loading branch information
rsoika committed May 9, 2023
1 parent 19678b4 commit 139edb0
Show file tree
Hide file tree
Showing 9 changed files with 149 additions and 14 deletions.
16 changes: 6 additions & 10 deletions docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

Open-BPMN provides a Docker image to run the BPMN modeler as a Container in Docker or Kubernetes.

The Open-BPMN Docker image is based on the [official NodeJS image (node:16-buster)](https://hub.docker.com/_/node). The container image contains a prebuild appliction and exposes the port 3000
The Open-BPMN Docker image is based on the [official NodeJS image (node:16-buster)](https://hub.docker.com/_/node). The container image contains a pre-build application and exposes the port 3000

In the Dockerfile we are using the entrypoint:
In the Dockerfile we are using start script as the entrypoint:

ENTRYPOINT [ "yarn", "start", "--hostname=0.0.0.0" ]
ENTRYPOINT [ "/usr/src/app/start.sh" ]

setting the environment param `--hostname=0.0.0.0` is important to allow access form outside the container. Find more details also [here](https://dev.to/hagevvashi/don-t-forget-to-give-host-0-0-0-0-to-the-startup-option-of-webpack-dev-server-using-docker-1483) and [here](https://github.com/theia-ide/theia-apps/tree/master/theia-cpp-docker).
**Note:** The start script is setting the environment param `--hostname=0.0.0.0` which is important to allow access form outside the container. Find more details also [here](https://dev.to/hagevvashi/don-t-forget-to-give-host-0-0-0-0-to-the-startup-option-of-webpack-dev-server-using-docker-1483) and [here](https://github.com/theia-ide/theia-apps/tree/master/theia-cpp-docker).

## Build

Expand All @@ -20,17 +20,14 @@ To build the docker image from sources run:

To run the docker image locally run:

$ docker run --name="open-bpmn" \
--rm \
$ docker run -it --rm --name="open-bpmn" \
-p 3000:3000 \
imixs/open-bpmn


After starting the container the applicaiton is available on

http://localhost:3000


To stop the container run:

$ docker stop open-bpmn
Expand All @@ -41,8 +38,7 @@ The Theia Client is using a local workspace directory `/usr/src/app/open-bpmn.gl

In the following example we map the workspace to the local directory /tmp/my-workspace

$ docker run --name="open-bpmn" \
--rm \
$ docker run -it --rm --name="open-bpmn" \
-p 3000:3000 \
-v /tmp/my-workspace:/usr/src/app/open-bpmn.glsp-client/workspace \
imixs/open-bpmn
Expand Down
2 changes: 1 addition & 1 deletion src/site/markdown/build/DOCKER.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ To run the docker image locally run:
-p 3000:3000 \
imixs/open-bpmn

After starting the container the applicaiton is available on
After starting the container the application is available on

http://localhost:3000

Expand Down
31 changes: 31 additions & 0 deletions src/site/markdown/install-imixs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Installation Guide For Imixs-Open-BPMN

**Open BPMN** supports an extension mechanism to provide additional features to the modelling platform. Running **Open BPMN** with the Imixs-Workflow Extension allows you to model BPMN files that can be executed the [Imixs-Workflow engine](https://www.imixs.org).

**Note:** If you install the Open-BPMN in Visual Studio, the imixs-workflow support is already included!

## Run With Docker

Imixs-Open-BPMN is provided as a separate Docker image. To run Imixs-Open-BPMN with docker you just need to replace the docker image name with `imixs/imixs-open-bpmn`. This will run Open-BPMN with the Imixs-Workflow extension:

$ docker run -it --rm --name="open-bpmn" \
-p 3000:3000 \
imixs/imixs-open-bpmn

After starting the container the application is accessible from your Web Browser:

http://localhost:3000

See the [general Docker install guide](install.html) for a more detailed description about how to run Open-BPMN with Docker.

# The Imixs-Workflow Extension

The Imixs-Workflow extension allows you to extend BPMN models with attributes to be executable by the [Imixs-Workflow engine](https://www.imixs.org). The extension can be applied to 'Tasks' and 'Catch Events'. The extension can be found in the Tool Palette in the section "Extensions"

<img src="./images/imixs-extension-01.png" />

After you drag the extension into a 'Task' or 'Catch Event', the element will be marked with a border. The element will now additional properties in the property panel.

<img src="./images/imixs-extension-02.png" />

The properties depend on the element type. You can find a more detailed description about the different properties on the [Imixs-Workflow project site](https://www.imixs.org/doc/modelling/process.html).
105 changes: 105 additions & 0 deletions src/site/markdown/install.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
# Installation Guide

The architecture of **Open BPMN** makes it possible to run the modeller on various IDEs and platforms. It can be installed on different IDEs such as [Visual Studio Code](https://code.visualstudio.com/), [Eclipse IDE](https://eclipse.org/), [Eclipse Theia](https://theia-ide.org/) or it can be run as a standalone web application.

## Install in Visual Studio Code

To run Open-BPMN in Visual Studio Code you can install the [Open BPMN Extension](https://marketplace.visualstudio.com/items?itemName=open-bpmn.open-bpmn-vscode-extension). Just go to 'Extensions' and search for 'Open-BPMN'

<img src="./images/vscode-integration-install.png" width="500" />

**Note:** The Open-BPMN VS Code extension includes the Imixs-Workflow BPMN Extensions. This makes it possible to model plain BPMN models as also workflow models for [Imixs-Workflow](https://www.imixs.org).

## Run With Docker

Open-BPMN can also be run as a Web Application in a Docker Container. This solution includes the Eclipse Theia Platform. To run Open-BPMN with docker just start a local Docker container:

$ docker run -it --rm --name="open-bpmn" \
-p 3000:3000 \
imixs/open-bpmn

After starting the container the application is accessible from your Web Browser:

http://localhost:3000

<img src="./images/imixs-bpmn-001.png" width="500" />

### Workspace Directory

The Theia Client is using a local workspace directory `/usr/src/app/open-bpmn.glsp-client/workspace`. The workspace directory is the place to create and edit the BPMN files. With Docker you can change the workspace directory and map it to a local directory with the Docker param -v

In the following example the workspace is mapped to the local directory `/tmp/my-workspace`

$ docker run -it --rm --name="open-bpmn" \
-p 3000:3000 \
-v /tmp/my-workspace:/usr/src/app/open-bpmn.glsp-client/workspace \
imixs/open-bpmn

## Kubernetes

You can also run Open-BPMN in a Kubernetes cluster. The following is a deplyoment yaml file that you can use as a template for your own configuration. Note also in Kubernetes you can map the workspace directory to a persistence volume.

```
---
###################################################
# Deployment office-demo
###################################################
apiVersion: apps/v1
kind: Deployment
metadata:
name: modeler-app
namespace: open-bpmn
labels:
app: modeler-app
spec:
replicas: 1
selector:
matchLabels:
app: modeler-app
strategy:
type: Recreate
template:
metadata:
labels:
app: modeler-app
spec:
containers:
- image: imixs/open-bpmn:latest
name: modeler-app
imagePullPolicy: Always
env:
- name: TZ
value: Europe/Berlin
ports:
- name: web
containerPort: 3000
resources:
requests:
memory: "128M"
limits:
memory: "1G"
restartPolicy: Always
---
###################################################
# Service open-bpmn
###################################################
apiVersion: v1
kind: Service
metadata:
name: modeler-app
namespace: open-bpmn
spec:
ports:
- protocol: TCP
name: web
port: 3000
selector:
app: modeler-app
```

To deploy Open-BPMN in your cluster create the namespace and apply your Pod configuration:

$ kubectl create namespace open-bpmn
$ kubectl apply -f apps/open-bpmn
4 changes: 3 additions & 1 deletion src/site/markdown/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@

The goal of this project is to provide an open and extensible graphical BPMN modelling framework for an agile and innovative community around the BPMN standard.

Open BPMN is based on the Eclipse Graphical Language Server Platform (GLSP) - an open-source framework for building diagram editors based on modern web technologies. This architecture allows to run Open BPMN on various IDEs and platforms like Visual Studio Code, Eclipse IDE, Eclipse Theia, as also as a standalone Web Application.
Open BPMN is based on the Eclipse Graphical Language Server Platform (GLSP) - an open-source framework for building diagram editors based on modern web technologies. This architecture allows to run Open BPMN on various IDEs and platforms like [Visual Studio Code](https://code.visualstudio.com/), [Eclipse IDE](https://eclipse.org/), [Eclipse Theia](https://theia-ide.org/), as also as a standalone Web Application.

See the [Install Guide](install.html) for details how to install Open-BPMN.

## What is BPMN 2.0?

Expand Down
Binary file added src/site/resources/images/imixs-extension-01.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/site/resources/images/imixs-extension-02.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 3 additions & 2 deletions src/site/site.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,9 @@
<body>

<menu name="Documentation">
<item name="Overview" href="overview.html" collapse="true">

<item name="Overview" href="overview.html" collapse="false">
<item name="Installation" href="install.html" />
<item name="Imixs Workflow" href="install-imixs.html" />
</item>

<item name="Architecture" href="architecture/index.html" collapse="true">
Expand Down

0 comments on commit 139edb0

Please sign in to comment.