Wstęp

Strona zawiera dokładna instrukcję tworzenia projektu wdrożeniowego, bazującego na systemie PlusWorkflow 3.1.

System PlusWorkflow od wersji 3.1 budowany jest przy użyciu narzędzia Maven. Zalecane jest zapoznanie się z tym narzędziem korzystając z dokumentacji i dostępnych w sieci kursów.

Wymagania

Środowisko przygotowane zgodnie z instrukcją zawartą na stronie:

Utworzenie projektu Maven w środowisku Eclipse

Pierwszym krokiem jest stworzenie nowego projektu typu Maven. W tym celu należy wywołać menu File -> New -> Project:

W nowo otwartym oknie zaznaczamy opcję "Create a simple project..." i przechodzimy do następnej strony klawiszem Next.

Teraz należy nadać odpowiednie atrybuty projektu.

Dokładne zasady nadawania wartości poszczególnym atrybutom opisane są w procedurze tworzenia projektu.TODO:LINK

Klikamy przycisk Finish aby zakończyć tworzenie projektu. 

Konfiguracja pliku pom.xml

Stworzony projekt powinien mieć następującą strukturę:

Plik pom.xml zawiera podstawowe atrybuty projektu (nazwa, wersja) oraz definicję wymaganych zależności. Jedyną wymaganą zależnością jest com.suncode:plusworkflow-web:war:

<dependency>
	<groupId>com.suncode</groupId>
	<artifactId>plusworkflow-web</artifactId>
	<type>war</type>
</dependency>

Komunikacja z systemem PlusWorkflow musi odbywać się za pomocą Java API. W tym celu musimy zdefiniować odpowiednią zależność, co pozwoli nam na używanie klas API w naszym projekcie:

<dependency>
	<groupId>com.suncode</groupId>
	<artifactId>plusworkflow-api</artifactId>
</dependency>


Ostatecznie podstawowy plik pom.xml projektu wygląda następująco:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>com.suncode</groupId>
		<artifactId>plusworkflow</artifactId>
		<version>3.1.4</version>
	</parent>
	<groupId>com.suncode.client</groupId>
	<artifactId>plusworkflow-rgol</artifactId>
	<version>3.1.DEV-SNAPSHOT</version>
	<packaging>war</packaging>
	<name>Swedwood Goleniow</name>
	<dependencies>
		
		<!-- System PlusWorkflow -->
		<dependency>
			<groupId>com.suncode</groupId>
			<artifactId>plusworkflow-web</artifactId>
			<type>war</type>
		</dependency>

		<!-- PlusWorkflow API -->
		<dependency>
			<groupId>com.suncode</groupId>
			<artifactId>plusworkflow-api</artifactId>
		</dependency>

	</dependencies>
</project>

Dodanie projektu do serwera

Projekt dodajemy do naszego serwera Tomcat - przechodzimy do zakładki Servers, a następnie klikamy prawym przyciskiem myszy na serwer i wybieramy Add and Remove

Przenosimy nowy projekt na prawą stronę, po czym klikamy przycisk Finish.

W zakładce Project Explorer klikamy prawym przyciskiem myszy na nasz projekt. Z podręcznego menu wybieramy Maven -> Update project...

W nowym oknie zaznaczamy Force Update of Snapshots/Releases po czym klikamy OK.

Uruchomienie projektu

Aby uruchomić projekt zakładce Servers wybieramy serwer i klikamy Start lub Debug

FAQ

Zbiór najczęściej zadawanych pytań:

1. Eclipse nie widzi klasy DBManagement:

Wszystkie zależności projektu zdefiniowane są w pliku pom.xml. Należy dowiedzieć się, z jakiego moduły pochodzi interesująca nas klasa i zadeklarować odpowiednią zależność. W przypadku klasy DBManagement jest to:

<dependency>
	<groupId>com.suncode</groupId>
	<artifactId>plusworkflow-old-core</artifactId>
</dependency>
2. Eclipse nie widzi klas z CUF:

Wszystkie zależności projektu zdefiniowane są w pliku pom.xml. Należy dowiedzieć się, z jakiego moduły pochodzi interesująca nas klasa i zadeklarować odpowiednią zależność. W przypadku klas c CUF jest to:

