Quickblog-Funktion und Artikeleigenschaften

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
StrgC
Regular
Posts: 13
Joined: Thu Jun 10, 2010 12:11 pm

Quickblog-Funktion und Artikeleigenschaften

Post by StrgC »

Hallo,
ich habe gerade mit dem Plugin "Erweiterte Optionen für Bildauswahl" experimentiert. Dieses fügt ja die Option "Quickblog" in den Upload-Dialog ein. Das ganze klappt auch soweit recht gut.

Allerdings zeigt der zum hochgeladenen Medium erzeugte Artikel stets Trackbacks und Kommentarfelder an, obwohl diese eigentlich standardmäßig deaktiviert sind. Bei normal erzeugten Artikeln greift diese Default-Einstellung auch, nur bei Quickblog-Artikeln nicht.

Kann ich das auch in der quickblog.tpl festlegen?

Danke!
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Quickblog-Funktion und Artikeleigenschaften

Post by garvinhicking »

Hey,

in dem Fall, quickblog erzeugt die Einträge individuell, und berücksichtigt dabei tatsächlich nicht die Standardeinstellung für Kommentare/Trackbacks:

Code: Select all

                    $entry['allow_comments']    = 'true';
                    $entry['moderate_comments'] = 'false';
                    $serendipity['POST']['properties']['fake'] = 'fake';
                    $id = serendipity_updertEntry($entry);
in der serendipity_event_imageselelectorplus. Da müsste man statt einem festen Wert für die oberen zwei Werte den Default auslesen, theoretisch sollte das so gehen:

Code: Select all

                    $serendipity['POST']['properties']['fake'] = 'fake';
                    $id = serendipity_updertEntry($entry);
dadurch, dass man das nämlich entfernt, greifen die defaults von der serendipity_updertEntry() function, und dann müsste es sich an den Defaults ausrichten. Magst Du das mal ausprobieren bei dir? Wenn es so klappt wie ich mir das denke, patche ich das gerne im offiziellen Plugin :)

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
StrgC
Regular
Posts: 13
Joined: Thu Jun 10, 2010 12:11 pm

Re: Quickblog-Funktion und Artikeleigenschaften

Post by StrgC »

Besser spät als nie: Ja, der angegebene Patch funktioniert.

Ich habe noch ein wenig mit dem Plugin herumgespielt. Dabei sind mir ein paar Dinge aufgefallen:

Ich möchte vor allem PDF-Dokumente hochladen. Um die in Serendipity auch ansprechen bzw. taggen zu können, benötige ich einen zugehörigen Artikel. Dafür ist die Quickblog-Funktion eigentlich ideal, da hiermit bereits beim Hochladen in die Mediendatenbank ein Artikel mit Link zum PDF erzeugt wird. Nachteilig finde ich den Umstand, dass im erzeugten Artikel kein einfacher Link zum Dokument steht, sondern vielmehr ein quickblog-Script-Aufruf. Dieser funktioniert nicht mehr, wenn man nachträglich ein Verzeichnis in der Mediendatenbank ändert.

Außerdem gibt es beim Upload von PDFs den Effekt, dass Vorschaubilder erzeugt werden, obwohl Serendipity die selbst bereitstellt. In der Mediendatenbank erscheinen dann immer zwei Dateien, das PDF und die zugehörige quickblog-Vorschau. In S9Y sind 240 Pixel als Thumbnailgröße eingestellt, im Quickblog-Dialog ebenfalls. Eigentlich sollte da gar nichts erzeugt werden.

Ich habe jetzt das Plugin an zwei Stellen der serendipity_event_imageselectorplus.php verbogen.
Zum einen habe ich die Erzeugung jeglicher Thumbs auskommentiert:

Code: Select all

 // check default Serendipity thumbSize, to make this happen like standard image uploads, and to get one "full" image instance only, else create another "resized" image instance, to use as entries thumbnail image

                    if ($serendipity['thumbSize'] != $size) {
                      //  $oldSuffix = $serendipity['thumbSuffix'];
                      //  $serendipity['thumbSuffix'] = 'quickblog';
                      //  serendipity_makeThumbnail($file, $directory, $size);
                      //  $serendipity['thumbSuffix'] = $oldSuffix;
                    }
Das ist nicht besonders elegant, verhindert aber ständige Dubletten.

Zum zweiten habe ich die Erzeugung des eigentlichen Artikels im Abschnitt //New draft post dahingehend verbogen, dass quickblog lediglich einen "harten" Link zum PDF sowie der S9Y-Vorschau erzeugt.

Zunächst habe ich die Pfade zusammengebaut und in Variablen abgelegt:

Code: Select all

