TYPO3 CMS 7+ Login Provider API und ’sorting‘

Mit der neuen Login Provider API von TYPO3 7+ ist es relativ einfach ein neues Backend Login Service (z.B. SSO) einzuführen.

Der Login Provider wird über ext_localconf.php registriert:

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['backend']['loginProviders'][] = array(
   'provider' => \Plan2net\ExampleAuth\LoginProvider\ExampleLoginProvider::class,
   'sorting' => 200,
   'icon-class' => 'fa-example',
   'label' => 'LLL:EXT:example_auth/…/locallang.xlf:login.link'
);

und hier kommt der Fallstrick auf den ich aufmerksam machen möchte:

sorting bezieht sich nicht auf die Sortierung, die ja allgemein bei 0 beginnen würde (als erster Eintrag), sondern ist eine Priorität. Es zählt hier also der höchste Wert, dann der zweithöchste, usw. Will man seinen eigenen Login Provider als Standard eingetragen haben (statt dem üblichen Benutzername und Passwort), setzt man sorting auf einen hohen Wert wie oben im Beispiel.

404xstandard

Benutzerfreundlicher Umgang mit „broken links“

Durch das lebendige Ändern von Websites ändern sich auch die Adressen einzelner Seiten (URLs) laufend. Dies kann dazu führen, dass gespeicherte Adressen (von Suchmaschinen, Verlinkungen oder Bookmarks) nicht mehr erreichbar sind. Tipps für einen professionellen Umgang damit – und wie Sie Besucher und Suchmaschinen freundlich behandeln sowie den TYPO3 Linkvalidator sinnvoll einsetzen:

1) Technik: Sorge für richtige http Statuscodes

Die grundlegende Aufgabe für die technische Konfiguration Ihres CMS oder Webservers: bei Aufruf unbekannter URLs muss der richtige http Stautscode (in diesem Fall „404 – Not Found“) zurückgegeben werden.

404xstandard

Wir waren auf den T3DD16!

Vergangene Woche fanden die TYPO3 Developer Days – kurz T3DD16 – in Nürnberg statt und mein Kollege Martin Kutschker und ich waren live dabei! Die Veranstaltung war über vier Tage angesetzt und wir waren vom Anfang bis zum Ende dabei. Es gab Vorträge, Hands-on Workshops und Diskussionen zu spannenden Themen wie Polymer, Docker und Temporal Modelling.

T3DD16 – plan2net sponsert die Coding Night

T3DD16 - TYPO3 Developer Days 2016
TYPO3 Developer Days 2016

Von 1.-4. September 2016 finden aktuell in Nürnberg (Deutschland) die als „T3DD“ bekannten TYPO3 Developer Days statt.

Es ist die grösste technische Veranstaltung der TYPO3 Community, die alle Aspekte des TYPO3 CMS behandelt: in intensiven Tutorials, Workshops und Sessions tauschen sich hier Developer über neue Entwicklungen aus, werden spannende Produktfeatures und Extension vorgestellt und Lösungsansätze diskutiert. Unter den mehr als 260 Teilnehmern befinden sich heuer auch wieder zwei plan2net ProgrammiererInnen.

Als Highlight gilt seit Jahren die sogenannte „Coding Night“, in der Entwickler aus allen Ländern gemeinsam am Produkt weiterarbeiten. plan2net freut sich sehr, diese heuer mitsponsern zu dürfen.

TYPO3 ViewHelper Tipps

Heute möchte ich euch zwei Tipps zeigen, welche die Geschwindigkeit von TYPO3 ViewHelpers deutlich beeinflussen können.


Tipp1: Caching

Aufpassen muss man bei ViewHelpers die Facets\ChildNodeAccessInterface statt Facets\CompilableInterface nutzen, da sie nicht gecacht werden und sich das Parsen der Seite um Sekunden verzögern kann. Folgende ViewHelper werden nicht gecacht:

  • <f:switch> → stattdessen f:if nutzen, das ist deutlich schneller (TYPO3 Version 6.2)
  • <f:widget.paginate>
  • <f:widget.autocomplete>
  • <f:be.menus.actionMenu>

Diese ViewHelpers also bitte mit Maß und Ziel verwenden ;-)

 

Tipp2: Partials

MailHog – Einrichten eines lokalen Mailservers

Bei manchen Projekten ist es unvermeidbar einen lokalen Mailserver einzurichten, um gewissen Funktionalitäten zu prüfen bzw. zu entwickeln. Oftmals ist es jedoch gerade für Anfänger eine Herausforderung solch alltäglich gebräuchliche Tools zu verwenden bzw. einzurichten. Aus diesem Grund widmet  sich dieser Artikel dem Installieren eines lokalen Mailservers (MailHog) auf einem Linux Server, sowie dessen Konfiguration in einer TYPO3 7.6 Instanz.

