Zur├╝ck zum Blog

Money Makes the World Go Round

­čôů  

E-Payment Modul

In dieser Woche haben wir das E-Payment Modul implementiert. Dabei haben wir uns bislang auf den Minimalfall beschr├Ąnkt (ein Payment-Provider, minimale Daten├╝bertragung). Wir haben aber die Schnittstelle als eigenst├Ąndiges Gem implementiert. Das bedeutet, dass wir f├╝r weitere Zahlungsprovider das Gem als Ganzes kopieren k├Ânnen, die Schnittstelle zur API des alternativen Anbieter implementieren und damit rasch eine weiteren Payment-Anbieter einbinden k├Ânnen.

Templatebearbeitung

Das Editieren der Templates mit dem von uns verwendeten WYSIWYG-Editor CKEditor ist f├╝r die Entwickler und Designer ausgesprochen unangenehm. Beide Gruppen wollen den Code beim Schreiben sehen, nicht die gerenderte Voransicht. Doch auch die Quellcodeansicht ist nicht sehr angenehm: Der Editor nicht f├╝r DRYML ausgelegt, sein Syntaxhighlighting funktioniert daher nur beschr├Ąnkt.

Wir haben daher f├╝r die Websitetemplates auf den ebenfalls Javascript-basierten Editor Codemirror umgestellt, der sich, obwohl er vollst├Ąndig im Browser l├Ąuft und damit nichts lokal installiert werden muss, beinahe wie ein nativ im Betriebssystem laufender Editor anf├╝hlt. DRYML ist ein XML-Derivat und das Syntax-Highlighting f├╝r XML funktioniert f├╝r DRYML ausgezeichnet, so werden etwa fehlerhafte Tags angemerkt.

Beispiel des unterst├╝tzenden Syntaxhighlighting in Codemirror

Der Editor erkennt, dass der Tag in Zeile 18 nicht stimmt, da er nicht zum ge├Âffnetet <div> passt, des zu schlie├čen ist und unterstreicht den Fehler.


Codemirror


Im Screenshot erkennt man etwa auch in den Zeilen 25, 26, 27 die von uns geschriebenen DRYML-Tags <admin /> <skype-and-tel /> <basket-info /> die des erstellen von Webseitenvorlagen beschleunigen. Sie werden serverseitig zun├Ąchst zu ERB und weiter zu HTML und Javascript kompiliert und dann an den Browser ausgeliefert. Damit bietet uns DRYML Webcomponents im Sinne der W3C Spezifikation f├╝r Custom Elements http://w3c.github.io/webcomponents/spec/custom/ bereits jetzt.

Friendly IDs

Als neues Feature hat unsere CMS-Kompontente Friedly IDs f├╝r die einzelnen Webseiten.

Das bedeutet, dass statt eines kryptischen URL

http://shop.example.com/webpages/27

nicht nur wie im Hobo-Standard der Titel der Webseite angeh├Ąngt wird

http://shop.example.com/webpages/27-support

sondern die ID g├Ąnzlich entfallen kann:

http://shop.example.com/webpages/support

Der Kunde kann den dargestellten Text (in der Fachsprache slug genannt) nun frei w├Ąhlen

http://shop.example.com/webpages/wir-helfen-gerne

und das Routing wurde insofern ge├Ąndert, dass bei Webseiten auch der Ressourcenteil entfallen kann:

http://shop.example.com/wir-helfen-gerne

Vermischtes

Zur├╝ck zum Blog