Shariff Wrapper 3.2

Nachdem es die letzten Monate ruhig geworden war um den Shariff Wrapper, kamen in der letzten Woche gleich mehrere große Updates hintereinander. Diese brachten Veränderungen unter der Haube und einige neue Dienste mit sich. 3.0 lieferte ein komplett neues Backend für das Abrufen der Share Counts, 3.1 einige neue Dienste, wie z.B. Threema, Diaspora und AddThis und schließlich mit 3.2 das russische VK sowie weitere Verbesserungen in Bezug auf Geschwindigkeit und Cache-Verhalten.

Neues Backend für die Share Counts

Bisher nutzte der Shariff Wrapper das Original Backend von Heise um die sogenannten Share Counts, also die Anzahl, wie häufig ein Link geteilt wurde, von den sozialen Netzwerken abzurufen. Dabei musste Heise einiges an Code mitbringen, damit dies auch auf völlig alleinstehenden Webseiten funktionieren konnte. So beinhaltete das Paket zum Beispiel auch das komplette ZendFramework, das sich unter anderem um den Cache kümmert, so dass die Zählerstände nicht bei jedem Aufruf abgerufen werden mussten sondern nur in entsprechenden Intervallen. All dies machte für unser Plugin auf Dauer einfach keinen Sinn, da WordPress bereits alles an Funktionen bereitstellt, was wir für die gleiche Funktionalität benötigen. Nachdem sich darüber hinaus in letzter Zeit die Probleme mit Timeouts und cURL-Fehlermeldungen häuften, beschlossen wir, das Backend komplett neu zu schreiben und den Heise-Code inklusive dem ZendFramework loszuwerden. Netter Nebeneffekt: Der Shariff Wrapper hat ordentlich abgenommen. Anstatt 4,6 MB bringt er nur noch 680 KB auf die Wage.

Was ändert sich? Muss ich etwas tun?

Für die Nutzer erst einmal herzlich wenig. Alles sollte ohne Änderungen weiter funktionieren. Durch das neue Backend entfällt allerdings zum Beispiel das bisher notwendige Cache-Verzeichnis. Bei den meisten sollte dies unter /uploads/shariff3uu_cache liegen und mit dem Update verschwunden sein. Wer manuell einen anderen Ort gewählt hat und mittels SHARIFF_BACKEND_TMPDIR in der wp-config.php gesetzt hatte, sollte sowohl das Verzeichnis, als auch den Eintrag in der wp-config.php entfernen.

Dynamische Cache-Lebensdauer

Bisher wurden die Zählerstände für einen fixen Zeitraum im Cache aufbewahrt und entsprechend aktualisiert. Standardmäßig betrug diese Lebensdauer 60 Sekunden, insbesondere um bei neuen Beiträgen keine zu großen Verzögerungen aufkommen zu lassen. Ab sofort variiert die Cachelebensdauer auf Basis des Datums der letzten Modifizierung. Dies gilt sowohl für Beiträge, als auch für Seiten. Je älter ein Beitrag oder eine Seite ist, desto seltener werden die Zähler aktualisiert. D.h. verändert man die Einstellungen nicht, so aktualisiert er die Stände am ersten Tag einmal pro Minute, am zweiten Tag alle knapp zwei Minuten, am dritten alle 2,5 Minuten usw. Dies steigt solange an, bis Beiträge, die älter als zehn Monate sind, nur noch einmal pro Woche aktualisiert werden. Die Kurve ist dabei so ausgelegt, dass sie zu Beginn relativ langsam steigt und mit fortschreitendem Alter dann entsprechend stärker zunimmt. Auf diese Weise können die Abrufe bei den Netzwerken ohne relevante Komforteinbußen deutlich reduziert werden, was sowohl der Geschwindigkeit, als auch der Serverbelastung zu Gute kommt.

Neue Option zum Deaktivieren von Diensten

Bisher rief das original Shariff-Backend standardmäßig die Zählerstände für alle Dienste ab, selbst wenn einzelne davon nirgends auf der Webseite benötigt wurden. Um diese Verschwendung von Ressourcen und Traffic zu unterbinden, gibt es nun in den Einstellungen unter dem Reiter “Erweitert” eine entsprechende Option, um Dienste global für die gesamte Seite abzuschalten. Ich empfehle dies für alle Dienste zu tun, die nicht benötigt werden. Dies schont euren Server und beschleunigt die gesamte Abfrage.

Alternative WordPress-Strukturen

Manch einer hat die Ordner-Struktur seiner WordPress-Installation verändert, wodurch das Backend bisher nicht funktionierte. Mit Version 3.0 lässt sich der Pfad zu WordPress manuell in der shariff-config.php durch die Konstante SHARIFF_WP_ROOT_PATH einstellen. Dies ist aber wirklich nur nötig, wenn man keine Standard-Installation verwendet und Shariff den Ort nicht von selbst findet! Der Code dazu lautet:

