Externe Anwendungen für die Suchindizierung nutzen

Zur Indexierung von PDF- und Office-Dateien werden externe Anwendungen benötigt, die Sie einfach in Weblication® CMS einbinden können.

Zur Indexierung von Office-Dokumenten (PDF, DOC, XLS, etc.) ist zusätzlich zu den Systemvoraussetzungen (hier: Systembefehle über exec) erforderlich, dass der Inhalt dieser Binärdateien bzw. XML-Dateien gelesen werden kann. Hierfür bedient sich Weblication® CMS eines internen Algorithmus und nur bei Bedarf externer Anwendungen, die das Auslesen der Dateien übernehmen.
Klappt ein Auslesen des Inhaltes einer Datei nicht, wird lediglich der Dateiname und die parallele Dokumentenerweiterung dieser Dateien indiziert.

Dateien mit der Dateiendung docx, xlsx, pptx und OpenOffice Dokumente werden direkt über XML ausgelesen, weshalb keine externe Anwendung erforderlich ist! Die weiteren Informationen in diesem Artikel sind daher nur für ältere Office-Dokumente (ohne XML-Datenformat) erforderlich.

Bedenken Sie bitte, daß die nachfolgend genannten externen Anwendungen meist veraltet sind und nicht mehr weiter entwickelt werden. Wir raten daher dringend von deren Verwendung ab und empfehlen den Einsatz des XML-Datenformates (docx, xlsx, xlsx, pptx, OpenOffice).


Wir weisen darauf hin, daß beim Einsatz der im Artikel genannten externen Anwendungen keine Gewährleistung auf Datenübernahme aus den Office- bzw. PDF-Dateien besteht!

Erfahren Sie nachfolgend, wie Sie diese externen Anwendungen für das Zusatzmodul Volltextsuche (PDF-Suche bzw. Office-Suche) einbinden und nutzen.

Herunterladen der externen Anwendungen

Die Downloadseiten für die empfohlenen externen Anwendungen finden Sie nachfolgend. Beachten Sie hinsichtlich des Einsatzes die Hinweise am Ende dieses Artikels.

Externe Anwendung

Homepage / Download

Dateiendungen

Xpdf

http://www.xpdfreader.com/
Im Bereich Download unter dem Abschnitt "Download the Xpdf command line tools" finden Sie die erfolgreich auf einem lokalen Debian 9 Server wie auch Domainfactory Linux Gentoo (32-bit) getesteten Anwendungen:

  • Linux 32/64-bit download
    Aus dem TGZ-Archiv verwenden Sie folgende Datei:
    xpdf-tools-linux-4.03/bin32/pdftotext


Vom Webserver bereitgestellte Xpdf-Software:
Je nach Provider steht bereits vorinstalliert eine Xpdf-Version zur Verfügung bzw. kann individuell auf dem Server installiert werden. Ist dies der Fall und es handelt sich um die Xpdf-Version 3.0.4 (oder ein 64bit-System), so darf dem Aufruf der externen Anwendung der Parameter -htmlmeta nicht angefügt werden.
Ab Weblication® CMS Version 010.002.244.000 können Sie hierzu manuell in der default.wConf.php über /wConf/wSearch/pdf/config/@outputFormat = "txt" erreichen, daß pdftotext ohne das -htmlmeta Attribut genutzt wird und direkt txt- anstatt html-Ausgabedateien vom PDF erstellt werden.
Wichtig:
Weblication® CMS berücksichtigt immer erst
"/weblication/grid5/appsExtern/pdftotext/pdftotext", und falls das nicht existiert, die vom Webserver bereitgestellte pdftotext-Software! Der Pfad zur vom Webserver bereitgestellten Software muss manuell in der Weblication-Conf angegeben werden (/wConf/wSearch/pdf/config/@appPath , z.B.: appPath="/usr/bin/pdftotext")

.pdf

Antiword

http://www.winfield.demon.nl/
Wählen Sie Ihr Betriebssystem aus und folgen sie den weiteren Links für den Download.

