02.06.2009 von Tobias Redmann - 1 Kommentar - 0 Shares
Das beliebte Content-Management-System webEdition ist nun zu 100 Prozent Open-Source.
Seit dem 1. Juni 2009 ist das bis Oktober 2008 kommerzielle Content-Management-System webEdition komplett frei. Es wurde eigens vom Hersteller living-e eine eigene Community gegründet.
27.04.2009 von Tobias Redmann - 5 Kommentare - 0 Shares
Erfahren Sie, wie Sie Ihre Google Analytics Account Daten mit PHP und der Data Export API abfragen können.
Bevor ich Ihnen erläutere, wie Sie Ihre Google Analytics Konto-Daten abrufen können, lesen Sie bitte den ersten Teil Authentifizierung dieser Serie. Im folgenden Beispiel wird das Auth-Token $auth aus dem ersten Artikel benötigt.
Um auf Ihre Account-Daten zugreifen zu können, müssen Sie sich bei Google authentifizieren. Dies geschieht indem Sie einen angepassten HTTP-Header mit jeder Abfrage mitsenden. Auch hierzu verwenden ich wieder das HTTP_Request-Package von PEAR. Folgendes Beispiel zeigt, wie Sie eine Anfrage an den entsprechenden Service stellen:
// URL des Account-Services
$FEED_URL = 'https://www.google.com/analytics/feeds/accounts/default';
// neues Request-Objekt erstellen
$req = new HTTP_Request($FEED_URL);
// Wichtig: Methode GET nicht POST
$req->setMethod(HTTP_REQUEST_METHOD_GET);
// Authentifizierungs-Header konstruieren
$req->addHeader('Authorization', 'GoogleLogin auth='.$auth);
// Anfrage senden
$response = $req->sendRequest();
Das erfolgreiche Ergebnis dieser Anfrage enthält eine XML-Datei. Die Daten sehen ungefähr so aus. Ich habe IDs und Domainnamen durch Fantasie-Inhalte ersetzt.
Sie können die Daten folgendermaßen ermitteln. Bitte beachten Sie die Anmerkungen nach dem Code-Beispiel.
if ($response) {
// Daten extrahieren
$content = $req->getResponseBody();
// als XML-Datei laden
$xml = simplexml_load_string($content);
}
Um die XML-Daten weiterzuverarbeiten, können Sie z.B. die hier benutzte Funktion simplexml_load_string nutzen. Bitte beachten Sie aber, dass in den XML-Daten Namespaces verwendet werden. Die benutze Funktion kann diese Daten leider nicht auslesen. Ich empfehle Ihnen lieber auf die DOM-Funktionen von PHP zurückzugreifen.
Die hier ermittelten Google Analytics Kontodaten werden benötigt, um die Statistiken der von Ihnen angelegten Websites abzufragen. Im nächsten Teil dieser Serie erfahren Sie, wie Sie Pageviews und Visits einer Ihrer Website abfragen können.
25.04.2009 von Tobias Redmann - 6 Kommentare - 0 Shares
So können Sie die Google Analytics Daten per PHP mit der Data Export API abfragen.
Vor wenigen Tagen hat Google nach langer Zeit endlich eine Schnittstelle für den Web-Analytics-Dienst Google Analytics zur Verfügung gestellt. Mit der Data Export API können Sie die gespeicherten Daten abfragen.
Google stellt dafür bereits vorgefertigte Clients für Java und JavaScript zur Verfügung. Bisher gibt es jedoch keine Bibliothek für Abfragen mit PHP.
Im ersten Teil der Serie möchte ich die Authentifizierung bei Google vorstellen. Diese ist notwendig um die Account-Daten und Statistiken abzufragen.
Für die Authentifizierung ist es notwendig die Daten an Google per HTTP-Post zu übertragen. Es gibt unterschiedliche Möglichkeiten dies umzusetzen. Ich habe mich für das PEAR-Paket HTTP_Request entschieden. Sie sollten es Ihrer PEAR-Installation hinzufügen. Im Anschluss können Sie es folgendermaßen in Ihrem Script nutzen.
require_once('HTTP/Request.php');
Um sich nun bei Google zu authentifizieren, müssen Sie den Nutzernamen und Ihr Google Analytics Passwort wissen. Zusammen mit einem festgelegten Service- und Account-Typ müssen Sie alle Parameter per POST an Google senden. Folgender Code übernimmt dies:
Wenn Sie nun der Request absendet haben und Sie sich erfolgreich authentifizieren konnten, erhalten Sie als Response eine Nachricht die aus drei Zeilen besteht. Darin ist auch das sogenannte Auth-Token enthalten. Sie benötigen dies um alle weiteren Abfragen an den Account durchzuführen.
Der folgende Code zeigt, wie Sie das Auth-Token aus dem Response-Body auslesen können.
21.04.2009 von Tobias Redmann - 1 Kommentar - 0 Shares
Seit heute steht die neue Version des Content-Management-Systems Redaxo zur Verfügung.
Das Redaxo-Entwickler-Team hat heute die aktuelle Version von Redaxo freigegeben. Sie haben viele interessante Neuerungen umgesetzt. Hier ein Auszug aus der Presseinformation:
Neues Backenddesign
Eigene Designs leicht im Backend integrierbar
Den Spalten kann man unterschiedliche Module zuweisen -> mehr Einfluss auf den Redakteur
Eigenes Backendprofil verfügbar, Sprachwechsel ist erlaubt
Benutzerverwaltung: Startseite ist definierbar, unnötige Rechte entfernt
Kleinere Bugfixes eingebaut
Wie auf dem Screenshot zu erkennen, sieht das neue Backend wirklich frischer und übersichtlicher aus. Alle Informationen zur neuen Redaxo-Version gibt es auf der Website.
19.03.2009 von Tobias Redmann - 0 Kommentare - 0 Shares
Sie erfahren an einem Beispiel, wie man Status-Updates mit PHP an Twitter sendet.
Der Micro-Blogging-Dienst Twitter erfreut sich sehr großer Beliebtheit. Viele Blogger, und mittlerweile auch Portale wie Spiegel Online, nutzen den Dienst um über aktuelle Nachrichten zu informieren.
Damit jedoch nicht jede Nachricht per Hand von einem Redakteur oder Blogger eingegeben werden muss, kann man Status-Updates auch automatisiert an Twitter senden. Dazu stellt Twitter eine Entwickler API zur Verfügung.
Für PHP gibt es im PEAR-Projekt bereits eine Implementierung um einige API-Funktionen zu nutzen. Mit Hilfe des Pakets Services Twitter kann man folgendermaßen Status-Updates senden.
Zunächst muss dazu das Paket installiert und eingebunden werden. Weitere Informationen zur Installation von PEAR und Hinzufügen von Paketen gibt es in der PEAR-Dokumentation.
require_once 'Services/Twitter.php';
Nachdem das Paket installiert und geladen ist, kann man eine neue Instanz mit dem Konstruktor new Services_Twitter erstellen. Der Konstruktor benötigt zwei Parameter. Der erste ist der Twitter-Nutzername – der zweite das Twitter-Passwort.
Ein Update wird einfach über die Status-Instanz $twitter->statuses mit der Funktion update gesendet. Die Funktion gibt ein XML-Response mit Informationen zum Status zurück. So wird’s gemacht:
16.03.2009 von Tobias Redmann - 0 Kommentare - 0 Shares
Anhand eines Beispiels erkläre ich Ihnen, wie Sie die Feedburner Awareness API mit PHP abfragen können.
Feedburner, der Feed-Analyse-Dienst von Google, erfreut sich nicht nur bei Bloggern großer Beliebtheit. Immer mehr Unternehmen nutzen den Dienst um über die Anzahl der Abonnenten informiert zu werden.
Interessant an Feedburner ist, dass die erfassten Daten über die Feedburner API abgerufen werden können. Dadurch ist es unter anderem möglich detaillierte Statistiken über die Nutzung der Feeds zu erstellen.
Im folgenden Beispiel soll die aktuelle Anzahl der Feed-Abonnenten (Subscriber) abgerufen werden. Dazu wird die Feedburner-URI, die eindeutige Bezeichnung des Feeds, benötigt. Nehmen wir z.B. die ausgedachte Feed-URL http://feeds2.feedburner.com/meinid, dann ist meinid die Feedburner-URI. Diese können wir nun nutzen, um die API per REST abzufragen. Der Code zur Konstruktion der Request-URL sieht so aus:
Der Request kann im einfachsten Fall direkt per simplexml_load_file ausgeführt werden. Die Response (XML) wird dadurch direkt in PHP-Objekte umgewandelt. Die Anfrage wird folgendermaßen gestellt:
Um sicher zu gehen, dass die Anfrage erfolgreich war, müssen wir das Attribut stat des Elements rsp auswerten. Dazu kann man auf die Attribute des Elements folgendermaßen zugreifen:
Die Feedburner API bietet darüber hinaus noch die Möglichkeit Einträge über Zeitspannen abzufragen. Weitere Informationen dazu erhalten Sie auf der Website der Feedburner API.
Wenn Sie Fragen oder eine Anregung haben, hinterlassen Sie bitte einen Kommentar.
14.03.2009 von Tobias Redmann - 3 Kommentare - 0 Shares
So können Sie mit WordPress auch statischen Seiten eine Description und Keywords zuweisen.
Bei WordPress nutze ich bei Artikel immer die Zusammenfassung, um dort den Text für die HTML-Description einzugeben. Diese Zusammenfassung kann man dann mit the_excerpt_rss() ganz wunderbar als HTML-Meta-Description verwenden.
Bei statischen Seiten ist das allerdings nicht so einfach möglich. Ein Workaround um trotzdem eine Description angeben zu können, sind die Spezialfelder (Custom Fields). Dort habe ich einfach ein Feld description angelegt und dort die Beschreibung hinterlegt.
Die Schwierigkeit besteht jetzt jedoch darin im Kopfbereich außerhald des WordPress-Loops an die Meta-Felder zu kommen. Ein Blick in die WordPress-Funktionsreferenz hilft da aber schnell weiter. Die Funktion get_post_meta kann von beliebigen Seiten und Posts die Spezialfelder auslesen.
Leider benötigt die Funktion die Post-ID der Seite. Ich lese diese wiederum mit der Funktion get_page_by_title aus. Der Titel der Seite kann außerhalb des Loops per get_the_title ermittelt werden.
13.03.2009 von Tobias Redmann - 0 Kommentare - 0 Shares
Ab sofort wird aus cmsdev.de der meshed.de Content Management Blog.
Wenn Sie eigentlich cmsdev.de erreichen wollten und nun auf meshed.de gelandet sind, dann hat das den Grund, dass ab sofort die Domain cmsdev.de in der Form nicht mehr existieren wird.
Alle Inhalte die bisher dort erreichbar waren, sollten nun auf meshed.de erreichbar sein. Es könnte sein, dass an der ein oder anderen Stelle noch kleinere Probleme auftreten. Bitte senden Sie in diesem Fall eine E-Mail an tobias@meshed.de.
11.03.2009 von Tobias Redmann - 1 Kommentar - 0 Shares
Automatisch die Anzahl der Feedburner Subscribers in Artikeln und dem Feed per Shortcode anzeigen.
Heute gibt es mein drittes offizielles WordPress-Plugin. Ähnlich wie das Amazon Text Links WordPress Plugin kann man mit Shortcodes die Inhalte von Posts automatisch erweitern.
Der Shortcode des Feedburner Subscribers Shortcode Plugins fügt automatisch die Anzahl der Feedburner Subscriber in den Artikel ein.
Anforderungen
Das Plugin benötigt WordPress 2.5 und PHP 5 mit der SimpleXML-Erweiterung (in der Regel bei aktuellen Hosting-Paketen enthalten).
Darüber hinaus muss die Awareness API für Ihren Feed aktiviert sein. Gehen Sie dazu in Ihren Feedburner-Account und wählen Sie den entsprechenden Feed aus. Im Untermenü Publicize können Sie unter dem entsprechenden Menüpunkt die Awareness API aktivieren.
Installation
Einfach das Feedburner Subscribers Shortcode Plugin herunterladen und aktivieren. In den Einstellungen erscheint dann ein neuer Menüpunkt mit dem Namen Feedburner Subscribers Shortcode. Dort geben Sie einfach die von Ihnen gewählte Feedburnder URI ein. Bei http://feeds2.feedburner.com/cmsdev wäre das cmsdev. Fertig!
Nutzung
Das Plugin stellt den Shortcode fbss_subscribers zur Verfügung. Es sind die Attribute prefix und suffix möglich.
Das Attribut prefix bestimmt den Text, der vor der Anzahl der Abonnenten stehen soll – suffix den Text dahinter. Wenn Sie beide Attribute weglassen, wird nur die Anzahl der Abonennten angezeigt. Kann die Anzahl nicht ermittelt werden, wird nichts ausgegeben. Ich empfehle bei der Gestaltung der Texte ein darauf zu achten.
Beispiel:
“Abonnieren Sie den Fresh Apps News-Feed [fbss_subscribers prefix=" wie " suffix=" andere"/]!” gibt z.B. aus Abonnieren Sie den Fresh Apps News-Feed wie 6 andere!
Derzeit wird die Anzahl einmal am Tag ermittelt. Das geschieht immer zum Tageswechsel. Die Anzahl wird dann innerhalb von WordPress zwischengespeichert. Dadurch wird sowohl Traffic als auch CPU-Last gespart. Für zukünftige Versionen ist geplant diesen Zeitpunkt konfigurieren zu können.
Ich würde mich über zahlreiche Kommentare und Verbesserungsvorschläge freuen. Helfen Sie auch das Plugin bekannt zu machen, indem Sie Links auf diese Seite setzen.
10.03.2009 von Tobias Redmann - 0 Kommentare - 0 Shares
In WordPress mit Shorcodes automatisch zu Amazon verlinken und Produkteigenschaften ermitteln.
Ich habe soeben mein zweites öffentliches WordPress-Plugin fertiggestellt. Ich denke aber, dass noch einige kleine Fehler enthalten sind. Über zahlreiches Feedback würde ich mich sehr freuen. Aber nun zum Plugin.
Mit dem Amazon Text Links Plugin für WordPress kann man mit Shortcodes automatische Affiliate-Links zu Amazon erstellen. Es bietet außerdem die Möglichkeit Produkteigenschaften, z.B. Preis, Bild etc. per Shortcode in ein Post einzubauen.
Derzeit lassen sich nur der US-Store und der deutsche Amazon-Store abfragen.
Installation
Einfach das Amazon Text Links Plugin herunterladen und aktivieren. Wenn das Plugin erfolgreich aktiviert wurde, befindet sich in den Einstellungen ein neuer Menüpunkt “Amazon Text Links”. Dort können Sie Ihre Amazon-Partner-ID und AWS-Developer-ID eingeben, zusätzlich sollten Sie den entsprechenden Amazon-Store auswählen.
Nutzung
Das Plugin stellt derzeit 3 Shortcodes zur Verfügung:
ails_detail
Mit ails_detail können Sie eine Link zu einer Detailseite im Amazon-Store erstellen. Es benötigt den Parameter asin. Das entspricht der ASIN des Produktes.
Der Text zwischen dem Shortcode wird, wenn möglich, zu der entsprechenden Produktseite verlinkt.
ails_image
Mit ails_image können Sie eine Produktabbildung eines Artikel in den Artikel integrieren. Der Shortcode benötigt zwei Parameter asin und size. Der erste entspricht wieder der ASIN des Artikels. Der Parameter size kann die Werte small, medium und large annehmen. Wird keine Größe angegeben, ist der Default-Wert small.
Beispiel: [ails_image asin="B001ET225M" size="medium"]Peter Fox Cover[/ails_image]
Der Text zwischen dem Shortcode wird automatisch zu Title- und Alt-Attribut des Bildes.
ails_detail_custom_text
Mit ails_detail_custom_text können Sie einen Link zu einer Produktseite erstellen. Die Besonderheit ist, dass Sie Produktattribute automatisch auslesen und in den Text einfügen können.
Der Shortcode benötigt zwei Parameter: asin und text. Der Parameter asin entspricht wiederum der ASIN von Amazon. Das Attribut text gibt an, wie der Ausgabetext formatiert werden soll. Dazu gibt es folgende Platzhalter:
list_price: Listen- bzw. Hersteller-Preis des Produktes
used_price: Günstigster Gebrauchtpreis
offer_price: Günstigster Angebotspreis (Neuware)
title: Titel des Produktes
text: Text der zwischen den Shortcodes steht
small_image: URL des kleinen Bildes
medium_image: URL des mittleren Bildes
large_image: URL des großen Bildes
(nur in Deutschland) ean: EAN-Nummer des Produktes
… weitere folgenden in den nächsten Versionen.
Die Platzhalter müssen in senkrechten Strichen angegeben werden, z.B. |list_price|. Nun zur Praxis:
Will ich zum Beispiel Peter Fox Tickets oder CDs verkaufen:[ails_detail_custom_text asin="B001ET225M" text="|text| (neu ab |offer_price|)"]Peter Fox Stadtaffe[/ails_detail_custom_text]
erzeugt einen Link, der folgenden Text enthält: Peter Fox Stadtaffe (ab EUR 14,15)
Bei allen Shortcodes gilt: Wenn ein Produkt nicht gefunden wurde oder ein Fehler auftritt, wird der Text zwischen den Codes ausgegeben.
Ich bitte um viel Feedback und weitere Anregungen. Bitte helfen Sie auch das Plugin bekannt zu machen, indem Sie zahlreich auf diese Seite verlinken.