Formulare in TYPO3 8.7 LTS
Peter Kraume
TYPO3 University Day 2017
27. September 2017
Peter Kraume
• Senior TYPO3 Developer bei bgm websolutions
• Mitglied im Vorstand der TYPO3 Association
• Mitorganisator des TYPO3camp Munich und der
TYPO3 User Group
Twitter: @cybersmog
Mail: peter.kraume@bgm-gmbh.de
Slides: http://de.slideshare.net/pk77/
bgm websolutions
• Gründung: 1999
• inhabergeführte Agentur
• Unternehmensform: GmbH & Co. KG
• Mitarbeiter im Bereich Websolutions: 10 feste Mitarbeiter
• TYPO3 seit 2001
• Gold Mitgliedschaft in der TYPO3 Association
• TYPO3 Certified Integratoren
• Durchschnittliche Länge unserer Kundenbeziehungen: 5,7 Jahre
• Durchschnittliche Firmenzugehörigkeit unserer Mitarbeiter: 6,6 Jahre
• Weiterempfehlungsquote unserer Kunden: 96,3%
Evolution des Formular Inhaltselements
• Systemextension mit Form Wizard schon lange Bestandteil von TYPO3
• TYPO3 4.6 (Oktober 2011)
• Umfangreicher Rewrite durch Patrick Broens
• TYPO3 7.4 (Sommer 2015)
• Die Jenaer Agentur TRITUM hat die Pflege der Systemextension
übernommen
• Code Sprint bei TRITUM
Dilemma
• Zu viele offene Bugreports
• Viele Hürden durch veraltete Architektur
• Kein Vertrauen in der Community in EXT:form
Plan beim Code Sprint:
• Codebasis auf Extbase und Fluid heben => realisiert in TYPO3 7.5
• Form Wizard neu erstellen => geplant für TYPO3 8.x
Realität:
• Rewrite des Form Wizard allein ist nicht zielführend
• Plan zum kompletten Rewrite von EXT:form als Formular Framework
Aktueller Status Quo
• TYPO3 8.5 (Dezember 2016)
• Kompletter Rewrite von EXT:form wird in den Core integriert
• TYPO3 8.7 LTS (April 2017)
• EXT:form verbleibt als stabile Systemextension im TYPO3 Core
• EXT:form hat sich vom einfachen Inhaltselement zu einem Formular
Framework weiterentwickelt
Zielgruppen der Formular Extensions
Redakteure Integratoren
Entwickler /
Admins
formhandler ✔ ✔
formz ✔
powermail ✔ ✔ ✔
form ✔ ✔ ✔
Architektur des Formular Frameworks
• Analyse von anderen CMS und 3rd Party Formular Erweiterungen
• Grundlage ist das Flow Form Framework von Sebastian Kurfürst
• EXT:form wurde noch generischer ausgelegt
• Umsetzung des Editors nur mit jQuery um nicht wieder ein weiteres
JavaScript Framework in den TYPO3 Core integrieren zu müssen
• Struktur:
• Backend Modul „Formulare“
• Form Manager mit Assistent zum Kickstart neuer Formulare
• Form Editor zum Bearbeiten der Formulare
• Inhaltselement „Mail form“
Form Manager
Form Editor
Form Editor
• komplett anpassbar
• JavaScript API zur Erweiterung
des Editors
Konfiguration
• YAML Dateien für Formulare und den
Editor selbst
• Datei basiert => Formulare sind
versionierbar
• Konfiguration kann überschrieben
werden
• Konfiguration kann vererbt werden
Speicherorte für Formulare
• Dateiliste (fileadmin)
• FAL Adapter (Amazon S3, Microsoft Azure, Google Cloud)
• TYPO3 Extension (site package / theme extension)
Best Practice für Integratoren:
• Formular im Editor erstellen
• YAML Datei in Site Package / Theme Extension verschieben
• Theme Extension braucht Basiskonfiguration, damit Formulare
gefunden werden
PHP API
• Methoden zum Zugriff auf jeden Schritt während der Lebensdauer
eines Formulars bzw. der Daten, auch unabhängig vom Form Editor
• Eigene Renderer möglich
• Ausgabe als PDF Formular
• TCA Ausgabe (Extension Kickstarter)
• Formulare via API
• dynamisch erstellte Formulare
• Formulare mit Bedingungen
Formular Elemente
• Alle Standard Formular Elemente sind vorhanden
• Containerelemente wie Grids oder Fieldsets
• Inhaltselemente
• Eigene Formularelemente möglich, z.B.
• Google Maps Einbindung zur Positionsbestimmung
• Bewertung mit Sternen
• alle HTML5 Attribute werden unterstützt
• Datei Uploads werden durch FAL verarbeitet
Validatoren
• Standard Validatoren werden mitgeliefert
• Eigene Validatoren möglich
• Es gibt keine mitgelieferte browserbasierte Validierung
Finisher
• Mitgelieferte Finisher
• Speichern in Datenbank
• Versand von Mails
• Weiterleitungen
• Finisher können aufeinander aufbauen
• Datenübernahme aus Vorgänger
• Eigene Finisher
• Finisher können überschrieben werden
Weitere Features
• Mehrsprachige Formulare
• Formulare mit mehreren Schritten
• mehrere Formulare auf einer Seite
• Spam Schutz
• Starke Voreinstellungen für benutzerfreundlichen Editor
• TypoScript Unterstützung
Vorteile auf einen Blick
• Redakteure können Formulare sehr einfach selber erstellen
• Vorgefertigte Formulare können als Vorlage zur Verfügung gestellt
werden
• Gute Erweiterbarkeit des Editors
• Versionierung von Formularen
• Einfach Übernahme von Formulare in andere TYPO3 Installationen
• konservative Update-Politik des TYPO3 Core
• langfristige Unterstützung
Migration alter Formulare
• Alte EXT:form Extension ist als EXT:form_legacy im TYPO3 Extension
Repository verfügbar
• Parallelbetrieb der beiden Extensions ist möglich!
• Bislang gibt es keine Migration für bestehende Formulare
Links
• Dokumentation:

