Skip to content

Commit

Permalink
docu
Browse files Browse the repository at this point in the history
  • Loading branch information
rsoika committed Oct 21, 2024
1 parent c444a3b commit 4f0df3d
Show file tree
Hide file tree
Showing 27 changed files with 79 additions and 43 deletions.
3 changes: 2 additions & 1 deletion src/site/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#Imixs-Workflow Documenation
# Imixs-Workflow Documenation

Imixs-Workflow documentation is generated using the maven site plugin in the parent project.
The pages are written using markdown.

Expand Down
3 changes: 2 additions & 1 deletion src/site/markdown/core/xml/marshal.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#Marshalling an Imixs Data object
# Marshalling an Imixs Data object

The JAXB runtime framework provides marshall and unmarshall operations. Marshalling is the process of converting instances of JAXB-annotated classes to XML representations. Likewise, unmarshalling is the process of converting an XML representation to a tree of objects. The following example shows how to marshal an Imixs XMLItemCollection into a XML Stream.

.....
Expand Down
3 changes: 2 additions & 1 deletion src/site/markdown/core/xml/post_xml.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#Post XML Data to the Imixs REST Service
# Post XML Data to the Imixs REST Service

The following code example shows how to transform external xml data with a xsl
template provided in a file:

Expand Down
6 changes: 4 additions & 2 deletions src/site/markdown/core/xml/transform_xml.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#XSL Transformation
# XSL Transformation

Based on a XSL template external XML data sources can be transformed into the Imixs XML schema.
The result of thus a transformation can be posted to the Imixs-Workflow REST service API.
This is how a interface between an external system and the Imixs Workflow engine can be realized.
Expand Down Expand Up @@ -47,7 +48,8 @@ This is a sample of a xml data structure provided by an external system. The str
</Batch>


##Transforming the XML Data with XSLT
## Transforming the XML Data with XSLT

With a XSL template it is possible to transform the given XML data into the Imixs XML schema. This XML format of an Imixs EntityCollection has the following structure:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
Expand Down
3 changes: 2 additions & 1 deletion src/site/markdown/deployment/concurrency.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#Concurrency and Optimistic Locking
# Concurrency and Optimistic Locking

The Imixs-Workflow engine supports an optimistic locking mechanism. Optimistic locking is based on the assumption that most transactions dont't conflict with other transactions, allowing concurrency to be as permissive as possible when allowing transactions to execute. Therefore the Imixs-Workflow engine holds an attribute '$version' providing the version number of the corresponding entity. So in case two users open the same document, change data and call the save() method, optimistic locking will be activated. This means that an OptimisticLockException is thrown when the second user tries to save the document.

## How to Disable Optimistic Locking
Expand Down
1 change: 1 addition & 0 deletions src/site/markdown/deployment/glassfish.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# GlassFish/Payara Deployment Guide

