Tech Talks

Benutzung

Ich habs gern simpel für meine Benutzer. Daher fügt man in diesen BB Code einfach die Slideshare URL ein und ein Script holt dann die eigentlich erforderliche ID + DocID.
Auf dem Server muss fsockopen erlaubt sein. (was bei 99% der Hoster der Fall sein sollte, und ich glaube für die Woltlab Installation ist es sowieso Voraussetzung)

Performance

Das Woltlab Board löscht gecachte Einträge auf die länger als eine Woche nicht geantwortet wurde. Wird der Beitrag dennoch oft frequentiert, dann startet jedesmal eine HTTP Anfrage an den Server von Slideshare.

Ich hoffe das Problem langfristig umgehen zu können. Im Moment sehe ich aber keinen Weg. Ich habe auch schon mit einem Woltlab Mitarbeiter darüber geredet (siehe hier).

Mein aktueller Workaround lautet den Cache erstens wieder anzuschmeißen. Dazu habe ich ViewablePost::getFormattedMessage bearbeitet und folgendes hinzugefügt.

$str = $parser->parse($this->message, $this->enableSmilies, $this->enableHtml, $this->enableBBCodes, !$this->messagePreview);
$sql = "INSERT INTO     wbb".WBB_N."_post_cache
                        (postID, threadID, messageCache)
        VALUES          (".$this->postID.",
                        ".$this->threadID.",
                        '".escapeString($str)."')";
WCF::getDB()->sendQuery($sql);
return $str;

Außerdem habe ich das Löschen des Caches in dem "Cleanup Cronjob" wegkommentiert.