Kleines Wochend-Projekt: Gandi.net Promotion Checker

Gandi.net bietet eine große Anzahl an Top-Level-domains an. Zeitweise sind diese zu Werbezwecken stark vergünstigt. Die Webseite macht es allerdings schwierig, sich einen Überblick über die momentan günstigen Domains zu erhalten.

Mit diesem kleinen Skript kann man sich eine JSON-Array mit den aktuell beworbenen Domains erstellen.

https://github.com/Latz/gandinet-promo

WordPress: Benutzer-Registrierungsmails personalisieren

Wenn sich auf einer WordPress-Installation ein neuer Benutzer registriert, bekommen der neue Benutzer und der Administrator eine Benachrichtigung. Bisher konnte man den Inhalt nur über Umwege ändern. Zwei neue Hooks vereinfachen den Vorgang. WordPress: Benutzer-Registrierungsmails personalisieren weiterlesen

Update: Ältere WordPress-Plugin-Versionen herunterladen

Im März 2015 habe ich im Artikel „Ältere WordPress-Plugin-Versionen herunterladen“ beschrieben, wie man auf vorherige Versionen eines Plugins zugreifen kann.

Mittlerweile hat sich das Interface des Plugin-Respositories und der Weg zu den vorherigen Versionen etwas geändert. Update: Ältere WordPress-Plugin-Versionen herunterladen weiterlesen

WordPress: Der Anfang des Abstiegs?

TL;DR: 25% des Netzes betreiben ihre Webseiten mit WordPress, die Mehrzahl davon sind kleine Blogs. Diese Blogs werden aufgrund der immer fetter werdenden Software zu anderen, leichteren Systemen wechseln.


Mein Tweet und der dadurch angeregte Artikel von Vladimir hat einige Runden gezogen. Aber wie kam ich zu der Meinung, dass WordPress seinen Zenith überschritten hat? Mit „Zenith“ („peak“) meinte ich die Prozentzahl der damit betriebenen Webseiten. Aber von vorne:

Ich habe WordPress mit der Version 1.5.2 kennen gelernt, als ich auf der Suche nach einem Blogsystem war, das auf einem günstig zu mietenden Server lief. Damals bekam man für 10 Euro noch nicht viel Leitung geboten und so passte WordPress genau zu meinen Anforderungen.

Ich war lange mit WordPress zufrieden. Es bot die Funktionen die ich brauchte, um ein kleines Blog zu betreiben. Es kamen neue Funktionen hinzu, das Interface wurde geändert und die Möglichkeiten von WordPress wurden immer größer. Aber WordPress passte immer noch in mein Anforderungsprofil.

CMS statt Blog

Irgendwann ging der Fokus von WordPress vom reinen Blogsystem hin zu dem Versuch, ein vollwertiges CMS zu bieten, so um die Version 3.3 herum. Dieser Schritt war auch unvermeidlich, denn WordPress hatte sich mittlerweile von einem von Enthusiasten und Idealisten erstellten System zu einem lukrativen Geschäftsmodell entwickelt. Neben Automattic  haben sich viele kleinere und auch größere Firmen auf die Erstellung von „Online-Auftritten“  auf der Grundlage von WordPress spezialisiert und wollen damit Geld verdienen. Die Kunden dieser Firmen wollen kein Blog betreiben, sie wollen ein vollwertiges Produkt, dass sämtliche Aspekte einer aufwendigen Web-Präsentation  anbietet.

WordPress kommt dieser Forderung mit immer neuen Funktionen und Features nach. Da ist WordPress kein Einzelfall, sondern es ist das Problem jeglicher Software, mit der Geld verdient werden soll. Es müssen immer neue Features her, damit die bisherigen Kunden zufrieden sind und neue Kunden gewonnen werden. Ich spreche hier bewusst von „Kunden“ und nicht von „Benutzern“.

Blog statt CMS

Denn die wenigsten Menschen, die sich WordPress selber auf ihrem System installieren, wollen ein vollständiges CMS mit aufwendigen Themes. Sie wollen ein Blog und benutzen WordPress, weil sie „Blog“ und „WordPress“ gleich setzen. Häufig sind sie aber schon in der Basis-Installation mit den Möglichkeiten des Systems überfordert, immer wiederholte Fragen nach „Pages vs. Posts“, „statischen Startseite“ oder zu Plugins zeigen dies.

