Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Formulare in TYPO3 8.7 LTS

2,021 views

Published on

Mit TYPO3 8 LTS wurde die mitgelieferte Systemextension EXT:form komplett erneuert und bietet nun Redakteuren, Integratoren und Entwicklern ein mächtiges Set an Werkzeugen, um Formulare zu erstellen. Dabei wurde vor allem auf Erweiterbarkeit und Überschreibbarkeit der der Konfiguration geachtet.
Vortrag im Rahmen des TYPO3 University Day 2017 an der Hochschule Darmstadt.

Published in: Internet
  • Be the first to comment

Formulare in TYPO3 8.7 LTS

  1. 1. Formulare in TYPO3 8.7 LTS Peter Kraume TYPO3 University Day 2017 27. September 2017
  2. 2. 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/
  3. 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. 4. 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
  5. 5. 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
  6. 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. 7. Zielgruppen der Formular Extensions Redakteure Integratoren Entwickler / Admins formhandler ✔ ✔ formz ✔ powermail ✔ ✔ ✔ form ✔ ✔ ✔
  8. 8. 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“
  9. 9. Form Manager
  10. 10. Form Editor
  11. 11. Form Editor • komplett anpassbar • JavaScript API zur Erweiterung des Editors
  12. 12. Konfiguration • YAML Dateien für Formulare und den Editor selbst • Datei basiert => Formulare sind versionierbar • Konfiguration kann überschrieben werden • Konfiguration kann vererbt werden
  13. 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. 14. 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
  15. 15. 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
  16. 16. Validatoren • Standard Validatoren werden mitgeliefert • Eigene Validatoren möglich • Es gibt keine mitgelieferte browserbasierte Validierung
  17. 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. 18. Weitere Features • Mehrsprachige Formulare • Formulare mit mehreren Schritten • mehrere Formulare auf einer Seite • Spam Schutz • Starke Voreinstellungen für benutzerfreundlichen Editor • TypoScript Unterstützung
  19. 19. 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
  20. 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. 21. 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
  22. 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.

×