Unsere kreativen Köpfe entwickeln maßgeschneiderte Apps für Geräte wie das iPhone, das iPad, den iPod Touch oder Facebook. Zu unseren Kunden zählen Unternehmen aus den Bereichen Dienstleistung, Handel, Banken, Versicherung, Immobilien sowie Tourismus und Freizeit.

easyLink V3 XML-RPC Schnittstelle individuell erweitern

Abgelegt von Sascha Schoppengerd am 07.01.2011 um 10:50 Uhr

Für einen Kundenauftrag sollen wir die XML-RPC Schnittstelle in easyLink V3 um zusätzliche Funktionen erweitern und da die Realisierung dieses Wunsches durch den strukturierten Aufbau der Software wirklich sehr einfach ist, möchte ich euch heute in diesem Tutorial mal zeigen, wie leicht man seine eigene easyLink V3 XML-RPC Schnittstelle mit individuellen Funktionen aufbauen kann.

Was man mit einer solchen Schnittstelle alles anstellen kann, hatte ich ja vor einiger Zeit schon einmal beschrieben, doch XML-RPC ist nicht nur für mobile oder Desktop-Anwendungen höchst interessant, sondern Ihr könnt mit Hilfe dieses Standards beispielweise auch Daten mit anderen Webseiten austauschen.

So ist es z.B. denkbar, dass Partnerseiten gegen eine Gebühr bestimmte Inhalte bei euch Abfragen oder Ihr ermöglicht den diversen Verzeichnisdiensten gegen eine monatliche Pauschale eurer Verzeichnis direkt mit neuen Einträgen zu befüllen. Die Möglichkeiten sind hier ziemlich vielfältig und wenn Ihr Interesse daran habt, dann unterstützen wir euch gern bei der Umsetzung eurer kreativen Geschäftsideen.

Von Haus aus bringt easyLink zwar einen XMLRPC-Server mit, aber dieser ist allein auf die Bedürfnisse der Software selbst ausgelegt und somit nutzt euch das ganze nicht besonders viel. Wenn Ihr jetzt beispielsweise die Daten eines Eintrages über die Schnittstelle abfragen möchtet, dann muss man dazu den internen Server erweitern.

Sprich…es ist notwendig zum einen die Funktion zu schreiben, die uns die angeforderten Daten bereitstellt und zum anderen müssen wir unserem Server sagen, wo er diese Funktion oder besser gesagt diese Methode überhaupt finden kann.

Der XML-RPC-SERVER

Damit wir nicht in einen Konflikt mit den easyLink Standard-Methoden kommen, legen wir unseren Server in einer extra Datei ab. In unserem Beispiel nenne ich diese Datei mal myXMLRPC.php und ich speichere die Datei im Rootverzeichnis der Software.

Als nächstes erweitern wir den Standard-Server von easyLink

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* Den absoluten Serverpfad ermitteln */
define('ABSPATH', dirname(__FILE__) . DIRECTORY_SEPARATOR);
 
/* XMLRPC Status definieren    */
define('XMLRPC_REQUEST', true);
 
/* Initialisieren */
require_once(ABSPATH . 'lib/config.php');
require_once(ABSPATH . 'lib/init.php');
require_once(ABSPATH . 'lib/xml/XMLRPCServer.class.php');
 
/**
  * Individueller XMPRPC Server für easyLink
  */
class MY_XMLRPC_Server extends XMLRPCServer {
}
 
/* Server starten */
$Server = new MY_XMLRPC_Server();

Diese paar Zeilen Code würden zwar bereits schon vollkommen ausreichen, aber unser Server würde in diesem Fall nur über die Funktionen verfügen, die die Software bereits von Haus aus mit sich bringt. Wir müssen unserer Klasse nun also noch die Bezeichnungen der neuen Methoden mitteilen:

1
2
3
4
5
6
7
8
9
10
11
/**
  * Erstellt ein neues MY_XMLRPC_Server Object
  */
public function __construct() {
 
    $methods = array(
        'sayHello' => 'this:sayHello',
    );
 
    parent::__construct($methods);
}

Nun was passiert hier genau? Wir erstellen uns zunächst ein einfaches Array, dessen Werte nach dem Schema Aufruf (Extern) : Aufruf (Intern) aufgebaut sind. Wenn also jemand die Schnittstelle in unserem easyLink anspricht und dort die Methode sayHello starten möchte, dann soll unser Server intern die Methode this:sayHello starten.

Es bietet sich zur besseren Übersicht natürlich immer an, die Methoden Intern und Extern möglichst ähnlich zu benennen, dann verliert man nicht so schnell den Überblick.

Wichtig ist in diesem Zusammenhang nur, dass Ihr nicht das this: vor der Bezeichnung der internen Methode vergesst, denn genau daran erkennt der Server wo er nach den Daten bzw. nach den Methoden suchen muss.