Was sie eigentlich benötigen ist ein einfaches Blog-System, wie es WordPress bis zur Mitte der 3er-Versionen war. Aufgrund der Übermacht von WordPress hat sich bisher aber kaum ein Entwickler getraut, mit der Gestaltung eines solchen Systems zu beschäftigen. Das wird sich meine Meinung nach allerdings in der nächsten Zeit ändern.

Flat statt Datenbank

Aktuell werden aber „Flat-File-Systeme“ als Lösung vieler Probleme gehandelt. Mit grav lässt sich z.B. zügig ein Blogsystem erstellen, dass genau zwei Dinge kann: Blogbeiträge und Seiten erstellen. Zusätzliche Features lassen sich nachinstallieren, falls man sie haben möchte. Die Installation und Benutzung ist allerdings noch nicht ganz so einfach, wie ich es mir wünschen würde. In der täglichen  Nutzung ist WordPress tatsächlich noch sehr effektiv, wenn man denn die ganzen neuen Gimmicks ignoriert.

Ein „echtes CMS“ statt WordPress

Jetzt kann man natürlich sagen, dass WordPress im kommerziellen Umfeld weiterhin das Netz dominieren wird. Aber: um mir ein System von Fachleuten erstellen zu lassen benötige ich nicht WordPress, sondern die Dienstleister benutzen WordPress, weil sie sich damit auskennen und WordPress-Dienstleister im Vergleich zu anderen CMS-Anbietern günstig zu bekommen sind. Wer günstig ein von anderen aufgesetztes System haben will nimmt WordPress.

Leute mit Erfahrung gehen mittlerweile einen anderen Weg. Als Beispiel möchte ich die bekannte Seite Smashing Magazine nennen, die nach einigen Jahren mit WordPress ihre Seite auf ein API-basiertes System umgestellt haben. Beim Betreiber ist genug Wissen vorhanden, um die Möglichkeiten zu kennen und einzusetzen. Die Entscheidung hieß nicht WordPress. Ob die Abhängigkeit von externen Anbietern die Lösung ist, lasse ich dahin gestellt, ich würde es nicht machen.

Was mache ich jetzt stattdessen?

Ich werde erst einmal bei WordPress bleiben. Ich habe noch einige Ideen für Plugins, wie ich gerne verwirklichen möchte. Aus der Beteiligung an der Core-Entwicklung habe ich mich schon vor einem Jahr zurückgezogen. Meine Frustrationsgrenze ist ziemlich hoch, aber trac entwickelt sich immer mehr zu einem schwarzen Loch.

Aber ich mag auch die Community der alten Männer und möchte diese ungerne missen.

Nebenbei werde ich mir einige Alternativen ansehen und das noch grüne Gras auf der anderen Seite des Zauns mal etwas genauer betrachten.

Fazit

Meine These: WordPress wird längerfristig die prozentuale Vorherrschaft im Netz verlieren, weil die vielen, vielen kleinen Blogs und Webseiten auf andere, leichtgewichtigere Systeme umstellen werden. Die Diversität wird wieder zunehmen und evtl. wird ein neuer Stern am Himmel erleuchten.

Woanders

Bei Caspar habe ich mich zusätzlich über die zunehmende Kommerzialisierung von WordPress ausgelassen.

WordPress: Eigene Sammelaktionen (Bulk-Actions) definieren

2016-10-20_16-37-31

Hinweis: Dieser Beitrag beschreibt ein Feature, das erst in Version 4.7 verfügbar ist (geplanter Veröffentlichungstermin: 6. Dezember 2016).

Bisher war es schwierig, eigene Sammelaktionen in WordPress hinzuzufügen. Version 4.7 hat einen Hook erhalten, mit dem man einfach die Sammelaktionen erweitern kann.

add_action('bulk_actions-{screen_id}', 'my_bulk_action');

WordPress: Eigene Sammelaktionen (Bulk-Actions) definieren weiterlesen

Follow-Up: WordPress als Social Bookmark Service

Hans-Helge Bürger (aka @obstschale) hat sich in seinem Blog Gedanken darüber gemacht, wie man WordPress als Social Bookmark Service nutzen kann.

Das Warum kann man bei Hans-Helge nachlesen. Nur soviel: Delicious ist zur Zeit nicht erreichbar. In diesem Beitrag möchte ich mir Gedanken darüber machen, wie ich mir einige Aspekte des Systems vorstelle.

Die Idee, eine dedizierte WordPress Instanz zu nehmen und für jeden Bookmark einen einzelne Eintrag, finde ich sehr interessant (wäre ich nicht drauf gekommen). Mit einem Multisite-System ist diese Instanz in Sekunden erstellt.

