Mathilda

Das WordPress Plugin Mathilda kopiert fortlaufend deine Tweets aus Twitter und speichert sie in der WordPress Datenbank. Die Tweets können im Blog chronologisch angezeigt werden (müssen aber nicht). Twitter ist ja auch irgendwie bloggen, mikro-bloggen sozusagen.

Mathilda WordPress Plugin

Features

  • Fortlaufendes Zurückkopieren der eigenen Tweets
  • Fortlaufendes Zurückkopieren der vertweeteten Bilder
  • Anzeige der Tweets im Blog
  • Basis Tweet Statistiken
  • Import der gesamten Twitter Historie
  • Export der Tweets im CSV-Format
  • Sprache: Englisch, Deutsch (nur im FrontEnd)

Ausblick & Weiterentwicklung

Nachdem Twitter beschlossen hat, den kostenlosen Zugang zur Twitter-API zu deaktivieren, habe ich meine persönlichen Aktivitäten auf Twitter eingestellt. Komischerweise konnte man jedoch noch sehr lange API-Calls mit dem Plugin durchführen. Das Plugin nutzt die Twitter API Standard v1.1. Mittlerweile wurde Twitter in X umbenannt und tatsächlich ist weiterhin kostenfreier Zugriff auf die API v1.1 möglich. Jedoch hat X die benötigen Endpunkte in der API entfernt, um Daten auszulesen. In der Konsequenz funktionieren nun die Kernfunktionen dieses Plugins nicht mehr, was sehr traurig ist. Davon unabhängig, das Plugin ermöglicht weiterhin, bereits empfangene Tweets im Blog anzuzeigen sowie den DSGVO Daten Export von X zu importieren. Diese verbliebenen Features werden so lange wie möglich am Leben gehalten.

Screenshots

Screenshot: WordPress Plugin Mathilda Settings

Screenshot: Mathilda Tools (Version 0.3)

Live Demo

Hier!

Anleitungen

Installation und Konfiguration

 
Twitter Archiv importieren

Installation

  1. Aus dem WordPress Directory das Plugin laden
  2. Plugin aktivieren
  3. Konfigurationsanleitung folgen

Konfiguration

Nach der Installation sind folgende Schritte erforderlich.

  1. Registrierung des Plugins bei Twitter für den Zugriff auf die Twitter API
  2. Eingabe von OAUTH Access Token, OAUTH Access Token Secret, Consumer Key, Consumer Secret sowie des eigenen Twitter Logins in den Einstellungen von Mathilda
  3. Durchführung des ersten Kopiervorgangs (Load Tweets unter Werkzeuge/Tweets)
  4. Anlegen einer WordPress-Seite zur Anzeige der Tweets im Blog (der Slug der Seite muss dem Mathilda Slug entsprechen)

Frequently Asked Questions

Welche Tweets werden im Blog angezeigt

Mathilda beschränkt sich auf die Kernfunktionalität von Twitter und zeigt im Blog Text-Tweets, Bilder, Hashtags, Mentions, Links und Gallerien an. Umfragen, Threads, Stories, Video, GEO-Locations und Places werden aktuell nicht unterstützt.

Warum werden keine Retweets im Blog angezeigt?

Retweets sind strenggenommen keine eigenen Daten. Aus diesem Grund werden Retweets bei der Verarbeitung ausgeklammert.

Werden die Tweets automatisch geladen?

Ja. Allerdings muss der erste Kopiervorgang manuell durchgeführt werden. Danach werden die Tweets automatisch kopiert.

Wie oft werden die Tweets von Twitter geladen?

Neue Tweets werden alle 15 Minuten geladen. Die Periode (in Minuten) kann jedoch auch in den Plugin Einstellungen geändert werden.

Was ist der Unterschied zwischen dem Laden und dem Import?

Das Laden kopiert deine letzten Tweets online über die Twitter API fortlaufend in die WordPress Datenbank. Der Import hingegegen kopiert dein vollständiges Tweet Archiv dateibasiert in die WordPress Datenbank. Hierfür muss man zuvor das Archiv bei Twitter downloaden. Wie das genau funktioniert, steht weiter unten (oder einfach das Video oben schauen).

