Browsing all articles from Juni, 2011
Jun
29

Zugriff auf WordPress XML-RPC-Server mit Zend

Es ist eigentlich recht plausibel, dass ich kurz vorstelle wie man auf WordPress per XML-RPC zugreift, wenn ich schon beschreibe, wie man den Server erweitern kann.

Das Wichtigste dabei ist, dass man den Server in den Einstellungen seines WordPress aktiviert. Dazu benötigt man nur einen kleinen Haken, der sich unter Einstellungen / Schreiben findet. Nachdem die Einstellung gespeichert ist könnt ihr anfangen mit Zend auf die Schnittstelle zuzugreifen.

weiterlesen

Jun
27

Erweiterung der WordPress XML-RPC-Schnittstelle

Ich stand vor kurzem vor dem Problem, dass ich Daten von WordPress in einem anderen Projekt haben wollte. Es ging mir einfach darum die Posts einer Kategorie auszulesen und dort anzuzeigen. Natürlich griff ich damit auf die XML-RPC-Schnittstelle von WordPress zurück, da man nicht den Weg über die Datenbank gehen sollte. Die Datenbanken liegen zwar auf dem gleichen Server, aber irgendwo sollten die Projekte getrennt sein. Es macht auch keinen Sinn die WordPress-Datenbank auszulesen, wenn ein abhängiges Projekt einmal auf einen anderen Server wechseln sollte.

Das Einarbeiten in die Schnittstelle ist recht simpel. WordPress selber bietet dafür zwar wenig Hilfe, aber mit etwas Geschick findet man sie im Netz. Leider ist die Schnittstelle aber nicht gerade ausgereift und liefert allerlei Lücken und Unstimmigkeiten. Zum Beispiel ist die Übertragung von Benutzernamen und Passwort unterschiedlich. Es gibt Funktionen, da muss man erst den Benutzernamen und dann das Passwort übertragen, aber wiederum gibt es Funktionen bei denen man erst eine BlogId (Es war wohl einmal angedacht mehrere Blogs über eine Plattform betreiben zu können) und dann erst Benutzernamen und Passwort übertragen. Dann gibt es auch noch Funktionalitäten, die man eigentlich erwartet, die aber gar nicht Verfügbar sind.

Es gibt keine Funktion in der Schnittstelle um die Posts einer Kategorie abzurufen. Um diese Tücken zu umgehen kann man sich auf einen recht einfachen Wege eine Erweiterung der Schnittstelle entwickeln. Ich habe mich entschlossen dieses über ein Plugin zu tun. Das brachte dann auch schnell den Vorteil mit, dass ich Objektorientiert an die Sache herangehen konnte.

weiterlesen

Jun
21

RolePlace – Eine Idee, die Wahrheit wird

Es war nur eine Idee als ich mich vor einer Weile fragte warum ich eigentlich nirgendwo meine Charaktere präsentieren kann, die ich in verschiedenen Spielen mir immer wieder überlegt habe. Ich könnte darüber bloggen oder in Foren schreiben, aber warum? Wohl aus dem gleichen Grunde wie die Menschen beschließen zu bloggen habe ich dann den Entschluss gefasst eine Platform aufzubauen, die es mir ermöglicht meine Charaktere zu präsentieren. Dabei sollte es aber nicht bleiben, da vielleicht ja auch andere solche Gedanken haben wie ich, also war daraus schnell RolePlace geboren.

Wichtig war mir dabei, dass die Leute anonym bleiben. Aus diesem Grunde stand der Benutzer von Anfang an für mich nicht im Zentrum. Der Benutzer existiert am Ende nur um seine Charaktere zu erstellen und mit Leben zu befüllen. Daher benötigt man zur Anmeldung auch nur seine E-Mail-Adresse und ein Passwort. Um das ganze zu vereinfachen wurden Registrierung und Login selbstredend verienheitlicht. Auf der Startseite. Man braucht nicht lange suchen und nicht lange nachdenken. Und überhaupt ist nicht einmal die E-Mail-Adresse wichtig. Sie wird nicht geprüft und nicht entfernt. E-Mail-Adressen werden nicht an Dritte weitergegeben, aber wer sich dessen zu 100% sicher sein will kann natürlich eine falsche E-Mail-Adresse als Benutzernamen wählen. Wie shcon erwähnt. Es geht um die Charaktere und nicht um den Benutzer.