<dependency>
	<groupId>com.suncode</groupId>
	<artifactId>cuf-core</artifactId>
</dependency>

Wykorzystywanie klas spoza modułu com.suncode:plusworkflow-api nie jest zalecane. Wszystkie wymagane przez wdrożenie metody powinny być dostępne jako część publicznego PlusWorkflow API lub modułów zewnętrznych (np. CUF). W przypadku braku danej funkcjonalności, należy stworzyć odpowiednie zgłoszenie w systemie JIRA.



Introduction

This page contains detailed instructions for creating an implementation project based on PlusWorkflow 3.1.

The PlusWorkflow system as of version 3.1 is built using the tool Maven. It is recommended to familiarize yourself with this tool using the documentation and courses available on the web.

Requirements

Environment prepared according to the instructions on the page:

Creating a Maven project in the Eclipse environment

The first step is to create a new Maven project. To do this, call the File -> New -> Project menu:

In the newly opened window, select "Create a simple project..." and move to the next page by clicking Next.

Now you need to give the appropriate attributes to the project.

The exact rules for assigning values to individual attributes are described in the procedure for creating a project.TODO:LINK

Click the Finish button to finish creating the project.

Configuration of pom.xml file

The created project should have the following structure:

The pom.xml file contains the basic attributes of the project (name, version) and the definition of the required dependencies. The only required dependency is com.suncode:plusworkflow-web:war:

<dependency>
	<groupId>com.suncode</groupId>
	<artifactId>plusworkflow-web</artifactId>
	<type>war</type>
</dependency>

Communication with the PlusWorkflow system must be done by using the Java API. For this, you need to define the appropriate dependency, which allows you to use API classes in your project:

<dependency>
	<groupId>com.suncode</groupId>
	<artifactId>plusworkflow-api</artifactId>
</dependency>


Finally, the basic pom.xml file of the project looks as follows:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>com.suncode</groupId>
		<artifactId>plusworkflow</artifactId>
		<version>3.1.4</version>
	</parent>
	<groupId>com.suncode.client</groupId>
	<artifactId>plusworkflow-rgol</artifactId>
	<version>3.1.DEV-SNAPSHOT</version>
	<packaging>war</packaging>
	<name>Swedwood Goleniow</name>
	<dependencies>
		
		<!-- System PlusWorkflow -->
		<dependency>
			<groupId>com.suncode</groupId>
			<artifactId>plusworkflow-web</artifactId>
			<type>war</type>
		</dependency>

		<!-- PlusWorkflow API -->
		<dependency>
			<groupId>com.suncode</groupId>
			<artifactId>plusworkflow-api</artifactId>
		</dependency>

	</dependencies>
</project>

Adding a project to a server

Add the project to the Tomcat server - go to the Servers tab, then right-click on the server and select Add and Remove.

Move the new project to the right side, then click Finish.

In the Project Explorer tab, right-click on the project. From the pop-up menu, select Maven -> Update project....


In the new window, select Force Update of Snapshots/Releases then click OK.

Starting the project

To start the project on the Servers tab, select the server and click Start or Debug.

FAQ

1. Eclipse does not see the DBManagement class:

All project dependencies are defined in the pom.xml file. You need to find out which module the class you are interested in comes from and declare the corresponding dependency. In the case of the DBManagement class, this is:

<dependency>
	<groupId>com.suncode</groupId>
	<artifactId>plusworkflow-old-core</artifactId>
</dependency>
2. Eclipse can't see classes with CUF:

All project dependencies are defined in the pom.xml file. It is necessary to find out which module the class of interest comes from and declare the corresponding dependency. In the case of c CUF classes, this is:

<dependency>
	<groupId>com.suncode</groupId>
	<artifactId>cuf-core</artifactId>
</dependency>

 Using classes outside the com.suncode:plusworkflow-api module is not recommended. All methods required by the implementation should be available as part of the public PlusWorkflow API or external modules (e.g. CUF). If a particular functionality is missing, create a corresponding ticket in JIRA.