This section will explain the configuration steps needed to successfully deploy the [Imixs-Sample Application](../sampleapplication.html) on [Payara Application Server](https://www.payara.fish/). Payara is based on the [GlassFish implementation](https://github.com/javaee/glassfish). The deployment is similar for other custom projects. For general information about the deployment of the Imixs-Workflow engine, see also the section [Deployment Guide](./deployment_guide.html).

## Install GlassFish
Expand Down
1 change: 1 addition & 0 deletions src/site/markdown/deployment/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Deployment

The Imixs-Workflow engine can be deployed in various ways depending on the kind of your server environment. As Imixs-Workflow is based on Jakarta EE, the engine runs in a n EJB and Web Container. This concept gives you the flexibility to setup the Imixs-Workflow engine individually for custom applications and server infrastructure.

Before you deploy the Imixs-Workflow engine into an application server, consider the following:
Expand Down
1 change: 1 addition & 0 deletions src/site/markdown/deployment/security.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Security Configuration

Each method call to the Imixs-Workflow engine have to possess an applicable authentication process to grant the demands of the Imixs-Workflow security layer. The security layer of Imixs-Workflow defines the following access roles:

* org.imixs.ACCESSLEVEL.NOACCESS
Expand Down
1 change: 1 addition & 0 deletions src/site/markdown/deployment/wildfly.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# WildFly Deployment Guide

This section will explain the configuration steps needed to successfully deploy the [Imixs-Sample Application](../sampleapplication.html) on Wildfly. The deployment guide can be used also for custom projects. See also the section [Deployment Guide](./deployment_guide.html) for general information about deployment of the Imixs-Workflow engine.


Expand Down
1 change: 1 addition & 0 deletions src/site/markdown/engine/acl.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# The Security Model

The Imixs-Workflow engine supports a multi-level security model for a fine-grained access control on workitems.
You can define the access control list (ACL), with the help of the BPMN workflow model, for each process state individually. For example, one group of users can be authorized to create and process workitems, while another group is only allowed to read workitems.

Expand Down
3 changes: 2 additions & 1 deletion src/site/markdown/engine/entityservice.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#The EntityService Interface
# The EntityService Interface

The Imixs EntityService is used to save and load instances of the Imixs Data Object _org.imixs.workflow.ItemCollection_ into a Database. The Service Bean is based on the Java Persistence API (JPA) which provides a simple and powerful API to store and load Entity Beans.

The class [ItemCollection](../core/itemcollection.html) is the general Data Object used by the Imixs Workflow Core API. Each Workitem processed by the Imixs Workflow Manager is represented as an ItemCollection. The Imixs EntityService provides methods to query Entities using JPQL statements. This makes the service EJB very flexible to access datasets of ItemCollections. Additional the EntityService can be used to restrict the read- and write access for ItemCollection objects by providing accessvalues.
Expand Down
12 changes: 8 additions & 4 deletions src/site/markdown/engine/plugins/versionplugin.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
#Version Plugin
# Version Plugin

The Imixs Version-Plugin handles the creation and the management from versions of a running process instance. A versioning process can be configured through the {{{/modeler/}Imixs Modeler}} from the activity property tab 'Version'. The plugin can create a new version of a source workitem (master version), or converting an existing version of a workitem
back into a master version. All versions of a workitem can be identified by the property $workitemIDRef which points to the $uniqueid of the master version.

The [Imixs-BPMN Modeller](../../modelling/index.html) provides two different modes in which the Version-Plugin can run.

##Create a new Version from a source workitem
## Create a new Version from a source workitem

In this mode the Version-Plugin creates a new version of the current workitem. The two workitems are identically except the attributes $uniqueID and $workitemidRef. The attribute $workitemidRef points to the $uniqueid form the source workitem. So the availability of this property indicates that the workitem is a version of the source workitem. The source workitem has typically no $workitemidRef attribute - except if the source worktitem itself is a version from another worktiem. The Source Workitem is also named Master Version.

After the new version is created the Version-Plugin processes the version with the activity provided by the model (numVersionActivityID). This step is optional.

##Convert an existing version back into a master version
## Convert an existing version back into a master version

In this mode the plugin converts an existing version of a workitem back into a master version. This means that the $workitemIDRef will be removed. The master version will be processed by the activity provided by the model. The $workitemidRef property of the old master version will be updated to the $uniqueid form the new master version.


##ActivityEntity
## ActivityEntity

The definition of creating versions or master versions is stored in the activity entity of the workflow model. There are the following properties defined through the activity entity:

* keyVersion - defines the version mode (1=create new version, 2=convert back to master version)
Expand Down
1 change: 1 addition & 0 deletions src/site/markdown/engine/workflowservice.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# The WorkflowService

The WorkflowService is the Java EE implementation of the [WorkflowManager interface](../core/workflowmanager.html) from the core API. This service component allows to process, update and lookup workItems in the Imixs-Workflow engine.

## How to Process a Workitem
Expand Down
6 changes: 4 additions & 2 deletions src/site/markdown/goals.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
#Goals of the project
# Goals of the project

Imixs-Workflow is a Framework for building Java Business Applications. The Imixs-Workflow Engine allows you to change your business logic without changing a single line of code. Using Imixs-Workflow you can control the state of any business object in your application. Based on a workflow model Imixs-Workflow sends notifications, logs business transactions and secures your business data.

The goal of this project is to provide an easy to use java based workflow technology for business applications. Imixs-Workflow is typical used for human-to-human workflows but can also be used for complex technical business process management (BPM) solutions.

##Joining the Imixs-Workflow project
## Joining the Imixs-Workflow project

As Imixs-Workflow is an open source project you are free to use the results of this project in your own business application and also for custom implementations of a workflow management system. We invite you to participate as much as you wish. You can add the different components based on Maven in your own project, or you can check out the source code from [GitHub](https://github.com/imixs/imixs-workflow) to test or contribute in different ways.

In any case, independent if you are joining the project as an observer, tester or committer you can ask questions, report bugs or discuss details about all aspects of the Imixs-Workflow project at [GitHub](https://github.com/imixs/imixs-workflow). Every project obtains its strengths in virtue of the persons involved. The role and responsibility of everybody involved in this project is based on merits - every input counts!
Expand Down
2 changes: 1 addition & 1 deletion src/site/markdown/javascript/layout.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#Layout & UI
# Layout & UI

The imixs-ui.js provides some layout methods to apply the jQuery UI widgets to a page section. See the following example to layout a jQuery UI tab navigation

Expand Down
5 changes: 3 additions & 2 deletions src/site/markdown/modelling/create_model.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#Create a new BPMN2 file
Before starting modeling with the Imixs-BPMN Plugin make sure that your current eclipse project is assigned to the Imixs-BPMN runtime.
# Create a new BPMN2 file

Before starting modeling with the Imixs-BPMN Plugin make sure that your current eclipse project is assigned to the Imixs-BPMN runtime.

<img src="../images/modelling/bpmn_screen_29.png"/>

Expand Down
3 changes: 2 additions & 1 deletion src/site/markdown/modelling/deployment.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#How to deploy a BPMN Model
# How to deploy a BPMN Model

After you have created a model with the Imixs-BPMN modeler you can deploy the model. The Imixs-Workflow Rest API provides a convenient way to upload a BPMN model or to verify the deployment
status of BPMN models. Make sure that your Imixs-Workflow instance is up and running and the Imxis-Workflow Rest Service is deployed on your server. (See the [deployment section](../deployment/index.html) how to deploy the Imixs-Workflow engine into a server.)

Expand Down
16 changes: 10 additions & 6 deletions src/site/markdown/modelling/eclipse_workbench.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

#The Eclipse Workbench
# The Eclipse Workbench

The following section gives an overview of the Eclipse Workbench provided by the BPMN2 Modeler.
The concepts provided by Imixs-BPMN are the same as provided by the
Expand All @@ -10,23 +10,26 @@ tree and thumbnail views.

<img src="../images/modelling/bpmn_screen_03.png"/>

##Drawing Canvas
## Drawing Canvas
The Drawing Canvas occupies the majority of the editing window and behaves as you would expect:
BPMN process elements can be placed on the canvas by selecting them from the Tool Palette and
clicking anywhere on the canvas; elements can be moved by clicking and dragging; elements can be
connected (with, e.g. Sequence Flows, Associations, Data Flows, etc.) by selecting a connection tool from the palette and then first clicking the source element, then the target element.
The canvas also has its own context menu.


##Tool Palette
## Tool Palette

The Tool Palette is, by default, located along the right edge of the Drawing Canvas. It consists of several “tool drawers” which contain the “tools” that are dragged onto the Drawing Canvas to create BPMN2 elements. The Tool Palette also provides a section called "Imixs-Workflow" containing the Imixs-Workflow BPMN elements.

##Outline View
## Outline View

The Outline View is separate from the editor and is intended to show a hierarchical, tree oriented view of the file. This view is synchronized with the Drawing Canvas; when an element is selected on the canvas, it is highlighted in the Outline View. Conversely when an item in the Outline is selected, it is also highlighted on the Drawing Canvas.



##Profiles
## Profiles

The Tool Palette supports the concept of "Profiles" which customizes the tools available based
on the task to be accomplished. Imixs-BPMN provides three differnt profiles:

Expand All @@ -39,7 +42,8 @@ The Imixs-BPMN elements are shown in the section 'Imixs-Workflow' category:
<img src="../images/modelling/bpmn_screen_12.png"/>


##Property View
## Property View

The Property View is used to edit all parameters for the currently selected BPMN2 element.
This view is synchronized with the selected BPMN element in the Drawing Canvas. The BPMN2 Modeler uses tabbed property sheets to group different kinds of properties. Although the number of tabs and their contents depends on which BPMN2 element is selected, Imixs-BPMN defines custom properties for the Process Definition, the Workflow Task element and the Workflow Event element.

Expand Down
16 changes: 10 additions & 6 deletions src/site/markdown/modelling/main_editor.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,22 @@
#The Process Property Editor
# The Process Property Editor

When you click on a free area in the Canvas Edior of the Workbench you can edit the main prperties of the BPMN file. If you have activated the 'Full' Profile in the Toolbar Palette you will see the property tab 'Workflow':

<img src="../images/modelling/bpmn_screen_14.png"/>


##The Imixs Workflow Properties
## The Imixs Workflow Properties

The prperty tab 'Workflow' of the Process Definition provides different main settings to configure your workflow model:

<img src="../images/modelling/bpmn_screen_15.png" />

###The Model Version
### The Model Version

The Model Version is a unique identifier for the model and there included workflow groups.

###The Actor Properties
### The Actor Properties

Actors play an essential role in a user-centric workflow system. The actors are users who actively interact with a workflow application. For example, actors can start a new process instance to create a Workitem or trigger actions on an existing WorkItem. Actors can also be passively involved into a workflow, for instance, as recipients of an e-mail notification.

An actor is defined as an abstract role in a workflow model. The application specific user names (UserIDs) behind the actor are computed dynamically by the Imixs-Workflow engine. The Workflow engine maps the actor to the corresponding property of the WorkItem during runtime.
Expand All @@ -27,10 +31,10 @@ As an alternative Actors can also be defined by a static list of userIds. In thi
Delegate | {user1,user2}


###The Date Properties
### The Date Properties
Timers perform a similar function as Actors. They are used to map attributes of the WorkItem of type "Date" in an object of workflow modeling. If your workflow application contains a field named "datFrom" that defines a specific point of time after which an action should be launched, you can enter "Begin | datFrom" as the Timer. During modeling, you can then work in the activities with the "Begin" time value. This is especially useful for schedule activities.

###The Plugin Properties
### The Plugin Properties
In this section, the plug-ins used by the workflow manager as well as their order are defined. The configuration is normally determined by the workflow system being used. Only plug-ins can be
configured that are known to the application server being used. If you have questions with respect to the required plug-ins, please contact your system administrator.

9 changes: 6 additions & 3 deletions src/site/markdown/modelling/overview.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
#Overview
# Overview

The Imixs-BPMN Modeler is a graphical tool for authoring workflow models that are compliant with the OMG BPMN 2.0 standard. It is assumed that the reader is familiar with BPMN 2.0 and
its applications. There a several online tutorials about the details of the BPMN 2.0 and the
specification.

Imixs-BPMN is based on the [Eclipse BPMN2 Modeler](https://www.eclipse.org/bpmn2-modeler/) and the Eclipse BPMN2 Metamodel, which was developed by contributing members of the OMG BPMN 2.0 working group and is fully compliant with the spec. The Eclipse BPMN2 Modeler UI surfaces the most commonly used BPMN elements. Imixs-BPMN extends the BPMN2 metamodel in the manner prescribed by the specification.

##General concepts
## General concepts

As shown in the screenshot below, Imixs-BPMN provides all of the BPMN features in a Tool Palette at the right side of the editor panel. The Drawing Canvas in the main area of the editor window is used to place the BPMN elements into the model.

<img src="../images/modelling/bpmn_screen_03.png"/>
Expand All @@ -14,7 +16,8 @@ As shown in the screenshot below, Imixs-BPMN provides all of the BPMN features i
BPMN elements can be placed on the canvas by selecting them from the Tool Palette and clicking anywhere on the canvas. Elements can be moved on the canvas and
connected (with, e.g. Sequence Flows, Associations, Data Flows, etc.) by selecting a connection tool from the palette and then first clicking the source element.

##The Imixs-BPMN Tools
## The Imixs-BPMN Tools

The Tool Palette is, by default, located along the right edge of the Drawing Canvas. It consists of several standard BPMN2 elements that can be dragged onto the Drawing Canvas. The Imixs-BPMN plug-in provides a separate section called "Imixs-Workflow". This category contains the "Imixs-Workflow Task" and the "Imixs-Workflow Event" Elements. Both elements are extensions to the BPMN Task and Event Elements defined by the BPMN 2.0 spec. The elements can be dragged like any other BPMN element onto the canvas to describe a workflow to be executable inside the Imixs-Workflow engine.


Expand Down
2 changes: 1 addition & 1 deletion src/site/markdown/modelling/textreplacement.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#Modeling with Text Replacement
# Modeling with Text Replacement

Imixs-Workflow provides a convenient way to define text blocks in the model, to be replaced dynamically with business or application data during processing a WorkItem. This feature is useful if a string constant need to be updated with values from the Process Instance or a property value during runtime. For example with the Text Replacement feature it is possible to insert business data into a mail message.

Expand Down
2 changes: 1 addition & 1 deletion src/site/markdown/restapi/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#The Imixs-REST Service API
# The Imixs-REST Service API

The **representational state transfer (REST)** is an architectural style, to present a service interface in a Web-based way. The API and core functionality of Imixs-Workflow is published by an open and platform independent RESTful Web service interface. The Imixs-Workflow REST services can be adopted easily by any kind of Internet client component.

Expand Down
2 changes: 1 addition & 1 deletion src/site/markdown/restapi/modelservice.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#The Model Service
# The Model Service

The resource _/model_ provides methods to read and update workflow models through the Imixs-Rest API.

Expand Down
6 changes: 4 additions & 2 deletions src/site/markdown/restapi/reportservice.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
#The Report Service
# The Report Service

The main resource /report provides a flexible rest service interface to create dynamic reports defined by through the imixs Report Service. The report rest service can be used to create and update report definitions and to process the result of a report providing a set of different parameters.

##The /report resources GET
## The /report resources GET

The /report GET resources are used to get business objects provided by the Imixs Report Manager:


Expand Down
2 changes: 1 addition & 1 deletion src/site/markdown/restapi/workflowservice.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#The Workflow Service
# The Workflow Service

The resource _/workflow_ provides methods to create, process and read workitems through the Imixs-Rest API.

Expand Down
Loading

0 comments on commit 4f0df3d

Please sign in to comment.