OpenFire ist toll, aber die REST-API buggy

Wer das REST-API-Plugin benutzen möchte, der sollte zur Kommunikation auf jeden Fall XML nehmen. Ich persönlich würde zwar auch hier lieber auf JSON setzen (was offiziell auch unterstützt wird), aber hier macht OpenFire merkwürdige Vereinfachungen, die beim Type-Matching unweigerlich zu Problemen führen. Z.B. ist der XMPP-Roster definiert als „List of rosterItems“, in GO wäre das also „[]RosterItems“. Das funktioniert auch fast immer problemlos – außer, man hat genau einen Kontakt auf dem Roster. Dann vereinfacht openFire das eigenmächtig von einer List zu einem einzelnen Item, was sofort beim UnMarshal knallt. Mit XML macht er alles richtig.

Die Version-2-Problematik :-)

gerade habe ich, nicht zum ersten Mal, wieder die Erkenntnis gehabt: Wenn man eins seiner Programme von Version 1 auf Version 2 hievt, hat man in der Zwischenzeit so viele Probleme mit dem Anbauen weiterer Funktionen gehabt, dass der typische Schritt auf V2 der ist: Alles wegwerfen und komplett neu programmieren und zwar so, wie es von Anfang an richtig gewesen wäre 🙂