Die Grundfunktionen von WordPress liefern schon ein gutes Gerüst, um ein solches System zu erstellen. Beim Bookmarklet bin ich allerdings nicht der Meinung, dass die vorhandene „Press This“-Funktion geeignet ist. Das Formular wurde entwickelt, um Blogbeiträge zu erstellen, für Bookmarks ist es zu umfangreich und zu umständlich zu bedienen. Hier müsste ein eigenes Bookmarklet erstellt werden, das in einem Popup erscheint:

addbookmarkDieses Formular ist übersichtlicher, schneller und intuitiver zu bedienen und meiner Meinung erkennt jeder Benutzer sofort die Funktion. Je nach Webseite können viele bzw. alle Felder automatisch eingefügt werden, so dass man nur noch „Speichern“ drücken muss. Mit dem eigentlichen System kommt man gar nicht in Berührung.

Das von Tranl8or auf Slack vorgeschlagene Theme schmeichelt dem Auge, ich würde allerdings einen etwas funktionelleren Ansatz wählen:

bookmarks 2

Zum Ändern der Daten möchte ich nicht in das Backend wechseln müssen, sondern sie schnell und praktisch direkt im Frontend ändern können. Dazu sollten beim Mouseover die entsprechenden Links (Edit, Trash, …) eingeblendet werden.

Auf der Seite sollten alle Tags aufgelistet werden, denn diese sind (auf jeden Fall bei mir) das Hauptsortierungs-Merkmal. Mit einem Kategorie-Dropdown kann man die Tags dann noch weiter einschränken, z.B. „Arbeit“, „Privat“, „Sonstiges“. Dadurch sollte der Zugriff auf die Linksammlung ziemlich einfach sein, auch wenn man gerade kein passendes Suchwort zur Hand hat.

ABER: Durch de Möglichkeit verschiedene Themes zu erstellen kann jeder nach seiner Façon glücklich werden.

Social Aspekt: Den sozialen Aspekt finde ich finde ich sehr wichtig. Etwas schwierig stelle ich allerdings die technische Umsetzung vor. Die Daten sollen schließlich bei jedem Nutzer lokal liegen und die Ansprüche an den Server sollten nicht zu groß sein. Viele habe keinen dedizierten Server gemietet, sondern betreiben ihr Blog auf einem Shared-Hosting-System, evtl. sogar mit einer Traffic-Begrenzung. Es sollten sich also die Serverlast und der Traffic in Grenzen halten, wenn es darum geht, Daten zwischen den einzelnen Installationen auszutauschen.
Dies ist nämlich das grundlegende Problem dieses Projekts: die Dezentralität. Auf Delicious ist es einfach, ähnliche Linksammlungen zu finden oder Spitzenreiter des Tages zu ermitteln, denn alle Daten befinden sich auf dem gleichen System. Bei diesem Projekt hingegen bräuchte man den Kontakt zu mindestens einem anderen System, über das dann Verbindungen zu den weiteren Installationen hergestellt wird. Aber vielleicht ist dies ja auch Teil den „sozialen Aspekts“.

Träumereien
Natürlich muss zuerst das Grundgerüst erstellt und die grundlegenden Funktionen implementiert werden. Nichtsdestotrotz lasse ich mal meine Gedanken schweifen, nur um zu zeigen, welche Kapazitäten in einem solchen System stecken können:

  • Import / Export
  • Suche nach toten Links
  • Fav-Icons
  • Synchronisierung mit Browser-Bookmarks
  • Anbindung an soziale Netzwerke

Diese Funktionen müssen nicht Teil des grundlegenden Systems sein, sondern könnten als Plugins verwirklicht werden. Dazu muss das Grundsystem natürlich über reichlich Actions und Filter verfügen.

Ab geht er, der Peter!
Genug des Geschwafels, mal sehen ob genug Leute mitmachen wollen, ob meine Programmierkünste für eine sinnvolle Mitarbeit reichen und hoffen, dass das Projekt nicht in der Planungsphase stecken bleibt.

 

Alternative Methode zum Einfügen von Links

Ein Blogartikel ohne Links ist kaum vorstellbar. Der „übliche“ Weg einen Link einzufügen ist:

  1. Link in das Clipboard kopieren
  2. Linktext markieren
  3. Auf das „Link einfügen“-Icon klicken
  4. Link in das Textfeld einfügen
  5. Textfeld schließen