// Variablen zur Pfadansprache einrichten
$datei       = serendipity_parseFileName($file);
$filename    = $datei[0];
$suffix      = $datei[1];
$pdfpfad     = '/' . $serendipity['uploadPath'] . $directory . $filename . '.' .  $suffix;
$vorschaupng = '/' . $serendipity['uploadPath'] . $directory . $filename . '.vorschau.' . $suffix . '.png';
$entry          = array();
Die eigentliche Änderung ist dann diese:

Code: Select all

// Ursprünglicher Code:
// $entry['body'] = '<!--quickblog:' . $eventData .  '-->' . $serendipity['POST']['quickblog']['body'];

// Neuer Code
$entry['body'] = '<a href="' . $pdfpfad . '"> <img alt="" class="serendipity_image_left" src="' . $vorschaupng . '"></a><p>' . $serendipity['POST']['quickblog']['body'] . '</p>';

Das klappt soweit auch gut. Da ich nicht plane, Bilddateien über die Funktion hochzuladen, bin ich eigentlich zufrieden.

Frage: Ist das so machbar oder steckt da ein struktureller Fehler, den ich übersehen habe und der im Nachhinein Probleme bereiten kann?

Eventuell könnte eine solche Funktion, wenn sie Eingang in ein Standard-Modul fände, die Handhabung von PDFs in Serendipity generell verbessern.
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: Quickblog-Funktion und Artikeleigenschaften

Post by Timbalu »

Ich muss da mal mit etwas Zeit drüber nachdenken.

2 Fragen hätte ich aber vorher:
- Die Dupletten sollten (wenigstens für images) schon gefixt sein, arbeitest du mit der neusten Version? Ist da bei PDF irgend etwas anders?
- Die Frage, ob man generell den quickblog hidden tag in einem echten Link verwandeln sollte, wenn das möglich ist.

siehe http://board.s9y.org/viewtopic.php?f=10&t=19992
und http://board.s9y.org/viewtopic.php?f=10&t=19984 (Dupletten fix mit abschließendem commit)
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
StrgC
Regular
Posts: 13
Joined: Thu Jun 10, 2010 12:11 pm

Re: Quickblog-Funktion und Artikeleigenschaften

Post by StrgC »

Ich habe Version 0.38 des Plugins "Erweiterte Optionen für Bildauswahl", laut Spartacus aktuell.

Auf einem nackten Testsystem werden PDFs tatsächlich ohne separates Vorschaubild hochgeladen. Dort klappt allerdings das interne Erzeugen der Vorschau file.serendipityThumb.pdf überhaupt nicht (mit ImageMagick genau wie GDLib).

Auf meinem Echtsystem, wo die Vorschaubilder funktionieren, heißen sie file.serendipityThumb.pdf.png, eventuell ist da der Haken, weil an die ursprüngliche Extension noch .png gehängt wird.

Die Anpassung, dass bei gleicher Thumbgröße gar keine Vorschau erzeugt werden sollte, habe ich gesehen. Bei mir ist sowohl in S9Y als auch im Upload-Dialog stets 240 eingetragen, aber das scheint das Pluging nicht zu interessieren. Deshalb hatte ich das dann hart auskommentiert.

Der Sinn des Quickblog hidden tags erschließt sich mir insgesamt nicht. Es macht den erstellten Artikel schwierig bis gar nicht wartbar an dieser Stelle und bietet - soweit ich das sehe - keinen Vorteil außer "weniger sichtbarer Code".

Wenn man das Plugin als Möglichkeit begreift, schnell und einfach Artikel für hochgeladene Objekte zu erzeugen, ergibt sich noch eine weitere Überlegung. Im Idealfall übergebe ich das Objekt an die Mediendatenbank, füge einige Informationen hinzu und bin fertig. Den erzeugten Artikel muss ich also nicht mehr anfassen.

Dazu wäre es sinnvoll, im Upload-Dialog auch Zugriff auf die Tags zu haben, um das Foto oder PDF gleich mit den richtigen Schlagworten versehen zu können - die Kategorie lässt sich ja bereits auswählen.
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: Quickblog-Funktion und Artikeleigenschaften

Post by Timbalu »

Das mit dem den PDF Dupletten kann ich mit v. 0.38 nicht nachvollziehen. Solange du im quickblog form die Standard Image Thumb Größe nicht änderst, wird imageselectorplus keine Dupletten erzeugen. Du schriebst was von 240px, wenn ich mich recht erinnere. Dies ist nicht das Standard Thumb size von 110px in der Variable $serendipity['thumbSize']. Möglicherweise hast du das irgendwo geändert, so dass es 2 jetzt mögliche Größen gibt? $serendipity['thumbSize'] ist die wirkliche Größe. Imagemagick bzw GD brechen natürlicherweise einfach mit einem Error ab. Das PDF ist dann aber ordnungsgemäß in der MediaLibrary, auch ohne .png.