Muss ich jetzt erst Tweets laden oder den Import ausführen?

Ist eigentlich egal. Funktioniert beides. Mathilda ist flexibel. Allerdings wird der automatische Kopiervorgang nur aktiviert, wenn zuvor ein initialer, manueller Kopiervorgang durchgeführt worden ist.

Wie kann ich meine Twitter Historie importieren?

Dafür sind mehrere Schritte notwendig. Zuerst muss man das Twitter-Archiv bei Twitter anfordern (Profil/Einstellungen/Deine Twitter Daten) und herunterladen. Der Download enthält eine Datei data/tweet.js. Diese Datei enhält deine Tweets im JSON-Format. Bevor die Datei importiert werden kann, muss sie für den Import vorbereitet werden. Dazu muss man die Datei in mehrere kleinere Dateien aufteilen (<400 KB). Danach kopiert man die Dateien in den Ordner /wp-content/uploads/mathilda-import/ und startet anschließend den Import.

Wie kann ich die Datei tweets.js aufteilen?

Dazu muss man ein lokales Tool benutzen. Ich nutze hierfür das Terminal Skript JSON Splitter. Die Anwendung ist relativ simpel und unkompliziert. Der Prozess im Detail ist hier beschrieben. Aber natürlich können dafür auch andere Programme benutzt werden.

Wie geht Mathilda mit der kanonischen URL um?

Mathilda greift nicht in den bestehenden Prozess der kanonischen URLs in WordPress ein. Wenn man die kanonische URL für die Mathilda Seiten ändern möchte, muss man die Konfiguration über ein SEO Plugin vornehmen.

Was ist beim Einsatz von Caching Plugins zu beachten?

Die Länge der Cron Periode in Kombination mit der Konfiguration des Caching determiniert, wie frühzeitig ein Tweet im Blog angezeigt wird. Sofern ein Tweet as early as possible im Blog angezeigt werden soll, sollte die Seite mit den Tweets vom Caching ausgeschlossen werden. Eine andere Möglichkeit besteht darin, die betroffene Seite aus dem Cache zu entfernen, sobald neue Tweets geladen wurden (siehe API unten).

Unterstützt Mathilda die neuen 260 Zeichen Tweets?

Ja.

Warum erfordern manche Updates einen Plugin-Reset und Daten-Reload?

Das Plugin befindet sich noch in einer frühen Entwicklungsphase. Es ist noch ein langer Weg zur stabilen Version 1.0. Um Dateninkonsistenz sowie Prozessierungsfehler zu vermeiden, muss nach einigen Updaes ein Daten-Reload durchgeführt werden. Irgendwann wird Mathilda jedoch einen Reifegrad erreichen, der solche Daten-Reloads nicht mehr erfordert.

Wird WordPress Multisite von Mathilda unterstützt?

Nein. In einer Multisite Umgebung ist Mathilda nur teilweise lauffähig. Das Plugin funktioniert auf der Hauptseite, aber nicht auf den Kinderseiten innerhalb des Netzwerks.

Ich habe Embedding aktiviert, aber der Content wird nicht eingebunden?

Nach der Aktivierung der Funktion kann es bis zu 15 Minuten dauern, bis die ersten verlinkten Inhalte eingebettet werden. Die Einbettung funktioniert auch nur bei Quellseiten, welche den Standard oEmbed unterstützten. Der nötige Embed Code wird im Hintergrund alle 15 Minuten in kleinen Portionen angefordert. Aus diesem Grund kann es ein paar Tage dauern bis alle Inhalte geladen sind. Wenn das WordPress auf https Verschlüsselung läuft, werden auch nur https verschlüsselte Inhalte eingebunden.

Wie geht Mathilda mit dem nofollow Attribut um?

Twitter Backlinks werden als nofollow deklariert. Dies betrifft Hashtags, Mentions und den Backlink des Tweets selbst. Links innerhalb des Tweets erhalten follow als Attribut.

Tweet Typen

Folgende Arten von Tweets werden unterstützt.

  • 140 Character Tweets
  • 280 Character Tweets
  • Replys
  • Quotes

Twitter Objekte

Folgende Twitter Objekte werden unterstützt.

  • Images
  • Hashtags
  • Links
  • Mentions
  • Galleries

