Kategorie: Tipp der Woche

TYPO3Camp Vienna – 24. März 2017

Das TYPO3Camp Vienna findet heuer bereits zum 2. Mal auf der Universität Wien statt. Vom 24.-26 März 2017 treffen sich mehr als 160 Teilnehmer aus 8 Ländern. Spannende Stand Up Talks werden auch diesmal erwartet.

plan2net freut sich auch dieses Jahr die grösste TYPO3 Community Veranstaltung Österreichs als Platin Sponsor unterstützen zu dürfen.

Besuchen Sie uns doch vor Ort – ein kleines Präsent wartet auf Sie!
Wir berichten jedenfalls im Anschluß über die interessanten Ergebnisse.

Zur Website der Veranstaltung

TYPO3 Developer Days 2017 in Malmö – plan2net sponsert Coding Night

TYPO3 Developer Days 2017 in SchwedenDie T3DD17 finden vom 13.-16. Juli 2017 in Schweden statt.

Die seit 2005(!) jährlich stattfindende Veranstaltung ist in der Community bekannt und besonders beliebt wegen des besonders regen Austausches unter Entwicklern über neueste Technologien, die Weiterentwicklung von TYPO3 und seinen erfolgreichsten Extensions.
Natürlich werden wir nicht nur inhaltlich zum Gelingen der T3DD17 beitragen und einige zertifizierte TYPO3 Entwickler von plan2net dorthin entsenden.
Auch heuer dürfen wir die T3DD wieder als Sponsor der Coding Night unterstützen – was uns besonders freut! :)

Unsere  Mädls und Jungs werden live aus Malmö berichten!

TYPO3 Extbase Validierung I – Validierung von Frontend Formularen

Jeder der bereits Erfahrung mit der TYPO3 Extbase Validierung gesammelt hat wird wissen, dass die Validierung gerade für Beginner nicht einfach ist zu implementieren. Aus diesem Grund widmet sich der folgende Artikel diesem Thema.

Was wird im Folgenden näher erläutert:

  • Funktionsweise der TYPO3 Extbase Validierung
  • Workflow der Extbase Validierung
    • Extbase Validierung mittels Annotationen im Domain Model
    • Extbase Validierung in der initialize[Name] Action()
  • Vordefinierte Extbase Validatoren
  • Ausgabe der Validierungs-Fehler über Fluid

Tipp der Authorin zu Beginn: Mir hat es enorm geholfen den Cache über den „Clear all chache“ Button im Install Tool zu löschen, wenn Änderungen nicht erschienen sind.

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.

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

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"

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.

TYPO3 / fluidcontent_core / gridelements / Standard Content Elemente / anderes Layout

Praxisbeispiel mit fluidcontent_core und gridelements

Problemstellung

Ich hatte das Problem, dass ich in einem Setup mit fluidcontent_core und gridelements in einem fluid Template (z.B. für das Standard Content Element „Text“) gerne gewusst hätte, ob das Element in einem (bestimmten) gridelements Kontext gerendert wird.

Umgesetzte Lösung

a) gridelements Setup für das Layout mit dem Alias „special“:

tt_content.gridelements_pi1.20.10.setup {
  special < lib.gridelements.defaultGridSetup
  special {
    cObject = FLUIDTEMPLATE
    cObject {
      file = EXT:template/Resources/Path/To/Template/Special.html
    }
    columns.default.renderObj {
      10 = LOAD_REGISTER
      10.grid = 1
      30 = RESTORE_REGISTER
    }
  }
}

Hier setze ich einfach den Wert eines Registers „grid“ auf einen Wert 1.
columns.default.renderObj.20 ist eine Referenz auf tt_content (ein CASE Objekt, das auch ein stdWrap Property kennt).

Was mich an der Google Analytics Konferenz 2015 beeindruckt hat

Meine Erkenntnisse vom Conference Day der GA Konferenz zusammengefasst: Trends in der Webanalyse, Shopoptimierung, App Remarketing und eCommerce im B2B. 

Nutzen und Zukunftsaussichten der Webanalyse:

(Eröffnung und Einleitung durch Sigi Stepke, e-Dialog)

  • Google macht Gewinn mit wirkungsvollen Anzeigen – wir Websitebetreiber ebenfalls.
  • Sammeln und analysieren mit Google Analytics, mit Google AdWords darauf reagieren.
  • Ein Trend ist „measure everything“ – Stichwort Big Data
  • Betrachte die gesamte „Customer Journey“: jeder Kundenkontakt nach dem allerersten ist bereits „Remarketing“ und sollte mit der passenden Botschaft unterlegt sein.

Tipp: Verschaffe deinem Kunden ein einheitliches Bild deines Angebotes quer über alle Kanäle. Stimme dieses Angebot genau auf seine aktuellen Bedürfnisse im Kaufprozess ab (biete dem Stammkunden keine Einführungsangebote)!

TYPO3 4.5 Long Term Support verlängert – kostenpflichtig

TYPO3 Version 4.5 Long Term Support läuft ab

TYPO3 4.5 wurde im Januar 2011 veröffentlicht und war die erste TYPO3 LTS Version. Ende März 2015 soll dieser Long Term Support nun auslaufen.
Da TYPO3 4.5 mit mehr als 44% der Installationen die am weitesten verbreitete Version von TYPO3 ist (Quelle: t3census.info) und es eine Reihe von Webseiten gibt, die nicht oder erst später aktualisiert werden können, haben die TYPO3 Association und das TYPO3 CMS Team (insbes. Benni Mack, Mathias Schreiber und Christian Kuhn) beschlossen, den Support für ein weiteres Jahr anzubieten.
Dieser Support ist kostenpflichtig!

Anfrage