Screenshots automatisch erstellen (mit Thumbalizr?)
am 29.04.2009 - 06:43 Uhr in
Ich beschäftige mich erst seit kurzem intensiver mit Drupal und bin erstaunt, wie weit man als Anfänger in kürzester Zeit kommt. Jetzt aber bin ich an einem Punkt, wo ich einen Tipp gebrauchen könnte.
Was ich machen möchte ist im Prinzip eine kommentierte Linkliste, vergleichbar mit dem Showroom hier im Drupalcenter. Mein Inhaltstyp enthält ein Bild-Feld, so dass man die Bild-Datei hochladen kann. Mit ImageCache kann ich das in der gewünschten Größe ausgeben. So weit so gut.
Die Idee war nun, die Screenshot-Erstellung zu automatisieren. Z. B. könnte der Screenshot jedesmal, wenn ich die Änderung eines Eintrags abspeichere, automatisch gezogen und hochgeladen werden. Ein fix und fertiges Modul für diese spezielle Anforderung habe ich leider nicht gefunden.
Ich dachte mir, es wäre einfacher, einen Online-Screenshot-Dienst zu nutzen. Ganz geeignet erscheint mir thumbalizr, die praktischerweise den PHP-Code gleich mitliefern. Das sieht dann so aus:
<?php
define ("_THUMBALIZR",1);
require_once("config.inc.php"); // get config and functions
$image=new thumbalizrRequest(); // create object
$image->request("http://www.ebay.com"); // send request
if ($image->headers['Status']=="OK" || $image->headers['Status']=="LOCAL") { // if picture is available
$image->output(); //dump binary image data
} else {
print_r($image->headers); // print text result output - you can dump your own "queued" picture here
}
?>
Zu meiner großen Freude bin ich auch auf der Suche nach thumbalizr drupal modul fündig geworden. Allerdings kommt man nur auf das Archiv einer Mailingliste und die dort angegebenen Links sind nicht mehr gültig. Ein weiterer Treffer ist sehr interessant und führt offenbar zum kompletten Modul-Code:
http://cvs.drupal.org/viewvc.py/drupal/contributions/modules/thumbalizr/
Jetzt meine naiven Fragen: Soll ich das Modul einfach mal ausprobieren? Wo finde ich zu diesem Modul noch weiterführende Informationen?
Auch sonst bin ich für jeden Tipp dankbar.
- Anmelden oder Registrieren um Kommentare zu schreiben
Modul
am 29.04.2009 - 07:41 Uhr
Moin!
Jetzt meine naiven Fragen: Soll ich das Modul einfach mal ausprobieren?
Ich würde sagen: ja, warum nicht? Auch wenn Jeff (der Maintainer) selbst sagt, dass das äusserst hässlicher Code ist, bin ich von ihm eigentlich gewohnt, dass seine Sachen funktionieren :-)
Wenn Du das ersteinmal in einer Testinstallation ausprobierst, machst Du ja auch nichts kaputt.
Wo finde ich zu diesem Modul noch weiterführende Informationen?
Wahrscheinlich nirgendwo. Jeff hat dafür nie ein offizielles Release erstellt und auch sonst findet man nichts (über google).
hth,
Stefan
--
2 Personen mit Halbwissen sind schlimmer als eine unwissende Person.
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
thumbalizr ausprobieren
am 30.04.2009 - 07:28 Uhr
Vielen Dank für den Hinweis. Ich habe das zum Anlass genommen, mir ein Testsystem einzurichten. ;-)
Das Modul ist aktiviert und ich kann unter Einstellungen | Thumbalizr die Optionen API key,
Cache directory und Refresh thumbnails older than eingeben.
Offenbar kann ich mit der Funktion thumbalizr_get_thumb einen neuen Screenshot erzeugen. Zu Testzwecken habe ich in ein Texteingabefeld mit PHP-Eingabefilter eingegeben:
<?php
thumbalizr_get_thumb("http://drupalcenter.de");
?>
In dem Verzeichnis sites/default/files/thumbalizr kommt eine Datei 51c7ae6b2370c40cd9e9ae4f99bea849.tmp.jpg. Das ist ein Bild mit einem Symbol und dem Text "PICTURE QUEUED". Ich nehme mal an, dass die Verarbeitung bei thumbalizr.com damit angestoßen ist.
Wie komme ich jetzt an das fertige Bild? Wer hat eine Idee?
warten
am 30.04.2009 - 09:35 Uhr
Moin!
Ich vermute mal, Du musst einfach noch ein wenig Geduld haben. Der Dateiname enthält ja auch "tmp", es ist also anscheinend noch nicht fertig. Einfach ein wenig warten und die Funktion dann nochmal aufrufen.
Stefan
--
2 Personen mit Halbwissen sind schlimmer als eine unwissende Person.
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Verstanden
am 01.05.2009 - 08:04 Uhr
Jetzt habe ich verstanden, wie das Thumbalizr-Modul einzusetzen ist. Man kann damit die Screenshots im Node selbst oder in Views anzeigen.
Im Node geht das wie folgt: Der Inhaltstyp muss ein Link-Feld enthalten. Das kann dann unter Inhaltstyp | Felder anzeigen für "Anrisstext" und/oder "vollständigen Beitrag" auf "Thumbnail", "Thumbnail link", "Thumbnail (large)" usw. eingestellt werden. Bei der ersten Ansicht eines Nodes wird dann die Thumbnail-Erstellung angestoßen und das Picture-Queued-Bild gezeigt. Ruft man den Node nach einer Weile noch einmal auf, erscheint dann der Screenshot als solcher. Unter Einstellungen | Thumbalizr kann man angeben, in welchen Intervallen der Screenshot erneuert werden soll.
Soll das Thumbnail in einer View angezeigt werden, gibt man als Feld einfach den Link aus und stellt das Format auf "Thumbnail".
Das ist eine nette Sache und scheint gut zu funktionieren. Ein Problem ist mir aber jetzt noch aufgefallen: Wenn die betreffende Seite, die fotografiert werden soll, irgendwann offline ist, dann geht mir auch der Screenshot verloren. Ideal wäre deshalb für meinen Anwendungsfall wohl, wenn der Screenshot tatsächlich zum Node gespeichert würde und am besten die alten Versionen des Screenshots nicht überschrieben würden. Meinetwegen müsste der Screenshot auch nicht automatisch beim Abspeichern erzeugt werden, wie mir ursprünglich vorgeschwebt hatte, sondern es könnte auch einen Button geben "Screenshot erzeugen" (quasi statt "Datei hochladen").
Vielleicht ist das aber auch alles ein bisschen zu kompliziert und ich lasse das erst einmal so wie es ist. Es sei denn, jemand hat eine zündende Idee ...