https://docs.typo3.org/typo3cms/extensions/form/
• Slack Channel:

https://typo3.slack.com/archives/ext-form
• Demo Video:

https://www.youtube.com/watch?v=F9sTAOEcTI0
Vielen Dank!
Twitter: @cybersmog
Mail: peter.kraume@bgm-gmbh.de
Slides: http://de.slideshare.net/pk77/
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Formulare in TYPO3 8.7 LTS

  • 1.
    Formulare in TYPO38.7 LTS Peter Kraume TYPO3 University Day 2017 27. September 2017
  • 2.
    Peter Kraume • SeniorTYPO3 Developer bei bgm websolutions • Mitglied im Vorstand der TYPO3 Association • Mitorganisator des TYPO3camp Munich und der TYPO3 User Group Twitter: @cybersmog Mail: peter.kraume@bgm-gmbh.de Slides: http://de.slideshare.net/pk77/
  • 3.
    bgm websolutions • Gründung:1999 • inhabergeführte Agentur • Unternehmensform: GmbH & Co. KG • Mitarbeiter im Bereich Websolutions: 10 feste Mitarbeiter • TYPO3 seit 2001 • Gold Mitgliedschaft in der TYPO3 Association • TYPO3 Certified Integratoren • Durchschnittliche Länge unserer Kundenbeziehungen: 5,7 Jahre • Durchschnittliche Firmenzugehörigkeit unserer Mitarbeiter: 6,6 Jahre • Weiterempfehlungsquote unserer Kunden: 96,3%
  • 4.
    Evolution des FormularInhaltselements • Systemextension mit Form Wizard schon lange Bestandteil von TYPO3 • TYPO3 4.6 (Oktober 2011) • Umfangreicher Rewrite durch Patrick Broens • TYPO3 7.4 (Sommer 2015) • Die Jenaer Agentur TRITUM hat die Pflege der Systemextension übernommen • Code Sprint bei TRITUM
  • 5.
    Dilemma • Zu vieleoffene Bugreports • Viele Hürden durch veraltete Architektur • Kein Vertrauen in der Community in EXT:form Plan beim Code Sprint: • Codebasis auf Extbase und Fluid heben => realisiert in TYPO3 7.5 • Form Wizard neu erstellen => geplant für TYPO3 8.x Realität: • Rewrite des Form Wizard allein ist nicht zielführend • Plan zum kompletten Rewrite von EXT:form als Formular Framework
  • 6.
    Aktueller Status Quo •TYPO3 8.5 (Dezember 2016) • Kompletter Rewrite von EXT:form wird in den Core integriert • TYPO3 8.7 LTS (April 2017) • EXT:form verbleibt als stabile Systemextension im TYPO3 Core • EXT:form hat sich vom einfachen Inhaltselement zu einem Formular Framework weiterentwickelt
  • 7.
    Zielgruppen der FormularExtensions Redakteure Integratoren Entwickler / Admins formhandler ✔ ✔ formz ✔ powermail ✔ ✔ ✔ form ✔ ✔ ✔
  • 8.
    Architektur des FormularFrameworks • Analyse von anderen CMS und 3rd Party Formular Erweiterungen • Grundlage ist das Flow Form Framework von Sebastian Kurfürst • EXT:form wurde noch generischer ausgelegt • Umsetzung des Editors nur mit jQuery um nicht wieder ein weiteres JavaScript Framework in den TYPO3 Core integrieren zu müssen • Struktur: • Backend Modul „Formulare“ • Form Manager mit Assistent zum Kickstart neuer Formulare • Form Editor zum Bearbeiten der Formulare • Inhaltselement „Mail form“
  • 9.
  • 10.
  • 11.
    Form Editor • komplettanpassbar • JavaScript API zur Erweiterung des Editors
  • 12.
    Konfiguration • YAML Dateienfür Formulare und den Editor selbst • Datei basiert => Formulare sind versionierbar • Konfiguration kann überschrieben werden • Konfiguration kann vererbt werden
  • 13.
    Speicherorte für Formulare •Dateiliste (fileadmin) • FAL Adapter (Amazon S3, Microsoft Azure, Google Cloud) • TYPO3 Extension (site package / theme extension) Best Practice für Integratoren: • Formular im Editor erstellen • YAML Datei in Site Package / Theme Extension verschieben • Theme Extension braucht Basiskonfiguration, damit Formulare gefunden werden
  • 14.
    PHP API • Methodenzum Zugriff auf jeden Schritt während der Lebensdauer eines Formulars bzw. der Daten, auch unabhängig vom Form Editor • Eigene Renderer möglich • Ausgabe als PDF Formular • TCA Ausgabe (Extension Kickstarter) • Formulare via API • dynamisch erstellte Formulare • Formulare mit Bedingungen
  • 15.
    Formular Elemente • AlleStandard Formular Elemente sind vorhanden • Containerelemente wie Grids oder Fieldsets • Inhaltselemente • Eigene Formularelemente möglich, z.B. • Google Maps Einbindung zur Positionsbestimmung • Bewertung mit Sternen • alle HTML5 Attribute werden unterstützt • Datei Uploads werden durch FAL verarbeitet
  • 16.
    Validatoren • Standard Validatorenwerden mitgeliefert • Eigene Validatoren möglich • Es gibt keine mitgelieferte browserbasierte Validierung
  • 17.
    Finisher • Mitgelieferte Finisher •Speichern in Datenbank • Versand von Mails • Weiterleitungen • Finisher können aufeinander aufbauen • Datenübernahme aus Vorgänger • Eigene Finisher • Finisher können überschrieben werden
  • 18.
    Weitere Features • MehrsprachigeFormulare • Formulare mit mehreren Schritten • mehrere Formulare auf einer Seite • Spam Schutz • Starke Voreinstellungen für benutzerfreundlichen Editor • TypoScript Unterstützung
  • 19.
    Vorteile auf einenBlick • Redakteure können Formulare sehr einfach selber erstellen • Vorgefertigte Formulare können als Vorlage zur Verfügung gestellt werden • Gute Erweiterbarkeit des Editors • Versionierung von Formularen • Einfach Übernahme von Formulare in andere TYPO3 Installationen • konservative Update-Politik des TYPO3 Core • langfristige Unterstützung
  • 20.
    Migration alter Formulare •Alte EXT:form Extension ist als EXT:form_legacy im TYPO3 Extension Repository verfügbar • Parallelbetrieb der beiden Extensions ist möglich! • Bislang gibt es keine Migration für bestehende Formulare
  • 21.
    Links • Dokumentation:
 https://docs.typo3.org/typo3cms/extensions/form/ • SlackChannel:
 https://typo3.slack.com/archives/ext-form • Demo Video:
 https://www.youtube.com/watch?v=F9sTAOEcTI0
  • 22.
    Vielen Dank! Twitter: @cybersmog Mail:peter.kraume@bgm-gmbh.de Slides: http://de.slideshare.net/pk77/ This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.