Zu Beginn ist das richtige MailHog Packet (v0.2.1 hier) von https://github.com/mailhog/MailHog/ releases zu downloaden. Ein guter Workaround hierfür ist:

1) Link der richtigen Version kopieren
2) In der Command Line via wget im Root Verzeichnis der lokalen Instanz herunterladen

Kleines Shell Script zum Auffinden von Bildern mit gewisser Größe

Voraussetzungen:

  • Bash
  • find, awk
  • identify von ImageMagick oder GraphicsMagick
#!/bin/bash

MIN_WIDTH=240
MIN_HEIGHT=200

# internal field separator, https://bash.cyberciti.biz/guide/$IFS
# changed to make file names with spaces work
OIFS="$IFS"
IFS=$'\n'
# find all files with type image
for image in `find . -type f -exec file {} \; | awk -F: '{if ($2 ~/image/) print $1}'`; do
# get image dimensions (width/height), ignore errors
       width_and_height=`identify -format '%w %h' "$image" 2>/dev/null`
       if test -n "$width_and_height"; then
               width=`echo "$width_and_height" | awk '{print $1}'`
               height=`echo "$width_and_height" | awk '{print $2}'`

               if [ "$width" -lt $MIN_WIDTH ] || [ "$height" -lt $MIN_HEIGHT ]; then
                       echo "wrong dimensions: $image $width x $height"
               fi
       else
               echo "unable to get image dimensions for $image"
       fi
done
IFS="$OIFS"

TCA-Konfiguration und der TYPO3-Cache

Wie man als TYPO3-Extension-Entwickler die Performanz eines Seitenaufrufs ganz leicht verbessern kann.

Seit der Version 6 LTS kann man in einer Extension verschiedene Konfigurationen des $TCA-Arrays, die traditionell in ext_tables.php abgelegt wurden, auslagern. Das sind zum einen Definitionen und Erweiterungen von SQL-Tabellen als auch Konfigurationen von Plugins.

Configuration/TCA/<tabelle>.php

TYPO3 erwartet in diesem Ordner Dateien mit PHP-Code, die ein komplettes $TCA-Array einer Tabelle mittels return zurückliefern. Der Dateiname ist hierbei der Name gleich wie jener der zu definierenden Tabelle.

Configuration/TCA/Overrides/<tabelle>.php

PHP-Dateien im Overrides-Ordner können verschiedene Manipulationen am $TCA-Array vornehmen. Der Name der Dateien ist für TYPO3 nicht von Bedeutung, allerdings ist es sinnvoll auch hier den Namen der Tabellen als Dateiname zu verwenden.

TYPO3camp in Wien vom 6.-8. Mai 2016

TYPO3campAnfang Mai findet auf der Hauptuniversität Wien das 1. TYPO3camp in Österreich statt. plan2net ist nicht nur Platinum-Sponsor des Events; unsere Kollegen werden in kurzen Vorträgen oder Sidetalks ihr Wissen mit den KollegInnen sehr gerne austauschen.

Am 6. Mai startet das TYPO3camps mit der Erstregistrierung und einer gemütlichen WarmUp-Party. Samstag und Sonntag geht es in Workshops und Themen-Sessions dann nur noch um TYPO3 – allerdings von Sessions für Beginners bis zu Deep insights für Senior Developers. Aber auch Projektmanager, Grafiker, Konzeptinisten und alle anderen Professionen rund um erfolgreiche Webarbeiten werden passende Vorträge und Sessions finden. (http://t3cvienna.camp/)

Live Chat auf meiner Website – Dos & Don’ts

Kundenservice mit einem Live Chat auf der eigenen Website anbieten ist nicht schwer – unzählige Anbieter und technisch einfache Lösungen verlocken zur raschen Implementierung. Doch was ist im Hintergrund zu beachten? Welche Fallstricke lauern? Wie gelingt hervorragender Kundensupport?

Was nützt Live Chat auf meiner Website?

Chatfunktionen etablieren sich zunehmend auch auf Websites, durch die Nutzung von Whats App und anderen Messengerdiensten ist die Bedienung vertraut. Kunden erwarten sich immer raschere Reaktionen und Antworten auf ihre Anliegen. Ein professionelles Chatangebot kann den Wettbewerbsvorteil bringen, gut betreute Kunden / Besucher kehren gerne wieder.
Doch genauso wie die Verlockungen des „wir installieren schnell einen Chat-Client“ lauert die Falle des Vertrauensverlustes: „dieses Angebot ist unprofessionell und erfüllt meine Erwartungen nicht“.
Um dieses Risiko abzufangen und zufriedene Besucher zu Referenzen zu machen, muss die Organisation im Hintergrund stimmen.

Anfrage