# Zusatzfelder anlegen

{% hint style="warning" %}
In älteren Versionen von Converia werden Zusatzfelder noch als *EAV-Felder* bezeichnet.
{% endhint %}

## Allgemein

Zusatzfelder (ehemals EAV-Felder) sind zusätzliche Felder, die weitere Informationen in der Teilnehmeranmeldung, Beitragseinreichung und in den persönlichen Daten (C3) abfragen können.

In der Regel benötigt jedes Zusatzfeld **ein Datenfeld (=Speicheradapter)** und **zwei dazugehörige Formularbezüge**. Insgesamt **braucht es also drei Einträge** für ein funktionierendes Zusatzfeld. Einen Formularbezug im Frontend, damit ein ausfüllbares Formularfeld angezeigt wird - und einen Formularbezug im Backend, damit die Informationen im Backend abgerufen werden können.

## Neues Zusatzfeld (EAV Feld) erstellen

Unter Administration > Zusatzfelder> Zusatzfelder können neue Felder durch *Eintrag hinzufügen* erstellt werden.

<figure><img src="https://4086967078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyzdXgmSBPNkQushdnuut%2Fuploads%2FWhSqNDMp9vRF9j1EWi6R%2F2024-10-09_10h30_41.png?alt=media&#x26;token=ca93beb7-042e-42b3-ac03-bd6d47e08077" alt="Abb. 1: Zusatzfeld anlegen"><figcaption><p>Abb. 1: Zusatzfeld anlegen</p></figcaption></figure>

#### Name

Der *Name* dient der eindeutigen Identifikation und Zuordnung des EAV-Felds und der dazugehörigen Feldbezüge im System.

#### Typ

Der *Typ ist* abhängig davon, ob das Zusatzfeld für die Anmeldung bzw. die persönlichen Daten bestimmt ist (in dem Fall: *Typ* = *PERSON*) oder in die Beitragseinreichung (in dem Fall: *Typ* = *PAPER*).

#### Speicheradapter

Mit der Auswahl des *Speicheradapters* wird bestimmt, welche Art von Information in dem Zusatzfeld gespeichert wird.

{% hint style="warning" %}
Es ist wichtig, den richtigen Speicheradapter auszuwählen, da die Informationen im Zusatzfeld sonst nicht korrekt bzw. gar nicht gespeichert werden.
{% endhint %}

<table><thead><tr><th width="207">Typ: PERSON</th><th width="193">Typ: PAPER</th><th>Zusatzfelder</th><th></th></tr></thead><tbody><tr><td>Person - Zahlenwert (Integer)</td><td>Paper - Zahlenwert (Integer)</td><td>Auswählen, Checkbox, Datei (=Upload), Radio</td><td><ul><li>Zahlenwerte / Auswahl</li></ul></td></tr><tr><td>Person - Textzeile (Varchar)</td><td>Paper - Textzeile (Varchar)</td><td>Text (einzeilig)</td><td><ul><li>Kurztexte (max. 250 Zeichen)</li></ul></td></tr><tr><td>Person - Textabsatz (Text)</td><td>Paper - Textabsatz (Text)</td><td>Text (mehrzeilig)</td><td><ul><li>Texte</li></ul></td></tr></tbody></table>

{% hint style="danger" %}
Ein Dateiupload in der Frontend-Anmeldung (Schritt persönliche Daten) ist derzeit nicht implementiert bzw. möglich!
{% endhint %}

### Formularbezüge hinzufügen

<figure><img src="https://4086967078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyzdXgmSBPNkQushdnuut%2Fuploads%2FCSyi2hNiJ87lv2uJz3Tb%2F2024-10-09_10h36_38.png?alt=media&#x26;token=81a5b3c0-001a-4990-84ca-75979f486bd0" alt="Abb. 2: Formularbezug hinzufügen"><figcaption><p>Abb. 2: Formularbezug hinzufügen</p></figcaption></figure>

Sobald das Feld angelegt wurde, fehlen noch die **Formularbezüge**. In der Regel ist immer ein Formularbezug im Backend (*BE Person* / *BE Paper*) nötig und ein Formularbezug im Frontend an der gewünschten Stelle. Für ein Zusatzfeld müssen also **zwei** identische Felder erstellt werde**n.**

