TYPO3 Instanz-Analyse Helpers – TYPO3-Upgrades

Beim Frühjahrsputz im Zuge von Upgrade, Relaunch und Wartung einer TYPO3 Instanz stellen sich oft die Fragen:
– welche Extensions, welche Inhalte
– welche TS-Templates & TSconfig
– welche Content-Elemente in welchen -Spalten
– welche Sprachen, FE-/BE-User & -Gruppen usw.
werden in der Instanz denn WIRKLICH produktiv genutzt?
Und welche sind zwar vorhanden aktiv und konfiguriert werden aber nicht produktiv genutzt?

Dies mit dem Ziel, nicht genutzten Code und Config zu entfernen um die Instanz schlank und schnell zu halten und „Dead code“ zu eliminieren (sh. https://en.wikipedia.org/wiki/Dead_code )

Im Gespräch mit dem Projekt-Owner kann man vorab einige Fragen dazu abklären, selten jedoch alle, die notwendig sind.

Schritt 1

Der erste Blick auf die installierten, aktivierten Extensions über den Extension-Manager, die TS-Template-Analyse über das Template-Modul und TS-Config Analyse über das Info-Module ist dabei nur der Schritt 1. Denn oftmals werden Funktionen installiert und konfiguriert, jedoch in der Praxis nicht genutzt. Gemäß dem Motto: „Ja da haben wir vor X Jahren etwas probiert.“.

Also weg damit.
Nur wie herausfinden was Dead-Code und Dead-Content ist?

Schritt 2

Der zweite Blick auf den DB-Analyzer (in Admin Tools) bietet Info über Page-Types und Extension-spezifische Records (wie News oder FAQ) inklusive Anzahl aktive/versteckte Records. Nur wo diese „leben“ und ob sie noch benötigt werden beantwortet uns der DB-Analyzer nicht.

Schritt 3

Den dritten Blick macht man am besten direkt in die Datenbank („in my eyes baby“).
Damit kann man sehr viele Fragen bzgl. realer Nutzung beantworten, wie zb:
– welche Content-Spalten
– welche Content-Typen
– welche Website-Sprachen
werden benutzt u.v.m.

Wir haben dazu einige der besten Abfragen gesammelt, die uns bei TYPO3 Upgrades, Relaunches und CleanUps immer wieder helfen.

Viel Spaß beim Entrümpeln.

# pages - Which Pages contain Additional TS-Templates ?
SELECT uid, pid, title, hidden
FROM sys_templates
WHERE deleted=0

# pages - Which Pages contain pageTS?
SELECT uid, title, TSconfig
FROM pages
WHERE hidden=0 AND deleted=0
AND TSconfig!=''

# pages - TemplateSelector: Which Templates are used ?
SELECT tx_rlmptmplselector_main_tmpl,COUNT(*) as count
FROM pages
WHERE hidden=0 AND deleted=0
GROUP BY tx_rlmptmplselector_main_tmpl ORDER BY count DESC;

# pages - TemplateSelector: Which Templates are used ? - Subtemplates
SELECT tx_rlmptmplselector_ca_tmpl,COUNT(*) as count
FROM pages
WHERE hidden=0 AND deleted=0
GROUP BY tx_rlmptmplselector_ca_tmpl ORDER BY count DESC;

# language - Which website-languages are used ?
SELECT sys_language_uid,COUNT(*) as count
FROM pages_language_overlay
WHERE hidden=0 AND deleted=0
GROUP BY sys_language_uid ORDER BY count DESC;

# tt_content - Which Content Columns are used ?
SELECT colPos,COUNT(*) as count
FROM tt_content
WHERE hidden=0 AND deleted=0
GROUP BY colPos ORDER BY count DESC;

# tt_content - Which Content-Types are used ?
SELECT CType,COUNT(*) as count
FROM tt_content
WHERE hidden=0 AND deleted=0
GROUP BY CType ORDER BY count DESC;

# tt_content - Which Plugins are used with Count
SELECT list_type,COUNT(*) as count
FROM tt_content
WHERE hidden=0 AND deleted=0
AND list_type!=''
GROUP BY list_type ORDER BY count DESC;

# tt_content - GET pid, uid, header, plugin of Elements using plugins:
SELECT uid, pid, header, list_type
FROM tt_content
WHERE hidden=0 AND deleted=0
AND list_type!=''
ORDER BY list_type ASC;

# tt_content = CE's with hardcoded images in RTE field - for changing path to images
SELECT uid, header, bodytext
FROM tt_content
WHERE hidden=0 AND deleted=0
AND bodytext LIKE '%.gif%';
Anfrage