Vorteil: Der gesamte Vorgang lässt sich mit der Maus erledigen. Aber irgendwie bin ich mit den Arbeitsschritten (3) bis (5) nicht ganz glücklich. WordPress bietet aber eine andere Methode, einen Link einzufügen:

  1. Link in das Clipboard kopieren
  2. Linktext markieren
  3. Mit Ctrl-V den Link einfügen
  4. Mit der rechten Pfeiltaste Markierung wieder aufheben


Diese Variante ist nicht unbedingt schneller oder einfacher. Sie kommt aber meinen Gewohnheiten beim Editieren von Text etwas entgegen.

WordPress: add_filter oder add_action? Eigentlich egal!

Eine wichtige Doktrin der WordPress-Entwicklung lautet:

Benutze Aktionen, um die Funktionalität zu erweitern, und Filter, um Daten zu ändern.

Wir haben alle davon gehört und sie wird von uns immer beachtet. Immer? Nun ja, …

… wenn ich an einer bestimmten Stelle eine Funktion hinzufügen möchte und weit und breit kein Action-Hook verfügbar ist, dann nehme ich eben ein Filter-Hook ohne über die Doktrin nachzudenken.

Überraschenderweise funktioniert das auch. Aber warum? Wenn immer so darauf hingewiesen wird, dass man den richtigen Hook benutzen soll, dann muss es doch einen Unterschied zwischen den beiden Arten geben. Schauen wir doch mal hinter die Kulissen (/wp-include/plugin.php):

function add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1) { return add_filter($tag, $function_to_add, $priority, $accepted_args); }

Was? add_action  macht nichts anders als add_filter  aufzurufen und sonst nichts? Es gibt keinen Unterschied in der Funktionalität, es ist einfach nur ein andere Name. Es gibt also keinen Grund, warum man nicht add_filter  statt add_action  benutzen sollte, wenn es keine andere Lösung gibt.

Ich sage nicht, das man wahllos add_action  und add_filter  nehmen soll. Die Benutzung des richtigen Hook-Typs vereinfacht das Lesen und Warten des Quelltextes, für Dich und für andere. Trotzdem, wenn es einfach keine andere Lösung gibt, um ein Problem zu lösen, dann sollte man nicht zögern und einen Filter-Hook statt eines Action-Hooks zu benutzen, denn eigentlich gibt es keinen Unterschied zwischen den beiden.

WordPress: Linklist – neue Version 0.5

Für eine längere Zeit gab es keine neue Version des Plugins „Linklist“, einfach weil es funktionierte, es bestand kein Bedarf für ein Update. Neulich bekam ich eine Mail mit einem Erweiterungs-Vorschlag, den ich gerne aufgegriffen habe.

Version 0.5 erlaubt es jetzt, in einzelnen Beiträge oder Seiten die Ausgabe der Linkliste zu deaktivieren:

linklist-addnew

Das Plugin nimmt immer noch an, dass die Linkliste in jedem Beitrag und auf jeder Seite dargestellt wird, deshalb hat man das Plugin ja installiert. Man kann aber für einzelne Beiträge/Seiten die Darstellung deaktivieren indem man die entsprechende Checkbox anklickt.

Wenn man die die Darstellung der Linkliste für bereits existierende Beiträge/Seiten ändern möchte, so muss man nicht in den Editor wechseln, sondern kann einfach das „Quick Edit“ Feature nutzen:

linklist-quickedit

Ich habe mich entschieden eine Selectbox anstatt einer Checkbox zu nehmen, da WordPress den Quick-Edit-Dialog sehr eigenwillig darstellt und man es nicht beinflussen kann. (Kann man? Bitte eine Mail an mich!)

Wenn die Darstellung vieler Beiträge/Seiten geändert werden soll, muss man nicht jeden einzelnen Beitrag oder Seite einzeln editieren, sondern kann das Bulk-Edit-Feature nutzen:

linklist-bulkedit-1

Man kann die neue Version über das WordPress aktualisieren oder es im Repository downloaden.

Ältere WordPress-Plugin-Versionen herunterladen

Update: Das Layout des Plugin-Reposittorys hat sich geändert. Es gibt eine aktuellere Version dieses Artikels.

 

 

Du hast also Deine WordPress-Plugins auf den neusten Stand gebracht…

… und Dein Blog funktioniert nicht mehr

… und Du hast kein Backup

… natürlich nicht!

Wäre es nicht schön, wenn Du die vorherige Version herunterladen könntest und Dein Blog wieder funktionieren würde? Nun… das geht! Ältere WordPress-Plugin-Versionen herunterladen weiterlesen