define('SHARIFF_WP_ROOT_PATH', '/path/to/wordpress/');

Neue Option zum automatischen Hinzufügen

Die Shariff Buttons lassen sich nun auch automatisch vor bzw. nach dem Textausschnitt (Excerpt) bzw. Teasertext hinzufügen, der von einigen Themes zum Beispiel auf der Startseite verwendet wird. Die Einstellung findet sich auf dem Reiter “Basis”.

Neue Dienste: Threema, Diaspora, PayPal.Me, AddThis, VK

Nachdem WhatsApp nun schon länger einen eigenen Button bekommen hat, ist nun auch Threema vertreten. Die Funktion ist gleich: Klickt man auf den Button, öffnet sich Threema und lässt einen den Link mit Titel direkt an einen Kontakt senden. Der Button wird nur auf Mobilgeräten angezeigt, da ansonsten ohne Funktion.


threema-button


Des Weiteren wurde auch ein Button für Diaspora hinzugefügt. Wer ein bisschen den Hintergrund kennt, wird sich fragen, wie das bei einem dezentralen Dienst wie Diaspora geht. Shariff greift dafür auf das Tool Advanced Sharer for diaspora* zurück.

Mit PayPal.Me gibt es nun eine zweite Variante für einen PayPal-Button, der zum Einen wesentlich leichter einzustellen ist und eine hübschere Seite zum Spenden bietet. Dieser Dienst richtet sich jedoch hauptsächlich bzw. ausschließlich an Privatpersonen. Nachdem man seinen persönlichen Link erstellt hat, braucht man seinen festgelegten Namen nur noch in den Shariff Wrapper Einstellungen einzutragen. Wer einen Standard-Geldbetrag vorgeben möchte, braucht einfach nur /5 für fünf Euro oder einen beliebigen anderen Betrag an seinen Namen anzuhängen.

Außerdem gibt es noch AddThis als neuen Service. AddThis ermöglicht das Speichern und Teilen von Links mit einer großen Vielzahl von Diensten. Über Datenschutz sollte man sich dabei besser keine Illusionen machen, denn darauf basiert das Geschäftsmodell.

Zum Schluss gab es mit 3.2 noch das russische VK als neuen Service. Während VK bei uns im Westen relativ unbekannt ist, ist es in Osteuropa und generell dem russischen Sprachraum die absolute Nummer eins, weit vor Facebook.

Neue Icons

Da wir eh einige neue Icons für die neuen Dienste brauchten, haben wir bei der Gelegenheit auch direkt einmal die alten aktualisiert. Am auffälligsten dürfte dies bei GooglePlus sein, das sich ein komplett neues Design gegeben hat.

WordPress 4.4

Der Shariff Wrapper ist mit der Version 3.2 bestens auf WordPress 4.4 vorbereitet, dass im Dezember erscheinen wird. Ich empfehle dringend, bis dahin das Update einzuspielen, da es ansonsten danach zu Fehlermeldungen kommen kann. Generell ist es anzuraten, WordPress und alle Plugins und Themes stets auf dem aktuellen Stand zu halten.

Wegfall der Twitter-Zähler

Leider gibt es auch schlechte Nachrichten, die wir im letzten Update umsetzen mussten. So hat sich Twitter entschieden, die frei zugänglichen Zählerstände abzuschaffen und diese nur noch über ihre unbezahlbare Gnip-Enterprise-API zugänglich zu machen. Da dies mit Kosten von mindestens 5.000 € pro Monat einhergehen würde, mussten wir die Zähler für Twitter aus unserem Plugin entfernen. Dies betrifft jedoch alle Plugins und ist nicht Shariff spezifisch. Hierzu wird es aber auch noch einmal einen separaten Beitrag geben, der sich näher mit den Hintergründen und möglichen Lösungen beschäftigt. Für den Moment heißt es jedoch erst einmal: Keine Zähler mehr für Twitter.

Fehler und ihre Herkunft

Zum Abschluss möchte ich noch eine paar allgemeine Worte über Fehler loswerden. Mit jedem Update gehen auch diverse kleine Verbesserungen und Fehlerbehebungen einher, von denen die meisten nichts wissen oder gar merken. Für WordPress zu entwickeln birgt viele Vorteile, aber auch einige Nachteile. WordPress ist unglaublich vielfältig. Es gibt eine endlose Kombination von Installationen, die wir unmöglich alle testen können. Zehntausende von Plugins und Themen münden zusammen mit der eingesetzten Serverhard- und software in unvorstellbar viele Kombinationen. Ein Beispiel ist der Fix in Version 3.1.2, der dafür sorgt, dass der Abruf über Facebook-ID und Secret auch auf Servern funktioniert, die im Jahre 2015 immer noch mit 32-Bit-PHP-Versionen arbeiten. Ich kann daher nur um Verständnis bitten, wenn wir genau an die eine Kombination nicht gedacht haben. Wir versuchen immer eine Lösung zu finden, selbst für die ungewöhnlichsten Gegebenheiten, aber natürlich können wir dies nur, wenn ihr euch im Forum meldet und uns bei der Fehlersuche helft.