Nachfolgend stellen wir die auf einem Linux-Server bei Domainfactory getestete Version Antiword 0.3.7 (32bit Version) zum Download als TGZ bereit. Beachten Sie bitte die Lizenzhinweise auf der Herstellerseite!

.doc

xlhtml

http://chicago.sourceforge.net/xlhtml/
Unter dem Link Binarys können Sie die Windows Anwendungen herunterladen. Im Download der Version finden Sie die Linux Anwendungen.

Nachfolgend stellen wir die auf einem Linux-Server bei Domainfactory getestete Version xlHtml 0.4.9.4 (32bit Version) zum Download als TGZ bereit. Beachten Sie bitte die Lizenzhinweise auf der Herstellerseite!

.xls, .ppt

Zend-Framework

Das Zend-Framework kann bis CMS-Version 10.x über die 'Administration - Serverinformationen' für Weblication® nachinstalliert werden und wird im Softwareverzeichnis von Weblication® abgelegt (appsExtern). In neueren Versionen legen Sie dies manuell unter /weblication/grid5/appsExtern als Verzeichnis /zend ab. Wenden Sie sich hierzu bitte an den Support.

Dies ist zum Auslesen von Office Dateien (2007 und höher) mit der Endung .docx und .xlsx erforderlich. Zend greift zum Öffnen der Dateien auf die PHP-Klasse ZipArchive zurück, die in der PHP-Umgebung eingebunden sein muss.
Zudem empfehlen wir für die Suchindexierung den Einsatz der ab CMS 10.x verfügbaren wNet-Klasse. Dies erfolgt dann, wenn in der Suche-Konfiguration das useSessionTan-Attribut aktiviert ist.

Hinweis:
Bei Domainfactory kann diese Klasse über den PHP.INI-Editor nachträglich eingebunden werden (Modul zip.so).

.docx, .xlsx

Entpacken und Ablegen der Archivinhalte

Entpacken Sie die Anwendungen in das Verzeichnis:

  • /weblication/grid5/appsExtern/
    • /pdftotext/
      Xpdf-Anwendung für PDF-Dateien
    • /wordtotext/[os]/
      Antiword-Anwendung für DOC-Dateien
      [os] steht für das jeweilige Betriebssystem (bei Linux: lin)
    • /excelppttotext/[os]/
      xlhtml-Anwendung für XLS-und PPT-Dateien
      [os] steht für das jeweilige Betriebssystem (bei Linux: lin)

Sofern Sie die Dateien via FTP/SSH übertragen, achten Sie darauf, dass Sie alle Dateien im Binär-Modus übertragen.

Setzen der Rechte

  • Beim Einsatz auf einem Linux-Server (z.B. bei Domainfactory):
    • Für PDF-Dateien (pdf):
      /weblication/grid5/appsExtern/pdftotext/
      • Ausführenrechte müssen haben:
        /weblication/grid5/appsExtern/pdftotext/pdftotext (Datei ohne Endung)
    • Für Word-Dateien (doc):
      /weblication/grid5/appsExtern/wordtotext/lin/antiword/
      /weblication/grid5/appsExtern/wordtotext/lin/bin/
      • Ausführenrechte müssen haben:
        /weblication/grid5/appsExtern/wordtotext/lin/antiword/antiword (Datei ohne Endung)
      • Schreibrechte sind erforderlich auf:
        /weblication/grid5/appsExtern/wordtotext/lin/bin/ (je nach Server chmod 777 erforderlich)
    • Für Excel/Powerpoint-Dateien (xls|ppt):
      /weblication/grid5/appsExtern/excelppttotext/lin/xlHtm/
      /weblication/grid5/appsExtern/excelppttotext/lin/bin/
      • Ausführenrechte müssen haben:
        /weblication/grid5/appsExtern/excelppttotext/lin/xlHtm/ppthtml (Datei ohne Endung)
        /weblication/grid5/appsExtern/excelppttotext/lin/xlHtm/xlhtml (Datei ohne Endung)
  • Beim Einsatz auf einem Windows-Server (mit Apache):
    • Für PDF-Dateien (pdf):
      /weblication/grid5/appsExtern/pdftotext/
      • Ausführenrechte müssen haben:
        /weblication/grid5/appsExtern/pdftotext/pdftotext.exe
    • Für Word-Dateien (doc):
      /weblication/grid5/appsExtern/wordtotext/
      • Ausführenrechte müssen haben:
        /weblication/grid5/appsExtern/wordtotext/win/antiword/antiword.exe
      • Schreibrechte sind erforderlich auf:
        /weblication/grid5/appsExtern/wordtotext/lin/bin/
    • Für Excel/Powerpoint-Dateien (xls|ppt):
      /weblication/grid5/appsExtern/excelppttotext/lin/xlHtm/
      /weblication/grid5/appsExtern/excelppttotext/lin/bin/
      • Ausführenrechte müssen haben:
        /weblication/grid5/appsExtern/excelppttotext/win/xlHtm/ppthtml.exe
        /weblication/grid5/appsExtern/excelppttotext/win/xlHtm/xlhtml.exe