### Formularbezüge konfigurieren

<figure><img src="https://4086967078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyzdXgmSBPNkQushdnuut%2Fuploads%2FhL70lce4kcvD3C77tINn%2F2024-10-09_10h38_56.png?alt=media&#x26;token=c0bf2d47-c2c2-4fe4-b34f-6899800f5638" alt="Abb. 3: Formularbezug konfigurieren"><figcaption><p>Abb. 3: Formularbezug konfigurieren</p></figcaption></figure>

#### Feldname

Der *Feldname* sollte übersichtshalber derselbe sein, wie für das EAV-Feld. In diesem Fall wäre das „Test-Feld“.

#### Anzeigenamen / Beschreibung

Der *Anzeigename* wird im Frontend immer oberhalb des Zusatzfeldes angezeigt, während die *Beschreibung* unterhalb ausgegeben wird. Handelt es sich um eine mehrsprachige Veranstaltung, müssen *Anzeigename* und *Beschreibung* in allen Sprachen eingetragen werden.

<figure><img src="https://4086967078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyzdXgmSBPNkQushdnuut%2Fuploads%2Fe2xnqVjhEBuCgZGy2p8r%2F2024-10-09_10h44_55.png?alt=media&#x26;token=5b43739c-70c5-4918-bcd1-dd5f3a6554c6" alt="Abb. 4: Das neu angelegte Zusatzfeld in der Anmeldung (Frontend)"><figcaption><p>Abb. 4: Das neu angelegte Zusatzfeld in der Anmeldung (Frontend)</p></figcaption></figure>

#### Formular

An dieser Stelle muss das **richtige&#x20;*****Formular*****&#x20;gewählt** **werden**.

**TIPP:** Es empfiehlt sich immer, mit dem Frontend-Formular anzufangen. Dort lässt sich dann komfortabel die Einstellung und Ansicht überprüfen. Wenn alles den Erwartungen entspricht, können die Einträge für das Backend dupliziert werden.

#### Elementtyp

Danach muss ein *Elementtyp* ausgewählt werden, der den Anforderungen entspricht und die Haken bei *Pflichtfeld* (optional) und *Sichtbar* gesetzt werden.

**HINWEIS:** Die Typen „Überschrift“ und „Absatz“ brauchen keine Verknüpfung im Backend-Formular. Es ist nur ein Feld im Frontend-Formular nötig.