Garvin hat ja bereits gesagt, dass die ursprüngliche Intention des Plugins so eine Art Fotoblog war, deshalb ist es unschwer zu erkennen das alles andere als images zu Problemen führen kann. Man könnte das aber relativ leicht lösen mit einem radio Auswahl Feld image true/false im quickblog form und einem target 'other' das nachher in einen normalen Link verwandelt wird.

Quickblog heißt eben auch quickblog und nicht realform, dass nun mit allen möglichen weiteren feaures des echten blogentry forms aufgepimt wird.

Der Quickblog hidden tag ist so gelöst, da ein entry generiert wird zur Zeit, in dem (historischerweise) das neue Image noch nicht in der Datenbank existiert. Deshalb wirde es so gelöst, dass das eigentliche parsing erst später stattfindet.
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: Quickblog-Funktion und Artikeleigenschaften

Post by Timbalu »

Ich habe den Vorschlag für upload objects mit dem radio field mal für die kommende 0.39 eingebaut.
Wenn du Lust hast, kannst du das gerne mal vortesten. Bitte melden.
Auszug:

Code: Select all

if ($serendipity['POST']['quickblog']['isobject'] == YES) {
    $objfile     = serendipity_parseFileName($file);
    $filename    = $objfile[0];
    $suffix      = $objfile[1];
    $obj_mime    = serendipity_guessMime($suffix);
    $objpath     = $serendipity['serendipityHTTPPath'] . $serendipity['uploadPath'] . $directory . $filename . '.' .  $suffix;
    $objpreview  = serendipity_getTemplateFile('admin/img/mime_' . preg_replace('@[^0-9a-z_\-]@i', '-', $obj_mime) . '.png');
    if (!$objpreview) {
        $objpreview = serendipity_getTemplateFile('admin/img/mime_unknown.png');
    }
}

if (isset($objpath) && !empty($objpath)) {
	$entry['body'] = '<a href="' . $objpath . '"><img alt="" class="serendipity_image_left" src="' . $objpreview . '">' . $filename . '</a> (-'.$obj_mime.'-)<p>' . htmlspecialchars($serendipity['POST']['quickblog']['body']) . '</p>';
} else {
	$entry['body'] = '<!--quickblog:' . htmlspecialchars($serendipity['POST']['quickblog']['target']) . '|' . $eventData .  '-->' . htmlspecialchars($serendipity['POST']['quickblog']['body']);
}
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: Quickblog-Funktion und Artikeleigenschaften

Post by Timbalu »

Ich habe das jetzt einfach commited. Morgen per Spartacus.

Für Freunde von S9y mime types habe ich hier mal ein paar Testtypen gezipt. die man sich in /templates/default/admin/img/ entzippen sollte. Dies werden bei unterschiedlichen Mime Types in der MediaLibrary, und bei entsprechender Verlinkung auch im Frontend angezeigt. Achtung: bitte Lizenzen selber beachten, 4 eigene angepasste, 7 aus 'Icons8' (Metro Style Icons by VisualPharm), 4 aus Iconset: 'Ethereal Icons' (by capital18).
s9y_mime.zip
Serendipity Mime Test Icons (v2)
Please see license details by youself!
(40.44 KiB) Downloaded 189 times
s9y-mime-tests.PNG
s9y-mime-tests.PNG (44.26 KiB) Viewed 5380 times
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
StrgC
Regular
Posts: 13
Joined: Thu Jun 10, 2010 12:11 pm

Re: Quickblog-Funktion und Artikeleigenschaften

Post by StrgC »

Zu den geheimnisvollen Dubletten:

Ich hatte in der S9Y-Konfiguration im Bereich "Bildkonvertierung" Die Vorschaubildgröße geändert, nämlich von 110 auf 240.

Im Quickblog-Dialog war daher der Wert 240 voreingestellt. Ich hatte ihn dort absichtlich nicht geändert, trotzdem gab's Dubletten.

Ich habe jetzt testweise unter Bildkonvertierung zurück auf 110 gestellt und dann geht's auch mit Quickblog ohne Thumb-Dublette.

Wenn ich jetzt wieder auf 240 gehe... Geht es auch.

Nicht weiter drüber nachdenken...


Die Plugin-Änderung probiere ich dann aus, sobald sie auf Spartacus steht und berichte.
StrgC
Regular
Posts: 13
Joined: Thu Jun 10, 2010 12:11 pm

