Alle Beiträge von Jan Helke

Dynamic back links for ext:news

If you did more than one TYPO3 project, you presumably know the following requirement: „We want to have a news list for press releases, a news list for R&D and a news list for HR. And all news shall be displayed on the same page. And of course, at the end of the single view, we need a link to go back to exactly the list the user came from.“

Dynamic back links for ext:news weiterlesen

Passing and expecting parameters with …$things

selectThis is one of those blog posts I wrote really to note things down for myself. So if you are a highly skilled and cutting edge PHP expert, you might skip over that piece of noob talk. But if you were confused about that never-seen-before code with three dots in front of a parameter name like …$random, and you never could tell, what the developer wanted to tell you, you could learn from my research.

Passing and expecting parameters with …$things weiterlesen

TYPO3 visibility and Doctrine DBAL a.k.a. Restrictions

Updated 2016-06-03
Details for restrictions.

When it comes to visibility (e.g. flags like „hidden“, „starttime“ or „deleted“) TYPO3 implements a lot of magic, that works differently in the Frontend and in the Backend. Imagine a list view for example. In the Backend list all records flagged with „hidden“ are shown while in the Frontend list they are hidden. In the past (before the change to the Doctrine DBAL facade that I mentioned in my earlier post [1]) that was archieved by the function ContentObjectRenderer->enableFields().

And now this will change again. Once change 48049 [2] is merged into the master, this will simplify things drastically. So, what you are reading right now is brand new stuff, stuff that is even only in code review at the moment of writing. Please be aware of this and forgive me for any misinformation that might be in this post.

TYPO3 visibility and Doctrine DBAL a.k.a. Restrictions weiterlesen

Migrate from the TYPO3 database wrapper to the Doctrine DBAL syntax

Last updated: 2016-06-06 13:00

With the TYPO3 8.1 release, the Doctrine Database Abstraction Layer (DBAL) will be introduced into the TYPO3 core. Sooner or later the old TYPO3 database wrapper (together with the old dbal and adodb extensions) will be removed. So if you’re an extension developer creating extensions for TYPO3 8.1 or above, it could come in handy to migrate all of your database calls to the new syntax. If your extension just relies on Extbase Repository stuff, then you are fine. The migration of Extbase will be done by the core itself so your magic functions will also work in the future. But in case you still have this dusty exec_SELECTgetRows somewhere in your extension, I’ll try to give you some help to come to the light side.

Migrate from the TYPO3 database wrapper to the Doctrine DBAL syntax weiterlesen

TYPO3 Watchface

pebble_classicSmartwatches sind eine nette Sache, aber ich bin nicht willens, n-hundert Euro in irgend eine Google Wear oder Apple iWatch zu investieren, nur um mir mitteilen zu lassen, wenn ich einem E-Mail bekommen habe. Da kam mir der Kickstarter für die neue Pebble Time gerade recht. Lange Laufzeit gepaart mit einem anständigen Preis. Und weil der Paketbote nicht in der Lage ist, eine Express-Sendung in die Packstation einzustellen, liefert mir DHL das Paket direkt ins Büro.

Da saß ich also mit einer coolen Uhr und einem ziemlich doofen Standard-Ziffernblatt. Also ein bisschen gegoogelt und einen Generator gefunden, bei dem ich mir ein individuelles Watchface zusammenstellen kann. Als erstes ist dabei ein TYPO3 Watchface rausgekommen, das ich nun hier mal teilen will. U.a. auch deswegen, damit ich all den TYPO3-Pebble-Besitzern in meinem Bekanntenkreis einen Link geben kann, damit sie ihre Uhr entsprechend pimpen können.

DownloadDer einfachste Weg ist es, einen Barcode-Scanner auf dem Handy zu nutzen und den rechts stehenden QR-Code zu scannen. Das sollte die Pebble-App triggern und das Watchface installieren. Alternativ den folgenden Link klicken oder abtippen: http://www.watchface-generator.de/wf/20160823/t3watchface2/

T3LEGO – Das TYPO3 Logo aus Legosteinen

t3logo_smAngefangen hat alles damit, dass ich zusammen mit meiner Frau im Lego-Laden in Hamburg war und mal wieder vor der Pick-A-Brick Wand mit den ganzen Einzelteilen stand. Irgendwie reizt es mich immer wieder, mir einen Becher zu nehmen und den mit (zumeist exotischeren) Steinen zu füllen. Auf der anderen Seite fragt man sich dann auch wieder: „Wofür brauche ich das denn. Wer braucht einen Becher voll mit Blaulichtelement, Lenkrädern und Dachschrägen mit aufgedruckten Konsolen?“ Doch dieses Mal war es anders.

T3LEGO – Das TYPO3 Logo aus Legosteinen weiterlesen