Bei der Auswahl des *Elementtyps* muss darauf geachtet werden, dass es zu dem **gewählten** [**Speicheradapter**](#speicheradapter) passt, oder dieser ggf. angepasst wird.

#### Elementtypen: Ausnahme Überschrift und Absatz

Die Feldtypen *Überschrift* und *Absatz* sind keine Eingabefelder, sondern dienen der Beschreibung und Unterteilung der Zusatzfelder.

<figure><img src="https://4086967078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyzdXgmSBPNkQushdnuut%2Fuploads%2FuRh7Bn8TdKIRW0epurcN%2F2024-10-09_10h47_23.png?alt=media&#x26;token=f51e1e28-8201-4569-87de-f26d1d4f2c55" alt="Abb. 5: Das korrekte Datenfeld auswählen"><figcaption><p>Abb. 5: Das korrekte Datenfeld auswählen</p></figcaption></figure>

*Überschrift* und *Absatz* dürfen nur ein Eintrag auf einem Formular sein und keinen Feldbezug/keine Zuordnung zu einem Datenfeld haben, da es ansonsten zu Fehlern beim Speichern kommen kann.

{% embed url="<https://www.loom.com/embed/ea44dca8baf64a2992970d594199330e>" %}
Überschriften und Absätze anlegen
{% endembed %}

## Verknüpfung zum Frontend

Nachdem das EAV-Feld mit dem Feldbezug zum BE-Feld erstellt wurde, muss noch die Verknüpfung mit dem Frontend hergestellt werden.

Dazu *Zurück zur Liste* gehen bis zur EAV-Startseite. Das vorher erstellte Formular erreicht man über das ⚙ (z.B. *BE Person)*.

<figure><img src="https://4086967078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyzdXgmSBPNkQushdnuut%2Fuploads%2FuRwhLsOCL3k70NrIvOFn%2F2024-10-09_10h50_05.png?alt=media&#x26;token=a171431e-5141-483c-b7ae-390095fb3cce" alt=""><figcaption><p>Abb. 6: Formular auswählen</p></figcaption></figure>

<figure><img src="https://slabstatic.com/prod/uploads/v54u0pgn/posts/images/RGuszoOC1RKhl6dMuDqtrwio.gif" alt=""><figcaption><p>Abb. 7: Eintrag duplizieren</p></figcaption></figure>

In diesem Formular findet sich das eben erstellte Feld wieder. Dieser Eintrag kann dupliziert werden. Das Duplikat (zu erkennen an der Endung *\_copy*) wird dann weiter bearbeitet.

Es ist wichtig, dass **das Original-Feld und das Duplikat dieselben Inhalte** haben, da es sonst zu Verzerrungen und Falschdarstellungen im System kommen kann.

Der einzige Teil, der im Duplikat verändert wird, ist das **Formular**. Hier wird die gewünschte Stelle im Frontend ausgewählt, im aktuellen Beispiel *FE Registration step 3 participant details*.

<figure><img src="https://4086967078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyzdXgmSBPNkQushdnuut%2Fuploads%2FYukUP4R95l9QKbdqg7BU%2Fimage.png?alt=media&#x26;token=50325e3b-6c50-44ec-a7e5-2ffeffe526d7" alt=""><figcaption><p>Abb. 8: Auswahl des Formulars</p></figcaption></figure>

**Mögliche Stellen für ein Zusatzfeld im Frontend sind:**

| Typ: PERSON                                         | Typ: PAPER                        |
| --------------------------------------------------- | --------------------------------- |
| Schritt 3 der Teilnehmeranmeldung                   | Schritt 1 der Beitragseinreichung |
| Schritt 3 der Beitragseinreichung (Autoren-Details) | Schritt 2 der Beitragseinreichung |
| Persönliche Daten im C3                             | Schritt 1 der Session-Submission  |

### Das fertige Zusatzfeld

Wurde alles richtig konfiguriert, erscheint das fertige Zusatzfeld im Frontend und Backend.

Im Schritt 3 der Anmeldung sieht es wie folgt aus:

<figure><img src="https://4086967078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyzdXgmSBPNkQushdnuut%2Fuploads%2Fe2xnqVjhEBuCgZGy2p8r%2F2024-10-09_10h44_55.png?alt=media&#x26;token=5b43739c-70c5-4918-bcd1-dd5f3a6554c6" alt="Das neu angelegte Zusatzfeld in Schritt der Anmeldung"><figcaption><p>Abb. 9: Das neu angelegte Zusatzfeld in Schritt der Anmeldung</p></figcaption></figure>

Im Backend finden sich alle Zusatzfelder des Typs PERSON in den Personendaten unter dem Reiter ***Zusatzfelder***.

<figure><img src="https://4086967078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyzdXgmSBPNkQushdnuut%2Fuploads%2FmSNUVyIRA0XHWwiENOuc%2F2024-10-09_10h55_12.png?alt=media&#x26;token=d58af5f6-013d-4c83-88fc-634b9ae20762" alt="Abb. 10: Backend-Typ PERSON"><figcaption><p>Abb. 10: Backend-Typ PERSON</p></figcaption></figure>

Für den Typ PAPER finden sich die Zusatzfelder in den Beitragsdetails unter dem Reiter ***Konfigurierbare Felder***.

<figure><img src="https://4086967078-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyzdXgmSBPNkQushdnuut%2Fuploads%2F4zOMKv6CDFn7gafnpVkB%2F2024-10-09_11h03_25.png?alt=media&#x26;token=87c1b6dd-717d-42d0-bf99-7edd2c219fa4" alt=" Backend-Typ PAPER"><figcaption><p>Abb. 11: Backend-Typ PAPER</p></figcaption></figure>

### Validatoren für Zusatzfelder

Bislang existieren vier Validatoren für Zusatzfelder:

1. **Dateigröße** für Dateiupload
2. **Dateityp** für Dateiupload
3. Anzahl **Zeichen** für Textfelder
4. Anzahl **Wörter** für Textfelder

{% hint style="info" %}
Validatoren können auf Wunsch durch unsere Entwickler angelegt werden.
{% endhint %}