Re: Quickblog-Funktion und Artikeleigenschaften

Post by StrgC »

Soweit klappt das gut. Allerdings zeigt der erzeugte Artikel jetzt natürlich das MIME-Icon an. Ich hatte in meinem Umbau deshalb das Vorschau-png etwas umständlich mit

Code: Select all

$vorschaupng = '/' . $serendipity['uploadPath'] . $directory . $filename . '.vorschau.' . $suffix . '.png';
zusammengestöpselt, weil die PDF-Vorschauen ja eben nur durch einfügen zweier Extensionen zu erreichen sind.

Gut wäre auch, wenn das Plugin sich den radio-Status von "Non-image object" merken würde, so wie es das auch bei der Verzeichniswahl tut, so dass man das bei mehreren gleichartigen Objekten nicht immer neu auswählen muss.
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: Quickblog-Funktion und Artikeleigenschaften

Post by Timbalu »

Aber es gibt doch gar kein eg '/uploads/test.pdf.png' als Vorschaubild im Falle von objects, deshalb das mime, da ja ein Non-image object nur als Upload hochgeladen wird. Ob man nur den Entry-Link für den Blogeintrag ohne ein Vorschaubild generiert wäre eine andere Frage. Oder verstehe ich da etwas falsch?

Den Merkstatus hatte ich da extra nicht angewendet, da das doch normalerweise eher selten vorkommt und deshalb lieber auf default 'Nein' für den Hauptzweck: 'Fotoblog' gelassen.
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: Quickblog-Funktion und Artikeleigenschaften

Post by Timbalu »

Serendipity Mime Test Icons (v2) - siehe oben.
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
StrgC
Regular
Posts: 13
Joined: Thu Jun 10, 2010 12:11 pm

Re: Quickblog-Funktion und Artikeleigenschaften

Post by StrgC »

Ich habe zur Skalierung ImageMagick aktiviert. Beim Hochladen eines PDFs (normaler Vorgang ohne Nutzung von Quickblog o.ä.) zeigt das System an, dass die Datei hochgeladen *UND* eine Vorschau erzeugt wurde. Diese liegt dann unter uploads/xyz.vorschau.pdf.png vor. ('Vorschau' habe ich statt 'Serendipitythumb' eingestellt)

Ohne ImageMagick scheint der Vorschau-Prozess beim Upload nicht angestoßen zu werden.
Timbalu
Regular
Posts: 4598
Joined: Sun May 02, 2004 3:04 pm

Re: Quickblog-Funktion und Artikeleigenschaften

Post by Timbalu »

Oh ja, sogar schon seit 0.8-beta1 und immer wieder ge'fixed...
* When using ImageMagick, create a thumbnail of a PDF for media browsing (nohn, garvinhicking)
Dummerweise kann ich mein lokales Win S9y setup nicht überreden IM für diesen Vorgang ohne Errors zu benutzen. Deshalb ist mir das auch völlig entgangen.

Dann müsste man für PDFs also eine eigene Link/Image Generierung fahren, falls IM + PDF true, bzw, wenn ...$filename . $serendipity['thumbSuffix'] . $suffix . '.png' bereits vorhanden ist... und das könnte an dieser Stelle zu einem Problem werden, da ich nicht testen kann ob es bereits irgendwie existiert.

Kannst du deshalb bitte mal das durchtesten?

Code: Select all

                    //Non-image object link generation
                    if ($serendipity['POST']['quickblog']['isobject'] == YES) {
                        $objfile     = serendipity_parseFileName($file);
                        $filename    = $objfile[0];
                        $suffix      = $objfile[1];
                        $obj_mime    = serendipity_guessMime($suffix);
                        $objpath     = $serendipity['serendipityHTTPPath'] . $serendipity['uploadPath'] . $directory . $filename . '.' .  $suffix;
                        if ($serendipity['magick'] === true && strtolower($suffix) == 'pdf' && $serendipity['thumbSize'] == $size) {
                            $objpreview  = $serendipity['serendipityHTTPPath'] . $serendipity['uploadPath'] . $directory . $filename . '.' . $serendipity['thumbSuffix'] . '.' . $suffix . '.png';
                        } else {
                            $objpreview  = serendipity_getTemplateFile('admin/img/mime_' . preg_replace('@[^0-9a-z_\-]@i', '-', $obj_mime) . '.png');
                        }
                        if (!$objpreview || empty($objpreview)) {
                            $objpreview = serendipity_getTemplateFile('admin/img/mime_unknown.png');
                        }
Regards,
Ian

Serendipity Styx Edition and additional_plugins @ https://ophian.github.io/ @ https://github.com/ophian
Post Reply