Das vollständige Changelog

3.2.0

  • new service VK
  • new share count service VK
  • new dynamic cache lifespan (ttl) based on post / page age (last modified)
  • new option to disable individual services (only share counts)
  • fix facebook share counts now use total_counts again
  • fix search for custom WP locations
  • backend optimization
  • temporarily disabled the Flattr counts (statistic) due to ongoing problems of the Flattr API
  • fix use of wp_title() is/was deprecated in WP4.4

3.1.3

  • fix ajax call when a custom permalink structure is used

3.1.2

  • fix Facebook ID on 32-bit systems

3.1.1

  • make admin help compatible to the new backend

3.1.0

  • new option to add buttons before/after the excerpt
  • new service Threema (thanks to medienverbinder)
  • new service Diaspora (thanks to craiq)
  • new service AddThis (thanks to bozana)
  • new share count service AddThis (thanks to bozana)
  • new service PayPal.Me
  • new google icon
  • fix title tag usage in some cases
  • fix rel to data-rel popup
  • fix round buttons in certain themes
  • fix flattr API to fetch counts again
  • workaround to fix the wrong JSON answer of xing API
  • up to date with Heise code version 1.21.0 2015-11-06

3.0.0

  • new WP specific statistics backend for share counts
  • new SHARIFF_WP_ROOT_PATH constant for custom wp locations
  • automatic search for custom WP locations (thanks to hirasso)
  • fix timeout issues and a lot of other backend issues
  • deprecated Heise shariff-backend-php
  • deprecated ZendFramework
  • deprecated shariff3uu_cache directory
  • deprecated SHARIFF_BACKEND_TMPDIR constant

Fragen oder Probleme?

Solltet ihr Fragen oder Probleme mit dem Update haben, so lasst es mich wissen! Entweder direkt hier in den Kommentaren, per Twitter oder im Support-Forum. Das Update erhaltet ihr, wie gewohnt, über die Update-Funktion von WordPress oder manuell unter https://wordpress.org/plugins/shariff/. Ich freue mich, wenn ihr diesen Beitrag teilt und damit zur Verbreitung datenschutzkonformer Teilen-Buttons beitragt.

3 Kommentare
  1. Oliver
    Oliver says:

    Hallo, vorab nochmal Danke für Euer Plugin und die neuesen Updates, bestes Sharing Plugin ever!

    Was ich noch obercool finden würde, wären – wie auf Untersiten von n-tv – Buttons im SharIff Wrapper Stil für den Seitenanfang und die Startseite – hat zwar mit Sharing nichts zu tun, aber man könnte die Optik beibehalten. Und schwierig zu programmieren dürfte es doch nicht sein.

    Antworten
  2. Ronald
    Ronald says:

    Wirklich gutes Plugin, aber ich verstehe nicht, warum in der Statistik nur die Blogbeiträge angezeigt werden, nicht aber die der statischen Seiten, in denen es auch eingebunden ist.

    Antworten
  3. Michi
    Michi says:

    Hallo Jan-Peter,
    ich benutze dein Sharrif Plugin auf meiner Seite http://www.magicguitar.de.
    Auf dieser Seite habe ich ein Lexikon Plugin im Einsatz:
    https://de.wordpress.org/plugins/wp-glossary/

    Auf den Unterseiten des Lexikon wird mir über jedem einzelnen Eintrag eine Share Leiste angezeigt.
    http://www.magicguitar.de/lexikon#a

    Wenn ich auf der Seite die Option “Deaktiviere Shariff für diesen Inhalt.” anklicke, dann wird der Permalink für die Seite geändert und das Lexikon funktionbiert nicht mehr. Die Seite heisst dann auf einmal http://www.magicguitar.de/zargen Zargen sind ein Begriff des Lexikon. Erst wenn ich den Link wieder in
    http://www.magicguitar.de/lexikon ändere, funktioniert das Lexikon wieder, aber die ganzen Share Leisten sind wieder da. Gibt es evtl. einen Shortcode, mit dem ich auf dieser Seite die Share Leisten ausblenden kann?
    Danke für deine Hilfe

    Antworten

Dein Kommentar

Want to join the discussion?
Feel free to contribute!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.