Zum Inhalt springen

Abgeschnittene Fehlermeldung beim Indizieren von PDFs: wie am besten analysieren

Erstellt am 6. Juni 2013 · 1 Antwort · letzte Antwort am 14. Juni 2013

Tags: PDF, Suche, Frage

krisc ·

Hallo,

ich arbeite mit TYPO3 6.0.2, indexed_search, indexed_search_mysql (je 6.0.0) und crawler (3.5.0). Das Indizieren von Seiteninhalten funktioniert gut.

Wenn ich in "WEB > Info > Site Crawler > Crawler Log" bin und dort eine Seite indizieren lasse, die Links zu PDFs enthält, dann werden für diese PDFs neue Einträge in der Queue erzeugt (so wie in http://wiki.typo3.org/Crawler). beschrieben).

Wenn ich nun eines dieser PDFs indizieren lassen möchte, erscheint in der Ergebnisspalte der abgeschnittene Text: "Error: No object: EXT:indexed_search/class.crawler..."

Unter "ADMIN TOOLS > Indexing > List External Documents" sehe ich, dass kein externes Dokument indiziert wurde.

Gehe ich über SSH auf den Server und führe pdfinfo oder pdf2text auf eines der PDFs aus, dann funktioniert dies. Ich habe z.B. pdfinfo als Benutzer "www-data" über eines der PDFs laufen lassen.

Der Pfad, in dem diese Programm liegen, ist in der Apache Config in der open_basedir hinzugefügt.

In indexed_search habe ich testweise den DebugMode aktiviert. Dort steht "Information […] can be shown in the backend". Ich habe nur an keiner Stelle entsprechende Debug-Information gefunden.

Nun bin ich etwas ratlos. Da es bei der Verwendung von TYPO3 mit einigen Extensions noch Probleme z.B. bzgl. Klassennamen/Namspaces gibt, wüsste ich gerne, ob es eher damit zusammenhängt, also mit dem eigentlchen Aufrufen der Programme pdfinfo und pdf2text gar nichts zu tun hat, oder eben doch.

Hat jemand eine Idee? Gibt es noch etas anderes, was ich Testen kann, um das Problem zu analysieren?

Viele Grüße

Christian

krisc ·

Der Fehler wurde hier gemeldet: http://forge.typo3.org/issues/47106

Ich bin selbst auf die Fehlersuche gegangen und habe die Lösung gefunden, denke ich. Hier in etwas anderer Form das, was ich auf forge.typo3.org als Lösung beschrieben habe:

Datei /typo3/sysext/indexed_search/Classes/Indexer, Zeilen 799 und 811, dort steht aktuell:

$crawler->addQueueEntry_callBack(0, $params, 'EXT:indexed_search/class.crawler.php:&TYPO3\\CMS\\IndexedSearch\\Controller\\SearchFormController_files', $this->conf['id']);

"SearchFormController_files" gibt es nicht, da scheint durch Suchen&Ersetzen, versehentliches Einfügen aus der Zwischenablage oder sonst irgendetwas fehlerhafter text eingefügt worden zu sein. Da der Klassenname an der Stelle als String-Parameter übergeben wird, findet eine Entwicklungsumgebung diese Stelle nicht als Fehler. Später, beim Versuch, ein Objekt der angegebenen Klasse zu erzeugen, gibt es dann aber einen Laufzeitfehler.

In der Vorgängerversoion wurde dort tx_indexedsearch_files verwendet. Das habe ich an den beiden Stellen eingesetzt:

$crawler->addQueueEntry_callBack(0, $params, 'EXT:indexed_search/class.crawler.php:&tx_indexedsearch_files', $this->conf['id']);

Nun werden bei mir auch Dateien wieder indiziert. 😉

Ich hoffe, dass dies auch anderen hilft.