Und jetzt brauchen wir nur noch die besagte Methode: sayHello

1
2
3
4
5
6
/**
  * Demo - Methode um die XMLRPC Schnittstelle zu testen
  */
protected function sayHello($args) {
    return 'Hello!';
}

Das war es jetzt auch schon! Damit haben wir jetzt einen individuellen XML-RPC Server für easyLink V3 erstellt. Natürlich macht der Server momentan nix anderes als uns einen String mit dem Inhalt “Hello!” zu liefern, aber dieses Tutorial sollte euch ja auch nur die grundsätzliche Vorgehensweise verdeutlichen.

Ich hoffe, dass euch dieser Beitrag vielleicht auf die ein oder andere Idee gebracht hat und vielleicht sehen wir in Zukunft ja den ein oder anderen der sein Verzeichnis um eine eigene Schnittstelle erweitert hat. Damit Ihr nicht alles abtippen müsst, habe ich euch den Code mal hier zum Download bereitgestellt.

easyLink v3.1.4 ist ab sofort verfügbar

Abgelegt von Sascha Schoppengerd am 01.12.2010 um 12:18 Uhr

Das Update auf easyLink v3.1.4 steht ab sofort in unserem Forum zum Download bereit.

Dieses Release beinhaltet neben einigen kleinen Fehlerkorrekturen im Bereich der Tags und der Coupon’s auch ein aktualisiertes Anmeldeverfahren für die Nutzung der Twitter-Accounts sowie einen optimierten Feedreader. Zusätzlich wurde die Zahlungsweise Rechnung mit diesem Update für alle Nutzer freigeschaltet.

Hinweis: Um das Upgrade auf die Version 3.1.4 ordnungsgemäß durchzuführen, muss mindestens die Version 3.1.3 auf Ihrem System installiert sein.

easyLink V3 auf Strato Servern installieren

Abgelegt von Sascha Schoppengerd am 07.06.2010 um 07:44 Uhr

In den letzten Tagen und Wochen ist es öfter vorgekommen, dass wir eine easyLink V3 Installation auf einem Server der Firma Strato vornehmen sollten und da es hier immer wieder zu diversen Problemen gekommen ist, möchte ich an dieser Stelle nochmals einige Infos zur Nutzung unserer Software auf Strato-Servern veröffentlichen.

Grundsätzlich ist es so, dass easyLink V3 erst ab dem Paket PowerPlus L bei Strato installiert werden kann, denn erst ab dieser Hosting-Stufe ist möglich, den für easyLink notwendigen IonCube-Encoder auf dem Server einzubinden.

Darüber hinaus reicht es bei Strato nicht aus, den üblichen Encoder für PHP5.2 oder PHP5.3 zu installieren, sondern Sie müssen sich vor der Installation explizit beim Provider erkundigen, welche Serversoftware auf dem System läuft und zu welchen Datum diese Software auf dem Server ggf. installiert wurde.

mehr…

easyLink v3.1.3 ist ab sofort verfügbar

Abgelegt von Sascha Schoppengerd am 26.05.2010 um 06:17 Uhr

Das Update auf easyLink v3.1.3 steht ab sofort in unserem Forum zum Download bereit.

Dieses Release beinhaltet neben einigen kleinen Fehlerkorrekturen im Bereich der Templates und der Core-Klassen auch die Möglichkeit spezielle Rabatt-Coupons über den Adminbereich zu konfigurieren.

Mit dieser Version ist es nun erstmals in Geschichte von easyLink möglich, die jeweiligen Eintragspakete durch gezielte Kampagnen zu bewerben.

Hinweis: Um das Upgrade auf die Version 3.1.3 ordnungsgemäß durchzuführen, muss mindestens die Version 3.1.2 auf Ihrem System installiert sein.

Aurora: Der easyLink V3 Desktop Client

Abgelegt von Sascha Schoppengerd am 16.05.2010 um 13:04 Uhr

Bereits seit dem ersten Release verfügt easyLink V3 über eine XML-RPC Schnittstelle, die bis heute jedoch leider nur wenig von uns genutzt wurde.

Ursprünglich für die Verarbeitung von Pingbacks implementiert, ist es nun jedoch an der Zeit die Schnittstelle auszubauen und für weitere Anwendungen zu öffnen.

Was macht die XML-RPC Schnittstelle?

Einfach ausgedrückt, ermöglicht die Schnittstelle der Interaktion der Software mit verschiedenen Plattformen. Der Austausch der Daten erfolgt hierbei über ein standardisiertes XML-Protokoll und genau das macht die XML-Schnittstelle so flexibel.

Jedes Programm oder jedes Gerät, dass dieses Protokoll “versteht” ist somit in der Lage mit easyLink direkt zu kommunizieren und kann entweder Befehle an die Software senden oder Befehle von der Software empfangen.

