Benutzer:Hagbard/PHPheiseReg


Aus Macwrench

Wechseln zu: Navigation, Suche

PHPheiseReg ist ein kleines Quick-and-Dirty PHP-Skript, dass die Ausgaben des perl heise-Register-Skriptes reg.pl für die Nutzung über einen Webbrowser aufbereitet. Der Code ist nicht wirklich schön, erfüllt aber seinen Zweck. Ich wars einfach nur leid, immer mit den ganzen Jahrgangs-CDs herumzujonglieren, und für Mac OS X gibts da ja bisher nix brauchbares ...


Inhaltsverzeichnis

Kurzinfo

Da ich zu faul war, das perl-Skript neu in PHP zu implementieren, habe ich die Originalversion von Andy Spiegl etwas gepatcht, damit die Ausgabe einfacher geparst werden kann. Das Originalskript kann also nicht ohne weitere Änderungen hiermit verwendet werden, die Suche gibt sonst nur Wirrwarr aus (oder im Zweifelsfall einfach gar nix).

Funktionen

Im Moment bietet das Skript die folgenden Funktionen:

  • einfache Suche im Register, Suche nach Schlagworten aus den Suchergebnissen heraus
  • Browser durch die Ausgaben der Zeitschriften c't und iX (Zeitschrift -> Jahrgang -> Ausgabe)
  • Direktes Aufrufen der Artikel aus den Suchergebnissen heraus (falls CD/DVD-HTML-Ausgabe vorhanden)
  • Speichern der Indexübersicht in einem Cachefile (aus Performancegründen)

Ich weiß, dass die Implementierung der Cachefunktion dreckig ohne Ende ist, das hat aber auch einen einfachen Grund: das Skript läuft bei mir auf einer NAS, die maximal unperformant ist. Und so muss sie nix anderes tun, als direkt den HTML Code auszulesen ... schließlich wird der Index ja maximal 2 mal im Jahr aktualisiert (einmal pro Halbjahres-CD)

Nutzung

Für die Nutzung braucht man ...

  • einen Webserver (z.B. Apache) mit PHP-Unterstützung
  • Das heise Register (den Basisdatenbestand gibt es hier zum Herunterladen)
  • die HTML-Versionen der Artikel CD-/DVD in einem für den Webserver zugänglichen Bereich auf dem lokalen Rechner

Die HTML Files sind dann in ein Verzeichnis zu kopieren, da (normalerweise) der Zugriff auf ein CD-/DVD-Laufwerk durch den Webserver nicht möglich ist (lässt sich mit entsprechender Konfiguration natürlich umgehen, auf Sicherheitsaspekte will ich dabei aber nicht eingehen).

Für die HTML-Versionen der Artikel gilt:

  • alle befinden sich in dem Verzeichnis, das in der config.inc.php festgelegt wurde, standardmäßig also ./articles/
  • darin enthalten sind Verzeichnisse für die verschiedenen Magazine, namentlich:
    • c't
    • iX
    • Technology Review kommt wohl bald dazu (laut heise)
  • da kommen dann die Artikel von der CD aus dem Verzeichnis HTML hinein, also die Verzeichnisse für die verschiedenen Jahrgänge (90, 91, 92, ... 00, 01, 02, ... usw.)

Am Schluß sieht die Verzeichnisstruktur dann z.B. so aus:

./articles/
  |- c't
  |   |- 01
  |   |   |-01
  |   |   |-02
  |   |   |-03
  |   |   |- ...
  |   |
  |   |- 02
  |   |- ...
  |
  |- iX
      |- 01
      |- ...

Konfiguration

Die wichtigsten Dinge (wie Pfade, das Suchverhalten des perl-Skriptes und anderes) lassen sich in der Datei

config.inc.php

im Verzeichnis "lib" ändern.

Update des Register

Das Register wird bisher über das Perl-Skript aktualisiert, dazu sind die jeweiligen Updates für die c't hier und für die iX hier herunterzuladen (TR kommt wohl demnächst erst dazu). Einfacher gehts per Mailingliste, da bekommt man die Updates dann automatisch zugeschickt - im Moment allerdings nur die Updates der c't.

Die in den Archiven steckenden *.CTI-Dateien sind dann mittels folgendem Kommando (im Terminal vorher in das entsprechende Verzeichnis wechseln) in das Register einzufügen:

perl reg.pl -f <FRM-file> -u <CTI-file>

Das FRM-File inhalt.frm ist der Register und befindet sich im Verzeichnis ./register/

Tipps & Tricks

Da die HTML Ausgaben recht patzintensiv sind (bei so vielen kleinen Dateien ist der Overhead des Dateisystems ziemlich groß) empfiehlt es sich, diese in ein Image zu packen und das anschließend in ein für den Webserver zugängliches Verzeichnis zu mounten. Hinweise, wie man unter Mac OS X ein unter Linux oder Windows nutzbares ISO-Image erstellt, sind hier zu finden.

Download

hier (11. Dez 2007 (CEST))

Update Version 20067-11-12

  • diverse Bugfixes
  • Style überarbeitet

Update Version 2006-09-26 #2

  • verschiedene Bugfixes
  • Indexcache
  • ein paar andere kleine Änderungen
  • Index-Stylesheet überarbeitet (Indexupdate notwendig!)

Screenshots

to do

  • Möglichkeit, den Indexcache in der config zu aktivieren/deaktivieren - hagbard 23:31, 27. Sep 2006 (CEST)
  • Verzeichnisnamen in der config anpassbar (z.B. "ct" oder "CT" statt "c't") - hagbard 23:31, 27. Sep 2006 (CEST)
  • GUI für die config - hagbard 23:31, 27. Sep 2006 (CEST)
  • config evtl. auch als text-/xml-/csv-/...-datei ablegen - hagbard 23:31, 27. Sep 2006 (CEST)
  • GUI für Registerupdates - hagbard 23:36, 27. Sep 2006 (CEST)

Falls Euch dazu noch etwas einfällt, einfach mit Signatur (Name und Datum) versehen hier eintragen. Danke!


Verfasser: hagbard

Persönliche Werkzeuge