Zum Hauptinhalt springen

Manual

Installation


TER / EXT-Manager
Die Installation der Extension erfolgt wie gewohnt über den Extension Manager.

Composer
> composer req exotec/questionaire

Pages/SysFolder


Diese Seiten/SysOrdner anlegen

> Seite Liste
> Seite Details
> Storage Folder Umfragen
> Storage Folder FrontendUser

TS Config


Im Konstanten Editor des Template-Tools werden die PID's der zuvor angelegten Seiten/Sysfolder angegeben.

Screenshot

Plugins anlegen

In den Seiten für die Listen- und Detailansicht wird das Plugin "Questionaire" angelegt. Es sind keine Settings nötig.

Das Plugin sollte aber nur eingeloggten FrontendUsern zugänglich sein.

Umfrage anlegen

Eine Umfrage kann die folgenden 4 Fragetypen in beliebiger Anzahl beinhalten.

  • Einfachauswahl (Radio)
  • Mehrfachauswahl (Checkbox)
  • Matrix (multiple Radios)
  • Schulnoten (1-6)


Je nachdem welcher Fragetyp gewählt wurde sind verschiedene Optionen verfügbar.


Invite Tasks anlegen

Im Scheduler können Tasks angelegt werden, welche Einladungen an die FrontendUser für die Umfragen via Mail versenden.

Beim Task-Run wird geprüft ob an den FrontendUser bereits eine Einladung versendet wurde. Es werden keine Einladungen doppelt versendet.

Die Einladungen werden im StorageFolder gespeichert. Wird dort eine Einladung gelöscht, erhält der entsprechende FrontendUser beim nächsten Task-Run erneut eine Einladung.

Email Templates anpassen

Template für die Einladung:
Resources/Private/Templates/Invite/Email.html

Template für die Bestätigung nach Beendigung der Umfragen:
Resources/Private/Templates/Survey/ConfirmationEmail.html

Speaking URL's

In der Site Configuration muss der folgende Code angelegt werden

sites/xyz/config.yaml


routeEnhancers:
  Questionaire:
    type: Extbase
    limitToPages:
      - [PID DETAILS]
    extension: Questionaire
    plugin: Pi1
    routes:
      -
        routePath: '/{survey}'
_controller: 'Survey::show'
_arguments:
          survey_slug: survey
    requirements:
      survey_slug: '^[a-zA-Z0-9].*$'
aspects:
      survey_slug:
        type: PersistedAliasMapper
        tableName: tx_questionaire_domain_model_survey
        routeFieldName: slug