Natürlich braucht so ein Projekt mehr als eine HTML-Seite auf der man alles aufzeigt. Sie sollte alle modernen Elemente beinhalten, doch einige Kernelemente waren für mich von vornherein klar:

  • Bilder
  • Eigenschaften
  • Geschichten
  • Neuigkeiten
  • Freunde

Da ich aber nicht perfekt bin und eure nicht missachten will gibt es natürlich die Möglichkeit auf die Entwicklung von RolePlace Einfluss zu nehmen. Über ein Formular könnt ihr eure Ideen einreichen sobald die Registrierung eröffnet ist. Auch über Hilfe bei Entwicklung und Design wäre ich dankbar. Man sieht ja, dass ich kein Profi in Sachen Design bin. Das haben wir Entwickler wohl an uns, dass nicht alle auch noch designtechnisch kreativ sein können. Wenn du meinst sich bei diesem Projekt einbringen zu wollen kannst du dich gerne melden. Optimal wäre es natürlich, wenn du aus Berlin bist. Der persönliche Touch ist doch bei einem gemeinsamen Projekt immer am besten.

Zuletzt möchte ich noch auf die Registrierung eingehen. Diese wird mit der Fertigstellung von v0.5 “Morpheus” eröffnet werden. Geplant ist dies zu Mitte bis Ende August. Darin enthalten sollen vorerst wichtige Kernelemente sein um deinen Charakter gestalten zu können. Wenn du dich bis dahin einbringen möchtest, dann solltest du dich einfach bei mir melden. Wie? Am besten per E-Mail an d.zunke@roleplace.de

Über diesen Blog halte ich euch auf dem Laufenden!

Jun
11

Die 10 Regeln für Entwickler?

Regeln für Entwickler stellen viele auf, doch wenige versuchen es mit etwas Humor. Selten habe ich auch den gesamten regelsammlungen zugestimmt. Nun aber habe ich auf dem Software-Entwickler Blog eine Sammlung von 10 Regeln gefunden, die recht humoristisch verfasst wurden. Seltsamerweise stimme ich auch allen zu. Und doch möchte ich sie um eine erweitern:

11. Denken, nicht basteln.
Basteln kann jeder. Flickschustern und rumfummeln. Wer aber denkt kann die Strukturen so erfassen, dass er gleich Regel 5 beachten kann. Flickschusterei macht alles schlimmer. Strukturierung ist das Heldentum.

Jun
10

Stresstest für die Applikation

Ich hab gestern ein Tool mit Namen Siege gefunden. Es ist ein Linux-Tool um einen Stresstest auf eine Applikation zu “jagen”. Es ist ein recht einfach gestriktes Tool, dem man eine Anzahl an Clients und Requests je Client mitgeben kann. Es gibt am Ende eine Statistik aus.

transactions: 50 hits
Availability: 100.00 %
Elapsed time: 4.63 secs
Data transferred: 0.46 MB
Response time: 0.14 secs
Transaction rate: 10.80 trans/sec
Throughput: 0.10 MB/sec
Concurrency: 1.53
Successful transactions: 50
Failed transactions: 0
Longest transaction: 0.22
Shortest transaction: 0.11

So kann man im Prinzip auch verfolgen, wie sich Änderungen auf eine Applikation auswirken. Jeder kennt sicher den Sinn von Stresstest. Aber eigentlich gibt es nur einen wirklich wichtigen Sinn: “Nachstellen von möglichst vielen Besuchen auf einer Webseite.”.

Siege liegt für Debian als Paket vor und kann direkt über aptitude installiert werden. Dabei braucht man nicht einmal groß raten wie das Paket heisst, da es seinen Eigennamen auch trägt.

aptitude install siege

Nun hat man das Tool im System und kann es einfach mit einem Befehl aufrufen.

siege http://www.google.de -d1 -r5 -c10

Die Parameter kurz aufgeschlüsselt:

d : Steht für “duration” und gibt die Verzögerung zwischen zwei Requests durch einen Client an. Der Standard ist 3. In einem Test sollte man dieses aber auf 1 stellen.

r : Steht für “requests” und gibt die Anzahl der Requests je Client an. Der Standard ist endlos. Man kann es einfach irgendwann mit Str + C beenden und erhällt die Statistik.

c : Steht für “clients” und gibt die Anzahl der Clients an, die simuliert werden sollen. Der Standard ist hier 15.