Ob die externen Anwendungen korrekt abliegen und auch die erforderlichen Ausführenrechte besitzen, erfahren Sie über den Funktionstest zu Beginn jeder Indexierung. Ein grünes "ok" hinter der genannten Anwendung bedeutet, dass die externe Anwendung verwendet werden kann.

Suchindexierung - Funktionstest der externen Anwendungen
Suchindexierung - Funktionstest der externen Anwendungen

Funktionstest analysieren und debuggen

Sofern Sie beim Funktionstest ein "error" anstatt des "ok" zum jeweiligen Application Check erhalten, prüfen Sie bitte über das Register "Debuginformationen" die detaillierte Fehlermeldung hierzu. Bei der PDF-Applikation könnte dies z.B. wie folgt aussehen:

PDF Check: Outputfile /var/www/htdocs/weblication/grid5/tmp/tmp_pdf_891604.html doesn't exist... Probably can't execute command "/var/www/htdocs/weblication/grid5/appsExtern/pdftotext/pdftotext -htmlmeta /var/www/htdocs/weblication/grid5/tmp/tmp_pdf_891604.pdf" or PDF file is password protected. 

Prüfen Sie in solch einem Fall zuerst einmal, ob Sie auch wirklich die Ausführenrechte auf die entsprechende Datei (z.B. pdftotext) gesetzt haben. Wenn dies der Fall ist, setzen Sie den in der Meldung genannten Aufruf (command) direkt in der Shell ab. Vergewissern Sie sich zuvor, daß die angegebene PDF-Datei im tmp-Verzeichnis mit dem Namen auch abliegt (kann eine Test-Datei sein). Nach einem erfolgreichen Aufruf muß parallel zu dieser PDF-Datei eine .html-Datei mit gleichem Namen abliegen (im Beispiel also die in der Fehlermeldung genannte Datei: tmp_pdf_891604.html). Wird diese Datei nicht angelegt, wenden Sie sich bitte an Ihren Provider, der sich anhand des direkten Shellaufrufes auf die Fehlersuche machen kann.

Tipp:
Damit Sie beim Debuggen nicht immer auf den kompletten Suchindex-Durchlauf warten müssen, geben Sie in den Sucheinstellungen einfach eine falsche Start-URL an.

Weitere mögliche error-Ursachen:

  • aktivierter Safe Mode
    Lösung: Deaktivieren Sie beim Einsatz älterer PHP-Versionen den Safe-Mode.

Hinweise

  • Die Anwendungen sind unter der GNU General Public License (GPL) veröffentlicht und stehen somit kostenlos zum Download zur Verfügung.
    Sie können die Anwendungen mit Hilfe der Installationsanleitungen (siehe jeweilige Anwendung) auf Ihrem System installieren. Gegebenenfalls müssen Sie die Berechtigungen des Webservers für diese Anwendungen (Dateien, Verzeichnisse) setzen.