Piwik-Problem „Please check your server configuration. You may want to whitelist „*.html“ files from the „plugins“ directory.“ beheben

Nach der Aktualisierung von Piwik von 2.2.x auf 2.3.0 erhält man für das Plugin „ZenMode“ den Fehler „Please check your server configuration. You may want to whitelist „*.html“ files from the „plugins“ directory.“. Das Problem ist, dass sämtliche Ordner des Plugins für den Webserver nicht lesbar sind und somit ein „Access denied“ die Folge davon ist. Eine Anpassung der Ordner-Rechte schafft Abhilfe – am einfachsten erledigt man dies via SSH ausgehend vom Root-Ordner von Piwik:

find plugins/ZenMode/ -type d -exec chmod 0755 {} \;

Alternativ ist natürlich auch eine Anpassung mittels FTP-Programm möglich, in diesem Fall muss man u.u. die Ordner-Struktur des Plugins händisch durchgehen.

Varnish-Problem „error while loading shared libraries: libvarnishapi.so.1: cannot open shared object file: No such file or directory“ beheben

caticonslite_bm_alt

Neuere Versionen von Varnish benötigen das Modul „libvarnishapi.so“ für einen Reload bzw. beim Aufruf von varnishist, etc. Ein Reload führt hier zum Fehler:

$ sudo /etc/init.d/varnish reload
 * Reloading HTTP accelerator varnishd
/usr/bin/varnishadm: error while loading shared libraries: libvarnishapi.so.1: cannot open shared object file: No such file or directory

Das Modul bzw. die Datei „libvarnishapi.so.1“ lässt sich auch auf dem System nicht finden, da dieses beim üblichen Installationsprozedere mit „sudo apt-get install varnish“ nicht mitinstalliert wird. Abhilfe schafft eine Nachinstallation mit „sudo apt-get install libvarnish-dev“.

Individuelle Rahmen für Content Elemente

caticonslite_bm_alt

Um Inhaltselementen (engl. Content Elements) in TYPO3 ein individuelles Aussehen zu verpassen (z.B. Überschrift und Text in einer abweichenden Farbe), hat man die Möglichkeit vordefinierte Rahmen zu verwenden oder auch eigene festzulegen. Die Einstellung „Einrückung und Rahmen“ (engl. „Indentation and Frames„) befindet sich in den Eigenschaften jedes (Standard-)Inhaltselements auf der Registerkarte „Erscheinungsbild“ (engl. „Appearance„). Damit die Einstellung dargestellt wird, muss „Zweite Optionspalette anzeigen“ (engl. „Show secondary options (palettes)„) am Ende in den Eigenschaften aktiviert sein.

Abhängig davon, welcher Wert für „Einrückung und Rahmen“ ausgewählt wird, werden unterschiedliche CSS-Klassen im HTML-Quelltext ausgegeben. Die vordefinierte Option „Standardframe“ führt beispielsweise zur Ausgabe der CSS-Klasse „csc-default“.

Um einen individuellen Rahmen festzulegen, fügt man im PageTS folgende Zeilen ein:

TCEFORM.tt_content {
	section_frame.addItems.101 = Individueller Rahmen
	section_frame.addItems.102 = Weiterer individueller Rahmen
}

Die Zahlen „101“ und „102“ stehen in diesem Beispiel für die IDs der Rahmen (um nicht unbeabsichtigt vordefinierte Rahmen zu überschreiben sollten Zahlen größer als 100 gewählt werden), „Individueller Rahmen“ und „Weiterer individueller Rahmen“ für die Beschreibungen, die als Optionen angezeigt werden. Anstelle einer hardcodierten Beschreibung, wie in diesem Fall, ist der Verweis auf eine Sprachdatei empfehlenswert (z.B.: „section_frame.addItems.101 = LLL:EXT:webentwickler_at/Resources/Private/Language/locallang_ttc.xlf:section_frame.I.101“).

Im TypoScript-Setup muss noch das gewünschte Verhalten festgelegt werden:

tt_content.stdWrap.innerWrap.cObject {
	101 =< tt_content.stdWrap.innerWrap.cObject.default
	101.20.10.value = csc-frame csc-frame-individual
 
	102 = TEXT
	102.value = <div class="another-individual-frame">|</div>
}

In diesem Beispiel erfolgt das Rendering des Rahmens „[101] Individueller Rahmen“ analog zu den vordefinierten Rahmen und es können sämtliche css_styled_content-Eigenschaften (z.B. „Oberer Abstand“ (engl. „Top Margin“)) verwendet werden. Für „[102] Weiterer individueller Rahmen“ ist dies nicht der Fall und es wird ausschließlich o.g. HTML-Tag als Rahmen verwendet.

Frontend Page Rendering Template anpassen

caticonslite_bm_alt

In TYPO3 lässt sich so gut wie alles konfigurieren, auch das Page Rendering Template lässt sich anpassen. Dieses Template legt die HTML-Struktur der Seite fest, d.h. an welche Position Titel, JavaScript, CSS, etc. eingefügt werden. Der Template-Pfad lässt sich im TypoScript-Setup mit der Anweisung „config.pageRendererTemplateFile“ setzen, das Standard-Template ist unter „typo3/sysext/cms/tslib/templates/tslib_page_frontend.html“ zu finden.

Möchte man beispielsweise nur Conditional Comments einfügen, um den Browser zu identifizieren und CSS-Hacks zu vermeiden  (siehe Blog-Eintrag von Paul Irish), so kann man entweder Hooks im PageRenderer (typo3/sysext/core/Classes/Page/PageRenderer.php) oder auf die TypoScript-Konfigurationsoptionen im PageGenerator (typo3/sysext/frontend/Classes/Page/PageGenerator.php) zurückgreifen. Um den HTML-Tag zu erweitern lässt sich beispielsweise „config.htmlTag_stdWrap“ verwenden.

Aktualisierung von Webseiten

Sobald ein Kunde Kenntnis davon erhält, dass beispielsweise für das bei ihm eingesetzte Content Management System (CMS) ein Update zur Verfügung steht, möchte dieser das installiert wissen. Meines Erachtens ist es nicht erforderlich jede Version zu installieren, da Updates neben Fehlerbehebungen auch neue Fehler beinhalten und somit mit einem gewissen Risiko verbunden sind. Ein Update/Upgrade empfehle ich nur aus folgenden Gründen:

  1. Für die eingesetzte Version gibt es keine Sicherheitsupdates mehr.
  2. Die eingesetzte Version weist eine Sicherheitslücke auf, die mit der aktuelleren Version behoben wird.
  3. Die eingesetzte Version enthält einen auftretenden Bug, der mit der aktuelleren Version behoben wird.
  4. Die neuere Version enthält Features, die in der eingesetzten Version nicht zur Verfügung stehen und benötigt werden.
  5. Sicherstellung einer einfachen Migration auf zukünftige Versionen.
1 2 3 4 5 8  nach oben