Mega-Menü mit Cache optimieren

Ein Megamenü zeigt schnell alle Navigationspunkte – aber ist ein Schmerz beim ersten Rendern einer Seite. Dank CachingFramework lässt sich das optimieren.

Für ein solches Menü ist es nötig, dass für alle Teilseitenbäume die Äste ausgelesen werden (TypoScript: expAll) und noch unsichtbar in HTML eingebettet werden. Bei größeren Websites quält man da schnell mal den Datenbankserver, und die Performance lässt nach. Menüs werden pro Seite generiert, und erst dann mittels Seitencache zwischengespeichert. Für große Menüs heißt dies aber, dass auch die „anderen“, inaktiven Äste jedes Mal neu generiert werden :-(

Weiterlesen

Grillcamp 2017: Reis grillen

Ja, auch Reis kann man grillen. Das geht nicht nur einfach, sondern der wird sogar richtig lecker. Klingt komisch, is aber so.

Wie bereits vor dem Grillcamp in den Rezeptvorschlägen angekündigt, gabs Reis vom Grill. Das Rezept stammt von essen&trinken und ist recht simpel. In Ermangelung von Thaibasilikum kam bei uns frischer Koriander zum Einsatz:

Zutaten

300 g Klebreis
2 EL geröstete ungesalzene Erdnüsse
1 Packung Koriander, frisch (ca 15g)
16 TL Fischsauce

Zubereitung

Reis unter fließendem Wasser waschen. Über Nacht in kaltem Wasser einweichen.

Einweichwasser abgießen, Reis waschen, abtropfen lassen und in einen Dämpfeinsatz geben. Wenig Wasser in einem hohen Topf aufkochen, Dämpfeinsatz einsetzen (der Boden darf das Wasser nicht berühren). Reis zugedeckt 25-30 Minuten dämpfen, dann 1-2 Minuten ohne Deckel ziehen lassen.
Erdnüsse und Koriander hacken, mit dem Reis mischen und auf einem mit Frischhaltefolie ausgelegten Blech 1 cm dick ausstreichen. Hier hilft es, mit einem zweiten Backblech den Reis plattzudrücken (Frischhaltefolie dazwischen legen!). Abkühlen lassen.
In Quadrate/Rechtecke schneiden und 3-4 Minuten auf jeder Seite grillen.
Nach dem Wenden mit jeweils 1 TL Fischsauce beträufeln.

Fazit

Die Zubereitung geht einfach und schnell (rechtzeitig ans Einweichen denken!). Die Konsistenz der Reisstücke ist vor dem grillen bereits kompakt, d.h. es krümelt kaum, sie sind elastisch und es bleibt – bei halbwegs vorsichtigem Anpacken – auch alles in der Form stabil.
Am Ende hat man Reis, der teils etwas in Richtung der Reis-Cracker geht, also trocken-knusprig, teils noch eher die Klebreis-Konsitenz hat. Die Würzung gibt dem ganzen nochmal einen reizvolleren Geschmack. Hier sollte auf gute Verteilung der Fischsauce geachtet werden (evtl. Pinseln statt Träufeln).

Das Rezept kommt auf alle Fälle in meine Sammlung.

 

Quellen

Template-Pfade via Flexform setzen

Früher war alles so einfach… Für Plugins konnte einfach in einem Flexform-Feld eine Template-Datei angegeben werden, und schwupps war die via TypoScript gesetzte Datei für dieses eine Content-Element überschrieben. Das wohl bekannteste Beispiel hierfür ist die Extension News (tt_news).

Die Zeiten haben sich geändert. Mit Extbase/Fluid ist Vieles flexibler und einfacher geworden: wir können Dank Partials HTML-Schnipsel wiederverwenden, können Dank der Overrides Kaskaden für Template-Pfade in TypoScript festlegen – aber wie kann gelöst werden, dass ein einzelnes Content-Element ein anderes Template bekommen soll?

Weiterlesen

Florentiner Schweinebraten

Hatte eigentlich vor, das Ganze für mehr Leute zu kochen, und hatte das 3-fache Rezept eingekauft. Der DO wird aber rasch voll. In meinen 12″-DO bekam ich gerade so das doppelte Rezept rein… :-/

Fazit

Richtig, richtig lecker!
Nächstes Mal aber wieder kleinere Portion kochen.

 

Florentiner Schweinebraten
(als PDF-Backup)

blackfire in macports Umgebung installieren

Wer über blackfire einmal gestolpert ist, der will es auch nutzen – oder zumindest mal ne ganze Weile damit spielen. Die normalen Installationsanleitungen stellt der Hersteller selbst bereit: blackfire.io/docs/up-and-running/installation

Aber auch für eine Nutzung in Verbindung mit macports gibt es eine gute Schritt-für-Schritt Anleitung (Versionsnummern sind etwas veraltet):
Manual install and configuration of blackfire.io for Mac Ports in Mac OS X
(als PDF-Backup)

Solr in TYPO3: alte Datensätze ausschließen

Ziel: alte Datensätze aus den Trefferlisten verbannen. Wen interessieren uralte News oder Schulungstermine, die bereits vorbei sind? Solr berücksichtigt in der Score-Berechnung zwar das Alter, aber dennoch war die Ergebnisliste mit zu vielen veralteten Treffern überfrachtet.

Lösungsansatz

Relativ einfach lässt sich die Index-Queue der TYPO3-Solr-Extension konfigurieren. Über die additionalWhereClause einfach eine Bedingung setzten, dass das Erstellungsdatum von News-Meldungen innerhalb der letzten 1,5 Jahre liegen muss:

plugin.tx_solr.index.queue {
  pressAnnouncements {
    table = tt_news
    additionalWhereClause = tstamp > UNIX_TIMESTAMP(date_sub(now(), interval 18 month))
  }
}

Prima, wir sind fertig – dachte ich auch. Bald zeigte sich nämlich, dass die Bedingung irgendwie nicht zum gewünschten Ergebnis führte, sondern uralte Meldungen weiterhin gefunden wurden.

So funktioniert das nicht!

Weiterlesen

Direct Mail und gemischte Protokolle (HTTP und HTTPS)

Wenn Direct Mail plötzlich falsche Inhalte verschickt – aber wir haben nix gemacht…also, eigentlich nix. Vor einigen Tagen wurde für eine TYPO3-Instanz mit mehreren Seitenbäumen und Domains das Protokoll konsequent auf HTTPS umgestellt und eine entsprechende RewriteRule hinterlegt. Alles prima – bis der nächste Newsletter versendet werden sollte: der hatte statt seines Inhaltes die Startseite als Inhalt :-\

In der Erinnerung „Wir haben da doch letztens…“, haben wir die RewriteRule einmal deaktiviert – und siehe da, der Newsletter lief wieder. Was aber läuft mit Umschreibung auf HTTPS schief?

Weiterlesen