# Planung

### Wann sollte ein Custom Workflow angelegt werden?

Grundsätzlich gilt: Customizations sollten gut begründet sein, da jede Abweichung vom Standard im Zweifelsfall zusätzliche Maintenance- und Support aufwände nach sich ziehen und die Kompatibilität der Kundeninstanz mit zukünftigen Entwicklungen einschränken kann. Daher gilt: Aufgaben sollten wenn immer möglich mit den vorhandenen Standardmitteln gelöst werden. Nur wenn dies nicht möglich ist, sollten Customizations zum Einsatz kommen.

**Customizings begründen**

Für jeden Custom Workflow sollte kurz dokumentiert werden, was der jeweilige Workflow tut und warum das angestrebte Ergebnis eine individuelle Anpassung notwendig macht (Siehe Dokumentation)

**Auf bestehende Workflows aufbauen**

Durch die Import / Export Funktion für Workflows ist es einfach in Connect auf schon bestehenden Workflows aufzubauen. Es wird empfohlen wo immer sinnvoll bei der Erstellung einer Customization auf schon bestehenden Prozessen aufzubauen um so den Aufwand für den Kunden zu reduzieren. Xentral stellt hierzu im 2. Quartal eine neue Bibliotheksfunktion zur Verfügung, über die Xentral aus jeder Connect-Instanz auf verschiedene Basis-Customizations zugegriffen werden kann&#x20;

### Struktur der Workflows

#### **Projekte**

Grundsätzlich sollten alle Customizings im Projekt “default” angelegt werden. Bei komplexen Projekten kann es aber sinnvoll sein, weitere kundenindividuelle Projekte anzulegen und die Customizings auf verschiedene Projekte aufzuteilen. Dies kann auch sinnvoll sein, wenn ich Customizings auf der Shopseite von solchen auf der Xentral-Seite unterscheiden möchte

#### **Workflow-Gruppen**

Sind viele Customizings im Einsatz sollten diese über Workflow-Gruppen strukturiert werden. Hier bietet sich die Strukturierung nach Entität bzw. nach Elternprozess an. Wenn es in einem Projekt Anpassungen von Standardschnittstellen und eigenständige Custom Workflows gibt, sollten diese klar unterscheidbar benannt und idealerweise über Workflowgruppen strukturiert werden. Gleiches gilt für Custom CSV Workflows und Process Engine Workflows.Eine Struktur könnte demnach wie folgt aussehen:<br>

<img src="/files/6BE1dpY1CeVC2q8ojxJf" alt="" height="140" width="624">

#### **Customizings modularisieren und hierarchisch organisieren**

Wo sinnvoll sollten wie bei den Standardprozessen Eltern-Kind-Logiken zwischen den Workflows implementiert werden. Hierzu stehen in Connect die internen Trigger als Komponente zur Verfügung. Dies kann insbesondere sinnvoll sein, wenn einzelne Elemente eines Arrays in Schleifen bearbeitet werden und diese Bearbeitung komplexer ist.

**Beispiel:**

Elternprozess: Alle Items einer Bestellung auslesen

Kindprozess: Pro Item regelbasiert Daten manipulieren

#### Ein Workflow pro Thema

Um die Übersicht zu behalten, sollte pro Customization immer nur ein spezifisches Problem gelöst werden. Dies hat verschiedene Vorteile. So können beispielsweise einzelne Funktionen zu einem späteren Zeitpunkt deaktiviert werden (z.B. weil diese in den Standardfunktionsumfang übernommen wurden) ohne die Funktionalität anderer Anpassungen zu gefährden. Außerdem sind die einzelnen Customizings z.B. für den Support leichter verständlich und können einfacher maintained oder erweitert werden.Gleichzeitig führt eine geringe Komplexität der einzelnen Workflows auch zu höherer Stabilität und Zuverlässigkeit.

**Beispiel:**\
Workflow 1: Zuordnung der Sales Order zu Projekt an Hand des Lieferlandes\
Workflow 2: In Bestellung auf konfigurierbare Artikel prüfen und Hinweis in internen Kommentar schreiben<br>

#### Customizings priorisieren

Wenn mehrere Customizings für den gleichen Standardprozess genutzt werden sollten diese sinnvoll priorisiert werden. Die Priorisierung sorgt dafür, dass die einzelnen Workflows in der korrekten Reihenfolge ausgeführt werden. Dies verhindert z.B. das ungewollte gegenseitige Überschreiben von Variablen.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://connect.xentral.com/guidelines/planung.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
