Der Installations-Prozess ist nicht mehr so einfach wie bei der alten xt:Commerce 3.04 Version. Hier braucht man vorher auch den IonCube Loader zu installieren. Was wir nicht ganz schön finden, dass auf der Seite der Community Edition gar kein Wort darüber erwähnt ist. Beim ersten Versuch, das Installationsskript zu starten, haben wir nichts außer einer weißen Seite gesehen, nicht einmal eine Fehlermeldung, dass IonCube fehlt.
IonCube Loader ist eine PHP Bibliothek, die dafür zuständig ist, die mit dem IonCube PHP Encoder kodierte Anwendung zu entziffern. Das Ziel ist dabei, den Source Code zu schützen. Somit haben wir erfahren, dass die Teile der Shop-Version kodiert sind.
Nachdem wir die IonCube Loader installiert haben, kann man das Installations-Skript endlich starten und da kommt wieder ein Bug – das Skript überprüft nicht, ob die angegebene Datenbank schon existiert oder nicht, man sieht direkt einen MySQL-Fehler. Gut, wir wissen sofort, dass die Datenbank nicht angelegt ist, ob es ein Anwender kann?
Als nächstes kommt die Fehlermeldung, dass ziemlich viele Ordner Schreibrechte benötigen, ob das gut oder schlecht ist… Demnächst kommt – magic_quotes_gpc muss “On” sein. Das haben wir schon lange nicht bei sicheren PHP-Anwendungen gesehen, sogar unsere PHP Juniors lernen, die Option auszuschalten, mehr dazu z.B. hier.
Alle Hürden sind genommen, der Shop läuft endlich. Der Front-End ist dem alten ähnlich. Ehrlich gesagt, haben wir mehr erwartet. Die Grund-Version von xtcModified ist definitiv interessanter. Der Back-End ist moderner und schneller geworden, bietet auch mehr Möglichkeiten. Uns interessiert aber das Innere.
Der Shop ist komplett überarbeitet. Datenbank ist größer geworden, jetzt hat Veyton 93 gegenüber von 80 Tabellen bei Version 3. Der Code ist richtig objekt-orientiert und gut strukturiert. In Veyton wurde ein eigenes Framework entwickelt und, anscheinend, gut umgesetzt, denn die Plugins sollen jetzt keine Kopfschmerzen bereiten, wenn man den Shop aktualisiert. Die Logik bei den Templates ähnelt der alten Struktur, Veyton setzt immer noch auf Smarty. Smarty als Template-Engine ruft gemischte Gefülle hervor und an sich hat sowohl Gegner, als auch viele Anhänger. Wir gehören eigentlich eher zu Gegnern, denn Smarty braucht viel Performance und versucht eigenes Skripting in einer Skriptsprache zu etablieren, was für uns zumindest nicht ganz effizient klingt. Es gibt aber natürlich andere Beispiele, wenn performance-fressende Anwendungen hohe Popularität und Verbleitung finden, Magento wäre hier die Nummer Eins.
Was sagt uns die Statistik über die kodierten Dateien.
In dem Backend sind von insgesamt 36 Dateien von 43 php-Dateien kodiert. Die kodierten Dateien im Backend und deren Größe im Überblick:
| Ordner und Dateiname |
Dateigröße, in KB |
|
| xtAdmin | ||
| 1 | /var/www/xtveyton/xtAdmin/adminHandler.php | 7 |
| 2 | /var/www/xtveyton/xtAdmin/adodb_liveperformance.php | 2,2 |
| 3 | /var/www/xtveyton/xtAdmin/adodb_performance.php | 2,6 |
| 4 | /var/www/xtveyton/xtAdmin/chart-data.php | 4 |
| 5 | /var/www/xtveyton/xtAdmin/dashboard.php | 21,5 |
| 6 | /var/www/xtveyton/xtAdmin/DropdownData.php | 10,5 |
| 7 | /var/www/xtveyton/xtAdmin/ejsadmin.js.php | 2,5 |
| 8 | /var/www/xtveyton/xtAdmin/ejsadmin.php | 5,8 |
| 9 | /var/www/xtveyton/xtAdmin/feed-proxy.php | 2,5 |
| 10 | /var/www/xtveyton/xtAdmin/get-nodes.php | 5,8 |
| 11 | /var/www/xtveyton/xtAdmin/login.php | 4,6 |
| 12 | /var/www/xtveyton/xtAdmin/move-nodes.php | 3,5 |
| 13 | /var/www/xtveyton/xtAdmin/newsfeed.php | 9,7 |
| 14 | /var/www/xtveyton/xtAdmin/order_edit.php | 22,4 |
| 15 | /var/www/xtveyton/xtAdmin/page_includes.php | 5,4 |
| 16 | /var/www/xtveyton/xtAdmin/plugin_install.php | 2 |
| 17 | /var/www/xtveyton/xtAdmin/row_actions.php | 4,3 |
| 18 | /var/www/xtveyton/xtAdmin/rssfeed.php | 4,1 |
| 19 | /var/www/xtveyton/xtAdmin/rssreader.php | 8,2 |
| 20 | /var/www/xtveyton/xtAdmin/upload.php | 7,7 |
| 21 | /var/www/xtveyton/xtAdmin/uploadFlash10.php | 5,2 |
| 22 | /var/www/xtveyton/xtAdmin/upload_process.php | 4 |
| 23 | /var/www/xtveyton/xtAdmin/versioncheck.php | 3,7 |
| xtAdmin/css | ||
| 1 | /var/www/xtveyton/xtAdmin/css/css_flags.php | 2,6 |
| xtFramework/admin/class | ||
| 1 | /var/www/xtveyton/xtFramework/admin/classes/class.adminDB_DataRead.php | 12,8 |
| 2 | /var/www/xtveyton/xtFramework/admin/classes/class.adminDB_DataSave.php | 18,6 |
| 3 | /var/www/xtveyton/xtFramework/admin/classes/class.admin_handler.php | 29,4 |
| 4 | /var/www/xtveyton/xtFramework/admin/classes/class.ext.js.php | 5,9 |
| 5 | /var/www/xtveyton/xtFramework/admin/classes/class.ExtAdminHandler.php | 21,9 |
| 6 | /var/www/xtveyton/xtFramework/admin/classes/class.ExtEditForm.php | 23,5 |
| 7 | /var/www/xtveyton/xtFramework/admin/classes/class.ExtFunctions.php | 116,5 |
| 8 | /var/www/xtveyton/xtFramework/admin/classes/class.ExtGrid.php | 31,8 |
| 9 | /var/www/xtveyton/xtFramework/admin/classes/class.FunctionHandler.php | 10,9 |
| 10 | /var/www/xtveyton/xtFramework/admin/classes/class.navigation.php | 14,9 |
| 11 | /var/www/xtveyton/xtFramework/admin/classes/getAdminDropdownData.php | 32,8 |
| xtFramework/class | ||
| 1 | /var/www/xtveyton/xtFramework/classes/class.adminTask.php | 8,6 |
In dem Backend sind von insgesamt 11 von 809 php-Dateien kodiert. Die kodierten Dateien im Frontend und deren Größe im Überblick:
| Ordner und Dateiname |
Dateigröße, in KB |
|
| xtFramework/classes | ||
| 1 | /var/www/xtveyton/xtFramework/classes/class.filter.php | 6,2 |
| 2 | /var/www/xtveyton/xtFramework/classes/class.hookpoint.php | 16,2 |
| 3 | /var/www/xtveyton/xtFramework/classes/class.multistore.php | 30,1 |
| 4 | /var/www/xtveyton/xtFramework/classes/class.permissions.php | 14,1 |
| 5 | /var/www/xtveyton/xtFramework/classes/class.plugin.php | 63 |
| 6 | /var/www/xtveyton/xtFramework/classes/class.recursive.php | 17,1 |
| 7 | /var/www/xtveyton/xtFramework/classes/class.template.php | 18,4 |
| plugins/xt_paypal/classes | ||
| 1 | /var/www/xtveyton/plugins/xt_paypal/classes/class.paypal.php | 50 |
| 2 | /var/www/xtveyton/plugins/xt_paypal/classes/class.xt_paypal.php | 4 |
| plugins/xt_moneybookers/classes | ||
| 1 | /var/www/xtveyton/plugins/xt_moneybookers/classes/class.xt_moneybookers.php | 9,4 |
| 1 | /var/www/xtveyton/index.php | 4,2 |
Somit sind im Frontend 83,7% und im Frontend 1,3% der Skripte kodiert, insgesamt also nur 5,6% aller php-Skripte. Wenn man sich aber auch die Dateinamen anschaut, wird man feststellen, dass dabei auch die wichtigen Dateien sind, bei denen man eventuell was anpassen wollen würde. Darunter sind auch die Dateien, die die Shoplogiken ansteuern, wie z.B. index.php. Über diese Datei läuft eigentlich alles im Shop. Der xt:Commerce Framework bleibt auch ein Geheimnis.
Fazit:
xt:Commerce Veyton ist ohne Zweifel eine modernere Anwendung mit besserer Code-Qualität und Struktur. Veyton hat mehr Funktionen im Vergleich zu Version 3. Der Shop hat aber sicherlich noch Bugs, die noch zu beseitigen sind. Wir haben solche schon bei der Installation gesehen. Die Anwendung ist kostenlos, was für viele sehr lukrativ klingen kann. Als Community Edition ist der Shop aber überhaupt nicht tauglich, denn was soll man weiterentwickeln, wenn man nicht weiss, wie die Grundsätze funktionieren.
Für unsere Kunden werden wir den Shop anscheinend nicht empfehlen, leider, denn aus der Entwicklersicht bekommen wir kein vollständiges Bild davon, was eigentlich Schade ist. Wir können es nicht so entwickeln, wie wir wollen, und können dem Kunden nicht garantieren, dass wir alles umsetzen können, was der Kunde möchte. Man braucht natürlich auch Zeit zu investieren, um die Code-Teile zu studieren, die offen sind.
Warten wir ab, vielleicht wächst aus der Anwendung eine richtige Community Edition heraus.

Wir haben die Fa. Zinit Solutions mit der Entwicklung unseres Shopsystemes beauftragt. Neben einem professionellem Shopdesign sowie einem über die gesamte Zeit absolut zufriedenstellendem Projektmanagement überzeugte die Firma durch eine kundenorientierte Zusammenarbeit. Die Lösung wurde maßgeschneidert und genau nach Kundenwunsch nach den neuesten gesetzlichen Anforderungen umgesetzt. Hier fühlt man sich noch als Kunde und König!