Architektur

Datenhaltung und Prozesslogik sind vom WordPress Framework separiert. Die Tweets werde also nicht in der Tabelle wp_posts gespeichert. Und Mathilda registriert auch keinen neuen Custom Post Type für die Tweets.

CSS-Klassen

You know the game! Es gibt tausende von WordPress Themes und jedes Theme hat ein individuelles Design. Aus diesem Grund ist die Wahrscheinlichkeit recht hoch, dass man die Optik der Tweets für das eigene Theme nachformatieren muss (style.css). Dazu kann jedes Element von Mathilda auf dem User Interface über CSS angesteuert werden. Bitte benutze einen Debugger, um das richtige Element zu finden.

Daten & Verzeichnisse

Mathilda legt nach der Installation vier Verzeichnisse an.

  • mathilda-twitterapi = Archivierung der kopierten Daten
  • mathilda-images = Speicherort der Tweet-Bilder
  • mathilda-export = Export-Verzeichnis
  • mathilda-import = Import-Verzeichnis

wpCrons

Nachstehende Programme werden von Mathilda im wpCron System von WordPress durchgeführt.

  • Autoload Tweets (alle 15 Minuten, anpassbar)
  • Get Embed Code from External Source (alle 15 Minuten, anpassbar)
  • Import Tweets (jede Minute, sofern der Import läuft)

API

WordPress Action: mathilda_tweets_updated (wird gefeuert, wenn neue Tweets geladen wurden)

Download

WordPress Plugin Mathilda @ WordPress Plugin Directory
WordPress Plugin Mathilda @ unmus

Support

Formal wird kein Support für Mathilda angeboten. Für Hinweise und Fehlerberichte bin ich aber dennoch dankbar. Fehler bitte im Support Forum von Mathilda auf WordPress.org berichten oder direkt auf GitHub als Issue einstellen. Verbesserungsvorschläge und Anregungen bitte per eMail an mathilda@unmus.de.

Danke

Valentin Bachem

Lizenz

Mathilda ist Open Source und steht unter der GPLv3 Lizenz.

Quellcode

GitHub: circuscode/mathilda

Changelog

Version 0.12 „Alfred“

April 2023

  • Feature: Regelmässiger, automatischer API-Request kann jetzt ausgeschaltet werden

Version 0.11 „Alice“

Oktober 2020

  • Feature: Unterstützung des neuen DSGVO Twitter Daten Exports
  • Feature: Link zum Video wird nun bei Video Tweets angezeigt
  • Bugfix: Broken 2nd Hashtag

Version 0.10 „Deadshot“

