Archive for April, 2007

TYPO3: Perfomance der Indexed Search

Sunday, April 15th, 2007

In einem Projekt hatten wir deutlcihe Performance Probleme mit der indexed Search. Dies hatte zum einen die Ursache, dass wir die Suchergebnisse der Indexed Search selbst (nach Zeiträumen oder Art des Inhalts) nachgefiltert haben und deswegen die maximale Anzahl der Suchergebnisse sehr hoch eingestellt werden musste.

Zur Optimierung haben folgende Hinweise geholfen:

“We had performance issues as well. After investigating the source we change the default search type from 1 to 20. After this every search was fast and mysql did not produce high server load.”

Spannend dabei ist, dass über den Search Type 1, die Wortindizierung verwendet wird, welche bei dem Typ 20 übergangen wird. An sich sollte man denken, dass die Indizierung von Wörtern mit der Intention entwickelt wurde, durch die zusätzliche Indizierung einen Performancezuwachs zu erzielen.

Ursache für den gegenteiligen Effekt scheinen die wesentlich komplexeren SQL-Statements zu sein. Es müssen zusätzlich zum normalen Index eben auch die Worttabellen in die Suche integriert werden. Bei vielen Seiten und Inhalten scheint diese erhöhte Komplexität wesentlich mehr Zeit in Anspruch zu nehmen. In unserem Projekt handelte es sich dabei um Suchanfragen, die 10 bis 15 Sekunden dauerten, dabei wurden mindestens 80% nur für die Datenbankabfragen benötigt.

PGP mit Mac Mail

Sunday, April 15th, 2007

Immer mal wieder beschäftige ich mich mit den Themen “Digitale Signaturen” und “Verschlüsselung von Daten”. Dabei landet man natürlich immer wieder bei PGP bzw. OpenPGP. Und schon mehrmals hatte ich den Eindruck, dass es nicht erwünscht ist Verschlüsselungstechnologien einzusetzen. Das macht sich z.B. daran bemerkbar, dass zwar PGP Funktionen in E-Mail Clients verwendet werden können, aber zum einen nicht in allen und zum anderen immer nur über komplizierte Umwege und zusätzliche Software.

Diesmal war ich allerdings fündig. Ich habe beim Stöbern einen alten Blog Eintrag “PGP for Mac Mail” gefunden, welche einfach erklärt, wie man PGP in sein gelibtes Mailprogramm von Apple integrieren kann.

Wunderbar! Jetzt sehe ich, wer eine Signatur verwendet, kann selbst eine in meinen E-Mails verwenden und meine E-Mails bei Bedarf auch verschlüsseln. Und das alles sehr einfach und intuitiv über Mac Mail.

Einige hilfreiche Links:

benötigte Prgramme:

  • GNU Privacy Guard (PGP)
  • GPG Keychain Access (zum erzeugen von Keys)
  • GPGPreferences (PlugIn für die Preferences Panes)

TYPO3: Bugfix beim Einsatz von Shortcuts und “typolinkCheckRootline”

Sunday, April 15th, 2007

Bei der Verwendung von mehreren Domains (über verschiedene Domain Records), welche auf verschiedene Ebenen in einem Seitenbaum zeigen, besteht die Problematik, dass Links aus einem Seitenbereich mit Domain A in einen anderen Seitenbereich mit Domain B jeweils die richtige Domain verwenden sollen.

Hierfür sieht TYPO3 die Einstellung “typolinkCheckRootline” vor. Hierüber werden bei der Erstellung von Links über die Typolink Funktion auch die Domain Records berücksichtigt, so dass immer die richtige Domain verwendet wird.

Ein Problem (vermutlich ein Bug) besteht beim Einsatz von Shortcuts auf einer Seite unter Domain A zu einer Seite unterhalb von Domain B. Beim Erzeugen des Links eines Shortcuts wird aus irgendeinem Grund nicht die gewöhliche Typolink Funktion verwendet, sondern die darunter liegende Funktion “t3lib_tstemplate.php->linkData”. Diese Funktion berücksichtigt allerding nicht die Konfoguration “typolinkCheckRootline” oder die Domain Records.
Das Problem wurde auch schon vorher entdeckt und ebenfalls ein Lösungsansatz vorgestellt: “I fixed this by moving the code-block which reacts on “typolinkCheckRootline” from the tslib_content.php->typolink method to the
t3lib_tstemplate.php->linkData method.” (siehe hier: http://www.archivesat.com/TYPO3_core_team/thread1912046.htm).

Als Lösung bzw. Patch wird hier vorgeschlagen, die tiefer liegende Funktion “linkData” um die entsprechende Auswertung des “typolinkCheckRootline” Parameters zu erweitern, also den Code dort rein zu kopieren. Etwas sauberer wäre vermutlich ein XCLASS.

Es müsste also die “linkData” Funktion in eine eigene Klasse kopiert werden. Anschließend ergänzt man diese um den Code aus “typo3/sysext/cms/tslib/ > function typoLink()”, ca. ab Zeile 5230 (TYPO3 3.8). Zuletzt muss natürlich noch die XCLASS Angabe an geeigneter Stelle eingebaut werden.

Nach einer erneuten Recherche, ließen sich einige fertige Extensions hierfür finden:

Allerdings habe ich diese beiden Extensions noch nicht getestet. Die erste scheint sogar eher ein anderes Problem beheben zu wollen. Wer sich der Evaluation dieser Extensions annimmt, kann mir gerne das Ergebnis zusenden: support (at) j2h.com

    Vielen Dank!