Und was bedeutet das für mich als Nutzer?

Durch den Ausbau der Schnittstelle haben künftig externe Applikationen die Möglichkeit die Daten aus einem easyLink abzugreifen oder zu verändern.

Denkbar sind hier viele Szenarien:

  • Ein Desktop-Programm, zur Verwaltung der Artikel und Pressemeldungen.
  • Ein Desktop-Programm zur Steuerung des gesamten Adminbereichs.
  • Eine mobile Handy-App zur Freischaltung von Einträgen / Kommentaren.
  • Eine mobile Handy-App zur Verwaltung der Einstellungen.
  • u.v.m

Die Möglichkeiten der Schnittstelle sind natürlich extrem vielfältig und sicherlich ist auch nicht alles was technisch möglich ist, für jeden Anwendungszweck sinnvoll, aber vielleicht gibt es ja auch ein paar gute Ideen aus den Reihen unserer Leser.

Wie auf dem Screenshot zu sehen, haben wir einfach mal eine kleine Testapp für Mac OS X geschrieben. Die App mit dem Codenamen Aurora dient derzeit einfach nur dazu, die offenen Posten aus einem easyLink auszulesen und in einer Tabelle zu visualisieren.

In der nächsten Ausbaustufe wird es dann beispielsweise möglich sein, auch die Zahlungseingänge über diese kleine App zu buchen oder zu stornieren. Wenn jemand unter unseren Lesern ist, der weitere Ideen für eine mobile oder Desktop-App hat, dann würden wir uns natürlich über einen Hinweis in den Kommentaren freuen.

Wahnsinn: Holen Sie sich jetzt den Kaufpreis zurück

Abgelegt von Sascha Schoppengerd am 07.05.2010 um 09:33 Uhr

Wir sind ja bekannt für unsere aussergewöhnlichen Ideen, doch das was wir uns diesmal ausgedacht haben ist wirklich absoluter Wahnsinn, denn im Mai haben Sie die Chance den kompletten Kaufpreis für Ihre Bestellung von uns zurück zu bekommen.

Was müssen Sie dafür tun?

Eigentlich nichts, denn alle Bestellungen, die vom 01.05.2010 bis 31.05.2010 bei uns eingehen, nehmen automatisch an der Aktion teil und somit besteht Ihre einzige Aufgabe lediglich darin Ihre Wunschprodukte in unserem Shop zu bestellen.

Am 11.06.2010 werden wir dann durch einen unabhängigen Leser unseres Blogs aus allen getätigten Bestellungen eine Bestell-Nr. ermitteln lassen und dieser glückliche Gewinner bekommt anschließend den kompletten Kaufpreis von uns erstattet.

Die Abwicklung erfolgt dann natürlich ganz nach Wunsch des Gewinners schnell und unbürokratisch via. PayPal oder Überweisung. Wenn Sie auch Ihren Kaufpreis von uns zurückholen wollen, dann platzieren Sie Ihre Bestellung noch heute.

easyLink V3 jetzt 14 Tage kostenlos testen

Abgelegt von Sascha Schoppengerd am 02.05.2010 um 11:47 Uhr

Gerade bei Software möchte man natürlich nicht die Katze im Sack kaufen und selbst löbliche Kundenmeinungen können einen eigenen Test der Software nicht ersetzen.

Wenn Sie also auch zu den Menschen gehören, die ein neues Produkt “erfühlen” möchten, dann haben Sie jetzt die Möglichkeit unser easyLink V3 für 14 Tage kostenlos und ohne jegliche Einschränkung auf Ihrem eigenen Server zu testen.

Laden Sie sich daher noch heute unsere kostenlose Demoversion herunter und überzeugen Sie sich selbst vom riesigen Leistungsumfang der Software und von unseren Serviceleistungen, die wir noch drum rum anbieten.

Es handelt sich hier auch nicht wie üblich um eine abgespeckte Version, sondern die Demo-Installation besitzt den kompletten Funktionsumfang unserer aktuellen Verkaufsversion und genau da liegt auch der große Vorteil für Sie, denn Sie können direkt damit beginnen, Ihr Verzeichnis nach Ihren Vorlieben einzurichten.

Sollten Sie sich nach den 14-Tagen entscheiden, die Software weiterhin einzusetzen, dann müssen Sie lediglich die beiliegende Lizenzdatei ersetzen und schon kann der Betrieb Ihres Verzeichnisses ohne Verzögerungen weitergehen.

Der gesamte Vorgang ist automatisiert und und steht Ihnen somit 24h pro Tag zur Verfügung. Sie brauchen hier nicht auf eine Freischaltung oder ähnliches warten.

Geben Sie einfach hier Ihre Domain an (für die Lizenzdatei) und wenige Sekunden später haben Sie die entsprechenden Dateien schon in Ihrem Postfach.