Das letzte Passwort

Jeder kennt das Problem mit den Passwörtern. „123456“ wird von den paranoiden Technik-Nerds immer als unsicheres Passwort eingestuft. Dabei ist es doch so praktisch.  Also was gibt es für Anforderungen an ein ordentliches Passwort?

  • Sicher soll es sein.
  • Nicht zu erraten.
  • Mindestens 8 Zeichen.
  • Groß- und Kleinschreibung.
  • Sonderzeichen.
  • Und das Killerattribut: Für jedes System einzigartig.

Es gibt verschiedene Ideen, wie man einigermaßen ordentliche Passwörter bekommt, die man sich auch merken kann:

  • Einfach zu merkendes Passwort und dann immer die Taste rechts oberhalb des eigentlichen Buchstabens drücken. „Passwort“ wird dann zu „?wee3056“.
  • Einen Schlüsselsatz, von dem man dann nur die Anfangsbuchstaben tippt. „Ich hoffe, dass niemand mein Passwort vor ’21 errät“ wird dann zu „IhdnmPv’21e“.
  • Für die Systemeinzigartigkeit kann man das ganze noch mit dem Systemnamen kombinieren. „IhdnmPv’21e_JansBlog“.

Ist aber alles doof, weil der faule Mensch wahrscheinlich nur ein „Masterpasswort“ wie „?wee3056“ oder „IhdnmPv’21e“ im Kopf behalten will. Also hängt alles an diesem seidenen Faden.

  • Ich kann mein Masterpasswort vergessen, weil ich es erst gestern angelegt habe und alle meine anderen Passwörter entsprechend geändert habe. Kein Witz.
  • Ich kann mein Masterpasswort vergessen, weil ich vier Wochen im Urlaub bin und hinterher vor diesem blinkenden Cursor sitze.
  • Ich kann mein Masterpasswort vergessen, weil ich es irgendwann vor Jahren aus Sicherheitsgründen mal geändert habe, mich aber inzwischen nicht mehr an das alte Passwort erinnere.

Alles kein Witz, habe ich alles schon gehabt. Glücklicherweise nur einmal mit einem Masterpasswort, so dass ich mich gleich aus x Systemen ausgeschlossen hatte. Ist dann aber auch gleich ein echter Arbeitsaufwand. Und wenn so ein Masterpasswort mal bekannt wird, ist das auch nicht witzig.

Also generiere ich mir jetzt einmalige Passworte, die ich mir aufschreiben und in der Schreibtischschublade lagern 🙂 OK, nicht ganz. Ich lagere die Passwörter in einem Passwort Manager. Es gibt da verschiedene Programme, die man möglicherweise schon mal gehört haben könnte. KeePass oder 1Password sind da bekanntere Namen. Ich habe mal eine Zeit mit KeePass rumgespielt, bin da aber ziemlich schnell an die Spaßgrenze gestoßen, wenn ich meine supersicheren Passwörter zu Hause, in der Firma und unterwegs auf dem Handy nutzen wollte.

Inzwischen bin ich bei LastPass gelandet. Bei LastPass schreibe ich alle meine Passwörter in eine online verfügbare Datenbank und habe sie so immer und überall dabei. Ich muss mir also nur noch das Passwort für LastPass merken (daher der Name LastPass: „Das letzte zu merkende Password“). LastPass behauptet, dass sie die Daten nur hochverschlüsselt abspeichern und auch nur verschlüsselt übertragen. Ja, ein gewisses Vertrauen muss man dem Anbieter da entgegen bringen, aber bis jetzt sind die Berichte und Tests ziemlich deutlich und es gibt keine Hinweise darauf, dass irgendwer in letzter Zeit schon mal einen Passworttresor aufgemacht hat.

Und weil mir das wegen Cloud und Skripkiddies nicht sicher genug ist, habe ich zusätzlich einen YubiKey als „Zwei-Faktor-Authentifizierung“ gekauft. Ist ähnlich wie eine EC-Karte. Ich komme nur dann an mein Geld (meine Passwörter), wenn ich die EC-Karte (YubiKey) einschiebe und meine PIN (Passwort) eingebe.

Nein, ich glaube nicht daran, dass der (amerikanische) Anbieter so sicher ist, dass nicht mal die NSA da mitlesen kann. Aber wenn ich Daten habe, von denen ich weiß, dass sie relevant für die NSA sind und ich sie verstecken möchte, werde ich mir was anderes ausdenken. Und im Falle eines Datengaus („Alle Passwörter wurden geknackt.“) habe ich so auf jeden Fall eine Liste, welche Passwörter alle unsicher sind und geändert werden müssen. Und ich vergesse dadurch auch nicht irgendeinen uralten Zugang zu irgend einem System.

Weiterführende Links: