Senfnudeln

Der verrückte Koch hat mal wieder eine Idee aufgeschnappt: Nudeln mit Gurken und Senf.

Eigentlich fing es ganz harmlos an: letzte Woche blieben vom Pasta-Tag Nudeln übrig, was freitags dann im Firmenchat kommuniziert wurde – mit der Bemerkung, man möge sich dran bedienen, und es sei auch noch Ketchup auffindbar, ebenso wie Senf und Gurken. Ein leichter Aufschrei des Entsetzens kam als Antwort: wie könne man nur Nudeln mit Senf kombinieren?!? Man kann!

Weiterlesen

„Broken pipe“ – Verbindungsabbruch von SSH-Sitzungen

Verbindungsabbrüche von SSH-Sitzungen aufgrund von Inaktivität sind oftmals ärgerlich. Sie lassen sich aber leicht umgehen.

Es ist durchaus verständlich, dass serverseitig versucht wird, nicht mehr benötigte bzw. inaktive SSH-Sitzungen zu beenden.  Ärgerlich wird es aber, falls die Zeiteinstellung etwas knapp bemessen ist. So wird beispielsweise bei mittwald eine SSH-Sitzung sehr rasch beendet. Hantiert man aber gerade mit TYPO3 und den Tücken des Cachings, so möchte man immer wieder Caches löschen und dann wieder weiterarbeiten – und ggf. erneut löschen.

Mit folgenden Einstellungen am Mac in ~/.ssh/config gehören die Abbrüche der Vergangenheit an:

Host *
TCPKeepAlive yes
ServerAliveInterval 60

Tool für PDF-Verarbeitung

Bei der Verarbeitung von PDFs stehen wir immer wieder vor Problemchen, dass Dateien in unerwarteten Versionen geliefert werden, komprimiert sind, wir alle Feldnamen mühselig heraussuchen müssen,…

Schaut Euch mal PDFtk Server an.
Simpel zu bedienen (wenn man das Manual liest bzw. dort nachschlägt), und bisher wunderbare Ergebnisse.

Unter bei stackoverflow gibts auch eine Version für Mac OSX 10.11

Links

 

„Nächster Montag“ via TypoScript

Im TYPO3.net-Forum ist die Frage aufgetaucht, wie man denn „nächster Montag“ via TypoScript errechnen könne? Mich hat die Fragestellung gereizt…


Die eigentliche Schwierigkeit fand ich eher darin, eine Berechnungsformel zu finden. Nach etwas Nachdenken und Nachlesen, welche Werte die Datumsfunktionen date()/strftime() liefern können, stand die Berechnung fest:

Man nehme den aktuellen UNIX-Zeitstempel und addiere hierzu: acht minus den aktuellen Wochentag als Zahl, multipliziert mit den Sekunden eines Tages.

page.555 = COA
page.555 {
  stdWrap.prioriCalc = 1
  stdWrap.strftime = %A, %d.%m.%Y
  10 = TEXT
  10 {
    data = date: U
  }
  20 = TEXT
  20 {
    data = date: U
    strftime = %u
    wrap3 = +(8-|)*(24*60*60)
  }
}

Quellen

TYPO3_cliMode – Breaking Change in TYPO3 8.0

Mit TYPO3 8.0 hat sich bei CLI Skripten eine Kleinigkeit geändert. Die Konstante TYPO3_cliMode ist fortan undefiniert. Mich hatte es eine Weile gekostet, bis ich drauf kam, warum mein CLI-Aufruf stets mit einem „Access denied“ starb. Mit der richtigen Suche findet sich in der Changelog-Doku dann aber des Rätsels Lösung:

==========================================
Breaking: #72368 - TYPO3 Constants removed
==========================================

Description
===========

The PHP constants ``TYPO3_enterInstallScript`` and ``TYPO3_cliMode`` and the global variable ``$GLOBALS['TYPO3_AJAX']`` which were used when a TYPO3 Request was initialized have been removed. They have been replaced by an alternative to use the ``TYPO3_REQUESTTYPE`` constant at the very beginning of each TYPO3 request.


Impact
======

Checking for the mentioned constants and global variable have no effect anymore and may lead to unexpected behaviour.

If not checked if the constant even was defined, the application will stop immediately.


Affected Installations
======================

Any installation which uses a third-party extension using these constants.


Migration
=========

Use ``TYPO3_REQUESTTYPE & TYPO3_REQUESTTYPE_CLI`` or ``TYPO3_REQUESTTYPE & TYPO3_REQUESTTYPE_INSTALL`` instead.

.. index:: php

Translate-ViewHelper und Fluid-Inline-Notation in Attributen

Eigentlich ganz simpler Fall: in ein Sprachlabel soll eine Variable eingesetzt werden, die wiederum per ViewHelper zuvor verändert werden soll. Ein typisches Beispiel ist eine Anzeige der letzten Aktualisierung.

Die einfache Variante des ViewHelpers ohne eine ViewHelper-Anwendung auf das Argument:

<f:translate key="last_updated" arguments="{0: update_timestamp}" />

Möchte man ViewHelper in Inline Notation innerhalb des arguments-Attributs anwenden, so sind die Array-Werte innerhalb des Arrays in Singlequotes zu fassen (und darin befindliche Singlequotes ggf. zu escapen):

<f:translate key="last_updated" extensionName="{extensionName}" arguments="{0: '{update_timestamp->f:format.date(format:\'d.m.Y H:i\')}'}" />