Juni 2018

  • Feature: Unterstützung von Gallerien
  • Bugfix: URL Rendering (sofern mehr als 1 Link im Tweet enthalten

Version 0.9 „Renee Montoya“

April 2018

  • Feature: Import Tweet Archiv reinvented
  • Feature: Neuer Naviationstyp (Limited Numbering)
  • Verbesserung: Differenzierte Notifikationen auf öffentlichen Seiten
  • Verbesserung: Sichere Ausführung
  • Änderung: Initialer Kopiervorgang ist nun auf 200 Tweets begrenzt
  • Änderung: Anzeige des Datums
  • Aktualisiert: Plugin Handbuch
  • Korrektur: https Embedding
  • Sonstiges: Code Verbesserungen

Version 0.8.1 „Maps“

September 2017

  • Bugfix: Unterstützung von MariaDB
  • API: Neue Action mathilda_tweets_updated

Version 0.8 „Neo Gotham“

August 2017

  • Neue Einstellung: Backlink zu Twitter
  • SEO: Backlinks zu Twitter werden als NoFollow deklariert
  • Verbesserung: Letztes Update @ WordPress wird im Dashboard angezeigt

Version 0.7 „Undercloud“

März 2017

  • Feature: Unterstützung von Extended Tweets (Extended API Mode)
  • Feature: Vollständiger oEmbed Support
  • Feature: Embedding Cache für bessere Performance
  • Verbesserung: Truncate Prüfung im Plugin Healthy Check hinzugefügt
  • Verbesserung: Highlighting von Warnungen und Fehlern im Plugin Healthy Check
  • Verbesserung: Embed Yes or No Option in den Plugin Einstellungen
  • Verbesserung: Links im Eintrag des Plugins auf der Plugin-Seite
  • Verbesserung: Dokumentation der Tweet Quelle
  • Bugfix: Mathilda Multisite Support Notice auf WordPress Child Seiten

Version 0.6.1 „Calamity“

Februar 2017

  • Bugfix: Mathilda ist jetzt mit Yoast SEO kompatibel

Version 0.6 „Poison Ivy“

Februar 2017

  • Feature: YouTube Embedding
  • Feature: Plugin Reset
  • Verbesserung: Inkludiert Meta Daten von der Twitter API für bessere Verarbeitung
  • Verbesserung: Statistiken für Retweets, Replies and Quotes
  • Verbesserung: Update Notices
  • Verbesserung: Datenkonsistenzprüfung im Plugin Healthy Check
  • Verbesserung: Prüfung auf allow_url_fopen in Plugin Healthy Check
  • Verbesserung: Zusätzliche Processing Information in Plugin Healty Check
  • Verbesserung: Include oder Exclude Quotes vom Mathilda Loop
  • Verbesserung: Expert Settings
  • Bugfix: Bilder in originaler Größe anzeigen
  • Bugfix: Verstecke Bottom Navigation, wenn Navigation nicht erforderlich

Version 0.5

Januar 2017

  • Feature: Dashboard Widget mit Tweet Statistik
  • Feature: Hyperlink Rendering Option (Shortlink oder Reallink)
  • Feature: Unterstützung von Zeilenumbrüchen innerhalb Tweets
  • Feature: Einstellung um Mathilda CSS zu deaktivieren
  • Bugfix: Inititaler Cron konnte in bestimmen Fällen nicht gestartet werden
  • Bugfix: Korrekte Zeit wird angezeigt, wenn die Zeitzone über UTC Offset definiert ist
  • Bugfix: CSS Klasse für die Ausrichtung von Bildern
  • Verbesserung: Twitter API Zugriffe optimiert
  • Sicherheit: Aufruf von Mathilda Funktionalität außerhalb WordPress nicht mehr möglich

Version 0.4.2

Juli 2016

  • Bugfix: UTC Fallback, wenn keine Zeitzone in den WordPress Einstellungen definiert

Version 0.4.1

Juli 2016

  • Bugfix: Anzeige von Leerzeichen, wenn URL in Tweet enthalten

Version 0.4

Juli 2016

  • Feature: Custom Mathilda Cron Periode
  • Feature: Weitere Mathilda Bottom Navigation
  • Enhancement: W3C Validated HTML Code
  • Enhancement: W3C Validated CSS Code
  • Enhancement: Quellcode jetzt auf GitHub verfügbar
  • Bugfix: Anzeige von Tweets auf Seiten mit Leerzeichen im Namen
  • Bugfix: Navigation wird ausgeblendet, wenn nur wenige Tweets verfügbar
  • Bugfix: Autoflush Rewrite Rules wird nur durchgeführt, wenn Slug geändert

Version 0.3

Juni 2016

  • Replies werden unterstützt
  • Update Process für spätere Plugin Updates
  • Lokalisierung: Deutsch @ FrontEnd
  • Mathilda Handbuch integriert
  • Unterstützung von Zeitzonen und lokaler WordPress Zeit
  • Hinweis vor erstmaligem Cron und Import
  • Verhinderung von TimeOuts bei Cron und Import
  • Flash Rewrite Rules sobald Mathilda Slug geändert wird
  • Ergebnisseite für Plugin Healthy Check
  • Besseres Mathilda Development UI
  • Weitere Developer Settings
  • Rechenfehler beim Import
  • HTML Fehler bei Cron und Import korrigiert
  • Fehlende Erfolgsmeldung beim Cron ergänzt
  • Fehlende Prüfung des Import Ordner ergänzt

Version 0.2

June 2016

  • WebCron wird durch WP-Cron ersetzt
  • Import als internes statt externes Skript
  • Veröffentlichung im WordPress Plugin Directory

Version 0.1

Mai 2016

  • Initiale Version