TYPO3 Plugin:

formlog

Formularprotokoll

Formularprotokoll für TYPO3

Installation

Diese Erweiterung ist aus verschiedenen Quellen installierbar:

  1. Über Composer:

    composer erfordert Seitenbearbeitung/typo3-formlog
  2. Aus dem TYPO3 Extension Repository

Zweck

Ein Feature, das in der TYPO3-Formularerweiterung fehlt, ist die Protokollierung von Formulardaten. Wenn Sie jemals die jetzt nicht mehr funktionierende Formhandler-Erweiterung verwendet haben, wissen Sie, wie wertvoll dies sein kann. Sie können leicht überprüfen, ob die Formularvorlagen so funktionieren, wie sie sollten, sehen, dass interne Werte korrekt generiert werden und dank der Exporte nach CSV oder ähnlichem einige grundlegende Analysen durchführen.

Sehen Sie unseren Blogbeitrag über die TYPO3 Form Log Extension.

Protokollierung starten

Die Protokollierung kann für jedes Formular aktiviert werden, indem der LogFormData-Finisher zu seiner Formulardefinition hinzugefügt wird:

finisher:
  - ...

  - bezeichner: LogFormData

  - bezeichner: Umleiten

Der LogFormData-Finisher sollte der letzte Finisher sein oder unmittelbar vor dem Redirect-Finisher, falls vorhanden. Eine Protokollierung nach einem Redirect ist nicht möglich.

Zusätzliche Variablen, die im FinisherVariableProvider gespeichert sind, können ebenfalls mit der Option finisherVariables protokolliert werden:

  - bezeichner: LogFormData
    optionen:
      finisherVariablen:
        MyCustomFinisher:
          - myCustomVariable

Die Schlüssel innerhalb von finisherVariables sind Kennungen von Finishern, die in einem Formular verwendet werden, der Wert jedes Eintrags ist eine Liste von Finisher-Variablennamen.

Formularprotokollmodul

Standardmäßig zeigt das Formularprotokollmodul einige Grundfelder wie Seite, Formularkennung, Sprache und Datum der Formularabgabe als Spalten an.

Zusätzliche Spalten können mit der Einstellung list.columns in ext_typoscript_setup.txt hinzugefügt werden:

module.tx_formlog { {
  einstellungen {
    liste {
      spalten {
        100 {
          eigenschaft = data.email
          label = LLL:EXT:my_site/Ressourcen/Private/Language/Extensions/Formular/locallang.xlf:element.email.properties.label
        }
      }
    }
  }
}

In list.columns kann eine beliebige Liste von Spalten hinzugefügt werden, wobei die Option property auf einen Eigenschaftspfad im FormLogEntry-Domänenmodell verweist. Einfach ausgedrückt ermöglicht data.* den Zugriff auf Formulardaten über eine Formularelementkennung, z.B. data.email für den Wert des Formularelements email. Die Option Label wird verwendet, um ein übersetzbares Label abzurufen. Normalerweise kann man einfach die gleiche Bezeichnung verwenden, die für das Feld innerhalb des Formulars selbst verwendet wird.

Ebenso verhält es sich mit zusätzlichen Finisher-Variablen, indem die Finisher-Kennung und der Variablenname verwendet werden:

module.tx_formlog { {
  einstellungen {
    liste {
      spalten {
        200 {
          name = finisherVariables.MyCustomFinisher.myCustomVariable
          label = LLL:EXT:my_site/Ressourcen/Private/Language/Extensions/Formlog/locallang.xlf:formlog.entry.finisherVariables.MyCustomFinisher.myCustomVariable
        }
      }
    }
  }
}

Hier wird myCustomVariable of MyCustomFinisher als Spalte der Liste hinzugefügt.

Export von Formularprotokollen

Out-of-the-Box-Formular-Protokolleinträge können nach CSV und Excel (XLSX) exportiert werden. Grundfelder von Formularprotokolleinträgen werden standardmäßig exportiert, zusätzliche Spalten können mit der Einstellung export.columns in ext_typoscript_setup.txt hinzugefügt werden, die genau wie die Einstellung list.columns konfiguriert ist:

module.tx_formlog { {
  einstellungen {
    export {
      spalten {
        100 {
          eigenschaft = data.firstname
          label = LLL:EXT:my_site/Ressourcen/Private/Language/Extensions/Formular/locallang.xlf:element.firstname.properties.label
        }
        101 {
          eigenschaft = data.last name
          label = LLL:EXT:my_site/Ressourcen/Private/Language/Extensions/Formular/locallang.xlf:element.nachname.properties.label
        }
        102 {
          eigenschaft = data.email
          label = LLL:EXT:my_site/Ressourcen/Private/Language/Extensions/Formular/locallang.xlf:element.email.properties.label
        }
        200 {
          eigenschaft = finisherVariables.MyCustomFinisher.myCustomVariable
          label = LLL:EXT:my_site/Ressourcen/Private/Language/Extensions/Formlog/locallang.xlf:formlog.entry.finisherVariables.MyCustomFinisher.myCustomVariable
        }
      }
    }
  }
}

Bereinigung des Protokolleintrags

Die Aufgabe Table Garbage Collection Scheduler kann so eingerichtet werden, dass alte Formularprotokolleinträge automatisch gelöscht werden. Wählen Sie tx_formlog_einträge als zu bereinigende Tabelle und einen geeigneten Wert für Delete entries older than given number of days, standardmäßig 180.

Danke

Die Entwicklung dieses Pakets wurde vom TÜV Hessen mit Stolz unterstützt.

Benötigen Sie schnelle Hilfe mit dieser Extension? Unser Team von erfahrenen TYPO3-Entwicklern löst Probleme unkompliziert und zum Stundensatz.

Verteilung:FORMLOG ist auf

0.01 % aller TYPO3 installiert.

  • 0.11 % aller TYPO3 8.7.x Installationen installiert

PHP Version:FORMLOG wird benutzt mit

  • 100 % PHP/5.6

Gosign-Responsive Index: TYPO3 Installationen nutzen FORMLOG zu

  • 100 % wenn der Gosign-Responsive-Index zwischen 80 % und 100 % ist
  • 0 % wenn der Gosign-Responsive-Index zwischen 60 % und 80 % ist
  • 0 % wenn der Gosign-Responsive-Index zwischen 40 % und 60 % ist
  • 0 % wenn der Gosign-Responsive-Index zwischen 20 % und 40 % ist
  • 0 % wenn der Gosign-Responsive-Index zwischen 0 % und 20 % ist

Pagespeed: TYPO3 Installationen nutzen FORMLOG zu

  • 0 % wenn der Pagespeed zwischen 80 % und 100 % ist
  • 40 % wenn der Pagespeed zwischen 60 % und 80 % ist
  • 60 % wenn der Pagespeed zwischen 40 % und 60 % ist
  • 0 % wenn der Pagespeed zwischen 20 % und 40 % ist
  • 0 % wenn der Pagespeed zwischen 0 % und 20 % ist


Stichprobe n=36801 von Gosign gecrawlte TYPO3-Seiten mit den Top-Level-Domains <.de/.ch/.at>